-
彩色图像可能有RGB三个通道
-
转换为灰度会丢失信息
-
每个通道都有一个卷积和,结果是所有通道卷积结果的和
多个输入通道:
import torch
from d2l import torch as d2l
def corr2d_multi_in(X, K):
return sum(d2l.corr2d(x, k) for x, k in zip(X, K))
多个输出通道:
def corr2d_multi_in_out(X, K):
return torch.stack([corr2d_multi_in(X, k) for k in K], 0)
- 每个通道可以识别特定的模式
- 输入通道核识别并组合输入中的模式
def corr2d_multi_in_out_1x1(X, K):
c_i, h, w = X.shape
c_o = K.shape[0]
X = X.reshape((c_i, h * w))
K = K.reshape((c_o, c_i))
Y = torch.matmul(K, X)
return Y.reshape((c_o, h, w))
- 输出通道数是卷积层的超参数
- 每个输入通道有独立的二维卷积和,所有通道结果相加得到一个输出通道结果
- 每个输出通道有独立的三维卷积核
这里性能分为计算性能和网络性能,Padding 0 不会影响网络精度,但会使计算复杂
因为正则化的操作,bias对结果影响不大,但加入bias对计算性能基本无影响,故默认加入bias
不是,输入输出通道单列,这里使用3d的卷积,输入变为4维,核是5维
因为输出的一个像素只对应输入的一个像素,所以没有获取到空间信息
是的,mobile net就是这种思想
都可以,rgb加深度信息甚至可以用2d卷积处理。