一、代码部分
二、问题总结
1.Residual learning 的基本原理?
通过添加跨层连接(skip connection)来构建残差网络(ResNet)模型。在传统的神经网络中,每一层的输出都是由前一层的输出经过非线性变换得到的。而在残差网络中,每一层的输出不仅包括非线性变换后的结果,还包括前一层的输入(即残差)。这样可以使得网络更加容易学习到残差的部分,从而提高模型精度。
2、Batch Normailization 的原理,思考 BN、LN、IN 的主要区别。
Batch Normalization 的基本原理是对每个 mini-batch 的数据进行归一化处理,使得每个特征的均值为 0,方差为 1。
Layer Normalization 是针对 RNN(循环神经网络)等具有时间依赖性质的神经网络设计的,它将每个样本的特征进行归一化处理,而不是 mini-batch 的特征。Instance Normalization 则是针对风格迁移等任务设计的,它将每个样本的特征进行归一化处理,而不是整个 mini-batch 的特征,从而更加适用于单张图像的处理。
3、为什么分组卷积可以提升准确率?即然分组卷积可以提升准确率,同时还能降低计算量,分数数量尽量多不行吗?
分组卷积可以增加网络深度,从而增强了网络的表达能力和特征提取能力,进一步提高了准确率。在分组卷积中,每个组内的卷积核是共享参数的,从而减少了参数数量,降低了计算复杂度。
首先,分组卷积只适用于通道数可以被组数整除的情况。其次,分组卷积的组数越多,网络的计算量就越大,因为需要对每个组进行单独的卷积操作。