迁移学习
情况1:数据很少
在数据量很少的情况下,可以先使用公开的大数据集进行训练,然后改变全连接的最后一层,变成适合我们应用场景的全连接。冻结全连接最后一层之前全部参数,只用我们自己的数据集对全连接最后一层训练。
例如:我们可以用数据集ImageNet,网络结构VGG-16进行分类任务。原网络的结果可能是分成一千类,而我们需要的是区分十个小动物,那么我们可以先用ImageNet训练,训练好了之后,冻结全连接的最后一层之前的参数,将全连接最后一层的分类类别数改为十,然后用我们自己的数据集进行训练。
情况2:数据量多些
在数据量相对较多的情况下,也可以先用公开的大数据集进行训练,改变全连接层最后一层,变成适合我们应用场景的全连接。冻结所有连接层之前参数,用自己的数据集对全连接层进行训练。
情况3:数据差别大
比如我们是进行医学图像处理,那么显然和ImageNet这种数据集差别的有点大,但是也不是说ImageNet完全没有用武之地。可以多改变一些层,多尝试,也是可以使用的。