在rpn网络中,我们想要对特征图上每一个特征点,得到9个anchors的(x,y,w,h)的四个信息,通常使用36通道[1*1]的卷积去卷积输入,并且得到一个36通道的输出,这从逻辑上很好理解,9个anchor,每个anchor要获得(x,y,w,h)的四个信息,所以9*4 = 36,36个通道。
但是,仔细去思考,会有以下几个问题:
1.为什么用36个通道就能表示9个anchors的(x,y,w,h)的四个信息,仅仅是因为9*4 = 36吗?
2.我们用36通道的卷积核去卷积输入时,这个卷积核第一次初始化为随机初始化,凭什么一个随机的卷积,用随机的权重就能代表9个anchors的(x,y,w,h)的四个信息?
3.我们将这36个通道的排列默认为anchor1的x,anchor1的y,anchor1的w,anchor1的h;anchor2的x,anchor2的y,anchor2的w,anchor2的h......为什么一个随机初始化的36通道的权重去可以赋予每个通道固定的含义?
我的理解是这样的:
这三个问题其实都是一个问题:为什么一个初始化为随机的多通道权重进行卷积,可以赋予输出的每一个通道现实含义?
答案就是刚刚开始并不能赋予通道含义,在最开始,权重的36个通道通过卷积输出含有36个通道的结果,这36个通道每一个通道都不具有现实意义,纯粹是毫无意义的卷积的结果。
在最开始,这36个通道并不具有排列默认为anchor1的x,anchor1的y,anchor1的w,anchor1的h;anchor2的x,anchor2的y,anchor2的w,anchor2的h的现实含义,纯粹是无意义,但是通过一次次的降低损失函数,一次次修改权重,使得每一次权重都在倾向于更具有现实意义,通过人为的规定的真实值,修改权重使得每一层通道的结果逐渐向人为规定的值靠拢,使得每一层通道逐渐有了现实含义,这也正是神经网络学习、修改权重的原理。
这是我个人肤浅的理解。望各位大佬指正