在近几年的人工智能浪潮中,涌现了众多优秀的技术:视频监控设备的人脸识别功能,智能手机上的语音识别或谷歌最新的自动翻译 ,都源于一种称为“深度学习”的技术。现在,人工智能成为了非常热门的话题,而实际上目前人工智能发展的众多贡献都有赖于其下属的深度学习,以及神经网络领域的发展成果。
实际上,深度学习是人工智能实现方法的新名称,这种方法已经存在了70多年。神经网络于1944年由Warren McCullough和Walter Pitts(芝加哥大学的两位研究人员,也被认为是认知科学的创始成员)首次提出后伴随人工智能的发展几经沉浮:
人工智能最早一次的兴起是1956-1974,以命题逻辑、谓词逻辑等知识表达、启发式搜索算法为代表,当时已经有关于如何下棋的研究展开。
1980 年代初又兴起了第二次热潮,主要围绕专家系统、知识工程、医疗诊断等领域。随后,人工智能跌入了近30 年的寒冬。
第三次热潮就是最近两年兴起的深度学习推动的,主要表现是人脸识别、语音识别、自然语言处理等技术的成熟。
至于神经网络,直到1969年,神经网络都是神经科学和计算机科学的一个主要研究领域。其后,它随同人工智能的寒冬经历了一段被冷落的时期。在20世纪80年代神经网络方面的研究再次兴起,并由于图形芯片处理能力的提高,大规模的提升和应用在2010年后大爆发。
神经网络简要原理
神经网络是一种进行机器学习的方法,计算机通过分析训练样例来学习执行某些任务。通常,这些例子是事先标记的。例如,物体识别系统可以馈送数千个汽车,房屋,咖啡杯等不同类别的标记图像,并且它将在图像中找到始终与特定标签相关联的视觉图案。
神经网络模仿人脑而构建,由数千甚至数百万个密集互连的简单处理节点组成。现今的大多数神经网络被组织成节点层,它们是“前馈”网络,意味着数据只在一个方向上穿过它们。单个节点可能连接到其下面的层中的几个节点,从中接收数据,以及它上面的层中的几个节点,它们向其发送数据。
对于每个传入连接,节点将分配一个称为“权重”的数字。当网络处于活动状态时,节点在其每个连接上接收不同的数据项(不同的数字),并将其乘以相关权重。
然后它将得到的乘积,加在一起,产生一个结果数字。如果该数字低于传输阈值,则节点不将数据传递给下一层。如果数量超过传输阈值,则节点“触发”,意味着沿其所有传出连接发送数字 - 加权输入的总和。
当训练神经网络时,其所有权重和阈值最初都设置为随机值。训练数据被馈送到底层 - 输入层 - 它通过后续层,以复杂的方式相乘并加在一起,转换传输到输出层。在训练期间,系统不断调整权重和阈值,直到具有相同标签的训练数据始终产生类似的输出。
神经网络的发展
McCullough和Pitts在1944年描述的神经网络具有阈值和权重,但它们没有排列成层,研究人员没有指定任何训练机制。McCullough和Pitts所展示的是,神经网络原则上可以计算数字计算机可以执行的任何功能,关注重点是人脑可以被认为是一种计算设备的概念。
康奈尔大学心理学家弗兰克罗森布拉特于1957年展示了第一个可训练的神经网络Perceptron。Perceptron的设计与现代神经网络的设计非常相似,只是它只有一层可调节重量和阈值,夹在输入之间和输出图层。
而现代GPU使20世纪60年代的单层网络和20世纪80年代的2到3层网络成为当今的10层,15层甚至50层网络。这也是“深度学习”中的“深层”所指的意思——网络层的深度。
神经网络后续展望
2010年后神经网络的复兴 - 深度学习革命 – 首先来自计算机游戏行业。视频游戏的复杂图像和快节奏需要能够跟上的硬件,结果是图形处理单元(GPU)快速发展,它在单个芯片上包含数千个相对简单的处理核心。不久人们就意识到GPU的架构与神经网络的架构非常相似。
同时,为了更高效的研究和利用神经网络,更多硬件方案涌现了出来, Intel收购Altera,谷歌自研TPU,业界还在寻找更高效的方法,也在侧面印证神经网络的火爆程度。
现在,神经网络更是计算机领域和神经科学领域的宝贵工具。用于调整权重和阈值的特定网络布局或规则已经再现了人类神经解剖学和认知学里观察到的特征,表明它帮助获取了关于大脑如何处理信息的机制。
但是,神经网络有些令人不满意的不足:足够的训练会改变神经网络的设置,使其可以对数据进行分类,但其中的过程过于复杂,查看单个连接的权重无法解释其原理;物体识别器看重的图像特征是什么,以及它是如何将它们拼凑成汽车,房屋和咖啡杯的独特视觉特征的也尚不明确;类似这些问题都导致神经网络作用的机制具有一定的不透明性和不可解释性。
在这些问题得到解决后,神经网络的作用机制将进一步可控。同时,神经网络作为神经科学和计算科学领域的工具,将在人工智能大时代,得到更好的发展。