ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【69】循环神经网络

2020-03-03 18:01:29  阅读:271  来源: 互联网

标签:词是 偏导 单词 神经网络 循环 w2 序列 69 向量


1.1 为什么选择序列模型
序列模型的应用
语音识别:将输入的语音信号直接输出相应的语音文本信息。无论是语音信号还是文本信息均是序列数据。
音乐生成:生成音乐乐谱。只有输出的音乐乐谱是序列数据,输入可以是空或者一个整数。
情感分类:将输入的评论句子转换为相应的等级或评分。输入是一个序列,输出则是一个单独的类别。
DNA序列分析:找到输入的DNA序列的蛋白质表达的子序列。
机器翻译:两种不同语言之间的想换转换。输入和输出均为序列数据。
视频行为识别:识别输入的视频帧序列中的人物行为。
命名实体识别:从输入的句子中识别实体的名字。

这些序列模型基本都属于监督式学习,输入x和输出y不一定都是序列模型。如果都是序列模型的话,模型长度不一定完全一致。

1.2 数学符号
符号含义

字典编码
利用一个字(词)典向量,通常有3-5万个字(词)。
可以利用one-hot编码,指出输入的序列中每个单词的向量
与字典向量大小一致
是单词的索引位置1,其他位置0

 

 

 从上图可以看出字典里一共有10000个单词,从a开始,到zulu为止,这10000个单词排列成为一个1*10000的列向量。对于Harry这个单词,其对应的向量X(1)如上图,因为Harry这个词位于词典中的第4075个位置,所以X(1)就是第4075个元素为1,其余全为零的1*10000的列向量。

 

1.3 循环神经网络模型

 

 

网络内部结构(激活函数是tanh):

 

 

 

 

 

 

 简单说一下反向传播的过程,假设上图是一个完整的RNN,h(···)就是a0。L=L(t-1)+L(t)+L(t+1)。上图有三个W,从左到右命名为W123,最终的dw=1/3*(dw1+dw2+dw3)。上图中的h就是之前的a。下面是参数w的反向传播计算过程:

dw3=L(t+1)对w3的偏导=L(t+1)对h(t+1)的偏导*  h(t+1) 对w3的偏导=dh(t+1)*  h(t+1) 对w3的偏导

dw2=L(t)对w2的偏导+L(t+1)对w2的偏导=L(t)对h(t)的偏导*h(t) 对w2的偏导+L(t+1)对h(t)的偏导*h(t) 对w2的偏导=(L(t)对h(t)的偏导 +L(t+1)对h(t)的偏导)*h(t) 对w2的偏导=dh(t)*h(t) 对w2的偏导=(L(t)对h(t)的偏导 +L(t+1)对h(t+1)的偏导*h(t+1)对h(t)的偏导)*h(t) 对w2的偏导=(L(t)对h(t)的偏导 +dh(t+1)*h(t+1)对h(t)的偏导)*h(t) 对w2的偏导

 同理可求 dw1=dh(t-1)*h(t-1) 对w1的偏导=(L(t-1)对h(t-1)的偏导 +dh(t)*h(t)对h(t-1)的偏导)*h(t-1) 对w1的偏导

反向传播的核心就是多元函数求导法则:

 

 

 

 

 

 

 

 

以  Cat eat fish. 这句为例,演示一下计算这句话的概率过程:

这句话的概率P=第一个单词是cat的概率*第一个单词是cat时第二个词是eat的概率*第一个单词是cat第二个词是eat时第三个词是fish的概率*第一个单词是cat第二个词是eat第三个词是fish时第四个词是.(EOS)的概率    最后这个概率可有可无,因为有时不把EOS放在词典里。

1.先从y1帽里找到第一个词是cat的概率P1

2.令x2=y1即令x2=cat对应的列向量。  这个列向量就是之前说的one-hot,然后从y2帽里找到第二个词是eat的概率P2

3.令x3=y2即令x3=eat对应的列向量。 然后从y3帽里找到第三个词是fish的概率P3

4.令x4=y3即令x4=fish对应的列向量。 然后从y3帽里找到第四个词是.(EOS)的概率P4

 最后的概率P=P1*P2*P3*P4

 

 

 

 

 

 左图中的第三次式子的第一个伽马漏了下标u

 

 

 

 

 

 

 

 上图是三个单元连接在一起的LSTM的简图。下边这条线是a,上边这条是c。只要合理设置遗忘门和更新门,LSTM就能把C0的值一直向右传递,传递给C3。

 

 

 双向RNN的工作过程:首先进行正向计算:依次算出a1→、a2→、a3→,然后进行反向计算:依次算出a3←、a2←、a1←。然后再由a1→和a1←算出y1,由a2→和a2←算出y2,以此类推。

 

 

标签:词是,偏导,单词,神经网络,循环,w2,序列,69,向量
来源: https://www.cnblogs.com/lau1997/p/12392861.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有