图 1:神经图灵机架构。 在每个更新周期中,控制器
网络从外部环境接收输入并发出输出作为响应。 它也是
通过一组并行读写头读取和写入存储矩阵。 破折号
线表示 NTM Circuit与外界的分界线。

3.NTM寻址机制

单从寻址机制方面查看,NTM不使用固定的寻址机制,使用注意力聚焦的方式进行内存定位,在寻址逻辑上进行改变,底层机制文章中试验为前馈网络和递归网络

从神经网络的逻辑层面分析,神经图灵机包含两个基本组成部分:

神经网络控制器和

记忆库,控制器通过输入输出向量和外界交互。不同于标准神经网络的是,控制器还会使用选择性的读写操作和记忆矩阵进行交互。类比于图灵机,我们将网络的参数化这些操作的输出称为“读头”。输入向量和网络结构影响注意力的聚焦,决定寻址位置。

NTM使用读写头上的多个权值实现,形成一个多维向量,每一维向量表示关联到特定区域内存的读写权重,并由此决定要读写的内存地址。此处是NTM有别于通用图灵机的地方。实现此机制的控制器为神经网络控制器,用于处理输入、输出多维读写权重向量。

记忆权重
个人觉得神经图灵机主要改进了LSTM的门结构,以前,我们通过对上一时刻的输出和当前时刻的输入分别进行线性变换并相加,再用sigmoid函数进行处理,得到一个用于记忆或者遗忘的权重向量,再和长期记忆按位相乘。这种权重的计算机制是通过神经网络基于数据进行学习,当然可行。而神经图灵机则从注意力的角度,用更接近人的思维,提出分别从content-based和location-based的角度进行注意力计算。

事实上,神经图灵机比起lstm取得更好的效果,主要是因为他其中的location-based的注意力计算,这个location-based的注意力计算有什么用呢,举个例子来说,以前的lstm,你给他一杯奶茶,他可能不能一下子回忆起奶茶是什么,只能勉强回忆起这东西有点像茶、有点像牛奶,然后通过神经网络计算出奶茶或许就是0.5的茶加0.5的奶,换句话说,lstm只能通过相似性或相关性进行模糊匹配访问信息,并不能做到精准的检索信息。

而现在神经图灵机则改进了这种回忆能力,使得模型能够快速回忆起指定内容,而不仅仅是相似的内容,所以如果你给神经图灵机一杯奶茶,他可能一下子就回忆起这个奶茶就是三天前喝过的那个饮料,三天前这个时间就是通过location-based的注意力计算得出的。

content-based addressing
接下来就详细看看神经图灵机两种注意力计算。我们要知道,权重其实就是起到一个聚焦的作用,在读写过程中,告诉模型应该注意记忆中哪个位置的信息。神经图灵机的权重计算结合了两种注意力计算,第一种就是常见的通过输入和记忆的相似度计算权重,称为content-based addressing(为什么叫addressing,我觉得这可以理解成注意力机制中的聚焦):

content-based addressing可以帮助模型实现基于相似性的回忆能力,但如果希望模型能够回忆起特定的内容,还需要location-based addressing,也就是准确回忆起某一时刻(位置)的记忆的能力。

我们看看location-based addressing的公式:

这里的意思其实就是,新的权重,等于整个权重向量各个元素的重新线性组合。上式中的st是controller输出的,但是最主要的问题是,权重的重新线性组合是如何反映出location-based的location呢,这才是关键,这里我说一下我个人的理解。

比如说目前记忆矩阵中有四段记忆,时刻t的权重分别为0.1、0.1、0.1、0.7,这意味着在时刻t模型更关注第四段记忆,如果我现在希望模型在这一刻更关注第二段记忆,对第二段记忆可以进行以下线性变换:

图灵机

所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

有限状态机(FSM),确定性有限自动机(DFA, deterministic finite automation)和图灵机的比较归结如下:

FSM:有限的多个状态以及在这些状态之间转移和动作的数学模型。

DFA:需要着重理解Determinist的概念,因为DFA可以理解为DFSM(确定性有限状态机)。FSM(有限状态机)中每一次转移(一个状态下,同一个输入)都有几个不确定的值,采取随机的方式转移到下一个状态。而DFA中,给定当前状态和输入,下一个状态是唯一且确定的。

