【深度学习课程总结】第2周
·
引言
机器学习是人工智能的一个重要分支,是实现智能化的关键,主要利用经验来改善计算机系统的 性能,但现在随着数据采集和计算机能力的增加,积累了大量的数据,而且绝大部分是非结构化(语义不清楚、稀疏)数据。先前的机器学习方法收效甚微。
人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。
一、 线性分类的瓶颈与多层感知机(MLP)
1.痛点:XOR问题(异或问题)
在上周的课程中,单层感知机能够通过一条直线将平面上的两类点完美分开。然而,1969年Minsky提出了著名的XOR(异或)问题,指出单层感知机无法解决这种线性不可分的问题。这一论断甚至一度导致了神经网络研究的低潮。
2. 破局:多层感知机
解决XOR问题的方法其实很直观:在输入和输出层之间加入一层或多层“隐节点”(隐单元)。
- 加一层隐节点就构成了三层网络。通过两个隐节点和一个输出层节点的组合逻辑,我们就可以在模式空间中划分出复杂的区域,完美解决异或问题。
- 三层感知器可以识别任一凸多边形或无界的凸区域;层数更多,可识别的图形就更为复杂。
课程中提到了两个非常重要的万能逼近定理:
- 定理1: 若隐层节点可任意设置,用三层阈值节点的网络,可实现任意的二值逻辑函数。
- 定理2: 若隐层节点可任意设置,用三层S型(Sigmoid)非线性特性节点的网络,可以一致逼近紧集上的连续函数。 这从理论上证明了多层神经网络的强大表征能力。
二、 多层前馈网络与BP算法揭秘
1. 多层前馈网络结构
多层前馈网络中,神经元分层排列。前一层的输出作为下一层的输入,信号单向传递。如果除输入层外,每个神经元都与上一层的所有神经元相连,这就叫全连接网络。
2. BP算法简述
BP算法(Backpropagation)是有导师的学习,本质上是梯度下降法在多层前馈网络中的应用。它的学习过程分为两个阶段:
- 正向传播: 输入信号从输入层 →\rightarrow→ 隐层 →\rightarrow→ 输出层。如果输出层得到了期望的输出(误差在允许范围内),则学习结束;若存在误差,则转入反向传播。
- 反向传播: 将误差(样本输出与网络实际输出之差)按原连接通路反向计算,利用梯度下降法逐层调整各层节点的权值和阈值,从而使网络总误差逐渐减小。
三、 算法评述与本周总结
✅ 优点:
- 学习完全自主: 只要给定输入输出数据,网络可以通过反向传播自己学到规律。
- 逼近能力极强: 理论上可以逼近任意非线性函数,极大地扩展了模型的应用范围。
❌ 缺点:
- 非全局收敛: 梯度下降法容易陷入局部最优解,而不是全局最优解。
- 收敛速度慢: 需要大量的迭代运算。
- 超参数难以选择: 学习速率 α\alphaα 选大了容易震荡,选小了收敛极慢。
- 网络结构设计困难: 隐层到底设几层?每层多少个节点?目前很多时候仍然依赖“炼丹”(经验和试错)。
注:本文为课程学习记录
更多推荐




所有评论(0)