深度学习-循环神经网络
Jordan Network M. Jordan
BPTT P. Werbos
BRNN
Neural turing machine A. Graves 当前(2010 - )应用广泛: 自然语言应用 视频建模,手写识别,用 户意图预测 开源工具包: Theano Torch PyBrain TensorFlow ,,,
oN
wML
o f (net) k net c
• Nonlinearity 非线性
• Parallel Processing 并行处理 • Input—Output Mapping 输入输出匹配 • Adaptivity 自适应性
Input Layer
T hl
Hidden Layer
Output Layer
典型应用:图像标注
28
Recurrent Neural Network
典型应用:语言生成
29
‹#›/50
循环神经网络模型
激活函数
RNN常用的激活函数是tanh和sigmoid。
31
循环神经网络模型
softmax
Softmax函数是sigmoid函数的一个变种,通常我们将其用在多分类任务的输出层, 将输入转化成标签的概率。
21
3:循环神经网络(RNN)
22
递归神经网络模型
递归神经网络
递归神经网络(RNN),是两种人工神经 网络的总称: 一种是时间递归神经网络(recurrent neural network); 一种是结构递归神经网络(recursive neural network); 吸收了HMM模型的有限序列关联的思想。 神经网络的隐藏层结构能够更好的表达有限的观察值背后的复杂分布。 23
本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量 中的每个元素取值都介于(0,1)之间。
32
循环神经网络模型
简单循环网络SRN
神经元之间的连接权重在时域上不变。
33
循环神经网络模型
随时间反向传播算法BPTT
BP回顾:定义损失函数 E 来表示输出 和真实标签y的误差,通过链式法则自顶向 下求得 E 对网络权重的偏导。沿梯度的反方向更新权重的值,直到 E 收敛。 BPTT的本质其实和BP很像,就是加上了时序演化。定义权重U,V,W。
Deep belief net Science Speech
Learning model Perceptron of neurons
Computer vision NLP Speech ……
1949
1958
1986
• • • • • SVM Boosting Decision tree KNN …
2006
1 0 XOR 0
1
For XOR problem: 1. introducing one additional neuron in a special way; 2. using differentiable activation function;
◙ 一个单级网络可以将平面划分成两部分,用多个单级网组合在一起, 就可以构成一个两级网,该网络可以被用来在平面上划分出一个封闭 或者开放的凸域来; ◙ 采用特殊的激励函数。
w1 w2 wn
θ
y
u w1x1 wN xN
a if u y 0 if u
y a x o
xn
7
神经网络一般形式
w11 x1 wm1 h1
x1
x2
v11 vl1 vL1
wM1
o1
• • •
w1 w2 wn
c
o
xn
xM
wmL
w1L hL
vLN
net x1 w1 xN wN
细胞体 细胞体Cell body
轴突
轴突Axon 来自其它神经元
6
神经元模型
x1
xn
w1
Σ
wn
net = WTX
激励函数
o=f(net)
net W T X wi xi o f ( net)
x1 x2
• • •
典型的激励函数(Activation Function): 线性函数,非线性斜面函数,阶跃函数, S型函数等。
两类样本:白色和黑色 分类错误的样本用红色轮廓 目标:分类正确所有样本, 直到没有红色轮廓的样本。
W=[1.66 1.11] b=[1.25]
W=[1.54 1.28] b=[-0.64]
where?
W=[1.16 1.63] b=[-1.8]
W=[1.66 1.11] b=[-0.823]
W=[1.49 -1.39] b=[-0.743]
36
循环神经网络模型
随时间反向传播算法BPTT
(3)求 E 对于U 的梯度。情况与W 类似。
先求 E3 对于U 的梯度: 求和可得。
V
W
当我们求 到: 对于W 的偏导时。注意
U
同样: 依赖于 ,而 又依赖于 和U 。 类似求W,当我们计算对于U 的偏导数时,也不 能把 看作是常数项!
37
循环神经网络模型
14
2:从神经网络到深度学习
15
神经网络
深度学习网络
相似之处:
模拟人脑的分层网络结构;
不同之处:
强调深度的重要性; 突出特征学习的重要性;(逐层抽象) 训练机制; 16
深度学习思想起源:人脑视觉机理
后脑皮层的不同视觉神经元,与瞳孔所受刺激之间,存在某种对应关系。
17
深度学习起源:人脑视觉机理
递归神经网络模型
时序扩展
24
Recurrent Neural Network
RNN是一类扩展的人工神经网络,它是为了对序列数据进行建模而产生的。
针对对象:序列数据。例如文本,是字母和词汇的序列;语音,是音节的序列; 视频,是图像的序列;气象观测数据,股票交易数据等等,也都是序列数据。 核心思想:样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神 经网络在时序上的展开,我们能够找到样本之间的序列相关性。
解决方案: 选择其他的激活函数。例如ReLU。 引入改进网络结构的机制,例如LSTM,GRU。 现在在自然语言处理上应用十分广的的就是LSTM。
39
Schuster & Paliwal 中期(90-2010) 除LSTM以外,RNN基本 从主流研究中消失了。
早期(80、90年代) 主要思想:重新使用参数 和计算
26
Recurrent Neural Network
RNN基本框架
e.g. Sentiment Classification sequence of words -> sentiment
神经网络
神经元
5
神经元模型
神经元是构成神经网络的最基本单元(构件), 因此, 首要任务是构造人工神经元模型。 w1
x1 xn
Σ
wn
线性动态 系统
激励函数
o
Synaptic synapse dendrite terminals
Cell bodyndrite 突触synapse
异或问题: x1 x2 d 0 0 1 1 0 1 0 1 0 1 1 0
Problems: it can not separate patterns when there is
an overlapping of data or when classes are not linearly Separable 不能处理线性不可分问题
随时间反向传播算法BPTT
参数意义: Whv:输入层到隐含层的权重参数, Whh:隐含层到隐含层的权重参数, Woh:隐含层到输出层的权重参数, bh:隐含层的偏移量,bo输出层的偏移量, h0:起始状态的隐含层的输出,一般初始为0。
38
递归神经网络模型
随时间反向传播算法BPTT
面临的问题:
梯度消失问题 梯度爆炸问题
深度学习之循环神经网络
陈鹏
1
目录
1:深度学习发展史
2:从神经网络到深度学习
3:循环神经网络基础
4:自然语言处理基础(扩充知识)
2
1:深度学习发展史
3
深度学习发展史
Hebb Rosenblatt
Geoffrey Hinton
Neural network Back propagation
Geoffrey Hinton
• • •
w1 w2 wM
b
y
xM
y f (u) signwi xi b
1 if u 0 y 1 if u 0 1 if u 0 f (u) w1 x1 w2 x2 b 1 if u 0
u>0 u<0
10
Single Layer Perceptrons: 迭代过程
e.g. Video classification on frame level
e.g. Image Captioning image -> sequence of words
e.g. Machine Translation seq of words -> seq of words
27
Recurrent Neural Network
2011 2012
• • • • • DBN CNN RBM RNN …
2014
First Winter of NN
机器学习第一次浪潮: 浅层学习模型 (Shallow Learning) Second Winter of NN