深度学习之循环神经网络陈鹏1深度学习之循环神经网络陈鹏1目录1:深度学习发展史2:从神经网络到深度学习3:循环神经网络基础4:自然语言处理基础(扩充知识)2目录21:深度学习发展史31:深度学习发展史3深度学习发展史SVMBoostingDecisiontreeKNNNeuralnetworkBackpropagation19862006DeepbeliefnetScienceSpeech2011 2012ComputervisionNLPSpeech2014GeoffreyHinton1949Learningmodelofneurons1958PerceptronHebbRosenblattGeoffreyHintonDBNCNNRBMRNN机器学习第一次浪潮:机器学习第二次浪潮浅层学习模型(ShallowLearning)深度学习模型(DeepLearning)FirstWinterofNNSecondWinterofNN4深度学习发展史SVMNeuralnetwork198620深度学习(多层神经网络)神经网络神经元5深度学习(多层神经网络)神经网络神经元5synapse dendriteCell bodySynapticterminalsAxon轴突末梢 突触 树突细胞体轴突w1x1xn线性动态系统激励函数own神经元是构成神经网络的最基本单元(构件),因此,首要任务是构造人工神经元模型。
细胞体Cell body树突dendrite突触synapse轴突Axon来自其它神经元神经元模型6synapsedendriteCellbodySynaptyyaxo x2x1xnw1w2wnw1x1xn激励函数o=f(net)wnnet=WTX 典型的激励函数(Activation Function):线性函数,非线性斜面函数,阶跃函数,S型函数等神经元模型7yyaxox2x1xnw1w2wnw1x1xn激Input LayerHidden LayerOutput Layerx1xMh1hLo1oNw11wm1wM1wmLwMLw1Lv11vl1vL1vLN神经网络一般形式Nonlinearity非线性ParallelProcessing并行处理InputOutputMapping输入输出匹配Adaptivity自适应性ocx2x1xnw1w2wn8InputLayerHiddenLayerOutput最简单的神经网络:Perceptrons9最简单的神经网络:9SingleLayerPerceptronsybx2x1xMw1w2wMRosenblatt,1957u0u sequence of wordse.g.Sentiment Classificationsequence of words-sentimente.g.Machine Translationseq of words-seq of wordse.g.Video classification on frame levelRecurrentNeuralNetwork27RNN基Recurrent Neural Network2828典型典型应用:应用:图像标注RecurrentNeuralNetwork28典型应用Recurrent Neural Network2929典型应用:语言生成典型应用:语言生成RecurrentNeuralNetwork29典型应用Recurrent Neural Network3030典型应用:音乐作曲典型应用:音乐作曲RecurrentNeuralNetwork30典型应用循环循环神经网络模型神经网络模型3131激活函数激活函数lRNN常用的激活函数是tanh和sigmoid。
循环神经网络模型31激活函数RNN常用的激活函数是tanh和循环循环神经网络模型神经网络模型3232softmaxlSoftmax函数是sigmoid函数的一个变种,通常我们将其用在多分类任务的输出层,将输入转化成标签的概率本质就是将一个K维的任意实数向量压缩(映射)成另一个K维的实数向量,其中向量中的每个元素取值都介于(0,1)之间循环神经网络模型32softmaxSoftmax函数是sig循环循环神经网络模型神经网络模型3333简单简单循环循环网络网络SRN神经元之间的连接权重连接权重在时域上不变不变循环神经网络模型33简单循环网络SRN神经元之间的连接权重在循环循环神经网络模型神经网络模型3434随随时间反向传播算法时间反向传播算法BPTTBP回顾回顾:定义损失函数 E来表示输出 和真实标签y的误差,通过链式法则自顶向下求得 E 对网络权重的偏导偏导沿梯度的反方向更新权重的值,直到 E 收敛BPTT的本质其实和BP很像,就是加上了时序演化定义权重U,V,W定义损失函数:我们将整个序列作为一次训练,所以需要对每个时刻的误差进行求和循环神经网络模型34随时间反向传播算法BPTTBP回顾:定义循环循环神经网络模型神经网络模型3535随随时间反向传播算法时间反向传播算法BPTT目前的任务是求 E 对于U,V,W 的梯度。
定义E对于W 的梯度(U,V 同理):(1)求 E 对于V 的梯度先求 E3 对于V 的梯度:W VU其中:求和可得循环神经网络模型35随时间反向传播算法BPTT目前的任务是求其中:依赖于 ,而 又依赖于 和W,依赖关系一直传递到 t=0的时刻因此,当我们计算对于因此,当我们计算对于W 的偏的偏导数时,不能把导数时,不能把 看作是常数项!看作是常数项!循环循环神经网络模型神经网络模型3636随随时间反向传播算法时间反向传播算法BPTT(2)求 E 对于W 的梯度注意,现在情况开始变得复杂起来先求 E3 对于W 的梯度:W VU当我们求 对于W 的偏导时注意到:求和可得其中:依赖于,而又依赖于同样:依赖于 ,而 又依赖于 和U类似求类似求W,当我们计算对于,当我们计算对于U 的偏导数时,也不的偏导数时,也不能把能把 看作是常数项!看作是常数项!循环循环神经网络模型神经网络模型3737随随时间反向传播算法时间反向传播算法BPTT(3)求 E 对于U 的梯度情况与W 类似先求 E3 对于U 的梯度:W VU当我们求 对于W 的偏导时注意到:求和可得同样:依赖于,而又依赖于循环循环神经网络模型神经网络模型3838随随时间反向传播算法时间反向传播算法BPTT参数意义:Whv:输入层到隐含层的权重参数,Whh:隐含层到隐含层的权重参数,Woh:隐含层到输出层的权重参数,bh:隐含层的偏移量,bo输出层的偏移量,h0:起始状态的隐含层的输出,一般初始为0。
循环神经网络模型38随时间反向传播算法BPTT参数意义:递归神经网络模型递归神经网络模型3939随时间反向传播算法随时间反向传播算法BPTT面临的问题:l梯度消失问题l梯度爆炸问题解决方案:l选择其他的激活函数例如ReLUl引入改进网络结构的机制,例如LSTM,GRUl现在在自然语言处理上应用十分广的的就是现在在自然语言处理上应用十分广的的就是LSTM递归神经网络模型39随时间反向传播算法BPTT解决方案:4:自然语言处理基础404:自然语言处理基础404.1:什么是自然语言处理?概念:研究人和计算机之间用自然语言进行通信的各种理论和方法41414.1:什么是自然语言处理?414.2:词向量:词向量42421:传统的One-HotEncode离散单独符号表示单词将一个单词转换成一个很长的向量例子:0,0,0,0,0,1,0缺点:A:维数灾难,稀疏B:不能反映出单词之间的相似性2:分布式表示将一个单词表示成固定维度(小维度)向量分布式假设(distribute):上下文相似的词,其语义也相似相近的词相近的词投影投影到高维空间后距离很近到高维空间后距离很近词的表示-词向量4.2:词向量421:传统的One-HotEncode词4.3:Word2Vec4343现在常用的工具是Google2013年开源的Word2Vec:根据采用的策略和模型我们主要分为以下几类框架框架 模型模型基于HierarchicalSoftMax策略CBOW模型Skip-gram模型基于NegativeSampling策略CBOW模型Skip-gram模型我们主要介绍架是我们主要介绍架是Negative Sampling(负采样)模型(负采样)模型4.3:Word2Vec43现在常用的工具是Google204.4:工作原理:工作原理4444Negative Sampling概念:把语料中一个词替换为别的词,构造语料D中不存在的词串作为负样本优化目标为:最大化正样本的概率,同时最小化负样本的最大化正样本的概率,同时最小化负样本的概率概率。
例子:假设我们的目标是根据目标词汇预测该目标词汇的上下文语料:Thequickbrownfoxjumpedoverthelazydog这里我们的上下文长度取1;则对于brown单词而言正样本:(brown,quick),(brown,fox)负样本:(brown,dog)4.4:工作原理44NegativeSampling概念:4.4:工作原理:工作原理4545对于一个给定的样本(w,Context(w)),我们使用二项逻辑回归对其样本样本进行建模得Negative Sampling原理原理则其全部正样本的似然函数为则其全部负样本的似然函数为4.4:工作原理45对于一个给定的样本(w,Contex4.4:工作原理:工作原理4646我们同时最大化正样本概率最小化负样本的概率就得到下式对这个函数(模型)采用梯度下降算法进行训练4.4:工作原理46我们同时最大化正样本概率最小化负样本的概4.5:工作模式:工作模式4747word2vec中的基于NegativeSampling模型的两种方法例子:Iamastudent;CBOW:知道am,student,去预测aSkip-gram模型:知道 a,去预测am,student4.5:工作模式47word2vec中的基于Negative4.6:实验步骤:实验步骤4848原始语料生成样本训练模型参数最终模型生成结果4.6:实验步骤48原始语料生成样本训练模型参数最终模型生成THANKS49THANKS49。