在上节课里,我们已经对整个模型有了一个基本的认识,这节课我们主要讲算法里的一些细节。
首先,我们上次提到,在注意力网络当中,由a来组成每一个解析元到编码元之间的权重值,我们在计算的时候,通过这个权重值✖上原来解析元当中激活函数生成的值,求和,就能得到我们要生成单词时的输入值。
要注意的是,所有有关于同一个输入的权重值总和为1,这里我们通过一个softmax分类器来实现。
计算权重值
剩下的就是如何通过网络训练计算这些权重值了,首先我们进行一个定义,a<t,t'>代表的是第t'个解析时的单元对第t个生成时单元的影响权重。
我们把这个每一个输出单词的输入端给分解一下,就可以明显的发现它分为上一个词的s输入,和一堆词的a<t'>输入乘上权重,由于我们并不知道这两个东西之间的关联性是什么,所以我们建立一个神经网络,通过一个小的神经网络来进行权值的自动训练。
经过试验证明,这种黑盒的方法在你不知道他们之间具体有什么相关关系的时候具有很好的效果。
最后讲到了几个关于注意力应用的样例,比如说我们可以通过注意力网络,把不同格式的日期标准化。
我们还可以使用可视化的原理,把函数里的参数输出成图片,我们会发现在机器翻译的时候,对应单元的格子是具有强相关性的,这也就代表之前的那个注意力网络是成功的。
网友评论