分享好友 最新资讯首页 最新资讯分类 切换频道
迁移学习基础教程
2024-11-07 21:22

近些年来,机器学习包括深度学习的发展,使模型的准确率越来越高。但是,如果将已有的模型直接拿来处理同类型的问题,结果却差强人意。迁移学习(Transfer Learning)提供了这一问题的解决方法。NAIE平台提供了迁移学习SDK,可以方便大家轻松使用多种常见的迁移学习方法,解决不同任务之间迁移的问题。 您只要将源域和目标域的数据准备好,就可以轻松使用迁移学习SDK训练出一个更好的模型。迁移学习SDK分为可迁移性判别方法、浅层迁移学习方法和深层迁移学习方法。集成了学术界和工业界常用的迁移学习能力,并在可迁移性判别上引入了一套独有的判别方法。

迁移学习基础教程

1、可迁移性判别方法

NAIE平台提供的可迁移性判别方法SDK,可用于评估数据是否适用于迁移、哪种浅层迁移方法最有效。

迁移数据评估方法 (EasyTransferability) 评估数据是否适用于迁移。将源域和目标域的数据特征同时作为该方法的输入,该方法会输出一个评估分数,如果分数大于0.5,说明数据适合迁移。

浅层迁移算法评估方法 (metaTrans) 评估各浅层迁移学习方法迁移的效果。将源域的数据特征和标签、目标域的数据特征作为输入,该方法会分别使用各浅层迁移学习方法SDK预置的历史meta信息先训练出对应的SDK模型,然后分别使用SDK模型来预测源域和目标域的数据迁移效果,给出各SDK方法迁移的效果评估分数,如果分数大于1,说明使用对应的SDK来完成迁移学习是有效的,最终会给出效果最好的浅层迁移学习方法。

2、浅层迁移学习方法

基于数据特征和样本迁移,迁移时需同时使用源域和目标域数据,目标域数据无需标签。迁移学习完成后输出新的源域和目标域数据。 浅层迁移学习方法分类如下

(1)特征迁移 (2)不需要源域的标签信息 对源域和目标域的数据特征进行变换或重构,得到分布对齐的样本表示,只需要使用源域和目标域的数据特征,不需要源域的标签信息。该类方法有:CMF (Collective Matrix Factorization)、CORAL (CORrelation ALignment)、GFK (Geodesic Flow Kernel)、LSDT (Latent Space Domain Transfer)、MSDA (Marginalized Stacked Denoising AutoEncoder)、PCA (Principal Component Analysis)、RANDPROJ (Random Projection to one dimension)、SA (Subspace Alignment)、TCA (Transfer Component Analysis) (3)需要源域的标签信息 对源域和目标域的数据特征进行变换或重构,得到分布对齐的样本表示,需要使用源域数据特征和标签信息、目标域的数据特征。该类方法有:ITL (Information-Theoretical Learning) (4)样本迁移在源域中选择和目标域相关性高的样本迁移,需要使用源域数据特征和标签信息、目标域的数据特征。该类方法有:KMM (Kernel Mean Matching)

3、深层迁移学习方法

基于深度自适应网络和深度对抗网络迁移,深度网络迁移训练时需同时使用源域和目标域数据,目标域数据无需标签。 深层迁移学习方法适用于图像、语音、文本、通信等业务领域。 深层迁移学习方法分为: AFN (Adaptive Feature Norm):一种具有较大范数的无监督网络自适应方法。 DAN (Deep Domain Adaptation Network):一种采用多核MMD度量(MK-MMD),并将多核MMD的参数学习融入到深度网络的训练中,不增加网络的额外训练时间,以达到深度网络自适应目的方法。 RevGrad (DANN, Deep Adversarial Domain Adaptation):一种具有对抗性训练和梯度逆转层的深层网络迁移方法。

下文以使用浅层迁移学习方法GFK (Geodesic Flow Kernel)为例,介绍如何使用可迁移性判别方法和浅层迁移学习方法。深层迁移学习方法请参见迁移学习进阶教程。

1、导入依赖库

from naie.datasets import data_reference from naie.feature_processing import data_flow

2、读取数据集

