1. 为什么CNN比常规全连接网络识别图像更有优势?
答:主要是两点:链接稀疏性及平移不变性。图像越复杂,全连接的w , b越多,训练时收敛速度越慢。同时,全连接的输出取决于图片所有点,实际上,很多点与最终输出内容无关。比如狗图片的不同背景,背景不应该对结果有影响。CNN通过卷积核提取关键的局部特征,卷积核共享参数,这样不仅参数量较少,避免过拟合。局部特征的提取,也能而且能通过多个卷积层增加网络深度,更准确提取出关键信息。
2. 怎么理解卷积?
该词来源取自泛函分析中的旋积或者褶积,本质上就是一种Reverse-Shift-Weighted Summation(翻转平移:卷,加权求和:积)的操作。 从数学角度来看,可以理解为一种类似于加权运算一样的操作。在图像处理中,针对图像的像素矩阵,卷积操作就是用一个卷积核来逐行逐列的扫描像素矩阵,并与像素矩阵做元素相乘,以此得到新的像素矩阵,这个过程就是卷积。
3. nn.Module
nn.Module是所有神经网络的基类,基于它创建的自定义神经网络类的最低要求是覆写__init__()方法和forward()方法。
# 自定义网络的模板:
class Net(nn.module):
def __init__(self, ......):
super(Net, self).__init__()
......
def forward(self, x):
......
return ......
net = Net()