Memory Network

Memory Network

一.模型意义
Memory Network用于训练类似于机器的阅读理解能力,首先输入文本内容,再对输入的问题进行解答。

二.模型构建
Memory Network实际上为attention model的应用。machine首先将输入的Document中的每一个句子变为一个个vector,再将输入的query同样转化为vector,再将query vector与document vectors经过match函数得到$\alpha_i$,再将$\alpha_i$与$x^i$依次相加求和,并将结果输入DNN从而得到Answer。

其中query vector实际上是对attention model中的初始参数$z^0$的取代,通过match函数控制不同的query对于document不同句子的关注度,从而得到与query相对应的answer。

Memory Network

Neural Turing Machine

一.模型意义
Neural Turing Machine(神经图灵机)不仅从memory里训练出信息,还可以根据match score修改存在memory中的内容,即不仅读memory中的内容还可以改memory中的内容。

Neural Turing Machine

二.模型构建(简化版)

1.首先设置初始memory值$m^i_0$与初始attention值$\hat{\alpha}_0^i$,将各值分别相加求和得到$r^0$,再与第一个时间点的input$x^1$经过自定义函数f从而输出三个vector:$k^1,e^1,a^1$。其中$k^1$的作用在于产生attention,其与$m_0^i$经过 cosine similarity 得到$\alpha_1^i$,再将它们经过softmax从而得到新的$\hat{\alpha}_1^i$

step 1

2.修改memory的值,$e^1$的作用为清空memory,$a^1$的作用为将新的值写入memory中。利用如下公式即可对$m_1^i$进行更新

$m_1^i = m_0^i – \hat{\alpha}_1^i e^1 \odot m_0^i + \hat{\alpha}_1^i a^1$

解释:$e^1$的取值在0~1间,由于$\hat{\alpha} _1^i$各值相差很大,假设$\hat{\alpha}_1^2=1$,且$e^1=1$,则式子中的第二项就等于$m_0^2$,第一项与第二项相减即为0($e^1$起到清空作用),此时再加上第三项即更新$m_1^2$值。

step 2

3.利用新得到的$\hat{\alpha}_1^i$与$m_1^i$重复上述运算,其中若f函数使用recurrent network则其除了会产生更新memory的vector外还会输出另外的vector $h^1$代表f自己的记忆,再将其输入下一个f中,从而与输入的$x_2,r^1$产生再下一个操控memory的参数

step 3

三.Tips for Generation
在Video Captioning(视频描述)训练过程中常会Bad Attention。假设一个视频只有四帧,且使用$\alpha_t^i$表示attention,$w_t$表示每个time产生的word。则在训练过程中由于attention的值不合适,导致每次生成的word并不恰当或重复多次,比如$\alpha_2^2,\alpha_4^2$均得到大值,则第二次time与第四次time生成的word将会相同,从而生成不恰当的句子。

Bad Attention

一个简单的处理方式称为Regularization term,即使用如下公式

$\sum_{i}(\tau – \sum_t \alpha_t^i)^2$

其中$\tau$为设定值,用于调整$\alpha_t^i$的数值,该公式含义在于将不同time中的同一个component中的attention相加,若其与$\tau$相差很大则loss将会很大,为降低loss模型将会将同一个component中的attention分散至其他component,从而得到比较好的结果

Regularization term

Related post

  1. Java IO流

    2020-07-31

  2. Leetcode Java常用代码

    2024-02-17

  3. 异常处理的合理使用与防御式编程

    2022-02-21

  4. Setting Up and Maintaining a Ubuntu Environment for My Home Server

    2023-11-24

There are no comment yet.

COMMENT

Take a Coffee Break

Recommend post

  1. 常用工具指令

    2022-09-18

Category list

ABOUT

Welcome to FullStar, a captivating online destination where the realms of software development and personal reflections intertwine.

April 2025
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

Life Logs

  1. 回首

    2023-07-14

Return Top