ResNet的产生
2015 年,Kaiming He 提出了ResNet(拿到了 2016 年 CVPR Best Paper Award),不仅解决了神经网络中的退化问题还在同年的ILSVRC和COCO 竞赛横扫竞争对手,分别拿下分类、定位、检测、分割任务的第一名。
ResNet的特点
Kaiming在文中提出了残差结构(Residual Block),使得原本所要拟合的函数,改为,其中,。虽然在“多个非线性层可以拟合任意函数”这一假设下二者并无区别,但是Kaiming 假设模型学习后者,将更容易进行优化与收敛。(在残差结构中,模型利用Shortcut进行Identity Mapping,这样也解决了梯度消失现象)。
示例代码
from torchvision.models.resnet import *
def get_net():model = resnet18(pretrained=True)model.avgpool = nn.AdaptiveAvgPool2d((1, 1))model.fc = nn.Sequential(nn.BatchNorm1d(512*1),nn.Linear(512*1, 你的分类类别数),)return model