雷锋网 AI 科技评论按:所谓的「迁移学习」,是指重新利用已训练的机器学习模型来应对新任务的技术。它给深度学习领域带来了许多好处,最明显的是,一旦无需从头开始训练模型,我们可以省下大量的计算、数据以及专业知识等资源。近期由亚马逊开源的 Xfer 数据库,可以让我们轻松应用及打造迁移学习原型,雷锋网(公众号:雷锋网) AI 科技评论将亚马逊算法工程师 Andreas Damianou 关于此库的介绍博文节译如下。

Xfer 是一款针对 MXNet 的迁移学习,为适那些希望达到以下目的的从业者与研究人员而设计:

将已训练的神经网络在新场景/任务中进行部署

基于现有网络架构打造新的神经网络原型方案。

换句话说,只要给定机器学习任务,Xfer 就能通过神经网络找到最佳解决方案,而无需你再从头开始进行训练。该库可以应用于任意的数据与网络,包括那些最常见的图像和文本数据。

使用 Xfer 的好处

节省资源:无需从头开始训练网络,从而节省大量的人力与 CPU / GPU 资源)。

提升处理能力:即使标签很少,我们也能对复杂的数据进行分类。

降低使用门槛:无需成为机器学习专家,就能轻松利用和修改现有的神经网络体系结构,创建出自己的解决方案。

便于从神经网络中提取特征。

提升原型设计速度:Xfer 的 ModelHandler 模块将能允许我们轻松修改神经网络的架构。

不确定性建模(Uncertainty modeling):通过贝叶斯神经网络(BNN)或高斯过程(GP),我们得以把控模型预测的不确定性。

演示 1:基于元模型的迁移学习

只要确定好目标任务的源模型(MXNet)和数据迭代器,你只需输入 3 行代码即可实现迁移学习:

下面的动图直观演示使用重新调整方法执行元模型迁移学习的操作:

基于元模型的转移学习

在该例子中,ModelHandler 用于获取已在源任务上预先进行训练的神经网络参数 W。在保持 W 原来参数的基础上,我们通过源任务中的预训练神经网络传递目标输入数据。过程中我们将获得描述目标数据以及源任务信息的表示,因为它们是由从中获取的参数 W 生成的。最后,我们调用 Repurposer 模块将上述特征当作元模型分类器的输入。在给出的代码中,元模型以「Lr」进行指代,代表的是 Logistic Regression.。

需要注意的是,如果使用的元模型基于高斯过程或贝叶斯神经网络(两者均构建在 Xfer 中),则可以在对目标任务的预测中进行不确定性预估。这也意味着,该方法可以「习得过去它们所不懂的东西」。这一点很重要,它可以借此应对标记数据过少的情况。

演示 2:基于微调的迁移学习

该方法允许用户事先细化预训练神经网络架构,比如通过 ModelHandler 模块添加或移除层,接着通过基于梯度的优化器微调用于目标任务的神经网络。通过使用 ModelHandler,我们可以尝试使用自定义的微调再利用方法来进行实验。例如,从预训练神经网络中选择要传输/冻结的图层。关于 ModelHandler 传输功能的代码展示如下:

上述代码的动图演示如下:

基于微调的转移学习

与上个任务很类似,ModelHandler 用于获取在源任务上预训练的神经网络参数 W,该源模型可以是预先训练好的 VGGNet。通过 ModelHandler,我们可以对源任务神经网络的架构进行调整;在这个示例中,我们在架构底部添加了一个新层(带有新进的初始化参数)。接下来基于微调的再利用方法对新架构进行训练,以使其适应目标任务的数据。Xfer 允许我们通过定义原始参数(上图中显示为蓝色)以及新参数(上图中显示为橙色)来实现基于微调的再利用方法。由于原始参数已包含源任务的信息,因此不应和学习值有太大出入,而新参数已经被随机初始化,因此应该以更高的学习率进行优化。

从今天开始使用 Xfer 吧

Github 开源网址:

https://github.com/amzn/xfer

Xfer 信息文档:

https://xfer.readthedocs.io/en/master/

图像数据的转移学习教程:

https://xfer.readthedocs.io/en/master/demos/xfer-overview.html

基于自动超参数调整的迁移学习教程:

https://xfer.readthedocs.io/en/master/demos/xfer-hpo.html

针对文本数据的迁移学习:

https://xfer.readthedocs.io/en/master/demos/xfer-text-transfer.html

创建自定义 repurposer 教程:

https://xfer.readthedocs.io/en/master/demos/xfer-custom-repurposers.html

用于便捷操作和检查 MXNet 模型的 xfer.ModelHandler,使用教程:

https://xfer.readthedocs.io/en/master/demos/xfer-modelhandler.html

via https://medium.com/apache-mxnet/xfer-an-open-source-library-for-neural-network-transfer-learning-cd5eac4accf0

雷锋网 AI 科技评论

