为何CNN的卷积核被视为可训练参数?(Keras计算示例)
为什么CNN的卷积核是可训练参数?
首先要纠正一个误解:CNN里的卷积核不是固定的预设矩阵,而是模型在训练过程中需要不断调整的参数。
你觉得卷积是固定的矩阵乘法,这个操作逻辑没错,但这里的“矩阵”(卷积核)本身是变量——模型要通过数据学习出最适合当前任务的卷积核权重,而不是用手动设定的固定算子(比如边缘检测的Sobel算子)。举个实际的例子:如果任务是猫脸识别,模型会自动学到能捕捉猫耳朵、眼睛轮廓的卷积核;如果是手写数字识别,它会学到能识别笔画边缘的卷积核,这些权重都是通过反向传播不断更新优化的,不是一开始就固定死的。
再看你给出的具体案例:
输入图像是10x10x1(最后一个1是输入通道数,对应灰度图),用1个3x3的卷积核,Keras算出的参数是10,计算逻辑很明确:
- 卷积核的权重参数:3×3×1=9(卷积核的每个元素都是一个可训练权重,乘以输入通道数,因为每个输入通道对应一组独立的权重)
- 偏置参数:1(每个卷积核会对应一个可训练的偏置项)
- 总参数:9+1=10
说白了,卷积核的每一个权重值都是模型需要学习的“调节开关”,通过调整这些值,模型才能提取到对当前任务有用的特征,这就是卷积核被算作可训练参数的核心原因。
内容的提问来源于stack exchange,提问作者smb idm
相关产品推荐
相关产品推荐

