分享好友 最新资讯首页 最新资讯分类 切换频道
迁移学习基础教程
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)

最新文章
python实现将Word文档中的文字转换成语音的操作步骤
在Python中实现文字转语音(Text-to-Speech, TTS)功能,能够广泛应用于多种场景,如语音助手、有声读物、无障碍阅读等。本文将
智能AI创作平台官网 - 创意内容生成新元
智能AI创作平台官网 - 创意内容生成新元在信息爆炸的时代创意内容的生产与传播变得愈发必不可少。智能创作平台的诞生不仅为创作
洛阳seo 洛阳SEO优化策略,提升网站排名的秘诀
在当今数字化时代,企业想要在激烈的市场竞争中脱颖而出,SEO(搜索引擎优化)已成为不可或缺的战略利器谈及“洛阳SEO”,我们不
在床上的72种扦插方法-如何在卧室打造绿色植物的生机与美感!
在现代生活中,越来越多的人开始重视家居环境的美化和空气质量的提升。床上的空间,作为我们日常生活中最重要的区域之一,通常只
百度软文吸粉推广(百度软文吸粉推广方案)
大家好,今天小编关注到一个比较有意思的话题,就是关于百度软文吸粉推广的问题,于是小编就整理了2个相关介绍百度软文吸粉推广
可以发外链的网站_做好网站seo:外链发布小技巧
当然发布外链也有坏处的时候,有的站长为了快速提升网站排名,可能在某个时间内发布了大量的纯文本外链和锚文本外链
删了微信好友怎么加回来
在使用微信的过程中,我们可能会因为各种原因不小心删除了某些好友。当意识到这一操作时,很多人会感到懊恼,尤其是对于那些重要
50个小学生百科知识来挑战快问快答!__2
网上科普有关“50个小学生百科知识来挑战快问快答!_”话题很是火热,小编也是针对50个小学生百科知识来挑战快问快答!_寻找了一