人工神经网络:从基础到Keras实现
1. 深度神经网络概述
在20世纪90年代,具有两个以上隐藏层的人工神经网络(ANN)就被认为是深度网络。如今,拥有数十甚至数百层的ANN很常见,因此“深度”的定义变得相当模糊。
多层感知器(MLP)由一个输入层、一个或多个称为隐藏层的阈值逻辑单元(TLU)层以及一个称为输出层的TLU层组成。信号仅沿一个方向流动(从输入到输出),这种架构是前馈神经网络(FNN)的一个示例。当ANN包含深度堆叠的隐藏层时,它被称为深度神经网络(DNN)。
2. 多层感知器与反向传播算法
2.1 多层感知器架构
MLP的架构如下:
- 输入层:接收外部数据。
- 隐藏层:一个或多个TLU层,对输入数据进行特征提取和转换。
- 输出层:产生最终的预测结果。
靠近输入层的层通常称为较低层,靠近输出层的层通常称为较高层。
2.2 反向传播算法的发展
多年来,研究人员一直在努力寻找训练MLP的方法,但未成功。20世纪60年代初,一些研究人员讨论了使用梯度下降法训练神经网络的可能性,但由于模型参数众多,当时不清楚如何高效计算模型误差相对于参数的梯度。
1970年,Seppo Linnainmaa在其硕士论文中引入了反向模式自动微分(reverse-mode automatic differentiation)技术,该技术能在两次遍历网络(一次前向,一次反向)中计算神经网络误差相对于每个模型参数的梯度。这种反向模式自动微分与梯度下降的结合现在被称为反向传播(backpropagation)算法。
超级会员免费看
订阅专栏 解锁全文
14万+

被折叠的 条评论
为什么被折叠?



