目的
为避免一学就会、一用就废,这里做下笔记
说明
本文内容紧承前文-卷积神经网络,欲渐进,请循序。
卷积核的由来
直接答案
卷积核的初始值是随机生成的,最终值是通过网络在训练数据上,通过反向传播和梯度下降算法"学"出来的。
1. 初始化:一切的起点
在训练开始前,网络中的所有参数,包括卷积核的每个权重值,都必须被赋予一个初始值。这个初始值不是凭空设计的,而是有策略的:
-
常见策略:
- 随机高斯分布初始化:从一个均值为0、方差较小的正态分布中随机采样。目的是打破对称性(如果所有权重初始相同,所有神经元会学到相同的东西)。
- Xavier初始化 / He初始化:更先进的初始化方法。它们根据当前层的输入和输出神经元数量来调整初始化的方差,目的是确保信号在前向传播时不会爆炸或消失,梯度在反向传播时也能保持稳定。这是深度学习成功的关键技巧之一。
-
一个形象的比喻 :想象每个卷积核最初都是一个"盲人摸象的初级探索者",它随机地"感觉"图像的某个局部(比如随机地关注某些像素组合)。一开始它的"感觉"是混乱且无意义的。
2. 学习:从噪声到特征探测器
这是魔法发生的核心过程。
网络的目标是完成特定任务(比如识别猫)。为了衡量网络当前做得好不好,我们定义一个损失函数(例如,预测是"猫"的概率与真实标签"是猫=1"之间的差距)。损失值越高,说明网络错得越离谱。
学习过程就是反复执行以下循环,以最小化这个损失:
- 前向传播 :输入一张训练图片,用当前的卷积核进行卷积等操作,得到预测结果。
- 计算损失:比较预测结果和真实标签,算出损失值。
- 反向传播 :这是最关键的一步。通过微积分中的链式法则 ,算法会计算损失函数相对于每一个卷积核中每一个权重参数的"梯度" 。这个梯度是一个向量,它明确地指出了:"如果我把这个权重参数'稍微'增大或减小一点,损失值会如何变化(是增大还是减小,以及变化的幅度有多大)?"
- 梯度下降与参数更新 :我们想让损失减小 。所以,我们按照梯度指示的 "使损失下降最快的方向" ,对所有权重(包括所有卷积核的值)进行一个微小的调整。
- 更新公式(简化版) :
新权重 = 旧权重 - 学习率 × 梯度 - 学习率:一个超参数,控制每次更新的步长。太小学习慢,太大可能"迈过"最优点。
- 更新公式(简化版) :
这个过程如何塑造卷积核?
- 迭代与进化:当网络用成千上万张图片,重复上述步骤成千上万次后,神奇的事情发生了。
- 信号的增强与筛选 :
- 如果一个卷积核中的某种权重模式(比如中间一列是正权值,两边是负权值)恰好能对"识别猫有用" (例如,它能对垂直边缘产生高响应),那么当它遇到垂直边缘时,网络的最终预测就会更准,损失就会降低。反向传播会计算出来,并告诉这个卷积核:"保持这种模式,甚至加强它!"
- 反之,如果一个卷积核的随机模式总是导致错误的预测,那么梯度就会指示它 "改变这种无用的模式"。
- 特征的特化 :经过大量训练后,不同的卷积核会 "进化" 成专门检测不同类型初级视觉特征的探测器。这完全由数据和任务驱动。
3. 结果:训练后的卷积核是什么?
训练结束后,我们可以可视化第一层的卷积核,通常会看到清晰、有规律的模式:
-
第一层卷积核 :通常学习到类似Gabor滤波器 的特征,即各种方向、频率和颜色的边缘、条纹、斑点。
- 例如:有的对45度斜边 敏感,有的对红-绿对比 敏感,有的对中心亮周围暗的斑点敏感。
- 为什么? 因为这些是构建图像最基本的"原子单元",组合它们可以形成任何更复杂的图案。这与人类视觉系统V1皮层神经元的功能惊人地相似。
-
更深层的卷积核 :它们接收的不再是原始像素,而是底层特征图。因此,它们学习到的是更抽象、更语义化的组合模式。
- 例如:第二层可能组合边缘得到纹理(如网格纹、毛皮质感)。
- 第三层可能组合纹理得到部件(如车轮、眼睛、门把手)。
- 最深层可能组合部件得到完整物体或高级场景元素(如猫脸、汽车、键盘)。
一个总结性的比喻:
卷积核就像一群初始时胡乱挥舞工具的学徒 。损失函数 是严厉的导师,不断告诉他们成品(预测)的好坏。反向传播和梯度下降 是精确的反馈机制,告诉每个学徒他的每一个动作(权重)应该如何微调才能让成品更好。经过数百万次这样的反馈和调整,学徒们最终都成了高度专业化的大师------有的专精于打磨边缘,有的专精于雕刻纹理,有的专精于组装部件。他们共同协作,高效地完成从原材料(像素)到成品(识别结果)的制造。
重要补充:卷积核的可解释性与局限性
- 可解释性:CNN的低层卷积核具有很强的可解释性,这与人类的低级视觉一致,是其成功和受欢迎的原因之一。
- "黑箱"部分:随着网络变深,高层特征虽然语义上可理解(如"猫眼睛"),但具体是卷积核中哪个权重模式触发的,其组合逻辑非常复杂,难以完全解析。这是深度学习可解释性研究的核心问题。
所以,卷积核不是人工设计的,而是数据驱动的、通过优化算法自动"学习"或"进化"出来的特征探测器。 这正是深度学习"端到端学习"和"表示学习"威力的直接体现。