神经图灵机NTM —— 元学习相关推荐

  1. 【工大SCIR】AAAI20 基于反向翻译和元学习的低资源神经语义解析

    论文名称:Neural Semantic Parsing in Low-Resource Settings with Back-Translation and Meta-Learning 论文作者:孙 ...

  2. AutoML-第二章-元学习

    第二章:元学习 摘要 元学习(即学习如何学习)是一门系统地观察不同的机器学习方法如何在各种学习任务上执行的科学,然后从这种经验或元数据中学习,以比其他方式更快的速度学习新任务的科学.这不仅极大地加速和 ...

  3. Python 元学习实用指南:1~5

    原文:Hands-On Meta Learning with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MTPE)流 ...

  4. 专家点评Nat Mach Intell | 刘琦团队开发基于元学习的AI模型进行抗原-TCR亲和力识别及肿瘤新生抗原免疫原性预测...

    T细胞受体(T-cell receptor, TCR)是获得性免疫过程中的关键分子.TCR经过特定的基因重组和进化筛选,具备高度的多样性及特异性.MHC-多肽复合物与TCR亲和力的计算识别(pMHC- ...

  5. 元学习 迁移学习_元学习就是您所需要的

    元学习 迁移学习 Update: This post is part of a blog series on Meta-Learning that I'm working on. Check out ...

  6. 元学习—模型不可知元学习(MAML)

    元学习-模型不可知元学习(MAML) 在之前的文章中,我们介绍了神经图灵机和记忆增强网络(MANN),主要介绍了其对于内存中信息的读取与写入.有兴趣的读者可以参考我之前的博客元学习-神经图灵机.在今天 ...

  7. 元学习与小样本学习 | (2) Few-shot Learning 综述

    原文地址 分类非常常见,但如果每个类只有几个标注样本,怎么办呢? 笔者所在的阿里巴巴小蜜北京团队就面临这个挑战.我们打造了一个智能对话开发平台--Dialog Studio,以赋能第三方开发者来开发各 ...

  8. 元学习系列(零):小样本学习与元学习综述

    最近几周一直在看meta learning的模型,从最初的小样本学习模型开始看到最近的MAML各种改进版本,算是有了一点初步的了解,这次就主要介绍一下,什么是小样本学习,什么是元学习,以及在这个领域有 ...

  9. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  10. ICML2020 | 基于贝叶斯元学习在关系图上进行小样本关系抽取

    今天给大家介绍来自加拿大蒙特利尔大学Mila人工智能研究所唐建教授课题组在ICML2020上发表的一篇关于关系抽取的文章.作者利用全局关系图来研究不同句子之间的新关系,并提出了一种新的贝叶斯元学习方法 ...

最新文章

  1. unity, Shader.Find的一个坑
  2. Laravel源码解析之从入口开始
  3. 重命名某文件夹下所有文件的名字 python3
  4. Statistical language model 统计语言模型
  5. c++二叉树编程实践
  6. 201621123028《Java程序设计》第5周学习总结
  7. Python | 在列表中指定索引处添加元素的程序
  8. Grunt 新手指南
  9. SQL Server性能调优--优化建议(二)
  10. qq永久删除的照片怎么恢复?教你两招轻松恢复
  11. 利用Python进行百度文库内容爬取(一)
  12. Dijkstra算法图解
  13. 花费巨资去培训SAP真的值得吗?
  14. 统计学中数据分析方法汇总!
  15. 移动端H5页面设计知识
  16. 如何用工具自动修复数字IC后端设计实现绕线后的Physical DRC_
  17. Math.hypot()
  18. 博导谈寒门子弟上大学:要相信双一流大学没有“废物”
  19. 遇见物联,西电开启智慧校园新大门
  20. centos光盘修复引导_Centos7 单用户模式/光盘修复模式

热门文章

  1. 运用集合把文字写入读出文件
  2. margin,padding之间的比较
  3. 工作总结-虚拟机参数
  4. 黑马程序猿————OC在Foundation框架结构和字符串
  5. sql2005镜像实现
  6. linux ntfs 介绍
  7. apache log分析
  8. 写PHP还是Zend好用
  9. 在Web页面中控制其元素的选择状态
  10. python入门容易进阶难_为什么Python入门容易,精通却很难!Python进阶之路!