[深度学习]神经网络中 权重矩阵/卷积核 以及 (y=wx+非线性变换)输出值/特征图的本质理解
文章目录
- CNN权重矩阵和特征图理解
- 特征是什么
- 权重矩阵\滤波器理解
- 特征图\输出值理解
- 总结
- 基础知识
- 从线性分类器说起
- 损失函数
- 优化
- 梯度下降法
- 后向传播算法
- 神经网络-非线性映射
最近在学习cs231n课程和之前自学习的内容有了理解上的偏差,现在记录有点理解在此。
对于之前知识需要了解的,请先看 本章第二部分(或者观看cs231n前五章).
CNN权重矩阵和特征图理解
特征是什么
隐层输出作为特征,权重矩阵或者叫隐藏权重,只是一个特征提取(映射)方法,对于不同的输入是固定的,特征对应于特定输入。
什么叫特征?就是对某种事物的一种表示。一个简单的例子,一个点,在欧氏坐标里表示为(x,y),这就是在欧氏空间的特征,在极坐标中表示为(r,θ),这就是在极坐标中的特征。我们通过一个公式,可以将欧氏坐标映射为极坐标,这个映射参数就可以看成隐藏层参数,而映射后的值就是提取的新的特征。
(这里是作为 特征映射、空间转换的例子;CNN中 W也是作为一种映射,不同的W来提取 映射到达的某些特殊的空间结构
。所以CNN是学到了一些与空间结构有关的信息用于识别。)
权重训练完就固定了,对于不同输入都一样,所以不可能是从数据中提取的特征。
权重矩阵\滤波器理解
这20幅图像分别对应20个不同的特征映射(filters, kernels)。每个特征映射由5X5的图像表示,代表局部感知域中的5X5个权重。亮的像素点代表小的权重,与之对应的图像中的像素产生的影响较小。暗的像素点代表大的权重,意味着对应的图像中的像素的影响较大。可看出这些特征映射反应了某些特殊的空间结构,因此CNN学习到了一些与空间结构有关的信息用于识别。
特征图\输出值理解
特征图:网络中学习和调节的确实是一些参数、但是参数只是一个映射;最终需要的是隐藏层输出的特征图(FeatureMap);
输出值:CNN不断学习更新卷积核,卷积核更新了,学习到的特征也就被更新了(Map数值也就改变了);对分类问题而言,目的就是:对图像提取特征,再以合适的特征来判断它所属的类别。类似这种概念:你有哪些个 子的特征,我就根据这些特征,把你划分到某个类别去。所以一般最后都会加一个FC层(或者GAP)进行分类输出值(化为对应的概率值)。
总结
其实不需要纠结,大家明上说的调参、学习权重,在CNN这里就很好理解了。卷积神经网络的一整套流程就是:更新卷积核参数(weights),就相当于是一直在更新所提取到的图像特征,以得到可以把图像正确分类的最合适的特征们。(一句话:更新weights以得到可以把图像正确分类的特征。)
在这里引用cs231n的PPT,说明一下几个理解重点。方便之后回忆查看。
二来是,上方理解不透彻的情况下,可以先顺一遍 本章“基础知识”;再进行 “权重矩阵和特征值\输出值理解”
基础知识
从线性分类器说起
这里直接把猫的图片拉直(作为x的输入 没有考虑局部的特征情况)。w 像是多个输入channel(这里三类 三个channel)的线性滤波器,进行了 平滑映射。
视觉角度——输出值为 分类感知的特征
代数、视觉、几何角度的理解:线性分类器y=wx
的输出特征.(分类器)
最终评分矩阵W为——特征映射。
损失函数
SoftMax概率分布的交叉熵损失函数进行分类
线性SVM和Softmax损失函数对比:
优化
梯度下降法
- BGD (批量梯度下降法)
- SGD Stochastic Gradient Descent (随机梯度下降法)
- Mini-Batch GD(小批量 梯度下降法)
后向传播算法
重点掌握:反向的链式求导法则——这个在普通NN、CNN、RNN等都会用到!来进行梯度计算!
神经网络-非线性映射
起源:SVM的线性分类机,无法处理\不好处理 非线性的分类关系。人们开始研究:
特征转换\映射(Feature Transformation)
以上希望将特征直接转换为另一个特征映射。使用颜色数值、方向梯度直方图——使其线性可分。
特征提取(Feature Extraction)
1)直接用CNN进行特征提取,使用多种卷积核——提取局部的特征;并进行高维的组合映射——以期 提取更为积极的分类特征(一方面通过不断训练得来、另一方面 CNN极强的先验条件,使得CNN对于图片 特征的提取,先天就有自然地积极地效果 。)2)另外一点,CNN加入了非线性特征(激活函数,否则 只是单纯的深层线性组合),可以解决异或问题(XOR Problem)——使得神经网络,原则(理论)上可以拟合任何函数,进行特征提取或分类。
3)反向传播链式求导法则:
从右到左:使用上游的梯度
*当前梯度
=当前反向传播处的梯度值