“我,人工智能”专栏破题篇VI:“复现”“智能”一相逢(第二部分)

金风玉露一相逢,便胜却人间无数。——秦观《鹊桥仙》

连接流派

神经网络(NeuralNetwork):连接流派在机器学习领域的应用,之后扩展到包括计算机视觉、自然语言处理、语音识别、行动选择等几乎所有的人工智能子领域。

符号流派包括很多不同的技术,包括逻辑推理、基于规则的推理、专家系统等等。人工智能中的其它流派(如统计流派等)也大抵如此。然而,连接流派却非常神奇,因为它只包含一个技术,即神经网络。因此,连接流派和神经网络几乎是一个等同的名词,虽然前者是一个流派而后者是一个具体的技术。

前文提到,连接流派(即神经网络)受生物神经元结构的启发,构建人工神经元。每个神经元有着多个带有权重的输入,这些输入通过聚合之后,经过一个激活函数,产生输出。人工神经网络就是由许多这样的人工神经元组成的一个网络。

生物神经元vs人工神经元

这种组成可以有很多不同的方式,这就是神经网络的结构问题。

1、单层神经网络(Single-layerNeuralNetwork)

在麦克洛克和皮茨的神经网络创始论文中[1],神经网络的结构非常原始,只由输入层和输出层组成,而输入层和输出层是全连接的。也就是说,输入层所有的神经元都连接到输出层所有的神经元之上。麦克洛克和皮茨证明了这样的神经网络能够表达很多逻辑函数。

单层神经网络

2、双层神经网络(Multi-layerNeuralNetwork)

双层神经网络

双层神经网络在相邻层之间也是全连接的,即输入层所有的神经元都连接到隐层之上,而隐层的每个神经元都连接到输出层之上。但是,输入层到输出层没有直接的连接。

3、多层前馈神经网络(Multi-layerFeed-forwardNeuralNetwork)

如果在输入输出层中加入更多的隐藏层,我们就得到了多层前向神经网络,也称为多层感知机(Multi-layerPerceptron)。

多层感知机

和双层神经网络一样,多层感知机在连接上一般采取相邻层全连接的方式。

在多层神经网络中,神经网络的深度指的就是神经网络的层数。层数越多意味着神经网络越深。这个时候,我们称之为深度神经网络,其对应的机器学习就称为深度学习。

4、卷积神经网络(ConvolutionalNeuralNetwork)

随着层数的增加,神经网络就会变得越来越复杂,所需的计算量也会越来越大。

早在上世纪50年代,神经科学家发现视觉皮层某些神经元只分别对视野的中的某个小区域做出反应。这就意味着,如果以图片作为神经网络的输入的话,并不需要下一层的神经元对这个图片中的所有像素都进行信息处理,只需要处理其中的一个小区域(如下图中的小方块)就够了。这就是卷积(Convolution)的含义,这样可以大大地节省了神经网络计算的复杂程度[4]。

除了卷积之外,卷积神经网络也采用池化(Pooling)等思想降低网络复杂性。池化将某一层的一小簇神经元通过取平均值等方式合并到下一层的一个神经元,同样可以大为减少网络的规模。

假设神经网络的连接数总量恒定,卷积和池化可以使网络变得更深。

卷积神经网络

卷积神经网络也是前馈的。它和多层感知机一样,也是一层一层从输入层往输出层连接。但与多层感知机不同的是,卷积神经网络并不要求全连接,而替之以卷积和池化等方式。

5、循环神经网络(RecurrentNeuralNetwork)

前面介绍的网络统称层级网络,而循环神经网络并不在其中。顾名思义,循环神经网络里可以有循环,也就是说,从一个神经元出发,经过多次连接,有可能回到这个神经元本身。

长短程记忆网络LSTM

循环神经网络是个统称,所有具有环路结构的网络都可以称之为循环神经网络。但是,如果不对这些网络的结构加以约束,那么往往效果会较差。因此,循环神经网络中衍生出一些重要的子类,包括Hopfield网络[5]、长短程记忆网络(LongShort-TermMemory)[6]、注意力机制[7]、图神经网络(GraphNeuralNetwork)等等。

6、记忆网络(MemoryNetwork)

在经典的计算模型(如图灵机)中,记忆(Memory)起着重要的作用。而在上述神经网络模型中,记忆被隐式地隐藏在神经网络的结构和权重之中,并不是显式地有一个单独的记忆模块。

记忆网络

