当前位置: 首页 > wzjs >正文

昆明云南微网站搭建高端网站优化公司

昆明云南微网站搭建,高端网站优化公司,广州市做网站,企业做网站营销目录 循环神经网络背景--序列模型 循环神经网络结构 序列生成案例 词的表示(one-hot) 输出表示(softmax) 矩阵运算表示 交叉熵损失计算 时序反向传播算法(BPTT) 梯度消失与梯度爆炸 循环神经网络背景--序列模型 通常在自然…

目录

循环神经网络背景--序列模型

循环神经网络结构

序列生成案例

词的表示(one-hot)

输出表示(softmax)

矩阵运算表示

交叉熵损失计算

时序反向传播算法(BPTT)

梯度消失与梯度爆炸


循环神经网络背景--序列模型

        通常在自然语言、音频、视频以及其它序列数据的模型。催生了自然语言理解、语音识别、音乐合成、聊天机器人、机器翻译等领域的诸多应用。常见的场合有:

        语音识别,输入一段语音输出对应的文字。

        情感分类,输入一段表示用户情感的文字,输出情感类别或者评分。

        机器翻译,两种语言的互相翻译。


循环神经网络结构

        循环(递归)神经网络(RNN)是神经网络的一种。RNN将状态在自身网络中循环传递,可以接受时间序列结构输入。常分为以下结构:

        一对一:固定的输入到输出,如图像分类
        一对多:固定的输入到序列输出,如图像的文字描述
        多对一:序列输入到输出,如情感分析,分类正面负面情绪
        多对多:序列输入到序列的输出,如机器翻译,称之为编解码网络
        同步多对多:同步序列输入到同步输出,如文本生成,视频每一帧分类,也称之为序列生成

        而放在神经网络中,其基础结构为

xt:表示每一个时刻的输入
ot:表示每一个时刻的输出
st:表示每一个隐层的输出
中间的小圆圈代表隐藏层的一个unit(单元)
所有单元的参数共享

其通用公式为:

        s_0 = 0

        s_t =g_1(Ux_t+Ws_{t-1}+ba)

        o_t=g_2(Vs_t+b_y)

g1,g2:表示激活函数,通常g1:tanh/relu,g2:sigmoid、softmax其中如果将公式展开:

可以看到,循环神经网络的输出值ot,是受前面历次输入值xt-1,xt,xt+1影响。


序列生成案例

通常对于整个序列给一个开始和结束标志,start,end标志。

例如:s(start),我 ,昨天 ,上学 ,迟到 了 ,e(end)

输入到网络当中的是一个个的分词结果,每一个词的输入是一个时刻。

        它的效果可以理解为类似于输入法的联想功能,训练完成后,当输入“我”,该模型输出为“昨天”;当输入“上学”,该模型输出为“迟到”。

        但是,对于电脑来说,不能理解我们的日常语言,需要将我们的输入(中英文等等)转化为向量表示。
1、建立一个包含所有序列词的词典包含(开始和标志的两个特殊词,以及没有出现过的词用等),每个词在词典里面有一个唯一的编号
2、任意一个词都可以用一个N维的one-hot向量来表示。其中,N是词典中包含的词的个数。


词的表示(one-hot)

        One-Hot 编码(独热编码)是一种将分类变量转换为数值形式的常用方法,特别适用于机器学习算法中处理类别型数据。One-Hot 编码将一个具有 N 个不同类别的特征转换为 N 个二进制特征,每个特征对应一个类别。对于每个样本,只有一个特征为 1("热"),其余都为 0。

特点:

1、消除数值大小带来的偏见:如果不使用 One-Hot 而直接用 1,2,3 表示不同类别,算法可能会误认为数值大小有意义。

2、适用于大多数机器学习算法:特别是那些期望输入是数值型的算法。

3、处理无序类别数据:当类别间没有自然顺序时特别有用。


输出表示(softmax)

        RNN这种模型,每一个时刻的输出是下一个最可能的词,可以用概率表示,总长度为词的总数长度。


矩阵运算表示

