预训练网络:从图像识别到图像生成
1. 预训练网络基础
在深度学习中,预训练网络是一种强大的工具。以 AlexNet 为例,当我们有精确尺寸的输入数据时,可以进行前向传播,即输入数据通过第一层神经元,其输出再传递到下一层神经元,直至得到最终输出。实际操作中,若有合适类型的输入对象,可使用 output = alexnet(input) 进行前向传播。
然而,若直接这样做,得到的结果可能是毫无意义的。因为网络未初始化,其权重(输入数据进行加法和乘法运算的数值)未经过任何训练,网络就像一张白纸(或者说随机的状态)。我们要么从头开始训练,要么加载之前训练好的权重。
在 PyTorch 的 models 模块中,大写名称对应实现计算机视觉流行架构的类,小写名称则是实例化具有预定义层数和单元数的模型的函数,还可选择下载并加载预训练权重。使用这些函数并非必需,但能方便地实例化与预训练网络构建方式匹配的模型。
2. ResNet 网络
2.1 实例化 ResNet101
ResNet 是一种非常重要的卷积神经网络架构。在 2015 年残差网络出现之前,深度网络的稳定训练被认为极其困难。ResNet 采用了一种技巧,使得深度网络的训练成为可能,并在当年一举打破了多个基准。
我们可以使用 resnet101 函数实例化一个 101 层的卷积神经网络,并通过传递参数 pretrained=True 来下载在 ImageNet 数据集上训练好的权重。ImageNet 数据集包含 120 万张图像和
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



