神经网络

Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

来源:机器之心
简介

在机器学习和认知科学领域,这是一种模仿生物神经网络(动物的中枢系統,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。

[描述来源:Wikipedia; URL:https://zh.wikipedia.org/zh-hans/%E4%BA%BA%E5%B7%A5%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C]

目前神经网络有两大主要类型,它们是前馈神经网络(主要是卷积神经网络-CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等子类。深度学习(deep learning)是一种主要应用于神经网络技术以帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,如自动编码器(AutoEncoder)和生成对抗网络(GAN)。

[描述来源:机器之心; URL:https://www.jiqizhixin.com/articles/2017-12-27-5]

了解神经网络的一个好方法是将它看作复合函数。你输入一些数据,它会输出一些数据。

3 个部分组成了神经网络的的基本架构:

  • 单元/神经元
  • 连接/权重/参数
  • 偏置项

你可以把它们看作建筑物的「砖块」。根据你希望建筑物拥有的功能来安排砖块的位置。水泥是权重。无论权重多大,如果没有足够的砖块,建筑物还是会倒塌。然而,你可以让建筑以最小的精度运行(使用最少的砖块),然后逐步构建架构来解决问题。

单元/神经元:

作为神经网络架构三个部分中最不重要的部分,神经元是包含权重和偏置项的函数,等待数据传递给它们。接收数据后,它们执行一些计算,然后使用激活函数将数据限制在一个范围内(多数情况下)。

我们将这些单元想象成一个包含权重和偏置项的盒子。盒子从两端打开。一端接收数据,另一端输出修改后的数据。数据首先进入盒子中,将权重与数据相乘,再向相乘的数据添加偏置项。这是一个单元,也可以被认为是一个函数。该函数与下面这个直线方程类似:

想象一下有多个直线方程,超过 2 个可以促进神经网络中的非线性。从现在开始,你将为同一个数据点(输入)计算多个输出值。这些输出值将被发送到另一个单元,然后神经网络会计算出最终输出值。

权重/参数/连接 (weights/parameters/connection):

作为神经网络最重要的部分,这些(和偏置项)是用神经网络解决问题时必须学习的数值。

偏置项 (bias)

这些数字代表神经网络认为其在将权重与数据相乘之后应该添加的内容。当然,它们经常出错,但神经网络随后也学习到最佳偏置项。

此外,在神经网络中扮演重要角色的还有:

超参数 (hyper parameter):超参数必须手动设置。如果将神经网络看作一台机器,那么改变机器行为的 nob 就是神经网络的超参数。

激活函数 (activation):也称为映射函数(mapping function)。它们在 x 轴上输入数据,并在有限的范围内(大部分情况下)输出一个值。大多数情况下,它们被用于将单元的较大输出转换成较小的值。你选择的激活函数可以大幅提高或降低神经网络的性能。如果你喜欢,你可以为不同的单元选择不同的激活函数。常用的激活函数有Sigmoid函数、Tanh函数、修正线性单元函数(ReLu)、Leaky ReLU等。

层 (layer):这是神经网络在任何问题中都可获得复杂度的原因。增加层(具备单元)可增加神经网络输出的非线性。每个层都包含一定数量的单元。大多数情况下单元的数量完全取决于创建者。但是,对于一个简单的任务而言,层数过多会增加不必要的复杂性,且在大多数情况下会降低其准确率。反之亦然。每个神经网络有一定有两个层:输入层和输出层,二者之间的层称为隐藏层。

[描述及图片来源:关于神经网络:你需要知道这些|机器之心]

神经网络的应用范围很广,主要的领域有图像和视频(如图像识别和分割)、语音和语言(如语音识别和机器翻译)、医疗(如医疗图像诊断)、游戏(如AlphaGo的发明)、机器人(只能机器人是强化学习的主要研究领域)。

发展历史

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。具体来说,神经网络起源于 Warren McCulloch 和 Walter Pitts 于 1943 年首次建立的神经网络模型。他们的模型完全基于数学和算法,由于缺乏计算资源,模型无法测试。1949年,Hebb发明了赫布学习规则,奠定了神经网络的基石,这是最古老的也是最简单的神经元学习规则。后来,在 1957 年,Frank Rosenblatt 在就职于Cornell航空实验室(Cornell Aeronautical Laboratory)期间创建了第一个可以进行模式识别的模型,改变了现状,即感知器(Perceptron),这是前馈神经网络的早期形式。但是他只提出了 notation 和模型。实际的神经网络模型仍然无法测试,此前的相关研究也较少。第一批可以测试并具有多个层的神经网络于 1965 年由 Alexey Ivakhnenko 和 Lapa 创建。之后,由于机器学习模型具有很强可行性,神经网络的研究停滞不前。很多人认为这是因为 Marvin Minsky 和 Seymour Papert 在 1969 年完成的书《感知机》(Perceptrons)导致的。他们发现了神经网络的两个关键问题。第一是基本感知机无法处理XOR问题。第二个重要的问题是电脑没有足够的能力来处理大型神经网络所需要的很长的计算时间。

然而,这个停滞期相对较短。6 年后,即 1975 年,Paul Werbos 提出反向传播,解决了 XOR 问题,并且使神经网络的学习效率更高。直达目前,神经网络模型也通常是通过反向传播算法应用梯度下降训练的。1982年的Hopfield网络运用循环连接的结构模拟人类的联想记忆,开启了循环神经网络的早期研究。同时期还有1990年的Elman网络(也称Simple Reccurent Network,SRN),运用了反向传播算法(BP)来训练并进行序列预测,对当时的认知科学及语音处理有着深远影响。1997年Hochreiter和Schmidhuber发明了长短期记忆网络(Long Short-Term Memory, LSTM),其核心贡献是为RNN创造了信号梯度能长时间持续流动的机制。 它通过门控RNN中计算单元的自循环,使得网络中信息累计的时间尺度能动态地改变。LSTM在后来的许多应用中都取得了巨大成果,包括手写识别,语音识别,机器翻译等。同年,双向循环神经网络(Bidirectional RNN)被提出,考虑了在某些序列任务中,预测的输出可能依赖于整个输入序列,从而导致某时刻的状态既有过去(前向)的依赖关系,也有未来(反向)的依赖关系。

尽管初期神经网络的分类效果就不错,但由于其对数据和计算资源的严苛要求,并没有合适的应用场景,长期以来也就一直相对冷门。直到21世纪,随着大数据和计算性能的飞速发展,加之其算法方面的一些微创新,不同类型的神经网络开始全面开花,尤其广泛应用在计算机视觉(主要是CNN的使用)、自然语言处理(主要是RNN的使用)、机器人等领域,掀起了一波人工智能热潮。2009 年至 2012 年间,Jürgen Schmidhuber 研究小组创建的循环神经网络和深度前馈神经网络获得了模式识别和机器学习领域 8 项国际竞赛的冠军。2012年以来,科技巨头如谷歌、苹果、Facebook等均开始将神经网络(主要是CNN)使用在其相册应用中做人脸/物体的识别。2014年前后出现的序列到序列(Sequence to Sequence)模型,特别是基于编码-解码(Encoder - Decoder)的架构,对机器翻译,机器理解等领域产生了重大影响。2015年Bahdanau在机器翻译中引入了将原始序列元素和输出序列元素相关联的注意力机制,进一步使得神经机器翻译(Neural Machine Translation, NMT)得到大幅提高。 知名的谷歌翻译(Google Translate)便基于此,并已实现10多个语种之间的高效翻译。2016年,Gao Huang等学者从 ResNet 的恒等/跳跃连接(identity/skip connections)中直接获取灵感,于2016年提出了DenseNet,它们可以缓解消失梯度问题,加强特征传播,鼓励特征重用以及大幅减少参数数量。VGG、ResNet等著名的CNN架构也都是在这一时段提出的。

同时伴随着GAN的提出,越来越多基于GAN的试验性应用被开发出来自动生成文本、图像、视频、语音等多媒体。可以看出,经过了这么多年的发展,神经网络技术终于开始从工程步入应用阶段。有关神经网络的研究也变得更多元化,阿姆斯特丹大学的研究组专注于面向球面图像的分析模型,2018年他们提出了球面 CNN 理论;对于球面和三维特殊正交群 的广义傅里叶变换给出了首个可自动微分的实现,其提供的开源的 PyTorch 代码使用简单、运算快速,且内存使用效率高;并就球面 CNN 对旋转不变类学习问题的适用性给出了实证支持。同年,北京大学提出基于CNN、能够根据论文的 LaTeX 源文件和元信息自动地对学术论文进行评分。其他的例子还有如来自卡内基梅隆大学和谷歌大脑的研究者在 arXiv 上发布的论文,他们提出一种新型问答模型 QANet,该模型去除了该领域此前常用的循环神经网络部分,仅使用卷积和自注意力机制,性能大大优于此前最优的模型。

主要事件

年份事件相关论文/Reference
1943WarrenMcCulloch 和 Walter Pitts 首次建立了神经网络模型McCulloch, W. S.; Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics. 5(4): 115–133.
1949Hebb提出了Hebbian Learning, 是神经网络学习的基础之一Hebb, D. O. (1949). The organization of behavior; a neuropsychological theory.
1957Frank Rosenblatt 提出「感知器」,可以被视为一种最简单形式的前馈神经网络Rosenblatt, F. (1957). The perceptron, a perceiving and recognizing automaton Project Para. Cornell Aeronautical Laboratory.
1965第一批可以测试并具有多个层的神经网络由 Alexey Ivakhnenko 和 Lapa 创建Ivakhnenko, A. G.; Grigorʹevich Lapa, V. (1967). Cybernetics and forecasting techniques. American Elsevier Pub. Co.
1969Marvin Minsky 和 Seymour Papert 在他们的《Perceptrons》一书中指出了感知器的不少局限Minsky, M., & Papert, S. (1969). Perceptrons.
1982Hopfield网络提出Hopfield, J. (1982). "Neural networks and physical systems with emergent collective computational abilities", Proc. NatL Acad. Sci. USA, Vol. 79 (pp. 2554-2558).
1988Rumelhart, Hinton et al 重新发现了反向传播,并将其进一步发扬光大Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1988). Learning representations by back-propagating errors. Cognitive modeling, 5(3), 1.
1990神经网络技术(CNN)开始被用于手写识别LeCun, Y., Boser, B. E., Denker, J. S., Henderson, D., Howard, R. E., Hubbard, W. E., & Jackel, L. D. (1990). Handwritten digit recognition with a back-propagation network. In Advances in neural information processing systems (pp. 396-404).
1990Elman网络提出Elman, Jeffrey L. (1990). "Finding Structure in Time". Cognitive Science. 14 (pp. 179–211).
1997Sepp Hochreiter 和 Jürgen Schmidhuber 提出了长短期记忆循环神经网络-LSTMHochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780.
2003Bengio 的首次将神经网络整合到了语言模型中,启发了神经网络在自然语言处理(NLP)领域的应用Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A neural probabilistic language model. Journal of machine learning research, 3(Feb), 1137-1155.
2006深度信念网络(Deep Belief Network) 发表,深度学习的研究热潮自此开始慢慢展开Hinton, G. E., Osindero, S., & Teh, Y. W. (2006). A fast learning algorithm for deep belief nets. Neural computation, 18(7), 1527-1554.
Hinton, G. E., & Salakhutdinov, R. R. (2006). Reducing the dimensionality of data with neural networks. science, 313(5786), 504-507.
2011Microsoft将DNN用于语音识别Deng, L., & Yu, D. (2011). Deep convex net: A scalable architecture for speech pattern classification. In Twelfth Annual Conference of the International Speech Communication Association.
2012AlexNet 在 ImageNet 比赛获胜,展现了神经网络技术在图像识别领域的特长Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
2014提出了深度延伸的VGG网络结构Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
2014Ian Goodfellow et al. 提出了生成对抗网络(GAN),这是一种无监督学习方法Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. In Advances in neural information processing systems (pp. 2672-2680).
2014Google研究提出基于序列到序列(seq2seq)的机器翻译模型Sutskever, I., Vinyals, O., & Le, Q. (2014). "Sequence to Sequence Learning with Neural Networks", arXiv preprint arXiv:1409.3215v3, 2014.
2016提出机器翻译中的注意力机制Bahdanau, D., Cho, K., & Bengio, Y. (2016). "Neural Machine Translation by Jointly Learning to Align and Translate",  arXiv preprint arXiv:1409.0473, 2016.
2016提出了Resnet,解决DNN隐藏层过多时的退化问题He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
2016Gao Huang等学者提出了DenseNetHuang, G. et al. (2016). Densely Connected Convolutional Networks. arXiv:1608.06993.
2017结合resnet,得到了更深的优化inception-v4模型Szegedy, C., Ioffe, S., Vanhoucke, V., & Alemi, A. A. (2017, February). Inception-v4, inception-resnet and the impact of residual connections on learning. In AAAI (Vol. 4, p. 12).
2018阿姆斯特丹大学的研究组提出了球面 CNN 理论Cohen, T. S. et al. (2018). SPHERICAL CNNS.  ICLR 2018.
2018北京大学提出基于CNN的学术论文自动评分模型Yang, P.; Sun, X.; Li, W.; Ma, S. (2018). Automatic Academic Paper Rating Based on Modularized Hierarchical Convolutional Neural Network. arXiv:1805.03977.
2018卡内基梅隆大学和谷歌大脑的研究者提出一种新型问答模型 QANet,该模型去除了该领域此前常用的循环神经网络部分,仅使用卷积和自注意力机制Yu, A. W. et al. (2018). QANET: COMBINING LOCAL CONVOLUTION WITH GLOBAL SELF-ATTENTION FOR READING COMPREHENSION. ICLR.

发展分析

瓶颈

-神经网络的应用领域相对有限。

-神经网络的工作机制就像「黑箱」;我们难以确定它学习到了什么,而且神经网络难以解读的缺点也饱受诟病;

-计算能力和数据量一直都是影响神经网络表现水平的关键因素。尽管现在是大数据时代,在深度学习的帮助下,神经网络已经非常好了,但训练的成本依然很高。

-不同的任务需要不同的神经网络架构,我们离通用人工智能仍然还有很长的距离;

-神经网络对超参数的取值比较敏感,但如何确定超参数的取值并没有确定的方法,训练时往往需要花费大量的时间调优;

未来发展方向

随着计算能力和大数据的持续发展,深度神经网络的准确度和速度有望提升到近似人类的理想水平,因此可以预见在不久的将来就会出现神经网络驱动的高智能机器人。另外,要想要突破到通用人工智能十平,神经网络模型必须能够在各项任务上都有稳定表现。

Contributor:Yuanyuan Li, Mos Zhang

相关机构
  • 计算机视觉研究,微软
  • Google Brain
  • DeepMind
  • Facebook AI Research(FAIR)
  • 麻省理工学院计算机科学与人工智能实验室
  • 向量学院
  • UofT - Machine Learning
  • MILA(University of Montreal - Montreal Institute for Learning Algorithms)
  • Visual Geometry Group,牛津大学
  • Vision, Learning and Graphics group, NYU
相关人物
杰弗里·辛顿
杰弗里·辛顿
杰弗里·埃弗里斯特·辛顿 FRS(英语:Geoffrey Everest Hinton)(1947年12月6日-)是一位英国出生的加拿大计算机学家和心理学家,以其在类神经网络方面的贡献闻名。辛顿是反向传播算法和对比散度算法的发明人之一,也是深度学习的积极推动者。
西蒙·派珀特
西蒙·派珀特
西蒙·派珀特(Seymour Aubrey Papert;1928年2月29日-2016年7月31日),美国麻省理工学院终身教授,教育信息化奠基人,数学家、计算机科学家、心理学家、教育家,近代人工智能领域的先驱者之一。1928年出生于南非,1954-1958年在英国剑桥大学从事数学研究,1958-1963年在瑞士日内瓦大学师从著名教育家和儿童心理学家皮亚杰,并与其一起工作,正是这段经历促使其思考如何利用数学去理解和解释学习者的学习与思维。20世纪60年代初,西蒙进入麻省理工学院并创办了人工智能实验室(Artificial Intelligence Laboratory),他是著名的麻省理工学院媒体实验室(Media Laboratory, MIT)的创建者之一并一直在该实验室工作。主要作品有:《《儿童设计师》》、《头脑风暴:儿童、计算机及充满活力的创意》、《连接家庭:弥合数字代沟》等 西蒙的最著名的成就之一是于1968年发明的LOGO编程语言(LOGO programming language )。 1970年与其同事合著了人工智能著作《认知器演算法》(Perceptrons)。自20世纪70年代开始,他一直致力于通过LOGO语言帮助儿童成为他们自己“智力建设”的建设者。主要作品有:《《儿童设计师》》、《头脑风暴:儿童、计算机及充满活力的创意》、《连接家庭:弥合数字代沟》等
约书亚·本吉奥
约书亚·本吉奥
约书亚·本希奥(法语:Yoshua Bengio,1964年-)是一位加拿大计算机科学家,因人工神经网络和深度学习领域的研究而闻名。Yoshua Bengio于1991年获得加拿大麦吉尔大学计算机科学博士学位。经过两个博士后博士后,他成为蒙特利尔大学计算机科学与运算研究系教授。他是2本书和超过200篇出版物的作者,在深度学习,复现神经网络,概率学习算法,自然语言处理和多元学习领域的研究被广泛引用。他是加拿大最受欢迎的计算机科学家之一,也是或曾经是机器学习和神经网络中顶尖期刊的副主编。
于尔根·施密德胡伯
于尔根·施密德胡伯
Warren McCulloch
Warren McCulloch
保罗·韦尔博斯
保罗·韦尔博斯
Donald Olding Hebb
Donald Olding Hebb
马文·明斯基
马文·明斯基
马文·李·明斯基,生于美国纽约州纽约市,美国科学家,专长于认知科学与人工智能领域,麻省理工学院人工智能实验室的创始人之一,著有几部人工智能和哲学方面的作品。1969年,因为在人工智能领域的贡献,获得图灵奖。
弗兰克·罗森布拉特
弗兰克·罗森布拉特
沃尔特·皮茨
沃尔特·皮茨
逻辑学家,从事计算神经科学研究。最为人熟知的轶事是他12岁的时候曾在图书馆里度过了三天,阅读《数学原理》,并写信告诉作者罗素书中出现的问题。 他提出了具有里程碑意义的神经活动和生成过程的理论表述,影响了认知科学和心理学、哲学、神经科学、计算机科学、人工神经网络、控制论和人工智能等不同领域。1943 年底,皮茨和沃伦·麦卡洛克共同发表了一篇开创性的论文《神经活动中内在思想的逻辑演算》(A Logical Calculus of Ideas Immanent in Nervous Activity)。本文提出了神经网络的第一个数学模型。这篇文章奠定了人工神经网络的基础,是现代深度学习的前身,其神经元的数学模型:M-P模型一直沿用至今。
杨立昆
杨立昆
杨立坤(法语:Yann Le Cun,英语:Yann LeCun,1960年7月8日-)是一位计算机科学家,他在机器学习、计算机视觉、移动机器人和计算神经科学等领域都有很多贡献。他最著名的工作是在光学字符识别和计算机视觉上使用卷积神经网络 (CNN),他也被称为卷积网络之父。他同Léon Bottou和Patrick Haffner等人一起创建了DjVu图像压缩技术。他同Léon Bottou一起开发了Lush语言。
Alexey Ivakhnenko
Alexey Ivakhnenko
伊恩·古德费洛
伊恩·古德费洛
Ian Goodfellow 是机器学习领域备受关注的年轻学者之一,他在本科与硕士就读于斯坦福大学,师从吴恩达,博士阶段则跟随蒙特利尔大学的著名学者Yoshua Bengio研究机器学习。Goodfellow 最引人注目的成就是在2014年6月提出了生成对抗网络(GAN)。这一技术近年来已成为机器学习界最火热的讨论话题,特别是在最近几个月里,与GAN有关的论文不断涌现。GAN已成为众多学者的研究方向。
贾恩·皮特斯
贾恩·皮特斯
Jan Peters(贾恩·皮特斯)是达姆施塔特工业大学计算机科学系智能自主系统的全职教授(W3),同时也是Max-Planck智能系统研究所的兼职高级研究科学家,负责跨部门机器人学习经验推理和自主运动部门之间的小组。 Jan Peters得过Dick Volz最佳美国博士论文亚军奖,IEEE机器人与自动化学会早期职业奖,以及国际神经网络协会的青年研究员奖等。
简介
相关机构
相关人物