深入浅出PyTorch:从模型到源码 - (EPUB全文下载)

文件大小:0.69 mb。
文件格式:epub 格式。
书籍内容:

深入浅出PyTorch:从模型到源码
第1章 深度学习概念简介
第2章 PyTorch深度学习框架简介
第3章 PyTorch计算机视觉模块
第4章 PyTorch机器视觉案例
第5章 PyTorch自然语言处理模块
第6章 PyTorch自然语言处理案例
第7章 其他重要模型
第8章 PyTorch高级应用
第9章 PyTorch源代码解析
参考资料
第1章 深度学习概念简介
作为近年来计算机科学的重要研究方向之一,人工智能这个概念得到了学术界和工业界的广泛追捧。迄今为止,人工智能的研究核心依然是基于大数据和高性能计算的深度神经网络,即我们所称的深度学习。由于深度学习需要用到大量的神经网络的构建和运算模块,基于这个需求,人们开发了很多深度学习框架,如Caffe、MXNet、PyTorch和TensorFlow等。这些框架的共同特点是极大地简化了深度学习的神经网络的构建过程。为了更好地理解这个框架的内在设计思路,以及如何使用这些框架,这里需要对深度学习的概念和术语进行简要介绍,希望对读者理解本书后续几章的内容有所帮助。
1.1 深度学习的历史
1.1.1 深度学习的发展过程
由于PyTorch和深度学习的联系紧密,下面回顾一下深度学习的历史。深度学习本质是一个前馈神经网络(Feed-Forward Neural Network),因此,它的历史可以追溯到人工神经网络(Artificial Neural Networks,ANN)研究的时期。人工神经网络主要是通过模拟动物的神经元的运行模式来对现实数据进行拟合和预测,即通过函数来模拟信息在神经元中的变换和传输。最早的人工神经网络是20世纪60年代Frank Rosenblatt发明的感知机(Perceptron)1,通过对输入进行单层的线性变换来完成分类。然而这个模型并不能解决线性不可分的问题,对于很多现实问题并不适用,因此这个模型很快就被废弃了,从而造成了人工神经网络研究的低潮。到了20世纪80年代,人们的研究又重新转向人工神经网络,并且开发了多层感知机(Multi-layer perceptron,MLP)2来解决感知机的问题。相比简单的感知机,多层感知机由于增加了人工神经网络的深度,对于相对复杂的函数拟合效果比较好,理论上,根据万能近似定理(Universal Approximation Theorem)3,对于多层感知机来说,只要参数和隐含层的数量足够,就能够拟合任意的连续函数,同时,人们也发明了反向传播算法(Backpropagation algorithm)4来高效地优化多层感知机的模型。使用反向传播算法虽然能够在神经网络层数比较少的时候有效地优化模型,但是不适用于神经网络层数较多的情况,这是由于在较深的网络中使用反向传播算法会导致梯度消失(Gradient Vanish)和梯度爆炸(Gradient Explode)。而且相比于一些比较简单的模型,比如支持向量机(Support Vector Machine,SVM)5,多层感知机的计算量比较大,模型的准确率也没有明显优势。因此,在20世纪90年代中期前后,人们对这种类型的人工神经网络逐渐失去了兴趣。神经网络方法研究的衰退一直到了2007年,人们发现了如何训练包含比较多隐含层的神经网络的方法,即深度信念网络(Deep Belief Network,DBN)6。深度信念网络的主要特征是叠合多层神经网络(可以使用限制玻尔兹曼机(Restricted Boltzmann Machine7,RBM)或者自编码器(Autoencoder8),并且逐层训练这些神经网络单元,最后进行微调训练,可以达到训练很深的神经网络的目的。同时,通过调整神经元的连接和激活,一些新的神经网络连接方式和激活函数也进入了人们的视线,著名的如卷积神经网络(Convolution Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)、残差网络(Residue Neural Network),以及新型激活函数如线性整流函数(Rectified Linear Unit,ReLU)。通过引入这些特殊结构的神经网络,能够使梯度在神经网络内部进行有效传播,不仅能够训练隐含层较多的神经网络,同时也可以使用比较多的参数,有效提高了模型的准确率。这里需要提到一点的是,隐含层的数量在神经网络拟合数据的准确性中起到了关键的作用。每个隐含层能够对前一层的神经网络的特征进行组合,从而构造更复杂的特征,并更好地拟合给定的数据集。因此,人们一般把现阶段的神经网络模型称为深度学习(Deep Learning),反映了这些神经网络具有很多隐含层的特点。
1.1.2 深度学习在计算机视觉领域的发展
我们可以从ImageNet大规模视觉理解竞赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)使用的算法和准确率来一窥近年来深度学习的发展趋势。ImageNet是由普林斯顿大学的课题组收集的大规模数据集9,主要包含了共计12大类和5247小类物体的照片,总共有320万张左右的图片。ILSVRC竞赛从2010年到2017年一共举办了8次,其任务主要是物体的分类和物体的位置识别,其中任务中使用的所有数据集(包括训练集、验证集和测试集)都是ImageNet的子数据集。对于这么大的训练数据,传统的机器学习方法的结果不是很理想。在ILSVRC10和ILSVRC11的比赛中,人们主要使用的方法是尺度不变特征变换(Scale-invariant feature transform,SIFT)10的方法来提取图像的特征,然后结合SVM算法对图像进行分类,这些算法的特点是参数数量少,而且分类错误率相对较高。图1.1描述了理解ILSVRC从2010年到2017年优胜算法的Top 5错误率(即预测前五的图像类别不正确分类的概率),我们可以看到,从2010年到2011年,图 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 深入浅出PyTorch:从模型到源码 - (EPUB全文下载)