2016 年,随着 AlphaGo 在围棋比赛中击败李世石,“人工智能”、“神经网络”、“深度
学习”等字眼便越来越多的出现在大众眼前,智能化好像成为一种不可逆转的趋势,带给大家新奇感的同时也带来了一丝忧惧:在不远的未来,机器是否真的拥有思维和情感?《终结者》中天网大战人类的刻画是否会成为现实?我的工作会不会被程序代替?要不要现在就注册下美团骑手?美团也开始无人送餐了?众多打着人工智能和算法旗号的公司不断出现和上市,众多学校开始开设人工智能学院(比如我的母校,西南交通大学),而特斯拉等新能源企业的出现,将人工智能和无人驾驶联系起来,仿佛人类很快就可以进入那个梦幻的未来世界。迄今为止,我们所见识到大部分人工智能所实现的魔法都依赖于精心设计的神经网络,到底什么是神经网络,神经网络又是如何实现的,在这里我们对此进行简单的介绍。
1、神经网络简介
什么是神经网络(Neural Network)?神经网络又称人工神经网络(Artificial Neural Network,ANN)是机器学习(Machine Learning)中众多自适应优化算法的一种,其具有悠久的发展历史,最早可以追溯到上世纪40年代。神经网络通过搭建大量人工神经元并广泛连接形成网络,模拟生物神经系统对真实世界所作出的反应,以此为现实问题提出解决方案。那么什么是机器学习呢?机器学习是一大类自适应算法的统称,指从已知的数据中获取规律,并利用规律对未知数据进行预测的方法,包括但不限于贝叶斯估计、决策树、随机森林、支持向量机和深度学习等等,图1展示了机器学习、深度学习与神经网络三者的关系。
神经网络由基础的神经元连接组成,其数学模型如下式所示:
output=f( Wx+b) (1)
式中,X为神经元的输入量,由x1…xn组成;W为输入量的权重(weight,也就是参数)向量矩阵,由w1…wn组成;b为神经元的偏置(bias,同样也是参数);f为激活函数,用来表示神经元的映射关系,一般为非线性函数,如tanh函数、sigmoid函数等,为算式提供了非线性能力。图2展现了神经元的计算过程。
通过将大量神经元按一定顺序排列组合组成层级结构,组成输入层、隐藏层和输出层的结构,各层之间通过权重进行连接,即组成了神经网络,如图3所示。
只有一层隐藏层的神经网络十分简单,通常只能用来解决较为简单和足够抽象的问题。随着计算机算力的不断增长,为解决更加复杂的现实问题,神经网络的隐藏层从单层神经元被扩展为多层,即组成了多层的神经网络。迄今为止&