专栏首页前沿技墅迁移学习:让Deep Learning快速落地

迁移学习:让Deep Learning快速落地

郑泽宇,现才云科技首席大数据科学家,曾任谷歌高级工程师。2013 年加入谷歌后,作为主要技术人员参与并领导多个大数据项目,拥有丰富机器学习、数据挖掘工业界及科研项目经验。2014 年,他提出将产品聚类项目用于衔接谷歌购物和谷歌知识图谱(Knowledge Graph)数据,使得知识卡片形式的广告逐步取代传统的产品列表广告,开启了谷歌购物广告在搜索页面投递的新纪元。2013年5月获得美国 Carnegie Mellon University(CMU)大学计算机硕士学位, 其间在顶级国际学术会议上发表数篇学术论文,并获得西贝尔奖学金。

从去年年初 AlphaGo 战胜李世石,到年底 Master 一波60连胜,再到最近DeepMind推出的AlphaGo Zero,仿佛棋神下凡的超级AI强手连发,把人工智能这个概念推上了历史的新高度。随着人工智能在公众层面的热度不断提升,业内人士的关注点却更加聚焦在AI与现实场景的结合,比如如何加速一个深度学习项目的落地。

说起如日中天的 AlphaGo Zero,人工智能专业人士最为之振奋的地方是它极大限度地降低了对标注数据的依赖。然而,同样从专业角度来看,这一个成果距离应用到真实场景中,还有很长一段路要走。目前,有大量AI科学家正在致力于缩短这一路径,尝试了各种各样新颖又有趣的方法。迁移学习就是其中一种重要手段,常被用于训练数据有限的真实场景里,可以较为容易地实现深度学习的既定目标。

所谓迁移学习,就是将在某一问题上已经训练好的模型尽快迁移到另外一个问题上。比如,让一个围棋高手在更短的时间内学会象棋,或者让一个训练好的人脸识别模型很快迁移到识别猪脸的问题上。

深度学习与传统机器学习

与传统的机器学习算法相比,深度学习的一大特点就是可以基于海量训练数据自动提取更加复杂的特征。这对于绝大多数非结构化数据的应用,是至关重要的。图1 对比了传统机器学习算法和深度学习算法的区别,并给出了在图像识别问题上深度学习自动提取特征的过程。在图像识别问题上,特征提取不是一件简单的事情。在一些复杂问题上,要通过人工的方式设计有效的特征集合,需要耗费大量时间和精力,有时甚至需要整个领域数十年的研究投入。例如从很多照片中识别汽车,已知的条件是汽车有轮子,寄希望于在图片相关数据中抽取类似“图片中是否出现轮子”这样的特征。但实际上,要从图片的像素中描述一个轮子的模式是非常难的。虽然车轮的形状很简单,但在实际图片中,车轮上可能会有来自车身的阴影、金属车轴的反光,周围物品也可能会部分遮挡车轮。正因为实际图片中存在各种不确定的因素,让我们很难直接抽取这样的特征。

图1 深度学习自动特征提取过程示意

虽然深度学习可以自动提取特征,然而要提取的特性却并不是免费的。深度学习需要大量的训练数据,才能从原始的特征中提炼出有意义的特征。所以如图2所示,当数据量较小的时候,神经网络的模型可能反而不如传统机器学习模型。

图2 在不同数据量上各类模型的正确率

迁移学习

在实际应用中,标注大量的训练数据需要很长的时间和很多的人力。为了降低深度学习算法对数据量的需求,迁移学习就是一个非常常用的方法。比如在图像分类问题中,使用在 ImageNet 上训练好的卷积神经网络模型是一个非常常用的方法。如果将卷积层看成是对图片进行特征提取的过程,那么在一个相对通用的数据集上训练好的模型就有可能可以被使用到另一个问题上。如图1 所示,将新的图像信息通过已经训练好的深层神经网络模型移植到倒数第二层的过程,可以被看成对新图像的特征提取过程,这个过程得到的结果可以被理解为新图片的 embedding 向量。因为在原来的ImageNet问题中,通过这个向量加上最后一个全连接层就可以区分1000类物体,所以我们认为这个向量能够很好地表达图片中物体的特征。比如使用 ImageNet 上训练好的Inception-v3模型,可以在没有GPU的机器上,仅使用2个小时就能很好地迁移到花朵种类分类问题上,并达到大约90%的准确率。

PROJECTOR界面