再无需从头训练迁移学习模型!亚马逊开源迁移学习数据库 Xfer...相关推荐

  1. 再无需从头训练迁移学习模型!亚马逊开源迁移学习数据库 Xfer

    雷锋网 AI 科技评论按:所谓的「迁移学习」,是指重新利用已训练的机器学习模型来应对新任务的技术.它给深度学习领域带来了许多好处,最明显的是,一旦无需从头开始训练模型,我们可以省下大量的计算.数据以及 ...

  2. AI大事件 | 谷歌的计算引擎鸟枪换炮用上了更快的GPU,基于Python的亚马逊AWS深度学习AMI

    大数据文摘作品 编译 | 宁云州 呜啦啦啦啦啦大家好呀,又到了本周的AI大事件时间了.过去的一周中AI圈都发生了什么?大佬们互撕了哪些问题?研究者们发布了哪些值得一读的论文?又有哪些开源的代码和数据库 ...

  3. 亚马逊aws深度学习_AWS速查表:Amazon Web Services入门时首先要学习的5件事

    亚马逊aws深度学习 AWS has taken the tech community by storm. It's easily sold as one of the most reliable p ...

  4. 从ACM班、百度到亚马逊,深度学习大牛李沐的开挂人生

      "大神",是很多人对李沐的印象.作为一经推出便大受追捧的 MXNet 深度学习框架的主要贡献者之一,李沐功不可没.值得注意的是,这个由 DMLC(Distributed Mac ...

  5. 亚马逊开源模型设计神器:AutoGluon,三行代码自动生成SOTA模型!

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自新智元. 亚马逊最近宣布推出AutoGluon,这是一个新的开源库,开发人员可以使用该库构建包含图像.文本或表格数据集的机器学习应用程序.使用 ...

  6. 从 ACM 班、百度到亚马逊,深度学习大牛李沐的开挂人生

      "大神",是很多人对李沐的印象.作为一经推出便大受追捧的 MXNet 深度学习框架的主要贡献者之一,李沐功不可没.值得注意的是,这个由 DMLC(Distributed Mac ...

  7. 亚马逊云人工智能学习

    从这个课程可以学习到 什么是人工智能? 为什么Al很重要? 什么是机器学习和深度学习? 亚马逊如何在其产品中使用人工智能 在Aws中提供的支持服务和框架 用例 任何可以感知其环境并相应采取操作的设备都 ...

  8. 学习使用亚马逊国际获得AMAZON商品详情 API

    学习目标: 快速掌握接口的使用 亚马逊的API开发接口,我们需要做下面几件事情. 1)开放平台注册开发者账号: 2)然后为每个淘宝应用注册一个应用程序键(App Key) : 3)下载亚马逊API的S ...

  9. 五大数据库理念,读懂亚马逊云科技的数据库布局

    1970 年,关系型数据库之父 E.F.Codd 发表<用于大型共享数据库的关系数据模型>论文,正式拉开数据库技术发展序幕.以 Oracle.DB2.SQL Server 为代表的三大商业 ...

最新文章

  1. HP c3000/c7000 blade switch GBE2c 初始配置
  2. 你以为在做的是微服务?不!你只是做了个比单体还糟糕的分布式单体!
  3. list转torch tensor
  4. redhat php5 安装,完整的linux(RedHat)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明
  5. Spring Cloud与Duddo比较(非原创)
  6. oracle expdp ora39070,expdp时出错:ORA-39070: Unable to open the log file.
  7. mac 安装nodejs_阿里开源——用于前端和nodejs的轻量级任务管理和构建工具Dawn
  8. Windows平台下SVN安装配置及使用
  9. 1×pbs缓冲液配方_【应用】蒸渗仪与氧化还原电位的测量1
  10. 树状数组相关应用之二元变量结构体组队问题
  11. 关于Silverlight安装问题之四
  12. MyDAL - is null is not null 条件 使用
  13. DRF parser请求流程
  14. 线性二次型调节器(LQR)原理详解
  15. android系统版本下载6,安卓6.1系统下载 安卓android6.1官方版下载地址
  16. 企业为什么要建立档案管理?具体如何实现?
  17. 浅释丹道筑基功―—―混元桩【转载】
  18. 1T免费全能空间 注册即可开通
  19. 基于C++实现一个支持简单交互绘图小程序
  20. 纳尼?华为首席架构师只用434页笔记,就将网络协议给拿下了

热门文章

  1. JavaScript电子书合集,你不领一份儿吗
  2. linux epoll 机制
  3. 区块链的分类与地址长度
  4. 用Go快速搭建IM即时通讯系统
  5. 郑正中:中国商业智能的应用特点
  6. phplib php5,PHPLIB简明教程(中文)
  7. java与swift性能,Swift语言性能分析
  8. CenterNet学习记录(一)——COCO数据处理
  9. python 摄像头拍照是反的,Python/OpenCV网络摄像头向后移动
  10. pyqt5 使用label显示摄像头