神经网络与深度学习笔记1
一、人工智能、机器学习与深度学习的关系
人工智能是一个较宽泛的概念,可以从仿生、符号学、行为学和交叉融合等角度理解。其中,神经网络与深度学习更偏向仿生角度,即模拟自然生物的信息处理过程;机器学习则强调利用数据和经验来改善模型表现;强化学习又带有行为学和控制论的色彩。我的理解是:
人工智能是目标,机器学习是实现智能的一类方法,神经网络与深度学习是机器学习中非常重要的一类模型体系。
传统机器学习往往依赖人工设计特征,尤其在视觉任务中,需要经历数据采集、预处理、特征提取、特征选择、学习与推理等流程。但在大数据和复杂非结构化数据场景下,人工特征工程逐渐成为瓶颈。深度学习的优势在于能够通过多层网络自动学习从低级到高级的特征表达,使特征越来越抽象,也更接近语义或任务意图。
二、线性回归:从数据拟合到参数优化
线性回归部分以房屋面积和销售价格为例,引出“用一条曲线尽可能准确地拟合已有数据,并对新输入进行预测”的思想。其本质是利用统计回归分析确定变量之间的定量依赖关系。在线性假设下,模型可以写成:
y=h(x)=kx+by = h(x) = kx + by=h(x)=kx+b
如果扩展到多维输入,则可写为:
hθ(x)=θTxh_\theta(x)=\theta^T xhθ(x)=θTx
其中,训练集是输入数据,输出数据是标签,模型参数则需要通过优化方法求解。
我的理解是,线性回归的重点不只是记住公式,而是建立“机器学习基本范式”:
先定义模型,再定义损失函数,最后通过优化方法寻找最优参数。
这也是后续神经网络训练的基础思想。无论模型多复杂,本质上都离不开“输入—模型—输出—损失—参数更新”这一流程。
三、线性分类、Sigmoid与感知机
在线性分类中,输出不再是连续数值,而是类别标签。课程中以二分类为例,说明标签通常取0或1。此时如果仍然直接使用线性回归输出,会出现输出范围不受限制、不适合解释为类别概率的问题。因此课程引入Sigmoid函数,将线性输出压缩到0到1之间:
hθ(x)=11+e−θTxh_\theta(x)=\frac{1}{1+e^{-\theta^T x}}hθ(x)=1+e−θTx1
这样,模型输出就可以近似看作属于某一类别的概率。由于加入Sigmoid后,目标函数变成非线性形式,难以像普通最小二乘一样直接解析求解,因此需要采用梯度下降等迭代方法。课程中给出了梯度下降的基本思想:沿着负梯度方向更新参数,使损失函数逐步减小。
感知机进一步把线性分类和神经元模型联系起来。感知机的训练过程是:如果样本被误分类,就按照
wk+1=wk+ηyixiw_{k+1}=w_k+\eta y_i x_iwk+1=wk+ηyixi
更新权值;不断迭代直到训练集中没有误分类点。课程也指出,感知机可以自动迭代完成线性分类任务,但当问题线性不可分时,迭代可能不收敛。
感知机是神经网络思想的最小雏形,它已经包含了输入、权重、激活、输出和学习规则。
四、多层感知机:解决线性不可分问题
单层感知机只能处理线性可分问题,典型反例就是XOR问题。XOR无法用一条直线完成分类,因此需要在输入层和输出层之间加入隐含层,构成多层感知机,也就是多层前馈神经网络。课程中指出,多层感知机由多层神经网络构成,每层网络将输出传递给下一层,权值连接通常只出现在相邻层之间。
多层感知机的关键意义在于:它通过隐层完成特征变换,把原本线性不可分的问题映射到新的特征空间中,从而可能变得线性可分。可以理解为:
单层感知机是在原始空间中切一刀;多层感知机则先改变空间结构,再进行分类。
五、BP算法:神经网络真正能训练起来的关键
多层网络虽然表达能力更强,但问题也随之出现:网络有多层参数,如何知道每一层权重应该怎么改?
这就引出了BP算法,即误差反向传播算法。课程中说明,BP算法是多层前馈网络的有监督学习算法,本质是梯度下降法在多层前馈网络中的应用。BP学习过程由正向传播和反向传播组成:正向传播将输入信号从输入层经隐层传到输出层;如果输出不符合期望,则进入反向传播,将输出误差沿原连接路径反向计算,并用梯度下降调整各层权值和阈值。
配套材料进一步给出了BP的数学记法:网络输入为 a0=xa^0=xa0=x,中间层有
zl=Wlal−1z^l=W^l a^{l-1}zl=Wlal−1 al=f(zl)a^l=f(z^l)al=f(zl)
输出层为 y^=aL\hat y=a^Ly^=aL。训练目标是让每个样本的输出误差最小,例如平方误差形式:
J=12(y−y^)2J=\frac{1}{2}(y-\hat y)^2J=21(y−y^)2
随后通过链式法则逐层计算梯度并更新权值。
BP不是一种新的优化思想,而是把链式求导系统化,使多层网络中每一个参数都能知道自己对最终误差的责任。
六、卷积神经网络:从全连接到局部连接与特征层级
进入CNN部分后,课程首先指出全连接网络在图像任务中的问题:连接权过多、计算慢、难收敛、容易陷入局部极小值,也容易过拟合。例如,输入为 1000×10001000 \times 10001000×1000 的图像,若隐含层有100万个节点,则输入层到隐含层之间会产生 101210^{12}1012 量级参数。解决思路是减少连接,让每个节点只连接上一层的少数神经元,即局部连接网络。
CNN的核心思想包括:
第一,局部连接。图像中相邻像素关系更强,因此一个卷积核只需要关注局部区域。
第二,权值共享。同一个卷积核在整张图像上滑动,可以大幅减少参数量。
第三,层级特征提取。低层卷积提取边缘、纹理等基础特征,高层卷积组合成更复杂、更抽象的语义特征。
第四,池化降维。通过最大池化或平均池化降低特征图尺寸,提高模型的平移鲁棒性,并减少计算量。
经典CNN通常以“一个或多个卷积层 + 一个池化层”为基本单元进行堆叠,在网络尾部使用全连接层,最后用Softmax分类器输出结果。残差网络则通过支路把浅层激活直接传向深层,用于缓解深层网络中的梯度消失问题,为训练极深网络提供便利。
更多推荐




所有评论(0)