1、深度学习之循环神经网络陈鹏1 目录1:深度学习发展史2:从神经网络到深度学习3:循环神经网络基础4:自然语言处理基础(扩充知识)21:深度学习发展史3深度学习发展史SVMBoostingDecision treeKNNNeural networkBack propagation19862006Deep belief netScienceSpeech2011 2012Computer visionNLPSpeech 2014Geoffrey Hinton 1949Learning model of neurons1958PerceptronHebbRosenblattGeoffrey Hinto
2、n DBNCNNRBMRNN机器学习第一次浪潮:机器学习第二次浪潮浅层学习模型(Shallow Learning)深度学习模型(Deep Learning)First Winter of NNSecond Winter of NN4深度学习(多层神经网络)神经网络神经元5synapse dendriteCell bodySynapticterminalsAxon轴突末梢 突触 树突细胞体轴突w1x1xn线性动态系统激励函数own神经元是构成神经网络的最基本单元(构件),因此,首要任务是构造人工神经元模型。细胞体Cell body树突dendrite突触synapse轴突Axon来自其它神经元神
3、经元模型6yyaxo x2x1xnw1w2wnNNxwxwu11uifuifay0w1x1xn激励函数o=f(net)wnnet=WTX)(TnetfoxwXWnetii 典型的激励函数(Activation Function):线性函数,非线性斜面函数,阶跃函数,S型函数等。神经元模型7Input LayerHidden LayerOutput Layerx1xMh1hLo1oNw11wm1wM1wmLwMLw1Lv11vl1vL1vLNmmlThhxwXWnetll)(lhlnetfh llnToohvHVnetnn)(nonnetfo 神经网络一般形式 Nonlinearity 非线性
4、Parallel Processing 并行处理 InputOutput Mapping 输入输出匹配 Adaptivity 自适应性ocx2x1xnw1w2wnckfonet)net(NNwxwx11net8最简单的神经网络:Perceptrons9Single Layer Perceptronsybx2x1xMw1w2wMbxwsignufyii)(0101uifuifyRosenblatt,19570101)(2211uifuifbxwxwufu0u sequence of wordse.g.Sentiment Classificationsequence of words-sentim
5、ente.g.Machine Translationseq of words-seq of wordse.g.Video classification on frame levelRecurrent Neural Network28典型应用:典型应用:图像标注Recurrent Neural Network29典型应用:语言生成典型应用:语言生成Recurrent Neural Network30典型应用:音乐作曲典型应用:音乐作曲循环神经网络模型循环神经网络模型31激活函数激活函数lRNN常用的激活函数是tanh和sigmoid。循环神经网络模型循环神经网络模型32softmaxlSoftm
6、ax函数是sigmoid函数的一个变种,通常我们将其用在多分类任务的输出层,将输入转化成标签的概率。本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。循环神经网络模型循环神经网络模型33简单循环网络简单循环网络SRN神经元之间的连接权重连接权重在时域上不变不变。循环神经网络模型循环神经网络模型34随时间反向传播算法随时间反向传播算法BPTTBPBP回顾回顾:定义损失函数 E E 来表示输出 和真实标签y y的误差,通过链式法则自顶向下求得 E E 对网络权重的偏导偏导。沿梯度的反方向更新权重的值,直到 E E 收敛。BPTT的本质
7、其实和BP很像,就是加上了时序演化。定义权重U,V,W。定义损失函数:我们将整个序列作为一次训练,所以需要对每个时刻的误差进行求和。循环神经网络模型循环神经网络模型35随时间反向传播算法随时间反向传播算法BPTT目前的任务是求 E E 对于U,V,W 的梯度。定义E对于W 的梯度(U,V 同理):(1)求 E E 对于V 的梯度。先求 E E3 对于V 的梯度:W VU其中:求和可得。其中:依赖于 ,而 又依赖于 和W,依赖关系一直传递到 t=0 的时刻。因此,当我们计算对于因此,当我们计算对于W W 的偏的偏导数时,不能把导数时,不能把 看作是常数项!看作是常数项!循环神经网络模型循环神经网
8、络模型36随时间反向传播算法随时间反向传播算法BPTT(2)求 E E 对于W 的梯度。注意,现在情况开始变得复杂起来。先求 E E3 对于W 的梯度:W VU当我们求 对于W 的偏导时。注意到:求和可得。同样:依赖于 ,而 又依赖于 和U。类似求类似求W W,当我们计算对于,当我们计算对于U U 的偏导数时,也不的偏导数时,也不能把能把 看作是常数项!看作是常数项!循环神经网络模型循环神经网络模型37随时间反向传播算法随时间反向传播算法BPTT(3)求 E E 对于U 的梯度。情况与W 类似。先求 E E3 对于U 的梯度:W VU当我们求 对于W 的偏导时。注意到:求和可得。循环神经网络模
9、型循环神经网络模型38随时间反向传播算法随时间反向传播算法BPTT参数意义:Whv:输入层到隐含层的权重参数,Whh:隐含层到隐含层的权重参数,Woh:隐含层到输出层的权重参数,bh:隐含层的偏移量,bo输出层的偏移量,h0:起始状态的隐含层的输出,一般初始为0。递归神经网络模型递归神经网络模型39随时间反向传播算法随时间反向传播算法BPTT面临的问题:l 梯度消失问题l 梯度爆炸问题解决方案:l 选择其他的激活函数。例如ReLU。l 引入改进网络结构的机制,例如LSTM,GRU。l 现在在自然语言处理上应用十分广的的就是现在在自然语言处理上应用十分广的的就是LSTM。4:自然语言处理基础40
10、4.1:什么是自然语言处理?概念:研究人和计算机之间用自然语言进行通信的各种理论和方法414.2:词向量:词向量421:传统的One-Hot Encode离散单独符号表示单词将一个单词转换成一个很长的向量。例子:0,0,0,0,0,1,0缺点:A:维数灾难,稀疏B:不能反映出单词之间的相似性 2:分布式表示将一个单词表示成固定维度(小维度)向量分布式假设(distribute):上下文相似的词,其语义也相似相近的词投影到高维空间后距离很近相近的词投影到高维空间后距离很近词的表示-词向量4.3:Word2Vec43现在常用的工具是Google2013年开源的Word2Vec:根据采用的策略和模型
11、我们主要分为以下几类框架框架 模型模型基于Hierarchical SoftMax策略 CBOW模型Skip-gram模型基于Negative Sampling策略 CBOW模型Skip-gram模型我们主要介绍架是我们主要介绍架是Negative Sampling(负采样)模型(负采样)模型4.4:工作原理:工作原理44Negative Sampling概念:把语料中一个词替换为别的词,构造语料D中不存在的词串作为负样本优化目标为:最大化正样本的概率,同时最小化负样本的概率最大化正样本的概率,同时最小化负样本的概率。例子:假设我们的目标是根据目标词汇预测该目标词汇的上下文语料:The qui
12、ck brown fox jumped over the lazy dog这里我们的上下文长度取1;则对于brown单词而言正样本:(brown,quick),(brown,fox)负样本:(brown,dog)4.4:工作原理:工作原理45对于一个给定的样本(w,Context(w)),我们使用二项逻辑回归对其样本样本进行建模得Negative Sampling原理原理则其全部正样本的似然函数为则其全部负样本的似然函数为4.4:工作原理:工作原理46我们同时最大化正样本概率最小化负样本的概率就得到下式对这个函数(模型)采用梯度下降算法进行训练4.5:工作模式:工作模式47word2vec中的基于Negative Sampling模型的两种方法。例子:I am a student;CBOW:知道am,student,去预测aSkip-gram模型:知道 a,去预测am,student4.6:实验步骤:实验步骤48原始语料生成样本训练模型参数最终模型生成结果THANKS49