赞
踩
马尔可夫模型(HMM)
过程中每个状态的转移只依赖于之前的n个状态,n阶马尔可夫模型
将来与过去无关,只与现在有关,不断向前形成这样的过程
一些概念:状态空间(随机变量取值的集合);转移概率(前一时刻某取值下当前时刻取值的条件概率)转移概率矩阵: X m X_m Xm与 X m + 1 X_m+_1 Xm+1的状态对应的条件概率矩阵
应用:语音识别,词性自动标注,音字转换,概率文法、序列分类
与时序的区别:本质是概率模型,通过转移概率、转移概率矩阵和之前状态联系起来
这里不适用
- 适当的离散空间,无法长期依赖
RNN
- 同样取决于前一时间步
- 时间步有隐藏层:隐藏状态 接受前一隐藏状态和当前值形成新的隐藏状态
输入序列x(1),x(2),...x(T)
,实值向量
输出序列y(1),y(2),...y(T)
不一定限于时间,序列有定义的顺序即可
w j j ′ : w_{jj'}: wjj′: from j ′ j' j′ to j j j
j j j 的激活函数: l j l_j lj
和叫 incoming a j a_j aj
激活函数常见: 1 1 + e − z \frac{1}{1+e^{-z}} 1+e−z1 e z − e − z e z + e − z \frac{e^z-e^{-z}}{e^z+e^{-z}} ez+e−zez−e−z 还有 m a x ( 0 , z ) max(0,z) max(0,z)
k个节点的输出
前馈网络:有向图分层,从低到高,学习迭代更新权重来最小化损失函数(当前值与目标值的距离)
反向传播:梯度下降法调整权重
η是学习率,根据每个参数对于目标函数的梯度来更新
AdaGrad
: 缓存梯度的平方和调整学习率,为每个特征步长×缓存值平方根的倒数,大的变小,小的变大
Adadelta
:滑动窗口,存移动平均,根据这个进行预测学习率,使用指数加权来移动梯度平方和
遗传算法
Jordan
:1个隐藏层,输出节点->特殊单元(weight=1)->隐藏节点Elman
和Jordan
差不多,它们的区别是:Elman里面隐藏层参与更新自己,Jordan里面隐藏层只参与更新输出层,然后输出回来更新隐藏层TBPTT
):把整个序列划分成子序列,子序列内部是标准的RNN,子序列之间不加权重。这样会牺牲学习长程依赖关系,但是可以改善梯度爆炸和梯度消失问题。GPU
,LSTM
Long Short-Term Memory by Hochreiter and Schmidhuber(1997)–LSTM
Bidirectional Recurrent Nerual Networks ny Schuster and Paliwal(1997)–双向递归
g c ( t ) g_c^{(t)} gc(t) :输入节点,从输入层 x ( t ) x^{(t)} x(t) 激活,隐藏层 h ( t − 1 ) h^{(t-1)} h(t−1) 激活,激活函数tanh
i c ( t ) i_c^{(t)} ic(t) :输入门,和输入节点一样被激活,激活函数sigmoid(0-1),乘输入节点(如果值为0,那么输入节点被切断)
f c ( t ) f_c^{(t)} fc(t) :忘记门,和输入门一样,意思是要忘记前一个节点的一些东西
s ( t ) s^{(t)} s(t):内部状态, s ( t ) = g ( t ) × i ( t ) + f ( t ) × s ( t − 1 ) s^{(t)}=g^{(t)}\times i^{(t)}+f^{(t)}\times s^{(t-1)} s(t)=g(t)×i(t)+f(t)×s(t−1)
v
(
t
)
v^{(t)}
v(t):输出门
z z z 层是反向的隐藏层,同时考虑两个隐藏层
神经网络+可寻址的外部储存器
评价系统:BLUE, METEOR
两个多层LSTM
翻译模型
源语一个一个词到编码LSTM,不输出,在结束的时候传输信号给输出LSTM,用已有的源语和翻译训练
图像字幕
使用卷积神经网络对图像编码,用LSTM解码
手写识别
双向LSTM
语音识别模型,递归神经网络,任意长度上下文
Elman递归神经网络,随机梯度反向传播
输出层 y ( t ) y(t) y(t) 表示给定前一个单词和上下文的下一个单词的概率分布
利用反向传播(BP)更新权重
学习率 α = 0.1 \alpha=0.1 α=0.1 ,没有显著改善时减半,再没有显著改变停止
一些基于问题的优化:把不常用单词拿出来,概率均匀分布
softmax
函数:把k个输入值转化为和为1的向量,负的小;sigmoid
函数:把值映射到0-1的区间
模型正向计算
x t = w t + s t − 1 x_t=w_t+s_{t-1} xt=wt+st−1
w w w 是词向量,one-hot编码表示
s t j = f ( ∑ i x t i u j i ) s^j_t=f(\sum_{i} x_t^iu_{ji}) stj=f(∑ixtiuji) , f f f 是激活函数
s s s 状态,较小的值比如0.1
y t k = g ( ∑ j s t j v k j ) y^k_t=g(\sum_{j} s_t^jv_{kj}) ytk=g(∑jstjvkj) , g g g 是softmax函数
误差计算
E t = d e s i r e d t − y t E_t=desired_t-y_t Et=desiredt−yt
Dropout
- 目的:环节卷积神经网络CNN的过拟合
- 原理:随机失活 在模型训练向前传播过程中,让某些神经元以一定概率停止工作
- 由于训练时神经元以概率 p p p 失活,与测试集数据尺度不同,所以测试的时候所有权重参数 w ∗ = ( 1 − p ) w*=(1-p) w∗=(1−p) 。并且在巡礼你的时候Dropout正常工作,测试时要停止工作。
- 作用:Dropout导致两个神经元不一定每次都在一个网络里面出现,这样权值更新不再依赖于有固定关系的隐含节点的共同作用,这样阻止了某些特征仅仅在其它特征下才有效果的情况。
D表示Dropout,在没有循环的时候使用Dropout,这样可以保留LSTM长时间记忆的能力。
语言建模、语音识别、机器翻译、图像标题生成 正则化的LSTM都比原来的有改善
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。