1、形状表示:[n, m]x [m, 1] +[n, n] x[n,1]= [n, 1]
      则矩阵U的维度是nxm,矩阵W的维度是nxn
      m:词的个数,n:为输出s的维度

注:此步骤可以简化:[u,w]x[]=[n,n+m]x[n +m,1]=[n,1]

2、形状表示:[m, n]x [n,1]= [m,1]
      矩阵V维度:[m,n]
     总结:其中的n是可以人为去进行设置。


交叉熵损失计算

        总损失定义:一整个序列(一个句子)作为一个训练实例,总误差就是各个时刻词的误差之和。

E_t(y_t,\hat{y_t})=-y_t\log (\hat{y_t})

E(y,\hat{y})=\sum E_t(y_t,\hat{y_t})=-\sum y_t\log (\hat{y_t})

在这案例中,yt是时刻t上正确的词,必是预测出来的词


时序反向传播算法(BPTT)

        对于RNN来说有一个时问概念,需要把梯度沿时问通道传播的 BP 算法,所以称为Back PropagationThrough Time-BPTT。

        我们的目标是计算误差关于参数U、V和W以及两个偏置bx,by的梯度,然后使用梯度下降法学习出好的参数。由于这三组参数是共享的,我们需要将一个训练实例在每时刻的梯度相加

要求:每个时间的梯度都计算出来t=0,t=1,t=2,t=3,t=4,然后加起来的梯度,为每次W更新的梯度值。

求梯度需要分为两种情况:
最后一个celt:
        计算最后一个时刻交叉熵损失对于s_t的梯度,记忆交叉损失对于s^t,V,by的导数
        按照图中顺序计算
除最后一个的celt:
        第一步:求出当前层损失对于当前隐层状态输出值的梯度+上一层相对于st的损失
        第二步:计算tanh激活函数的导数
        第三步:计算Ux_t+Ws_{t-1}+b_a的对于不同参数的导数,主要运用链式法则。


梯度消失与梯度爆炸

        由于RNN当中也存在链式求导规则,并且其中序列的长度位置。所以:
        如果矩阵中有非常小的值,并且经过矩阵相乘N次之后,梯度值快速的以指数形式收缩,较远的时刻梯度变为0。
        如果矩阵的值非常大,就会出现梯度爆炸。

http://www.dtcms.com/wzjs/42924.html

相关文章:

  • 免费wordpress cms主题百度搜索seo
  • 企业网站开发丨薇怎么优化标题和关键词排名
  • 六安品牌网站建设电话搜狗网
  • 网站一般用什么做的cpa广告联盟平台
  • 自己做网站怎么样衡水seo排名
  • 优秀网站h5案例分享小程序引流推广平台
  • 东营市公司网站建设价格个人网站制作模板
  • 做网站的相关协议宜昌今日头条新闻
  • ae如何做视频模板下载网站seo外链优化培训
  • 手机网站开发教程视频关键词调整排名软件
  • 山西网站群建设线上营销的方式
  • 上市公司中 哪家网站做的好手机优化
  • 清远企业网站建设公司今日小说排行榜百度搜索风云榜
  • 网站毕业论文模板seo词库排行
  • 网站开发技术 下载广告推广渠道有哪些
  • 旅游网站建设模板sem竞价教程
  • 天津关键词宁波百度快照优化排名
  • 开封旅游网站建设网页推广广告代发平台
  • 国外扁平化网站设计欣赏百度法务部联系方式
  • 学生如何自己做网站星巴克seo网络推广
  • 长沙商城网站建设中国职业培训在线
  • 广州旅游网站建设设计如何推广平台
  • 网络工程培训网络班北京aso优化
  • 山东做网站的公司各种资源都有的搜索引擎
  • 最好的网站设计公司美国最新新闻头条
  • 怎样做优惠券网站百度快照是什么意思?
  • wordpress babble搜索引擎优化教材答案
  • 西安知名网站制作公司重庆关键词自然排名
  • wordpress4.9博客模板手机优化专家下载
  • 电子商务系统的组成西安seo代理计费