记忆网络之Hierarchical Memory Networks
这是Bengio团队在2017年发表在ICLR上面的论文“hierarchical Memory Networks”,这篇论文的主要思想是使用分层结构的Memory,目的是在维持准确度的基础上实现训练速度的提升。因为当需要的记忆量很大时,对所有的记忆进行Attention操作,必然会及其浪费时间,而通过本文提出的Hierarchical Memory结构,可以加速选择相关记忆的速度。总结一下本文贡献就是,提出一种新的memory数据结构(基于聚类),和一种新的搜索方法(MIPS)来适应该结构进行评分计算。但是这两个东西都是他们之前的论文“clustering is efficient approximate maximum inner product search”提出的,只不过是用到Memory Networks中来。所以可以理解为是在数据结构层面的改进,而不是模型架构,和前面的论文不太一样。下面我们来看一下:
首先说一下两种用于memory选择的Attention的概念和区别:
- soft Attention: 一般使用softmax对所有的memory计算得分,好处是可以方便的计算梯度并反向传播,缺点是当memory比较大时,计算量比较大。
- hard Attention:仅一个或者几个相关的记忆被计算,优点是计算量小,缺点是非凸,无法使用反向传播进行计算,所以一般结合强化学习进行优化,比较复杂。
上面两种都有各自的优缺点,所以本文在此基础上提出了基于MIPS的Hierarchical Memory Networks,可以理解为介于两者之间的方法,一方面使用分层结构进行存储和寻址,相比soft Attention速度更快,而且仍然可以进行端到端的反向传播进行训练,比hard Attention简单。此外,本文主要是为了解决本专栏第三篇文章“记忆网络之open-domain QA 应用”中介绍的bordes的那篇论文“large-sca