200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 深度学习入门之PyTorch学习笔记:深度学习介绍

深度学习入门之PyTorch学习笔记:深度学习介绍

时间:2021-03-30 06:19:05

相关推荐

深度学习入门之PyTorch学习笔记:深度学习介绍

深度学习入门之PyTorch学习笔记:深度学习介绍

绪论1 深度学习介绍1.1 人工智能1.2 数据挖掘、机器学习、深度学习1.2.1 数据挖掘1.2.2 机器学习1.2.3 深度学习第一代神经网络(1958-1969)第二代神经网络(1986-1998)第三代神经网络深度学习(至今)1.3 学习建议1.3.1 线性代数1.3.2 机器学习基础1.3.3 深度学习参考资料

绪论

深度学习如今已经称为科技领域最炙手可热的技术,帮助你入门深度学习。本文从机器学习与深度学习的基础理论入手,从零开始学习PyTorch以及如何使用PyTorch搭建模型。学习机器学习中的线性回归、Logistic回归、深度学习的优化方法、多层全连接神经网络、卷积神经网络、循环神经网络、以及生成对抗网络,最后通过实战了解深度学习前沿的研究成果。将理论与代码结合,帮助更好的入门机器学习。

1 深度学习介绍

1.1 人工智能

人工智能(Artificial Intelligence),也称机器智能,是指由人工制造出来的系统所表现的智能。所谓智能,即可以观察周围环境并据此做出行动以达到目的。人工智能的概念很宽泛,根据人工智能的实力将它分为3类。

(1)弱人工智能(Artificial Narrow Intelligence,ANI)

若人工智能是擅长于单个方面的人工智能。比如战胜世界冠军的人工智能AlphaGo只会下围棋,不会分别猫和狗,现在实现的几乎都是弱人工智能。

(2)强人工智能(Artificial General Intelligence,AGI)

这是类似人类级别的人工智能。强人工智能是指在各方面都能和人类比肩的人工智能,人类能干的脑力活,它都可以干。智能是一种宽泛的心理能力,能够进行思考、计划、解决问题、抽象思维、理解复杂理念、快速学习和从经验中学习等操作。

(3)超人工智能

在几乎所有领域都比最聪明的人类强,包括科学创新、通识和社交技能。超人工智能可以是各方面都比人类强一点,也可以是各方面都比人类强万亿倍。

1.2 数据挖掘、机器学习、深度学习

数据挖掘作为一个学术领域,横跨多个学科,涵盖但不限于统计学、数学、机器学习和数据库,此外还运用在各类专业领域,比如油田、电力、海洋生物、历史文本、图像、电子通信等。

1.2.1 数据挖掘

数据挖掘(Knowledge Discovery in DataBase)就是在大型的数据库中发现有用的信息,并加以分析的过程。一个数据的处理过就是从输入数据开始,对数据进行预处理,包括特征选择、规范化、降低维数、数据提升等,然后进行数据的分析和挖掘,再经过处理,如模式识别、可视化等,最后形成可用信息的全过程。数据挖掘只是一种概念,从数据中挖掘到有意义的信息,从大量的数据中寻找数据之间的特性。

1.2.2 机器学习

机器学习是实现人工智能的一种途径,和数据挖掘有一定的相似性,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性等多门学科。对比于数据挖掘从大数据之间找相互特性而言,机器学习更加注重算法的设计,让计算机能自动从数据中学习规律,并利用规律对未知数据进行预测。机器学习可以分为以下五大类。

(1)监督学习

从给定的训练集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的,常见的监督学习算法包括回归和分类。

(2)无监督学习

无监督学习和监督学习相比,训练集没有人为标注的结果,常见的无监督学习有聚类等。

(3)半监督学习

介于监督学习与无监督学习之间的方法。

(4)迁移学习

将已经训练好的模型参数,迁移到新的模型来帮助新模型训练数据集。

(5)增强学习

通过观察周围环境来学习。每个动作都会对环境有所了解,学习对象根据观察到的周围的环境的反馈来做出判断。传统的机器学习算法有以下几种:线性回归模型、logistics回归模型、K-邻近算法、决策树、随机森林、支持向量机、人工神经网络、EM算法、概率图模型。

1.2.3 深度学习

深度学习的最初级版本是人工神经网络,是机器学习的一个分支,试图模拟人脑,通过更复杂的结构自动提取数据特征。在深度学习发展起来之前,机器学习无法解决图像识别、语音识别、自然语言处理等问题。正因为大数据的兴起和高性能GPU的出现,促进了深度学习的发展。深度学习从发展到崛起经历了两个低谷,将深度学习的历史分为了三个阶段。

