神经网络与深度学习
让机器具备智能是人们长期追求的目标,但是关于智能的定义也十分模糊。Alan Turing在 1950年提出了著名的图灵测试:“一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答。如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的”。
要通过真正地通过图灵测试,计算机必须具备理解语言、学习、记忆、推理、决策等能力。这也延伸出很多不同的学科,比如机器感知(计算机视觉、自然语言处理),学习(模式识别、机器学习、增强学习),记忆(知识表示)、决策(规划、数据挖掘)等。所有这些分支学科都可以看成是人工智能( Artificial Intelligence, AI)的研究范畴。其中, 机器学习( Machine Learning, ML)因其在很多领域的出色表现逐渐成为热门学科。机器学习的主要目的是设计和分析一些学习算法,让计算机从数据中获得一些决策函数,从而可以帮助人们解决一些特定任务,提高效率。对于人工智能来说,机器学习从一开始就是一个重要的研究方向,并涉及了概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。
人工神经网络( Artificial Neural Network, ANN),也简称神经网络,是众多机器学习算法中比较接近生物神经网络特性的数学模型。人工神经网络通过模拟生物神经网络(大脑)的结构和功能,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成,可以用来对数据之间的复杂关系进行建模。
Rosenblatt [1958]最早提出可以模拟人类感知能力的数学模型,并称之为感知器 ( Perceptron),并提出了一种接近于人类学习过程(迭代、试错)的学习算法。但感知器因其结构过于简单,不能解决简单的异或( XOR)等线性不可分问题,造成了人工神经领域发展的长年停滞及低潮。直到1980年以后, Geoffrey Hinton、 Yann LeCun等人将反向传播算法( Backpropagation, BP)引入到多层感知器[Williams and Hinton, 1986],人工神经网络才又重新引起人们的注意,并开始成为新的研究热点。但是, 2000年以后,因为当时计算机的计算能力不足以支持训练大规模的神经网络,并且随着支持向量机( Support Vector Machines, SVM)等方法的兴起,人工神经网络又一次陷入低潮。
直到2006年, Hinton and Salakhutdinov [2006]发现多层前馈神经网络可以先通过逐层预训练,再用反向传播算法进行精调的方式进行有效学习。并且近年来计算机计算能力的提高(大规模并行计算, GPU),计算机已经可以训练大规模的人工神经网络。随着深度的人工神经网络在语音识别[Hinton et al., 2012]和图像分类[Krizhevsky et al., 2012]等任务上的巨大成功,越来越多的人开始关注这一个“崭新”的研究领域:深度学习。目前,深度学习技术在学术界和工业界取得了广泛的成功,并逐渐受到了高度重视。
深度学习( Deep Learning, DL)是从机器学习中的人工神经网络发展出来的新领域。早期所谓的“深度”是指超过一层的神经网络。但随着深度学习的快速发展,其内涵已经超出了传统的多层神经网络,甚至机器学习的范畴,逐渐朝着人工智能的方向快速发展。本书主要介绍人工神经网络与深度学习中的基础知识、主要模型(卷积神经网络、递归神经网络等)以及在计算机视觉、自然语言处理等领域的应用。
在今后的推文中,主要介绍人工神经网络与深度学习中的基础知识、主要模型(卷积神经网络、递归神经网络等)以及在计算机视觉、自然语言处理等领域的应用。
若希望全面了解人工神经网络和深度学习的知识,可以参考如下材料: 1. Ian Goodfellow, Aaron Courville, and Yoshua Bengio. Deep learning. Book in
preparation for MIT Press, 2015.
2. Yoshua Bengio. Learning deep architectures for AI. Foundations and trends⃝ R in Machine Learning, 2(1):1–127, 2009
3.网站教程,比如http://deeplearning.net/。