因此,一个很自然的想法是将显式记忆引入到神经网络[8]。如上图所示,控制器依然是一个有着输入和输入的(深度)神经网络。但是,它可以通过读写头和一个显式的记忆模块相互交互。

机器学习主要关心的就是在数据(输入、输出对)的基础上学习/模拟/近似一个函数(从输入到输出的一个映射)。人工神经网络提供了一个恰如其分的模型。神经网络有着输入和输出,而且这种输入和输出可以是任意的,只要他们能够被二进制表示。同时,神经网络上的可调节权重正是学习所需要的对象。神经网络的学习过程就是权重调节的过程。

[1]McCullochWS,PittsW.Alogicalcalculusoftheideasimmanentinnervousactivity.Thebulletinofmathematicalbiophysics,5(4):115-133,1943.

[2]MinskyM,PapertS.Perceptrons:AnIntroductiontoComputationalGeometry.Cambridge:MITPress,1969.

[3]WerbosP.BeyondRegression:NewToolsforPredictionandAnalysisintheBehavioralSciences(Ph.Dthesis).Cambridge:HarvardUniversity,1974.

[4]LeCunY,BottouL,BengioY,HaffnerP.Gradient-basedlearningappliedtodocumentrecognition.ProceedingsoftheIEEE,1998,86(11):2278–2324.

[5]HopfieldJJ.Neuralnetworksandphysicalsystemswithemergentcollectivecomputationalabilities.ProceedingsoftheNationalAcademyofSciencesoftheUSA,1982,79(8):2554–2558.

[6]HochreiterS,JürgenS.LongShort-TermMemory.NeuralComputation,9(8):1735–1780.

[7]VaswaniA,ShazeerN,ParmarN,etal.AttentionisAllyouNeed.NeuralInformationProcessingSystems,2017:5998-6008.

[8]GravesA,WayneG,ReynoldsM,etal.Hybridcomputingusinganeuralnetworkwithdynamicexternalmemory.Nature,2016,538(7626):471-476.

作者介绍

周熠,现任张江实验室脑与智能科技研究院/上海脑科学与类脑研究中心认知智能研究组课题组长,研究员,中国科学技术大学兼职教授。研究方向为认知人工智能,主要的研究兴趣为如何受脑启发,深度融合基于逻辑的符号流派和基于神经网络的连接流派,及其在认知人工智能领域中的应用,包括AI+教育、自动智商测试、智能语言处理等。

墨子沙龙是以中国先贤“墨子”命名的大型公益性科普论坛,由中国科学技术大学上海研究院主办,中国科大新创校友基金会、中国科学技术大学教育基金会、浦东新区科学技术协会、中国科学技术协会及浦东新区科技和经济委员会等协办。

墨子是我国古代著名的思想家、科学家,其思想和成就是我国早期科学萌芽的体现,“墨子沙龙”的建立,旨在传承、发扬科学传统,建设崇尚科学的社会氛围,提升公民科学素养,倡导、弘扬科学精神。科普对象为热爱科学、有探索精神和好奇心的普通公众,我们希望能让具有中学及以上学力的公众了解、欣赏到当下全球最尖端的科学进展、科学思想。

