LSTM 注意力学习心得简要

1个月前看的,快忘了,紧急回忆一下。

首先说一下看图像识别时候,百思不得其解的一个事儿,就是自动调整框框,如果识别一条狗,训练的时候,狗都出现在右下角,那么,测试的时候,是不是只能识别右下角的狗,是的,是有一定的区域分布的,就要求训练的时候,狗的位置要分布均匀比较好,这样权重w,就会分布到各处。 最让我困惑的是,调整RPN的4个参数△P_MoveLeft, △P_MoveTop,△P_EnlargeHigh,△P_EnlargeWeight, 会不会训练的时候,和测试的的时候狗的位置大小不一样,导致完全失效,训练的到底是什么?   其实RPN之前的特征提取网络,可以看成是一种抽象,你看到一个毛茸茸圆滚滚的东西,就可以看成是狗屁股,看到了狗屁股,应该怎么迅速的框住整个够,就是这4个参数要学的。

 

其次,说一下正题的LSTM。LSTM没有它的名字以及各种介绍说的那么玄乎。其实是一个很简单的idea。它首先要解决什么问题?

梯度爆炸和消失的问题。  output = w1 * w2 * w3 * w4 * w5 *w6...wN * Input。w一旦小于1,梯度就容易消失,由于激励函数的激活区间以及标准化等问题,消失比较容易出现;那么,怎么搞定呢?  用短路搞定, output = Input + w1*w2*...Input。这样,求导以后,保证有个1的存在。 

刚看的时候,就感觉这么多Activation_Fun(wx+b),是不是重复?不是的。其实是每个影响到输出相关的都要调节,都要学习。

都有影响输出的相关的东西呢? 当前RNN的输入X,前面的H,以及避免梯度消失的短路的X,这个短路用的X也可以历史累计。这样,把所有的影响输出的量都通过Activation_Fun(wx+b),加一个隐藏进行一次抽象操作,就成了LSTM。

再说注意力机制。LSTM等等相当于是把之前的成果用一个总的Output_History代表。所有的之前的单元都参与到当前运算,激活(w*X+b),这样的最大的一个好处是方便反向传播求梯度,原因也显而易见,这个式子本身就可以求导。注意力觉得太糙了,每一轮新的计算要用到之前所有的元素,当然,如果是NTM等模型,会有不同的描述方式,大体就是这个意思,具体可以看各种技术资料,我晚上还得加班到10点,没工夫拷贝一遍了。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值