残差网络(ResNet)
对于残差网络的一点个人理解:残差网络就是通过嵌套函数不断在原函数的基础上增加残差快
来扩大函数所能表示的范围以此来更能接近真正的表示函数复杂的函数类包含较小的函数类
残差块
ResNet模型
为什么深层的网络,底层比较难训练?
可以这样想:越靠近损失函数误差越小因为我们经过训练预测值和真实值之间的差距已经越来越小了所以梯度会越来越小当做反向传播的时候越往回传梯度就越小训练就越困难。
import torch
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2l
class Residual(nn.Module): #@save
def __init__(self, input_channels, num_channels,
use_1x1conv=False, strides=1):
super().__init__()
self.conv1 = nn