迁移学习与微调的关系
2017-11-30 16:34
330 查看
迁移学习与微调的关系
来看一下CS231n对于迁移学习的解释吧。
在实际中,因为数据量小的缘故,很少有人会去从零开始去训练出一个CNN(train from scratch)。相反,普遍的做法都是在一个大的数据集上(比如ImageNet,包含120万张来自1000的类的数据集)进行预训练一个CNN模型,然后在这使用这个模型作为固定特征提取器或者网络的初始化权重应用在特定的任务中。主要的迁移学习的场景:
Ø CNN feature + classifier;这个比较好理解,通常做法就是在大的数据集(比如ImageNet)上训练出一个CNN,然后提取最后一层卷积层或者倒数第二层全连接层的输出作为CNN 特征,然后直接使用 SVM、贝叶斯或softmax等分类器进行分类;
Ø Fine-tuning:将在大数据集上训练得到的weights作为特定任务(小数据集)的初始化权重,重新训练该网络(根据需要,修改全连接层输出);至于训练的方式可以是:1.微调所有层2.固定网络前面几层权重,只微调网络的后面几层,这样做有两个原因:A. 避免因数据量小造成过拟合现象;B.CNN前几层的特征中包含更多的一般特征(比如,边缘信息,色彩信息等),这对许多任务来说是非常有用的,但是CNN后面几层的特征学习注重高层特征,也就是语义特征,这是针对于数据集而言的,不同的数据集后面几层学习的语义特征也是完全不同的;
从上面大致可以看出迁移学习其实就是一种学习得到的知识对另一种知识的学习的影响。迁移学习它可以看作是一种学习体系,关注的核心问题是,如何将之前学习的得到的“知识”运用到其他领域中去。而fine-tune只是迁移学习的一种实现手段。通俗的讲就是,有点像武侠小说中的“吸星大法”将别人修炼好的功力直接吸收过来,然后自己稍微打坐,疏通一下经脉,把吸收过来的工作化为己用。
https://cs231n.github.io/transfer-learning/#tf
来看一下CS231n对于迁移学习的解释吧。
在实际中,因为数据量小的缘故,很少有人会去从零开始去训练出一个CNN(train from scratch)。相反,普遍的做法都是在一个大的数据集上(比如ImageNet,包含120万张来自1000的类的数据集)进行预训练一个CNN模型,然后在这使用这个模型作为固定特征提取器或者网络的初始化权重应用在特定的任务中。主要的迁移学习的场景:
Ø CNN feature + classifier;这个比较好理解,通常做法就是在大的数据集(比如ImageNet)上训练出一个CNN,然后提取最后一层卷积层或者倒数第二层全连接层的输出作为CNN 特征,然后直接使用 SVM、贝叶斯或softmax等分类器进行分类;
Ø Fine-tuning:将在大数据集上训练得到的weights作为特定任务(小数据集)的初始化权重,重新训练该网络(根据需要,修改全连接层输出);至于训练的方式可以是:1.微调所有层2.固定网络前面几层权重,只微调网络的后面几层,这样做有两个原因:A. 避免因数据量小造成过拟合现象;B.CNN前几层的特征中包含更多的一般特征(比如,边缘信息,色彩信息等),这对许多任务来说是非常有用的,但是CNN后面几层的特征学习注重高层特征,也就是语义特征,这是针对于数据集而言的,不同的数据集后面几层学习的语义特征也是完全不同的;
从上面大致可以看出迁移学习其实就是一种学习得到的知识对另一种知识的学习的影响。迁移学习它可以看作是一种学习体系,关注的核心问题是,如何将之前学习的得到的“知识”运用到其他领域中去。而fine-tune只是迁移学习的一种实现手段。通俗的讲就是,有点像武侠小说中的“吸星大法”将别人修炼好的功力直接吸收过来,然后自己稍微打坐,疏通一下经脉,把吸收过来的工作化为己用。
https://cs231n.github.io/transfer-learning/#tf
相关文章推荐
- keras 迁移学习, 微调, model的predict函数定义
- 强化学习、深度学习和迁移学习的关系
- 深度学习系列Part2:迁移学习和微调深度卷积神经网络
- 迁移学习和微调深度卷积神经网络
- 深度学习系列Part2:迁移学习和微调深度卷积神经网络
- 关于迁移学习和模型微调的一些总结
- CS231n 卷积神经网络与计算机视觉 11 卷积神经网络的 迁移学习 和微调
- 迁移学习(transfer learning)和微调(fine-tune)的几点认识
- keras搬砖系列-迁移学习与微调
- 深度学习系列Part2:迁移学习和微调深度卷积神经网络
- 迁移学习心得,OpenStack
- UML学习(1)图说UML中的六大关系
- mybatis学习 一对多关系和多对多关系
- train-loss和test-loss之间关系:网络学习情况
- Hibernate学习笔记_关系映射_学生_课程_分数
- 通过 Dubbo Demo 深入学习 Dubbo 的运行过程与节点调用关系
- Laravel学习笔记(三)数据库 数据库迁移
- effective C ++ 学习笔记之 item 31 将文件间的编译依赖关系降至最低(未完成)
- UML学习手记(三):条形裤工具以及用例和场景的关系