迁移学习的原理及代码实现

目录

一、迁移学习的原理

1)实现步骤

1.选择预训练的模型和适当的层:

2、冻结预训练模型的参数:

3、在新数据集上训练新增加的层:

4、微调预训练模型的层:

5.评估和测试:

二、代码实现

1)首先读取resnet网络

2)冻结预训练模型参数

3)创建一个全连接层

4)  保存需要训练的参数

完整代码

代码修改

三、结果比较

1)训练所有参数

2)使用resnet网络,只训练需要更新的参数


一、迁移学习的原理

迁移学习是一种机器学习技术,迁移学习是指利用已经训练好的模型,在新的任务上进行微调。迁移学习可以加快模型训练速度,提高模型性能,并且在数据稀缺的情况下也能很好地工作。

原理是在一个或多个源领域(source domain)上学习到的知识、模型、特征、参数等,迁移到一个或多个目标领域(target domain)上,以提高目标领域上的学习性能。

具体来说,迁移学习的原理包括两个关键概念:源领域和目标领域源领域是指已经学习到的领域,可以是一个或多个。目标领域是指要进行学习的领域,也可以是一个或多个。

在迁移学习中,我们通过将源领域上的知识、模型、特征等应用到目标领域上,来提高目标领域上的学习性能。这个过程可能会涉及到一些技术,如特征提取、模型迁移、领域自适应等。

总之,迁移学习的原理就是通过利用已有的知识和数据,来加速新任务的学习过程,从而改善学习性能

1)实现步骤

1.选择预训练的模型和适当的层:

通常,我们会选择在大规模图像数据集(如mageNet) 上预训练的模型,如VGG、ResNet等。然后,根据新数据集的特点,选择需要微调的模型层。对于低级特征的任务(如边缘检测》,最好使用浅层模型的层,而对于高级特征的任务(如分类),则应选择更深层次的模型。

2、冻结预训练模型的参数:

保持预训练模型的权重不变,只训练新增加的层或者微调一些层,避免因为在数据集中过拟合导致预训练模
型过度拟合。

3、在新数据集上训练新增加的层:

在冻结预训练模型的参数情况下,训练新增加的层。这样,可以使新模型适应新的任务,从而共得更高的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值