THE END
1.神经网络中的单层神经网络企鹅号 - 轨道车辆:技术篇:单层神经网络是什么,看完这篇文章你就懂了 一、神经网络 1.概述 神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有1000亿个神经元之多。 https://blog.csdn.net/qq_41498261/article/details/103772726
2.单层网络神经网络python代码什么是单层神经网络在前面,我们介绍了单层神经网络,以及如何训练这个单层的神经网络,我们可以在前面的代码中看到,单层的神经网络的训练精度不是那么高,即便是设置精度到0.000001,训练200000万次,结果也不是那么好,而且关键的是sigmoid还会出现梯度消失问题,以及之前提到的ReLU函数是否有效的问题,都可用多层神经网络解决,因为一旦搭建了多层神https://blog.51cto.com/u_12204/8325758
3.不同的人工神经网络模型各有什么作用?前馈神经网络是一种最基本的神经网络结构,其信息流动是单向的,从输入层到隐藏层,最后到输出层。FNNs主要用于解决分类和回归问题。 1.1 单层感知器(Single-Layer Perceptron, SLP) 单层感知器是最简单的FNNs,只有一个神经元。SLP主要用于线性可分问题,如逻辑门和简单的分类任务。 https://m.elecfans.com/article/3741607.html
4.技术篇:单层神经网络是什么,看完这篇文章你就懂了本文以一种简单的,循序的方式讲解单层神经网络,之后的文章会向大家逐步介绍两层神经网络,多层神经网络,并对神经网络的发展做一个简要的展望,本文适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文。神经网络是https://cloud.tencent.com/developer/news/389738
5.8.单层神经网络2 tensor实现单层神经网络的正向传播 让我们使用一组非常简单(简直是简单过头了)的代码来实现一下回归神经网络求解 的过程,在神经网络中,这个过程是从左向右进行的,被称为神经网络的正向传播(forward spread)(当然,这是正向传播中非常简单的一种情况)。来看下面这组数据: https://www.jianshu.com/p/0eaf69a5aab4
6.深度学习基础(十四)单层神经网络 我们来总结一下,看上一节的一个卷积的图。 我们在神经网络中的每一层的计算公式都是wx+b。 在卷积中也不例外。 那么在卷积中, 我们的过滤器中的参数就代表着W,输入的图片的RGB矩阵就是X(特征),同时我们再加入b,就能完成一个神经元的计算了。 https://maimai.cn/article/detail?fid=306071981&efid=4fOUNqiEqEmM-SCSxksClQ
7.神经网络单层感知器(SingleLayerPerceptron,SLP)实现神经网络-单层感知器(Single-Layer Perceptron,SLP)实现 人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。 经管之家是国内活跃的在线教育咨询平台! 经管之家新媒体交易平台https://bbs.pinggu.org/jg/kaoyankaobo_kaoyan_5757745_1.html
8.FlyAI形堂循环神经网络(RNN)双向循环神经网络每一层循环运算可以拆分为两层,这两层网络都输入序列X,但是信息传递方向相反。如下图所示: 图中循环运算公式如下: 第一行是顺序运算,第二行是逆序运算,第三行是将两种顺序的输出状态进行组合。 3 TensorFlow2实现循环神经网络 3.1 单层节点 https://www.flyai.com/article/604
9.人工智能导论神经网络业界新闻Minsky说过单层神经网络无法解决异或问题。但是当增加一个计算层以后,两层神经网络不仅可以解决异或问题,而且具有非常好的非线性分类效果。算力受限:不过两层神经网络的计算是一个问题,在当时算力受限的情况下,并没有一个较好的解法。1961年,Frank Rosenblatt(感知器模型的坚定支持者,也是明斯基的高中同学)就发表了论文https://www.jindouyun.cn/document/industry/details/185270
10.明斯基去世:他是AI的父亲之一,也是神经网络的奠基人翻书党在书中,明斯基和佩普特证明单层神经网络不能解决XOR(异或)问题。异或是一个基本逻辑问题,如果这个问题都解决不了,那神经网络的计算能力实在有限。其实罗森布拉特也已猜到“感知机”可能存在限制,特别是在“符号处理”方面,并以他神经心理学家的经验指出,某些大脑受到伤害的人也不能处理符号。但“感知机”的缺陷被https://www.thepaper.cn/newsDetail_forward_1425747
11.科学网—[转载]一种基于深度神经网络的临床记录ICD自动编码方法通过简单的单层神经网络改变矩阵维度,以保证矩阵的第二维与标签向量的第二维一致: 其中, 为改变维度之后的矩阵, 为权重矩阵。接着,为每一个标签l生成注意力向量,并为每个编码生成注意力得分: 其中, 为标签l的向量表示,softmax为归一化指数函数, 为在标签为l的前提下文档表示矩阵中第i行的注意力得分, https://blog.sciencenet.cn/blog-3472670-1280973.html
12.评述:基于光学神经网络(ONN)的图像传感器技术资讯资讯信息为了解决这一问题,新一代的成像系统设计不再局限于单一的成像功能,而是加入了信息提取技术,例如:智能相机和压缩感知。ONN就是这一领域的研究前沿之一。目前,大多数ONN研究都只涉及线性光学操作,或者相当于单层神经网络,如果使用多层非线性神经网络,会有更好的表现。https://b2b.csoe.org.cn/news/show.php?itemid=170
13.终于有人总结了图神经网络!其中a采用了单层的前馈神经网络实现,计算过程如下(注意权重矩阵W对于所有的节点是共享的): 计算完attention之后,就可以得到某个节点聚合其邻居节点信息的新的表示,计算过程如下: 为了提高模型的拟合能力,还引入了多头的self-attention机制,即同时使用多个W^k计算self-attention,然后将计算的结果合并(连接或者求和): https://www.scholat.com/mTeamPostMsgPage-getDynamic.html?teammessageid=10103