我们以Office+Caltech数据集为例。 Office+Caltech为目标识别领域10分类数据集,分为 C(Caltech):1123个样本,800维特征,最后一列为标签信息。 A(Amazon):958个样本,800维特征,最后一列为标签信息。 W(Webcam):295个样本,800维特征,最后一列为标签信息。 D(DSLR):157个样本,800维特征,最后一列为标签信息。 数据集下载路径 https://github.com/jindongwang/transferlearning/blob/master/data/dataset.md#officecaltech 将Amazon数据集作为源域,DSLR数据集作为目标域,并提前在NAIE训练平台上导入Amazon和DSLR数据集。 选取源域和目标域数据特征和标签 # 将源域数据转换成dataframe source_dr = data_reference.get_data_reference(dataset=‘Default’, dataset_entity=‘amazon’) source_data = data_flow.create_data_flow(source_dr).to_pandas_dataframe() # 将目标域数据转换成dataframe target_dr = data_reference.get_data_reference(dataset=‘Default’, dataset_entity=‘dslr’) target_data = data_flow.create_data_flow(target_dr).to_pandas_dataframe() # 选取源域和目标域数据特征和标签 SX = source_data.values[:,:-1] SY = source_data.values[:,-1] TX = target_data.values[:,:-1] TY = target_data.values[:,-1]

3、迁移评估

评估迁移数据 评估将Amazon数据集作为源域,DSLR数据集作为目标域,是否适用于迁移。 from naie.transfer_learning import EasyTransferability model = EasyTransferability() score = model.predict(SX, TX) print("evaluation score: ", ‘{:.2f}’.format(score)) 如果评估分数大于0.5,说明源域和目标域数据适合迁移。本例中评估分数为0.97,说明可以迁移。

评估迁移算法 评估使用哪种浅层迁移学习方法有效。 from naie.transfer_learning import metaTrans tasks = [(SX, SY, TX, None)] # The algorithm_names paremeter is list of algorithms need to be evaluated. algorithm_names = [‘CMF’, ‘CORAL’, ‘GFK’, ‘ITL’, ‘KMM’, ‘MSDA’, ‘PCA’, ‘RPROJ’, ‘SA’, ‘TCA’] model = metaTrans() score = model.evaluate(tasks, algorithm_names) print("The best transfer is: ", score) 评估结果显示:The best transfer is: {‘GFK’: 5.51}。 下面我们就使用浅层迁移学习方法GFK来完成数据迁移。

4、使用GFK方法完成迁移 导入浅层迁移学习方法库和依赖库 from naie.transfer_learning import ShallowTransferLearning import numpy as np import pandas as pd

使用GFK方法迁移数据 gfk = ShallowTransferLearning(“GFK”) new_SX, new_TX, _ = gfk.fit(SX, TX)

最新文章
产品人赵帅:揭秘微软小冰从0到1的故事,及其背后的产品逻辑
产品人是人人都是产品经理社区新推出的一个特色栏目。通过对不同行业、不同领域最前线的产品骨干、产品 leader 进行深度采访,为
红薯AI克隆工具:一键克隆,矩阵多开,自动发布!
之前太侠分享了小红书的图文批量生成工具,《小红书图文批量排版生成工具推荐》。今天太侠分享一个小红书AI克隆工具,当属2024年
DIY从入门到放弃:硬盘该选哪种分区?
不管是固态硬盘还是机械硬盘,在安装系统的时候,我们会遇到这样一个选项,硬盘选择MBR还是GPT分区,MBR(主引导记录)与GPT(GU
提升seo自然排名(seo提升排名) (今日更新中)
  提升seo自然排名tjldxdkjyxgs,那家seo好,山东seo排名,网站排名优化哪家好,优化排名选哪家,seo上排名,烟台搜索引擎优化排名,s
8种SEO优化技巧超级蜘蛛查
创作高质量的内容时,要确保信息的原创性与实用性,避免复制粘贴他人内容。在内容中融入适当的关键词,并注重内容的结构和排版,
Airtest-Selenium实操小课:爬取新榜数据
1. 前言 最近看到群里很多小伙伴都在用Airtest-Selenium做一些web自动化的尝试,正好趁此机会,我们也出几个关于web
#### 文案生成器免费版:无需投资即可享受智能服务
在数字时代,内容创作已成为多人的日常工作之一。无论是社交媒体运营、广告文案撰写,还是网络小说创作,高效地产出优质内容都是
再看快速排序(QuickSort)
      快速排序是一个十分伟大的算法,作为再一次的学习,写一写快排以及和快排相关的问题。 1.基本的快速排序方
阿里伴侣配合阿里巴巴打造全方位线上推广
在当今竞争激烈的电商时代,企业的线上推广至关重要。阿里巴巴作为全球知名的电商平台,为众多企业提供了广阔的发展空间。而阿里