• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

RNN模型入门

Alg admin 4个月前 (06-30) 399次浏览 0个评论 扫描二维码

研究这 RNN,还是要为后面的 Attention 相关服务的,以前的工程里面也用过对特征使用 Attention 机制,但是业务场景只是使用而已,最近要去研究 NLP 相关通用能力,与 NLP 相关的基础算法都要去了解一下。

这个也不是 RNN 的基础详细解释,毕竟网上的文章都是随处可以看到了,这个也是自己到处看看然后自己做个简单的笔记记录吧!
RNN 循环神经网络首先跟时间序列相关,后面与前面相关,类似马尔科夫模型一样。简单的 RNN 模型则只考虑历史信息。但是你也会了解 BRNN,双向 RNN 网络。

第二点就是参数共享,就是每一个时间步其实用的都是共用权值,这个权值共享又会联想到 CNN 的权值共享,说起来深度学习的模型其实很多时候从某些角度去看这些问题都会发现其他都是或多或少都会有一些概念都是相同的。

下面给一张之前看吴恩达教授的深度学习模型看到的 RNN 模型的例子

这上面的\(x^{<1>}\)输入就是句子中的单词,1,2,3。。。表示不同的时刻,对于网络的第一个输入\(a^{0}\)是一个随机初始化的参数,一般情况下都是初始化为 0 向量,那么 Y 输出的含义是什么呢。

比我我们要做一个命名实体识别,这个是 NLP 一个重要的研究方向,英文简称 NER,那么你的输出就是与 label 标签(地点\人物\…)等等计算相应的 loss,如果你的模型够好,把每一个都正确识别出来了,那么你的 loss 就为 0。

这样大致将前向传播与 loss 计算说清楚 了,反向传播其实跟一般的网络都是一样的,就是理解起来有点别扭,因为看起来是时间穿越的方式反向传播进行梯度传播实现权值更新。所有它的反向传播叫 BPTT,后面的 TT 就是 through time,就是时间穿越的意思。

扯远一点,一般模型训练的时候都不希望出现数据穿越的现象。


上面说的都是基本的 RNN 概念,RNN 有很多不同的类型,其实本质上就是不同的业务场景使用 RNN 做不同的事情,比如翻译输入与输出是多对多,但是情感分类就是多对 1,但是大家本质核心都是 RNN 模型,后面牵涉到的语言模型 LM 也是要用到 RNN,后面学习到 LM 的时候会提一下这里。

后续

RNN gradient vanish 现象以及相关解决方案


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明RNN 模型入门
喜欢 (0)
admin
关于作者:
互联网行业码农一枚/业余铲屎官/数码影音爱好者/二次元

您必须 登录 才能发表评论!