第十章-神经网络与深度学习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

22
深度学习
2006年,Hinton在Science发表论文,再次宣布他知道大 脑是如何工作的,并介绍了无监督训练和深度信念网络 的概念。 使用这种策略,人们能够训练比以前更深的网络,标志 着神经网络已经从浅层学习走向了深层学习的变革。神 经网络被包装为“深度学习”,正式开启了神经网络的 第三次浪潮
44
Example - MLP for handwritten digits
MNIST
[Yann LeCun, et al]
The MNIST database of handwritten digits has a training set of 60,000 examples, and a test set of 10,000 examples
提纲
神经网络发展史
M-P 神经元模型 激活函数 感知机和多层前馈网络
深度学习(多层感知机)
构建网络 整体的学习过程 反向传播算法 手写数字识别
11
生物神经元
树突
Dendrites
Terminal Branches of Axon
Axon
轴突
简而言之,神经元相当于一个计算单 元,它从输入神经接受一定数目的信 息,并做一些计算。然后将结果通过 它的 轴突传送到其他节点或者大脑中 的其他神经元 。
Hidden layer Input layer Output layer
激活函数求导
原来的连接权 43
Global Minimum and Local Minimum
Initialize the neural network with multiple sets of different parameters Simulated annealing Stochastic gradient descent
http://www.cs.toronto.edu/~hinton/
19
Sigmoid 激活函数
make neural networks non-linear
20
LeNet
1989 年。 Yann LeCun利用反向传播的思想发明了卷积神经 网络-LeNet,并将其用于数字识别,且取得了较好的成绩
Chain rule
前面为了方便讲解,我们采 用了均方差损失函数和 sigmoid函数,不要死记前面 的公式。如果损失函数或者 激活函数变了,公式会发生 微小变化。重要的是根据链 式法则学会求梯度项,前一 层的梯度项会用到后层梯度 项,所以先求后层的梯度项, 再求前层的梯度项(BP),所 有层的梯度项求出来后,各 层的参数可以用梯度下降的 更新公式计算出来。 实际上,均方差损失 函数和sigmoid函数结 合使用效果不好,因 为存在梯度消失的问 题
最小化 梯度下降法 (Gradient Descent)
Input: Output:
Real:
35
梯度下降法
什么是梯度? For example:
梯度

