AI学习笔记2——RNN

AI学习笔记2

递归神经网络


  • CNN适用于解决计算机视觉问题,图像本身就是数字可以计算。但是文本数据有一个缺点在于,词本身只是一个id,id本身除了独一无二的意义,并没有可以计算的概念。词向量就是为了解决这个问题。
  • 谷歌提出了Word2Vec方法
  • All you need is attention 2017年注意力机制的提出,不仅应用到了nlp、语音以及图像
  • 2018年Bert很空出世,提出了你的transformer挺好,但代价大,但是需要预训练模型训练词向量表示
  • 有了词向量就可以使用不同的方法来计算相似度。比如篮球和足球都符合球,球在语义上是相似的
  • NLP都是分类问题,同时与一般CNN不同输入的是,词的向量也会改变。一般采用采用别人训练的预训练模型,这个一般来说是通用的,但是特殊领域的词是不一样的:律师、医学。这就意味着我们要额外训练。
  • 摘要任务也是分类为题,输入为文章,输出为关键词。阅读理解是确定答案的位置,也是一个分类问题
  • CBOW根据上下文词向量 完形填空 Skip-gram则是反过来
  • Q:如果一个语料库稍微大一些,比如中文3W左右的词,在最后分类的时候,softmax计算时间非常耗时,有什么办法解决?
  • Q:什么是负采样?又是用来解决什么的?

    “我打你”中“打”是正样本,但是其他的比如把“打”换成其他的都是负样本,但是负样本太多了,所以把负样本从299999缩到9个,这样softmax就比较简单。这个缩减的过程就叫做负采样

  • 采样的过程如何让样本和原先的词比较接近,这个叫做hard-negative。比如例句“中国发射了火箭”之中的“火箭”就是正样本,然后为了增加难度,使得模型能力更加完善,我们的负样本是“导弹”或者任何跟“发射”能够连得上的词。
  • 传统神经网络为什么不能解决nlp的问题?

    传统神经网络处理结构化数据的时候都是把对应的数据当成独立的点来处理的,但是中文语义下的一个句子,往往由多个词所构成,一个词的embedding 与之前或者之后的embedding是相关的

  • Q:RNN网络的缺点

    A:
    1、RNN的串联结构会导致训练时间太长。transformer解决了RNN无法并行计算,层数比较低。
    2、同时最早训练的东西会被丢失。解决办法双向RNN,只能活获得上文,但是语句是要获取上下文
    3、如果序列太长会导致过程中有的梯度消失,也就是中间层出问题,反向传播的过程就会断开。尤其200序列之后,所以只用于处理短序列。
    4、同时,一直在学,都学但都学不到重点。解决办法是采用注意力机制可以解决。LSTM也解决了这个问题虽然都被transformer橄榄了
    5、nlp的任务比较多。RNN是直接用的训练完毕的词向量,意味着RNN的输入向量是不会变了。比如说“卧槽”不同的语境,含义是不一样的,也就是不同语境RNN是没有对这个词进行重构,也就不用于文本任务。所以翻译会遇到,长句翻译不周到

  • LSTM加入了门单元,加入了遗忘机制,用于决定什么需要记忆
  • 词向量的长度必须固定,问题在于神经网络就是矩阵乘法,权重参数W固定,这就意味着词向量的长度必须固定。
  • 句子长度也需要固定,在RNN中每个W的更新与长度相关。预处理需要处理这个部分,也就是多砍少补padding,填充固定的id值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容