第一代神经网络(1958-1969)

最早的神经网络思想起源于1943年的MCP人工神经元模型,当时人们希望能够用计算机来模拟人的神经元的反应过程,该模型将神经元简化为三个过程:输入信号线性加权,求和,非线性激活(阈值法)。第一次将MCP用于机器学习(分类)的当属1958年Rosenblatt发明的感知器(perceptron)算法。该算法使用MCP模型对输入的数据进行二分类,且能够使用梯度下降法从训练样本中自动学习更新权重值。1969年,美国数学家及人工智能先驱Minsky证明了感知器本质上是一种线性模型,只能处理线性分类问题,连最简单的XOR(异或)问题都无法正确分类。

第二代神经网络(1986-1998)

第一次打破非线性诅咒的是现代深度学习大牛Hinton,他在1986年发明了适用于多层感知器(MLP)的BP算法,并采用Sigmoid进行非线性映射,有效解决了非线性分类和学习的问题,引发了神经网络的第二个热潮。1989年,RobertHecht证明了MLP的万能逼近定理,即对于任何闭区间的一个连续函数f,都可以用含有一个隐藏层的BP神经网络逼近。1989年,LeCun发明了卷积神经网络-LeNet,并将其用于数字识别,取得了较好的成绩。1991年,BP算法被指出存在梯度消失的问题,即在误差梯度后向传递的过程中,后层梯度以乘性方式叠加到前层,由于Sigmodid函数的饱和特性,后层梯度本来就小,误差梯度传到前层时几乎为0,因此无法对前层进行有效的学习。统计学习方法的春天(1986年-)1986年,决策树方法被提出来,很快ID3、ID4、CART等改进的决策树方法相继出现,也是符号学习方法的代表。

第三代神经网络深度学习(至今)

该阶段又分为两个时期:快速发展期(-)和爆发期(至今),深度学习元年。Hinton提出了深层网络训练中梯度消失问题的解决方案:无监督预训练对权值进行初始化+有监督训练微调,其主要思想是:先通过自学习的方法学习到训练数据的结构(自动编码器),然后在该结构上进行有监督训练微调。,ReLU激活函数被提出,该激活函数能有效抑制梯度消失的问题。,Hinton课题组为了证明深度学习的潜力,首次参加ImageNet图像识别比赛,通过构建CNN网络AlexNet一举夺得冠军,并且碾压了第二名SVM方法的分类性能。,Hinton、LeCun、Bengio论证了局部极值问题对于深度学习的影响,得到的结果是Loss的局部极值问题对于深层网络的影响可以忽略,该论断消除了笼罩在神经网络上局部极值问题的阴霾。

深度学习结构

随着神经网络的发展,目前比较流行的网络结构分别有:深度神经网络(DNN)、卷积神经网络(CNN)、循环递归神经网络(RNN)、生成对抗网络(RAN)

1.3 学习建议

网上有各种各样的学习经验分享,有的人注重 理论知识的积累,看了很多书,但动手实践经验为0;有一些人热衷于代码实现,每天学习别人已经写好的代码。深度学习是理论和工程相结合的领域,不仅仅需要写代码的能力强,也需要有理论知识能够看懂论文,实现论文提出的新想法,所以学习路线应该是理论与代码相结合,平衡两边的学习任务,不能出现只管一边而不学另外一边的情况,因为只有理论与代码兼顾,才不至于一旦学习深入,就会发现自己有很多知识漏洞。

1.3.1 线性代数

线性代数相当于深度学习的基石,深度学习里面有大量的矩阵运算,而且线性代数的一些矩阵分解的思想也被借鉴到了机器学习中,所以必须熟练掌握线性代数。《线性代数应该这样学》(Linear Algebra Done Right)MIT的线性代数公开课Coding The Matrix

1.3.2 机器学习基础

虽然深度学习现在很火,但是也需要掌握其根本,即机器学习,这才是本质与核心。Coursera上Andrew Ng的机器学习入门课程。林轩田的机器学习基石和机器学习技法Udacity的机器学习纳米单位《机器学习》周志华《统计学习方法》李航Pattern Recognition and Machine Learning

1.3.3 深度学习

深度学习是最近几年最为活跃的研究领域,爆发了很多革命性的突破,很多前沿的学习资源。Udacity的两个深度学习课程Coursera的Neural Network for Machine LearningStanford:cs231nStanford:cs224n

参考资料

廖星宇《深度学习入门之PyTorch》电子工业出版社

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。