以下部分转载自 知乎呜哈哈 专栏

NTM github

 

图灵完备性:

可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)按照一定的顺序可以计算出结果,被称为图灵完备(turing complete)。

一个有图灵完备指令集的设备被定义为通用计算机。如果是图灵完备的,它(计算机设备)有能力执行条件跳转(if、while、goto语句)以及改变内存数据。 如果某个东西展现出了图灵完备,它就有能力表现出可以模拟原始计算机,而即使最简单的计算机也能模拟出最复杂的计算机。所有的通用编程语言和现代计算机的指令集都是图灵完备的(C++ template就是图灵完备的),都能解决内存有限的问题。图灵完备的机器都被定义有无限内存,但是机器指令集却通常定义为只工作在特定的、有限数量的RAM上。

图灵完备的语言,有循环执行语句,判断分支语句等。理论上能解决任何算法。但有可能进入死循环而程序崩溃。

图灵不完备也不是没有意义,有些场景我们需要限制语言本身。如限制循环和递归, 可以保证该语言能写的程序一定是终止的。

比特币的脚本系统是图灵不完备的,以太坊的智能合约系统是图灵完备的。各有优缺点,图灵不完备会更安全些,图灵完备会更智能些。

 

NTM论文

结构图如下所示:

Neural Turing machine

 

 

controller主要负责将输入转变为中间表示,然后根据该向量选择出应该要读写的memory location即可,下面我们看一下addressing寻址机制。本文提出了两种addressing机制,content-based addressing和location-based addressing,后者主要是针对在某些情况下变量是任意的但仍然需要寻址和表示,所以引入location-based addressing以增强模型的适用范围和泛化效果。整个addressing的流程如下图所示,包含**content addressing,Interpolation,Convolutional shift, Sharpening**四个部分。

 

Neural Turing machine

首先在content addressing中,计算kt与相应memory Mt之间的相似度(使用余弦相似度进行度量),然后根据权重bate计算归一化的重要性得分,如下图所示:

Neural Turing machine

 

然后对前一时刻的权重wt-1按照门控值g进行差值(Interpolation),公式如下所示:

Neural Turing machine

 

经过插值之后对新的权重向量进行循环卷积,这里实现的功能主要是对权重进行旋转位移,比如当前的权重值关注于某一个location的memory,经过此步就会扩展到其周围的location,使得模型对周围的memory也会做出少量的读和写操作。循环卷积(关于循环卷积的解释可以看一下这个博客,有比较直观的例子进行介绍)的公式如下所示:

Neural Turing machine

 

但是循环卷积往往会造成权重的泄漏和分散,为了解决这个问题,需要在经过一层锐化(sharpening)操作,其公式如下所示;

Neural Turing machine

 

这样就得到了新的权重向量,可以根据该向量进行相应的读写操作,对记忆进行修改。我们可以结合下图对上面四个操作的功能有一个直观的理解和认识,第一个操作是根据输入得到每个memory location的相关性计算,后面三个操作是为了实现location-based addressing的作用,也就是将content-based得到的向量进行一定的旋转位移。具体的插值是为了将前一时刻的权重引入进来,对新的权重进行一定修正,然后卷积是为了将每个位置的权重值向两边分散,也就是所谓的旋转位移,最后的锐化操作是将权重在进行突出化,大的值更大,小的值更小:

 

有了该权重向量之后,具体的读写操作就很简单了,读就是一个加权求和的操作,而写被分为忘记和添加两部分,分别使用两个向量参数来指定要抹去和添加信息的量。

 

 

和Memorynetwork的不同

(摘自MemNN论文)

Neural Turing machine

 

 

NTM的位置较少 只有128个 Mem有14M的location去定位

在实验侧重上 NTM更关注于问题的sort,copy和recall  Mem关注于语言和推理任务

但两者的出发点都是相似的 都是通过大型的、可定位的存储 去提升预测的能力

相关文章:

  • 2021-08-29
  • 2022-12-23
  • 2021-05-17
  • 2021-07-28
  • 2022-01-02
  • 2021-05-16
  • 2021-10-13
  • 2021-09-27
猜你喜欢
  • 2021-09-20
  • 2022-12-23
  • 2022-01-09
  • 2021-10-18
  • 2021-05-18
  • 2021-07-16
  • 2021-08-21
相关资源
相似解决方案