可微分神经计算机DNC

CNN和RNN神经网络模型在广泛的模式识别任务中表现良好。其中RNN可以以通过将“word states”转换为记忆向量(隐藏状态)处理诸如翻译,手写生成和语音识别之类的序列建模任务。但是在实践中RNN的主要变种LSTM处理长距离依赖序列需要大量的计算资源,且效果欠佳。为了解决这个问题,多种具有外存储机制的神经网络被设计出来,目前最具知名度的是Deepmind 的Differentiable Neural Computer (DNC)

通过把可训练的神经网络控制器和可读写的外部存储器进行结合,可微分神经计算机(Differentiable Neural Computer,DNC)这种混合学习型神经网络,既能像神经网络那样进行算法和参数的学习,又能像计算机那样处理复杂数据信息流。在发表于Nature的论文中,DNC是一种具有外存储器(不可训练)的特殊的循环神经网络。在每时间步 t 由可训练的控制器基于t-1 时刻的信息流与外存储器交换信息流之后线性组合两部分的预测信息决定最终输出预测。

可微分神经计算机DNC_第1张图片

DNC使用向量Vector来存储记忆。存储器矩阵Memory matrix的每行对应于不同的记忆。控制器通过使用接口向量Interface parameters控制一个写头控制和多个读头控制(每个读头都是由两种寻址机制线性组合而成,读头数量在结构设计中未有约束)与外存储记忆交互。记忆矩阵M∈R^{N\times W}一行向量表示一组记忆,N行表示记忆矩阵最多可以保有多少组记忆。在每个时间步dnc接受上一时刻读头信息流与此时刻外部输入信息流组成广义dnc外部输入信息流(也就是传统LSTM对应每步外部输入inputs),经过处理发出隐藏状态,隐藏状态生成输出向量和接口向量。接口向量控制读写头控制通过读写机制与外存储矩阵交互,生成此时刻的写信息,并更新矩阵获得此时刻的读信息。读信息与输出向量线性组合生成此时刻最终输出向量。

外存储器记忆矩阵更新

 

其中E∈R^{N\times W}为全1矩阵;w∈R^{N}为写头是归一化的分布权重;e∈R^{W}为擦除向量,取值局限于[0,1]之间;v∈R^{W}为写入记忆向量也就是此时刻新的记忆信息;注意读写头控制变量为记忆矩阵行与行之间的相对强度,而不是具体的记忆信息向量。从左向右,先擦除后写入。在此时刻记忆矩阵更新之后,读头提取此时刻记忆矩阵读头信息流r_{t}该信息流线性组合此时刻最终输出并且作为下一时刻输入外部输入使用。

 

 

你可能感兴趣的:(人工智能)