对迁移学习中特征向量的效果进行验证,往往不够直观。为了更加直观地让大家了解这类embedding向量的效果,TensorBoard提供了 PROJECTOR 界面来可视化高维向量之间的关系,使用起来非常方便。比如,在图像迁移学习中,可以将一组目标问题的图片,通过训练好的卷积层来得到瓶颈层,这些瓶颈层向量就是多个高维向量。在目标问题图像数据集上,同一种类的图片,在经过卷积层之后,得到的瓶颈层向量,如果在空间中比较接近,那么迁移学习得到的结果,就更加可能会比较好。类似地,在训练单词向量的时候,语义相近的单词所对应的向量,在空间中的距离如也比较接近的话,那么自然语言模型的效果也会更好。

为了更直观低呈现TensorBoard PROJECTOR的效果,图3向我们展示了使用 MNIST 数据训练前和训练后的embedding向量结果。从图中可以看出,在训练之前,模型的分类效果不是很理想,左侧上不同颜色的图片(代表不同的类别)相对混乱地挤在一起。但是训练之后,从右侧的图上可以明显的看出,不同颜色的图片的区分度还是比较大的。

图3. 不同迭代轮数下MNIST测试数据在瓶颈层的向量可视化结果

在实际应用中,我们可以根据新问题的测试数据,通过已经训练好的模型的卷积层来获取 embedding 向量矩阵。通过对这个向量矩阵的可视化分析,能够更好地判断已有的模型,是否能够被很好地迁移到新的问题。


本文作者郑泽宇的首著《TensorFlow:实战Google深度学习框架》一经问世,即受到广泛关注,成为该领域不可或缺的参考资料及入门指南。然后,TF 的版本更新速度和技术演变进程实在是远超 Boy 预料,为紧跟TensorFlow 最新技术动态,提供更为及时和精确的指导,泽宇已笔耕数月,于美国家中闭关写作本书新版。如急于上手TF,也可点击文末 阅读原文 抢先读起来!

本文分享自微信公众号 - 前沿技墅(Edge-Book),作者:郑泽宇著 佳禾编

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 当人工智能遇到游戏

    用户1682855
  • AI对话系统3.0:社交聊天机器人

    最近,人工智能领域的后起之秀Facebook着实火了一把。根据2017 年6 月17 日美国《大西洋月刊》的报道,Facebook人工智能实验室设计的两个聊天机...

    用户1682855
  • 瑜亮之争:Vue与React的差异

    在 React 和 Vue 之间存在许多相似性。Vue 的设计理念充分汲取了 Angular 和 React 的优点并将它们结合起来,所以如果你真的特别喜欢 R...

    用户1682855
  • 米少熬好粥:数据有限时怎样调优深度学习模型

    所谓迁移学习,就是将一个问题上训练好的模型通过简单的调整,使其适用一个新的问题,可以认为是一种模型调优的“取巧”方法。可以类比人的举一反三能力。

    腾讯移动品质中心TMQ
  • 深度学习之迁移学习介绍与使用

    在深度学习领域,通过预训练模型作为检查点开始训练生成神经网络模型实现对新任务的支持,这种方法通常被称为迁移学习,它的好处是不用再重头开始设计与训练一个全新的网络...

    OpenCV学堂
  • AI综述专栏 | 迁移学习简明手册

    在科学研究中,从方法论上来讲,都应先见森林,再见树木。当前,人工智能科技迅猛发展,万木争荣,更应系统梳理脉络。为此,我们特别精选国内外优秀的综述论文,开辟“AI...

    用户7282388
  • "自动作诗机"上线,代码和数据都是公开的

    最近对自然语言生成或者文本自动生成技术比较感兴趣,做了一些调研,作为自然语言处理领域的难题之一,个人一直觉得自然语言生成(NLG)是最难的,虽然这一两年动辄会看...

    AINLP
  • tensorflow学习笔记(九):tf.shape()与tensor.get_shape()

    我们经常会这样来feed数据,如果在运行的时候想知道None到底是多少,这时候,只能通过tf.shape(x)[0]这种方式来获得.

    ke1th
  • 托管还是重建,企业如何用好公有云

    数字化转型继续为企业的业务发展创造机会。由于英国脱欧的不确定性,英国很多企业正在考虑实施数字化转型计划,以确保业务持续增长。许多人认为数字化转型是提高竞争力的关...

    CloudBest
  • TensorFlow 实战卷积神经网络之 LeNet

    作者 | fendouai 编辑 | 磐石 出品 | 磐创AI技术团队 【磐创AI导读】:前几篇文章中我们介绍了一些机器学习、深度学习入门资源项目合集,本篇则是...

    磐创AI

扫码关注云+社区

领取腾讯云代金券