图灵机就是深度学习最热循环神经网络RNN?1996年论文就已证明(1)

简介: 图灵机就是深度学习最热循环神经网络RNN?1996年论文就已证明

【新智元导读】这几位科学家在1996年对图灵机进行的论证,拿到今天来看也是值得深思的。


1996年的8月19日至23日,芬兰的瓦萨举行了由芬兰人工智能协会和瓦萨大学组织的芬兰人工智能会议。

会议上发表的一篇论文证明:图灵机就是一个循环神经网络。

没错,这是在26年前!

让我们来看一看,这篇发表于1996年的论文。

1 前言

1.1 神经网络分类

神经网络可用于分类任务,判断输入模式是否属于特定的类别。

长期以来,人们都知道单层前馈网络只能用于对线性可分的模式进行分类,即连续层越多,类的分布就越复杂。

当在网络结构中引入反馈时,感知器输出值被循环利用,连续层的数量原则上变为无限大。

算力有没有质的提升?答案是肯定的。

例如,可以构造一个分类器来判断输入整数是否为素数。

事实证明,用于此目的的网络大小可以是有限的,即使输入整数大小不受限制,可以正确分类的素数数量也是无限的。

在本文中,「由相同计算元素组成的循环网络结构」可用于完成任何(算法上的)可计算功能。

1.2 关于可计算性

根据可计算性理论的基本公理,可以使用图灵机实现可计算函数,有多种方法可以实现图灵机。

定义程序语言。该语言有四种基本操作:

这里,V代表任何具有正整数值的变量,j代表任何行号。

可以证明,如果一个函数是图灵可计算的,则可以使用这种简单的语言对其进行编码(有关详细信息,请参见[1])

2 图灵网络

2.1 递归神经网络结构

本文研究的神经网络由感知器组成,它们都具有相同的结构,感知器数q的运算可以定义为

其中,当前时刻的感知器输出(用表示)是使用n输入计算的。

非线性函数f现在可定义为

这样函数就可以简单地「切断」负值,感知器网络中的循环意味着感知器可以以复杂的方式组合。

图1 递归神经网络的整体框架,结构自主无外部输入,网络行为完全由初始状态决定

在图1中,递归结构显示在一个通用框架中:现在和n是感知器的数量,从感知器p到感知器q的连接由(1)中的标量权重表示。

即给定初始状态,网络状态会迭代到不再发生变化,结果可以在该稳定状态或网络的「固定点」下读取。

2.2 神经网络建构

接下来阐述该程序如何在感知器网络中实现。该网络由以下节点(或感知器)组成:

对于程序中的每个变量V,都有一个变量节点对于每个程序行i,都有一个指令节点对于第i行上的每个条件分支指令,另外还有两个转移节点

语言程序的实现包括感知器网络的以下变化:

对于程序中的每个变V,使用以下链接扩充网络:

存在:),则使用以下链接扩充网络(假设该节点如果程序代码的第i行没有操作(

),则按如下方式扩充网络:如果第i行有增量操作(

),则按如下方式扩充网络:如果第i行有递减操作(

),则按如下方式扩充网络:如果第i行有条件分支(

2.3 等效性证明

现在需要证明的是,「网络的内部状态或网络节点的内容」,可以用程序状态来标识,同时网络状态的连续性与程序流对应。

定义网络的「合法状态」如下:

);(如2.2中所定义)的输出为零(至所有转换节点),所有其他指令节点有零输出,并且有单位输出(至多一个指令节点变量节点具有非负整数输出值。

如果所有指令节点的输出均为零,则状态最终状态。一个合法的网络状态可以直接解释为一个程序「快照」——如果,程序计数器在第i行,相应的变量值存储在变量节点中。

网络状态的变化是由非零节点激活的。首先,关注变量节点,事实证明它们表现为积分器,节点的先前内容被循环回同一节点。从变量节点到其他节点的唯一连接具有负权重——这就是为什么包含零的节点不会改变,因为非线性的原因(2)。接下来,详细说明指令节点。假设唯一的非零指令节点在时间k---这对应于程序计数器在程序代码中第i行。若程序中第i行是,则网络向前一步的行为可表示为(只显示受影响的节点)

事实证明,新的网络状态再次合法。与程序代码相比,这对应于程序计数器被转移到第i+1行。另一方面,如果程序中的第i行是,则向前一步的行为是这样,除了将程序计数器转移到下一行之外,变量V的值也会递减。如果第i行是,网络的操作将是相同的,除了变量V的值增加。第i行的条件分支操作(IF GOTO j)激活更复杂的操作序列:最后,事实证明,在这些步骤之后,网络状态可以再次被解释为另一个程序快照。变量值已更改,token已转移到新位置,就像执行了相应的程序行一样。如果token消失,网络状态不再改变——这只有在程序计数器「超出」程序代码时才会发生,这意味着程序终止。网络的运行也类似对应程序的运行,证明完成。

3 修改

3.1 扩展

定义额外的流线型指令很容易,这些指令可以使编程更容易,并且生成的程序更具可读性和执行速度。例如,

第i行的无条件分支(GOTO j)可以实现为可以实现为将常量c添加到第i行的变量(行i上的另一种条件分支(IF V=0 GOTO j )可以实现为。只需要一个节点此外,可以同时评估各种递增/递减指令。假设要执行以下操作:

上述方式绝不是实现图灵机的唯一途径。这是一个简单的实现,在应用程序中不一定是最佳的。


相关文章
|
3天前
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
77 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
4天前
|
机器学习/深度学习 自然语言处理 算法
RNN-循环神经网络
自然语言处理(Nature language Processing, NLP)研究的主要是通过计算机算法来理解自然语言。对于自然语言来说,处理的数据主要就是人类的语言,我们在进行文本数据处理时,需要将文本进行数据值化,然后进行后续的训练工作。
|
3天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
106 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
4天前
|
机器学习/深度学习 人工智能 算法
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 '美式足球', '棒球', '篮球', '台球', '保龄球', '板球', '足球', '高尔夫球', '曲棍球', '冰球', '橄榄球', '羽毛球', '乒乓球', '网球', '排球'等15种常见的球类图像作为数据集,然后进行训练,最终得到一个识别精度较高的模型文件。再使用Django开发Web网页端可视化界面平台,实现用户上传一张球类图片识别其名称。
95 7
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的自适应神经网络
【6月更文挑战第24天】在深度学习的浪潮中,自适应神经网络以其独特的灵活性和高效性引起了研究者的广泛关注。本文将深入探讨自适应神经网络的设计原理、优化算法以及在不同领域的应用案例,揭示其在处理复杂数据模式时的优势与挑战。
|
1天前
|
机器学习/深度学习 自然语言处理 搜索推荐
深度学习之分类网络
深度学习的分类网络(Classification Networks)是用于将输入数据分配到预定义类别的神经网络。它们广泛应用于图像分类、文本分类、语音识别等任务。以下是对深度学习分类网络的详细介绍,包括其基本概念、主要架构、常见模型、应用场景、优缺点及未来发展方向。
29 4
|
4天前
|
机器学习/深度学习 PyTorch 算法框架/工具
RNN、LSTM、GRU神经网络构建人名分类器(三)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
4天前
|
机器学习/深度学习
RNN、LSTM、GRU神经网络构建人名分类器(二)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
4天前
|
机器学习/深度学习 数据采集
RNN、LSTM、GRU神经网络构建人名分类器(一)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
13天前
|
机器学习/深度学习
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介

热门文章

最新文章