了解过机器学习的人都知道通用公式:y = w * x + b
weight:权重比
bias:偏斜量
但是很多人不清楚CNN(卷积神经网络)里面的weight 和bias在哪儿,是怎么参与运算的。这篇文章就为大家揭晓。
首先介绍shape(形状):
在CNN里面永远绕不开一个概念:shape:形状
在测试中,我们输入了100*100的原始图片 “一.png”:
然后将它转换为 shape[100,100] 的数组,作为整个神经网络的输入:
输入 -> 输出(标签):
输入: [100, 100] 的数组横着放就变成了 [1, 100 * 100],表示有1个 [100 * 100] 原始输入。
输出: 输出的最终结果也就是数据的标签,图像分类,用onehot表示38个分类,所以形状为 [1, 38],表示有1个 [38] 标签。
过程: 所以整个CNN神经网络在做的事情就是把 [1,100 * 100] 输入向量,映射到,[1, 38] 标签向量。
通常情况,我们需要更多的数据进行训练和测试,所以准备的数据如下:
训练数据:[142, 100 * 100],142幅 [100 * 100] 训练图片
训练标签:[142, 38],142个 [38] 对应的标签
测试数据:[38, 100 * 100],38幅 [100 * 100] 测试图片
测试标签:[38, 38],38个 [38] 对应的标签