卷积神经网络的图像预处理

时间:2017-04-05 09:27:01

标签: image-processing matrix convolution

我有*.png个文件,我想在卷积神经网络的上下文中将图像转换为单热编码。

  1. 我的图片是224x224。我搜索了许多在线参考文献,但我无法弄清楚如何将图像转换为单热编码。我是逐行还是逐列追加?有一种方式比另一种更好吗?
  2. 一旦我创建了单热编码矢量,就会应用归一化操作,例如将矢量的每个值除以256(RGB的最大值)。这可以防止数字爆炸并导致溢出。但是,我还看到从此值中减去0.5。为什么是这样?这有效地将值范围设置在[-0.5, 0.5]之间。但是,在大多数网站中,应用了ReLU图层,无论如何都会将所有这些值变为零或更大。所以,我很困惑为什么要这样做。
  3. 最后,一旦我将图像转换为单热编码向量,我在哪里添加偏差项?我是将它添加到单热编码向量的前面还是后面,这个值究竟应该是什么?给定矢量的归一化,我通常会看到偏差项是1,它被添加到矢量的前面。但是,为什么我们选择1,为什么它通常会附加在前面?

1 个答案:

答案 0 :(得分:0)

  1. 我想,我回答了关于stats stackexchange的部分问题:)我猜你正在混淆,因为你正在考虑将图像转换为onehot编码表示。这不是它的工作原理。一个热门编码只是关于标签,你不需要转换图像(来自我上面的评论)
  2. 再次因为你对单热(稍微阅读)感到困惑,你不会处理一个热编码标签。你处理图像(在这种情况下预处理)。标准化可以是各种类型。对于深度学习,通常的方法是规范化,使得均值为0且标准差为1.我没有尝试使用(-0.5,0.5)进行标准化,而是回答关于ReLU的问题。 ReLU会引入非线性。如果你阅读更多关于深度学习(特别是反向传播)会更好。
  3. 再次!你混淆了深度学习。在培训过程中添加了偏见期限。这是过程的一部分。既然你问这个问题,你需要阅读神经网络。
  4. 这个简单的教程播放列表帮助我理解深度学习,希望这对你也有帮助!查看Neural network tutorial

    祝你学习好运:)