深度学习入门学习--递归神经网络1

这篇博客介绍了循环神经网络(RNN)和递归神经网络(GRU)在处理序列和递归结构数据方面的应用。RNN适合处理长度可变的输入序列,如文本,通过将输入分块处理。而递归神经网络能处理如树形结构的数据,通过递归计算节点的父节点。在递归过程中,每个节点的向量由其子节点的向量组合并通过激活函数计算得出。这两种网络在自然语言处理和图结构数据的建模中有重要应用。
摘要由CSDN通过智能技术生成

循环神经网络,它可以用来处理包含序列结构的信息。

神经网络的输入层单元个数是固定的,因此必须用循环或者递归的方式来处理长度可变的输入。
循环神经网络通过将长度不定的输入分割为等长度的小块,然后再依次的输入到网络中,从而实现神经网络对边长输入的处理。
ex: 当输入一句话,我们可以把一句话看作是词组组成的序列,然后,每次向循环神经网络输入一个词,如此循环直至整句话输入完毕,循环神经网络将产生对应的输出。

递归神经网络,可以处理图,树这样的递归结构。
递归神经网络的前向计算
递归神经网络是两个或多个子节点,输出就是两个子节点编码后产生的父节点,且父节点和子节点的维度是相同的。
在这里插入图片描述
c 1 c_1 c1 c 2 c_2 c2是两个子节点的向量, P P P是表示父节点的向量,每个节点的维度都是 d d d。子节点和父节点组成一个全连接神经网络,子节点中的每个神经元都和父节点中的每个神经元两两相连。矩阵 W d × 2 d W_{d\times 2d} Wd×2d表示每一个链接上的权重, 父节点的计算公式可以写成:
P = t a n h ( W [ c 1 c 2 ] + b ) P=tanh(\boldsymbol{W}\begin{bmatrix} \boldsymbol{c}_1\\ \boldsymbol{c}_2\\ \end{bmatrix}+\boldsymbol{b}) P=tanh(W[c1c2]+b)
其中,tanh是激活函数
然后,我们把产生的父节点的向量和其他字节但的向量再次作为网络的输入,和上面产生父节点的过程一样,继续产生 P P P的父节点…如此递归下去,直至整个树处理完毕,得到根节点的向量。这个过程可以被表示为如下图:
在这里插入图片描述
ex:使用递归神经网络将“两个外语学校的学生”映射为一个向量
“两个外语学院的学生“可以被理解为下面两种含义
两个 外语学院的 学生两个学生来自同一个外语学院)
两个 外语学院学生两个学生来自不同的外语学院
在这里插入图片描述
左图:两个 外语学院的 学生 右图:两个 外语学院学生

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值