2020李宏毅机器学习笔记——18. Recursive Network(递归网络)

摘要: 本章主要讲解了Recursive Network(递归网络)的基本原理,首先通过情感分析任务为例来说明递归神经网络(recursive neural network)和循环神经网络(recurrent neural network)的关系,即循环神经网络可以看做递归神经网络的特殊情况,以及Recursive 模型与具体的实现过程。接着阐述了Recursive Structure中function f 的具体设计,如:Recursive Neural Tensor Network、Matrix-Vector Recursive network和Tree LSTM。

1. 递归神经网络(recursive neural network)

1.1 Application: Sentiment Analysis(应用:情感分析)

情感分析案例的目标:输入一个word sequence,machine判断该word sequence的sentiment(正面,负面,中性)。

用RNN做情绪分析案例:我们先word Sequence用一组vector(x1,x2,x3,x4)表示,然后找一个初始的h0,将h0和x1丢到function f中,得到h1,依此类推(使用相同的function-f),将最后得到的值丢入function g,得到最后的结果。假如正面-负面分为5个等级,那么最后的输出是5维的vector。如下图(上部分):

在这里插入图片描述
用Recursive Structure去做分析:必需先决定这几个Sequence的关联,上图(下部分)来看,我们将x1,x2丢到function-f得到h1,再将x3,x4丢入相同的function-f,得到h2,再将h1,h2丢到function-f得到h3,再经过function-g得到最后结果。

Recursive Networ与RNN的关系:Recursive network是RNN一种更更一般型式的神经网络,RNN是Recursive network的一种结构模式(相当于它的一个子集)。

2. Recursive Model

Recursive Network是一种RNN的扩展形式,他是空间的展开,且具有树形结构。(RNN是一种结构模式)
在这里插入图片描述
判断一个句子的情感分析
具体过程如下:
从syntactic structure(文法结构)可以看的出这句话的结合方式

  • 先用词嵌入将每一个Word用Vectory来表示
  • 根据文法结构来结合:将Very, Good丢入function-f得到输出(词向量维等于| Z |)输入:| 2Z |,输出:| Z |)

function-f是一个NN,它所处理的事情或许比想像中还要复杂一些,因此不会只是单纯的将两个向量相加而以。 如下图:
在这里插入图片描述

举例来说,not是中性字,而good是正面,两个加起来并不是正面偏中性,而是一个负面字眼,因此这不可能是单纯的相加就可以达成的。如下图:
在这里插入图片描述
比如:机器需要识别not,看到not就将词性转向!

而very则需要机器去将与之关联的词性加强,如下图:
在这里插入图片描述

通过训练资料的学习,让“not very good”经过function-f 的产出再经过function-g 来得到最终的情绪等级,再依据与实际情绪(标签)的loss做优化。过程如下图:
在这里插入图片描述
那么我们的function f 到底应该是什么样子的呢?其实我们的function f是一个NN,那究竟是怎样的模型呢 ?

3. Recursive Network 的function f 是怎样的

  1. 最简单的模型就是下图所示:乘以一个权重矩阵W(W是一个2X4的矩阵),是由机器直接学到的,然后经过一个激活函数。这样做的缺点是没有将输入a,b联系起来,机器就没法知道两者之间的关系,不能做到反转或者加重情感,因此很难达到理想的效果。模型如下图:
    在这里插入图片描述
  2. 改进的function-f 模型,我们要让a,b两个向量是有相乘的关联,调整模型,让两个向量堆叠之后转置XT乘上权重W再乘上X( x T w x x^Twx xTwx),它的计算逻辑就是将两个元素相乘xixj之后再乘上相对应的权重索引元素值Wij 做加总∑i,j ,这么计算之后得到的是一个数值,而后面所得项目是一个2x1矩阵,无法相加,因此同样的事再做一次,要注意到上下两个W颜色不同代表的是不同的权重值。如下图:

在这里插入图片描述

4. Matrix-Vector Recursive Network

Matrix-Vector Recursive Network的核心思想:将词向量分成两部分,一是代表自身的意思的部分,二是代表影响别其他word能力部分。如下图:

在这里插入图片描述
那究竟哪些部分代表自身意思,哪些代表影响其他Word的能力 ?

5. Tree LSTM

LSTM(长短期记忆网络)是一种改进之后的循环神经网络(RNN),可以解决RNN无法处理长距离的依赖问题。
典型的LSTM: h和m的输入对应相应的输出,但是h的输入输出差别很大,m的不大。
Tree LSTM:就是把其中的function-f 换成LSTM(如下图)

在这里插入图片描述

6. 总结与展望

本章主要是学习Recursive Structure(递归神经网络),它是采用树状结果进行设计的,可以很好的解决词性判断的问题,Recursive Model的设计并不是难点,重点是在设计归神经网络的中function f,如何选择一个合适的函数f,将每个word之间联系起来,让机器知道word之间的含义,这一点尤为重要。

主要有三种f设计:Recursive Neural Tensor Network,Matrix-Vector Recursive Network,Tree LSTM。Matrix-Vector Recursive Network的核心思想是:将词向量分成两部分,一是代表自身意思的部分,二是代表影响其他word能力的部分。这个方法感觉比较有道理,但实际上的Performance是较Recursive Network Tensor Network差。Tree LSTM也就是使用LSTM来充当递归神经网络的 。

递归神经网络主要应用在情感分析和评估句子相似度等应用上,即输入的序列有明显的结构层次(比如文法结构等),但是这种结构是需要去提取预处理的,耗费较大,所以一般的效果都不是很好!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
李宏毅2020机器学习笔记中,有一个关于注意力机制(Attention)的部分。这部分内容主要介绍了生成模型(Generation)、注意力(Attention)、生成的技巧(Tips for Generation)以及指针网络(Pointer Network)。在生成模型中,主要讲述了如何生成一个有结构的对象。接下来介绍了注意力机制,包括一些有趣的技术,比如图片生成句子等。在生成的技巧部分,提到了一些新的技术以及可能遇到的问题和偏差,并给出了相应的解决方案。最后,稍微提到了强化学习。其中还提到了在输出"machine"这个单词时,只需要关注"机器"这个部分,而不必考虑输入中的"学习"这个部分。这样可以得到更好的结果。另外,还提到了关于产生"ei"的方法,其中有研究应用了连续动态模型自注意力(Self-attention)来学习位置编码的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [2020李宏毅机器学习笔记-Condition Generation by RNN&Attention](https://blog.csdn.net/zn961018/article/details/117593813)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [李宏毅机器学习学习笔记:Self-attention](https://blog.csdn.net/weixin_44455827/article/details/128094176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值