指向函数增长最快的方向
指向函数下降最快的方向
最小化
36
梯度下降法
梯度下降是求一个函数最小值的一阶迭代优化算法
Update:
37
更新神经网络中的参数
从训练集中选 择‘一部分’ 样本(Batch )
损失函数
最小化损失 更新参数(权重和阈值) 迭代
28
训练过程
训练集 验证集 一次迭代指的是根据训练集中的
Hidden layers
Input layer
Output layer
‘一部分’样本来更新网络中的 参数。 在训练神经网络的过程中,一轮 训练指的是迭代多次,直到训练 集中的所有样本都已经放入到网
25
深度学习
1
如何构建 一个深度 神经网络
2
训练网络 的过程
3
学习的算 法
26
构建网络
Hidden layers
Input layer
Output layer
超参数(hyperparameters)
隐含层的层数
每层的神经元个数 激活函数
损失函数
迭代一次用的样本数 (Batch size)
针对于这个例子来说,Batch-Size为训练集的样本数800,一轮的训练就更新了权 31 重和偏值1次
将数据集D拆分为训练集(800)和验证集(200)
Hidden layers
Input layer
Output layer
Batch size = 20
minimize
Mini-batch梯度下降法(mini-batch gradient descent) 训练集中的一部分样本经过神经网络的前向计算后,根据这一部分训练样本的损 失均值来更新网络中的权重和偏置量
络中参与了训练。
一轮训练之后,通过验证集来查 看这轮训练的效果
打乱训练集,进行第二轮的训练
29
将数据集D拆分为训练集(800)和验证集(200)
Hidden layers
Input layer
Output layer
minimize Batch size = 1
随机梯度下降法(stochastic gradient descent,SGD) 训练集中的一个样本经过神经网络的前向计算后,都要根据这个样本的损失来更 新网络中的权重和偏置量
28x28
http://yann.lecun.com/exdb/mnist/
45
Example – MLP for handwritten digits
784
Input layer
10
Hidden layers Output layer
output 0.01 0.02 0.04 0.98 0.11 0.03 0.04 0.06 0.21 0.04
minimize loss function
Update Parameters:
如何高效地更新参数?
误差反传播算法(Backpropagation)
38
Backpropagation
Hidden layer Input layer Output layer
39
Hidden layer Input layer Output layer
12
突触
M-P 神经元模型
Dendrites
x1 w1 x2 x3 w2 w3
Terminal Branches of Axon
受生物神经元的启发, McCulloch and Pitts在1943年 提出了MP神经元模型
[McCulloch and Pitts, 1943]
S
Axon
wn xn
Machine Translation
Robots
Fingerprint
Information
Q&A
Healthcare
Game Playing
Object Detection
Face Recognition Video
Image
Help you to open the door of deep learning
Chain rule
梯度项
Hidden layer Input layer Output layer
输出层 总结
Chain rule
梯度项
Chain rule
Backpropagation
Input layer
Hidden layer Output layer
原来的连 接权
42
Backpropagation
针对于这个例子来说, Batch-Size为20,一轮的训练就更新了权重和偏置量40次
32
深度学习
1
如何构建 一个深度 神经网络
2
训练网络 的过程
3
学习的算 法
33
训练过程
训练集 验证集 前向传播
Hidden layers
Input layer
Output layer
每个样本产生的预测和 其真实标签存在一定误 差 预测标 签 真实 标签
训练的轮数(Epochs)
学习的参数(learnable parameters)
连接权 阈值 随机初始化
学习率
27
训练过程
训练集 验证集 前向传播
Hidden layers
Input layer
Output layer
每个样本产生的预测和 其真实标签存在一定误 差 预测标 签 真实 标签
������
������������ ������������ − ������
������=1
y = ������
������ ������=1 ������������ ������������
− ������
13ቤተ መጻሕፍቲ ባይዱ
激活函数
不连续
阶跃函数
14
感知机
1958年,计算科学家Rosenblatt提出了由两层 神经元组成的神经网络。他给它起了一个名字 --“感知机”(Perceptron)
16
局限性
在1969年,Marvin Minsky, Seymour Papert证明了单层感 知机只能处理线性可分的问题
17
多层感知机
Hidden layers
Input layer
Output layer
全连接
每个神经元连接到前一层的每个神 经元,并且每个连接都有自己的权 重。
前馈
信息只向一个方向移动,从输入节 点,通过隐藏节点(如果有的话), 到输出节点。网络中没有循环。
第一代感知机的硬件实现
15
感知机
y
output layer
M-P neuron (functional neuron)
w1
w2
Input layer x1 x2
Receive external input signal
单层感知机是一个线性分类器,如果训练集是线性可分的话, 那么它就可以保证收敛。然而这种模型有很多局限性。
从训练集中选 择一部分样本 (Batch )
损失函数
最小化损失 更新参数(权重和阈值) 迭代
34
示例
Hidden layer Input layer Output layer
超参数
激活函数: Sigmoid
损失函数: 均方差损失
Batch size: 1
训练的参数
Weights , Bias 随机初始化
23
深度学习的大突破
imagenet
Alexnet
[Alex Krizhevsky, Ilya Sutskever, and Geoff Hinton, 2012]
24
神经网络发展的里程碑
https://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html
47
Hello, World
48
Reference
http://cs231n.github.io/convolutional-networks/ http://ufldl.stanford.edu/wiki/index.php/%E5%8F%8D%E5%90%91%E4%BC%A0%E5%AF% BC%E7%AE%97%E6%B3%95 https://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html https://medium.com/the-theory-of-everything/understanding-activation-functions-inneural-networks-9491262884e0 https://www.coursera.org/learn/machine-learning/ http://www.andreykurenkov.com/writing/a-brief-history-of-neural-nets-and-deep-learning/ http://deeplearning.net/tutorial/ http://www.moonshile.com/post/juan-ji-shen-jing-wang-luo-quan-mian-jie-xi#toc_13
18
反向传播算法(Back Propagation)
第一次打破非线性诅咒的是深度 学习之父杰弗里· 辛顿(Geoffrey Hinton),其在1986年发明了适 用于多层感知器(MLP)的BP算 法(反向传播算法),并采用 Sigmoid激活函数进行非线性映 射,有效解决了非线性分类和学 习的问题。该方法引起了神经网 络的第二次热潮
Real label (one-hot) 0 0 0 1 0 0 0 0 0 0
Softmax
28x28
one-hot encode:
3 5
0001000000 0000010000
46
Softmax
Input layer Hidden layers
这里以输出为3类为例, 显然y1的值更大(概率 更大),那么预测的类 别就是y1对应的类别
神经网络与深度学习
2
蒙特卡洛树搜索 (Monte Carlo Tree) 深度学习 (Deep Learning) 强化学习 (Reinforcement Learning)
3
人脸识别
IPhone X
人脸识别
自动驾驶
城市计算
自然语言处理
Poetry
Retrieval
Speech
Style
针对于这个例子来说,一轮的训练就更新了权重和偏值800次
30
将数据集D拆分为训练集(800)和验证集(200)
Hidden layers
Input layer
Output layer
Batch size = 800
minimize
批梯度下降法(batch gradient descent,BGD) 训练集中的所有样本经过神经网络的前向计算后,根据所有训练样本的损失均值 来更新网络中的权重和偏置量
Yann LeCun
21
第二次低谷
不幸的是,第二波神经网络研究热潮一直持续到90年代中 期,随后神经网络又进入低谷时期。 由于梯度消失、数据和计算能力不足等原因,神经网 络不能处理更加复杂的问题。 支持向量机(SVM)在解决小样本、非线性及高维模式 识别中表现出许多特有的优势, 成为了当时首选的方 法
相关文档
最新文档