卷积神经网络(CNN)的细节问题(滤波器的大小选择)

    xiaoxiao2021-03-25  124

    0. 滤波器的大小选择

    大部分卷积神经网络都会采用逐层递增(1⇒ 3 ⇒ 5 ⇒ 7)的方式。每经过一次池化层,卷积层过滤器的深度都会乘以 2;

    1. 权值共享:减轻过拟合 & 降低计算量

    一个卷积层(Wx+b ⇒ ReLU ⇒ maxpooling)可以有多个不同的卷积核,而每一个卷积核都对应一个滤波后映射出的新图像,同一个新图像中的每一个像素都来自完全相同的卷积核,这就是卷积核的权值共享。

    那么为什么要共享卷积核的权值参数呢?

    降低模型复杂度以减轻过拟合;降低计算量;

    2. 待求参数数目的量化分析

    考虑 103×103 的输入图像:

    全连接,隐层神经元的数目为 106 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数, 数目为 106×106=1012 卷积,卷积核的大小为 10×10 时, 步长为 10, 103×10310×10×(10×10) 103×10310×10 表示的是输入图像可划分的块数,也即经卷机作用后的输出图像;步长为 1, (10310+1)×(10310+1)(10×10) 在不考虑步长的前提下,可近似将待学习的参数的数目视为 (103×103)(10×10)

    3. CNN 的卷积与信号与系统中的卷积

    CNN 的卷积并没有执行“翻转”操作,而是与输入图像做滑动窗口“相关”计算;

    如果 K 个输入通道(Xk,0k<K)的输入经若干卷积核的作用之后得到 L 个通道的输出(Y,0<L),需要的卷积核的数目为 L×K

    Y(m,n)==Xk(m,n)Hk(m,n)k=0K1i=0I1j=0J1Xk(m+i,n+j)Hk(i,j)

    Hk(i,j) 表示的是第 列,第 k 行二维卷积核,卷积核的大小为 IJ

    4. 时间复杂度

    N×N 大小的图像, F K×K 的 filters ⇒ 计算复杂度 O(N2×K2×F) 要知道 F <script type="math/tex" id="MathJax-Element-158">F</script> 的值一般是很大的,比如 256;
    转载请注明原文地址: https://ju.6miu.com/read-7603.html

    最新回复(0)