PyTorch深度学习实践(十一)卷积神经网络高级篇

tech2022-09-15  95

上一讲的神经网络网络架构是一个串行的结构,上一层的输出是下一层的输入 在神经网络里面有更为复杂的结构,比如有分支,或者输出会返回来

GoogleNet:

蓝色的块是卷积,红色的块是池化,黄色的是softmax 减少代码冗余:函数/类 当网络结构复杂,对于类似或者相同的子结构,就可以把这个子结构(块)封装成一个类 在GoogleNet里面,这一个 构造卷积神经网络的超参数:

卷积核的大小:GoogleNet的下面这个块出发点是不知道多大的卷积核好用,那就在一个块里面把这几种卷积都用一下,然后把它们的结果摞到一起,如果33比较好用,自然而然33的权重就会比较大 提供了几种候选的卷积神经网络的配置,然后在训练中自动的找到最优的卷积组合 Concatenate是拼接的意思,如下图。把不同的张量按通道拼接起来 1*1卷积 降低运算量,减少训练时间 以下是这个inception的代码, 1,2,3,4代表图中的4个通道 如下图,可能训练过程中就会达到最优,训练轮数太多可能过拟合

梯度消失:

.因为做的是反向传播,所以要用链式法则把一连串的梯度乘起来,假如每一处的梯度都小于1,不断乘以小于1的值,这个值就会越来越小,趋近于0,w=w-ag;当梯度(g)趋近于0,权重就得不到更新,里输入比较近的这一块没办法得到充分的训练

解决方法:逐层训练,Residual net 残差块实现

论文推荐:

He K, Zhang X, Ren S, et al. Identity Mappings in Deep Residual Networks[C],介绍了很多残差块的设计 Huang G, Liu Z, Laurens V D M, et al. Densely Connected Convolutional Networks[J]. 2016:2261-2269.

最新回复(0)