神经网络图灵机:深度学习中与内存进行交互的基本方法

2018 年 5 月 1 日 AI研习社 雷锋字幕组

本文为雷锋字幕组编译的技术博客,原标题Neural Turing Machines: a fundamental approach to access memory in deep learning,作者为Jonathan Hui。

翻译 | 赵朋飞    校对 |  凡江

内存是大脑和计算机的主要部件。在很多深度学习领域,我们通过和记忆匹配来扩展深度网络的能力,例如,提问与回答,我们先记忆或存储事先处理的信息,然后使用这些信息回答问题。来自神经图灵机(NTM)论文(https://arxiv.org/pdf/1410.5401.pdf):

我们通过将神经网络连接到外部存储资源来扩展神经网络的功能,通过记忆过程与这些资源进行交互。  

在外行看来,我们创建了一个记忆结构,通常是数组,我们向记忆结构中写入或从其中读取数据。听起来很简单:但事实并非如此。首先,我们没有无限的存储空间用来保存我们遇到的图片或声音,我们是通过相似性或相关性来访问信息(并不完全匹配)。在这篇文章中,讨论了如何使用NTM来处理信息。我们之所对这篇论文感兴趣,主要是因为在包括NLP和元学习等很多研究领域,她都是一个重要的起点。

  记忆结构

我们的记忆结构Mt包含N行,M个元素。每行代表一条信息(记忆),例如,你对表兄的描述。

  读取

通常编程中,我们使用Mt[i]访问记忆。但对于人工智能来说,我么通过相似性获取信息。所以我们推出了一个使用权重的阅读机制,也就是说,我们得到的结果是内存的加权和。

所有权值总和等于1。

你可能立即会问这样做的目的是什么。让我们通过一个例子来解释。一个朋友递给你一杯饮料,它尝起来有点像茶,并感觉像牛奶,通过提取茶和牛奶的记忆资料,应用线性代数方法得出结论:它是珍珠奶茶。听起来很神奇,但在单词潜入中,我们也使用了相同的线性代数来处理关系。在其他的例子比如提问和回答中,基于累计的知识来合并信息是非常重要的。一个记忆网络会让我们很好的达成目标。

我们如何创建这些权值呢? 当然,需要依靠深度学习。控制器从输入信息中提取特征(kt),我们利用它计算权值。例如,你打电话时,不能立即分辨出对方的声音,这个声音很像你的表弟,但有似乎又像你的哥哥。通过线性代数,我们可能分辨出他是你的高中同学,即便那个声音完全不像你记忆中的样子。

通过计算权值w,对比kt和我们每条记忆的相似性,我们用余弦相似性计算出了一个分数K。

这里, u是我们提取的特征量kt,v代表我们内存中的每一行。

我们将softmax函数应用于分数K,来计算权值w。 βt 被添加进来用于放大或缩小分数的差异。 例如,如果它大于1,就放大差异。w基于相似性检索信息,我们称之为内容寻址。

  写入

我们如何将信息写入记忆。在 LSTM中,一个记忆单元的内部状态由之前的状态和当前输入值共同决定。借用相同的情形,记忆的写入过程也是由之前的状态和新的输入组成。这里我们先清除部分之前的状态:


 et是一个清除向量。 (计算过程就像LSTM中的输入门一样)

然后,我们写入新的信息。

at是我们想添加的值。

这里,通过产生w的控制器,我们可以向记忆中写入或读取信息。

来源https://arxiv.org/pdf/1410.5401.pdf

  寻址机制

我们的控制器通过计算w来提取信息,但是采用相似性(内容寻址)来提取信息还不够强大。

补充

w表示我们记忆中当前的焦点(注意力)。在内容寻址中,我们的关注点只基于是新的输入。然而,这不足以解释我们最近遇到的问题。例如,你的同班同学在一小时之前发信息给你,你应该可以很容易 回想起他的声音。在获取新的信息时我们如何利用之前的注意力?我们根据当前的焦点和之前的焦点 计算出合并权值。是的,这挺起来有点像LSTM或GRU中的遗忘门。

根据之前的焦点和当前输入计算出g。

卷积变换

卷积变换完成焦点的变换。它并不是特地为深度学习设计的。相反,她揭示了NTM如何执行像复制与排序这样的基础算法。例如,不用通过访问w[4],我们想把每个焦点移动3行,也就是 w[i] ← w[i+3]。

在卷积变换中,我们可以将需要的焦点移动到指定的行,即w[i] ←卷积(w[i+3], w[i+4], w[i+5] )  。通常,卷积仅仅是行的线性加权和: 0.3 × w[i+3] + 0.5 × w[i+4] + 0.2 × w[i+5]。

这是焦点变换的数学公式:

在很多深度学习模型中,我么忽略这一步或者设置s(i)为 0,s(0) = 1例外。

锐化

我们的卷积移位就像一个卷积模糊滤波器。所以在有需要时,我们会对权值采用用锐化技术,达到模糊的效果,γ将会是在锐化焦点时控制器输出的另一个参数。 

  小结

我们使用权值w从记忆中检索信息。w包括这些因素:当前输入,以前的交点,可能的变换与模糊。这里是系统框图,其中控制器输出必要的参数,这些参数用于在不同的阶段计算w。 

博客原址:

https://medium.com/@jonathan_hui/neural-turing-machines-a-fundamental-approach-to-access-memory-in-deep-learning-b823a31fe91d

更多文章,关注雷锋网(公众号:雷锋网),添加雷锋字幕组微信号(leiphonefansub)为好友

备注「我要加入」,To be an  AI  Volunteer !

从Python入门-如何成为AI工程师

BAT资深算法工程师独家研发课程

最贴近生活与工作的好玩实操项目

班级管理助学搭配专业的助教答疑

学以致用拿offer,学完即推荐就业


新人福利


关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据资料】


神经网络这么弱?改一个像素就懵圈了

登录查看更多
0

相关内容

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【MIT-ICML2020】图神经网络的泛化与表示的局限
专知会员服务
42+阅读 · 2020年6月23日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
212+阅读 · 2020年4月26日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
麻省理工学院MIT-ICLR2020《神经网络能推断出什么?》
专知会员服务
50+阅读 · 2020年2月19日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
利用神经网络进行序列到序列转换的学习
AI研习社
12+阅读 · 2019年4月26日
多图带你读懂 Transformers 的工作原理
AI研习社
10+阅读 · 2019年3月18日
干货 | 深入理解深度学习中的激活函数
计算机视觉life
16+阅读 · 2019年1月29日
文本数据分析(一):基本框架
论智
6+阅读 · 2018年4月9日
入门 | 一文介绍机器学习中基本的数学符号
机器之心
28+阅读 · 2018年4月9日
机器学习翻译基本原理
论智
5+阅读 · 2017年12月21日
深度学习和普通机器学习之间有何区别?
36大数据
7+阅读 · 2017年12月4日
神经网络中的「注意力」是什么?怎么用?
人工智能学家
5+阅读 · 2017年10月19日
Compositional Generalization in Image Captioning
Arxiv
3+阅读 · 2019年9月16日
Arxiv
4+阅读 · 2018年10月31日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
25+阅读 · 2018年1月24日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
6+阅读 · 2018年1月11日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【MIT-ICML2020】图神经网络的泛化与表示的局限
专知会员服务
42+阅读 · 2020年6月23日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
深度学习自然语言处理概述,216页ppt,Jindřich Helcl
专知会员服务
212+阅读 · 2020年4月26日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
麻省理工学院MIT-ICLR2020《神经网络能推断出什么?》
专知会员服务
50+阅读 · 2020年2月19日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
相关资讯
利用神经网络进行序列到序列转换的学习
AI研习社
12+阅读 · 2019年4月26日
多图带你读懂 Transformers 的工作原理
AI研习社
10+阅读 · 2019年3月18日
干货 | 深入理解深度学习中的激活函数
计算机视觉life
16+阅读 · 2019年1月29日
文本数据分析(一):基本框架
论智
6+阅读 · 2018年4月9日
入门 | 一文介绍机器学习中基本的数学符号
机器之心
28+阅读 · 2018年4月9日
机器学习翻译基本原理
论智
5+阅读 · 2017年12月21日
深度学习和普通机器学习之间有何区别?
36大数据
7+阅读 · 2017年12月4日
神经网络中的「注意力」是什么?怎么用?
人工智能学家
5+阅读 · 2017年10月19日
相关论文
Compositional Generalization in Image Captioning
Arxiv
3+阅读 · 2019年9月16日
Arxiv
4+阅读 · 2018年10月31日
Arxiv
11+阅读 · 2018年4月25日
Arxiv
25+阅读 · 2018年1月24日
Arxiv
8+阅读 · 2018年1月19日
Arxiv
6+阅读 · 2018年1月11日
Top
微信扫码咨询专知VIP会员