如果你对人工智能(AI)和物联网(IoT)有一些了解的话,不可避免地会对这两个领域结合的未来前景充满想象。随着计算机硬件技术的巨大进步,一些几十年前的先进理论知识终于可以在现实生活中得到实际应用;加上随着物联网市场的不断发展,人们能够更加容易地取得高质量的数据,从而能够开发出更好、更高性能的模型,特别是深度学习模型。
深度学习究竟是何方神圣?
近年来,人工智能技术推动了其他无数技术的进步,而深度学习就是人工智能技术的一种。尽管在上世纪50年代时,深度学习——正式称谓是“深度神经网络”就已经诞生,且在上世纪80年代取得了关键算法的突破,但直到最近,在计算机硬件进步到能够满足其理论需求的情况下,计算机科学家终于在巨大运算能力和大数据的协助下,挖掘出神经网络的巨大潜力。
深度学习算法由独特的多层体系结构表征,其中知识逐步从其作为输入的原始数据中“抽象出来(abstracted away)”。例如,当训练深度神经网络从一组随机影像中识别特定类型动物的图片时,它首先从像素级别考察影像,然后将该知识转换为“更高级别”知识,例如感兴趣对象的边缘,然后在最终对象(或者,继续我们的例子,动物)的一般可视化特征实施抽象之前、识别特定特征(例如爪子、尾巴等)。这里有趣的一点是,可以与一种全新类型的影像(例如卫星影像)一起、重复使用涉及较底层知识的早期层——因为无论影像表示什么,边缘都一直还是边缘。
值得注意的是,没有数据科学家曾明确地设计计算机算法来执行这种任务。相反,学习算法需要消化数十万幅影像,直到它自己找出并自己学习如何识别所需的对象。
为什么边缘深度学习很重要?
硬件进步推动了深度学习研究的发展,同时,也有一些新的巨大发现驱动着物联网设备的快速发展。值得一提的是,微控制器(MCU)的优势为人工智能应用创造了一个独特的机会,特别是那些深度学习赋能的应用,它们正以前所未有的规模和速度为消费者所接受。
MCU在基于深度学习的应用中有着显着优势,它不仅可以缩短延迟、节省带宽,而且能更好地保护隐私。这种直接安装在物联网设备上的人工智能应用,称之为人工智能边缘应用,一种应用应该部署在服务器、云端,或者是物联网设备的边缘,应取决于速度和精准度之间的权衡。一般来说,精准度越高,要求的系统就越复杂,模型会更大,因此不能总是储存在物联网设备有限的内存当中。
什么是迁移学习(transfer learning)?
在心理学语境下,迁移学习被定义为研究人类学习或表现对初步经验的依赖性。人类并没有被教导如何执行和掌握每一项可能的任务,相反,当他们遇到新情况时,设法利用将旧知识外推到新环境,以独特的举一反三方式解决问题。例如,当孩子学会挥动网球拍以后,他或她可以轻松地将这套技能迁移到乒乓球或棒球的练习;在概念性理解方面也是如此,比如成年人在预算中常用到的统计学或其他数学知识。
与人类行为的方式相反,大多数机器学习算法往往针对的是特定数据集或特定离散(discrete)任务的实现。机器学习研究人员最近越来越关注如何使计算机能够重复利用获得的知识,并将其重新应用于新任务和新领域,他们试图抽象和迁移从多个应用中提取的「智能」,通常有某种程度的相似。
虽然深度学习可以在无人监督的环境中使用,但它通常都是应用在监督学习(supervised learning)中。这意味着算法从由输入-输出对构成的案例中学习,然后用它来尝试识别模式并提取关系;目的是从新的、以前没有的数据中预测结果。深度学习在无数研究领域都有应用,但存在一个主要缺点:它们都是“贪婪”的算法,需要大量数据才能调适在神经网络架构中发挥作用的数千个参数。这意味着不仅需要大量数据才能获得上好性能;而且还需要对这些数据进行标记,这可能是项昂贵且耗时的工作,更糟糕的是,现实中高质量数据并不容易获得,更别说准确标记,用来训练模型了。
迁移学习可对此提供真正帮助,它允许为特定任务开发的模型作为另一个任务的起点重新使用。对于机器学习科学家来说,这是个令人兴奋的领域,因为它可以模仿人类将知识从一个专业任务推广到另一个专业任务。事实上,如果想要缩小深度神经网络训练所需要的数据规模,迁移学习将是一个关键策略。
还记得之前提出的关于模型如何学习识别深度学习网络中对象边缘的例子吗?这是可以迁移到另一类计算机视觉任务的确切知识。透过这种方式,模型能够学习如何识别猫和狗等常见动物,也能够迁移到更为复杂的任务上,比如识别癌症影像中的细胞核。
图1 构建人工智能应用时的不同学习方法。(来源:Figure Eight)
迁移学习策略
迁移学习无疑是解决大数据时代信息匮乏困境的一种雅致而自然的方式。但是,在实践中能够使用它之前,需要回答一些关于迁移学习的重要策略性问题:
1. 什么时候适合使用它?
2. 实施迁移的最佳方式是什么?
要回答这些问题,有必要深入研究迁移学习理论,以了解现有的不同迁移学习方法。
正如我们所看到的,有时候,在目标域中获取标记数据困难重重,而在另一个源域中却存在着大量标记数据,这时直推迁移学习正好可以发挥作用。在某些情况下,来源和目标要素空间不同;有时它们相同,但输入数据的边际概率分布不同,后一种情况的直推迁移学习与知识迁移的领域适应性密切相关。
然而,在科学家称之为归纳迁移学习的子案例中,目标和源任务彼此不同;实际上,有时甚至源域和目标域也不相同。在这种情况下,一些特定于目标域的标记数据仍然是必需的,以便归纳目标域的客观预测模型。
最后,即使目标任务与源任务不同,但仍然与源任务相关,无监督迁移学习设置允许(这是重点!)模型重用。
图2 不同的迁移学习策略。(来源:Figure Eight)
为什么迁移学习对数据科学家很重要?
受监督的机器学习算法有效的前提是,必须假设训练数据属于相同的特征空间,并且具有与用于推理的数据相同的分布。事实上,如果训练有素的模型无法概括,数据科学家首先要做的就是检查两个统计分布是否匹配,如果不匹配,也无需奇怪,有一种方法可以利用来自完全不同域的数据,该域数据丰富、标记成本低,且可将其用作培训资料,以解决特别是因为资料量贫乏而难以解决的问题。没错,这就是迁移学习目标所在。
正如我们所看到的,迁移学习有助于解决与监督学习通常所必需的大量数据收集和标记相关的潜在挑战。除了将预先学习的知识应用于全新任务之外,数据科学家还有一种期望,即透过重复使用这一先例知识,模型性能应该得到改善,与“传统”监督学习情况相比,培训时间应该大幅缩短。
事实上,在迁移学习的成功案例中,数据科学家可以预见到一些实际的好处,例如提高学习成绩、同时避免大量的数据收集和标记工作:
· 他们期望更强的起点,这意味着源模型的初始预测能力(在对模型精炼之前)高于其他情况。
· 他们期望源模型的改进率(更好的“学习曲线”)比通常使用监督学习在目标数据集上训练目标模型更好。
· 他们希望受训模型融合技能的最终表现优于没有迁移学习的情况。
简言之,资料科学家希望:其建模生产力得到提升;其任务所需的数据量,以及运算量下降、更可预测的开发过程,甚至因正在迁移的方法或数据已经“真实并经过测试”,从而在某种程度降低风险。
迁移学习作为随时可用的模式
从技术上来说,迁移学习是关于在模型参数内编码的知识,并利用该知识来解决不同的问题。实践中,迁移可以两种不同的方式进行:从基于原始数据的现有模型开始,或仅基于现有数据。
· 数据科学家首先会在现有模型中寻找那些能够满足他/她需求的备选模型,他/她可能甚至不知道该模型最初受训所用的数据。在这些情况下,讨论“预训练模型”,且迁移的知识已经编码到模型本身中,而机器学习专家的工作仅仅是使用透过称为热启动的过程、从目标域中获取的少量数据来微调模型。这是使用该过程最引人入胜的方式之一,因为实际上它使人工智能系统能够从少数案例中学习,从而使得训练阶段既快速又有效。这个过程是革命性的,因为它打开了协作人工智能的大门,让每个开发者和科学家都能利用现有的专业知识构建新知识,并且只专注于他们作为专家可以带来的价值。
· 数据科学家意识到,可用于训练监督模型的数据数量不足和/或质量不佳、或者标记数据太繁琐或昂贵;并且决定透过利用另一个现有标记数据集从头开始构建模型,而该数据集最初是在另一个任务或另一个域的背景下开发,这允许他/她使用现有标签以便更省钱或更容易地收集标签。在这种情况下,数据科学家从解决不同问题(不同任务)的常规监督学习方法开始,或使用另一个数据集解决手边的问题,然后,他/她利用微调模型来最终使其适应他/她的问题。
迁移学习还提供了节省运算功率的机会,这在运算量很大的模型环境中尤为重要。
为什么迁移学习对物联网很重要?
开发定制应用时经常会碰到的一个难题是“冷启动”问题。冷启动指的是当新用户浏览网站时,因为没有收集到原始资料,他/她的行为或偏好是未知的,所以网站信息的投放和呈现很难有针对性。这就是为什么在开始透过浏览和购物生成更多数据之前,在电子商务网站上得到的推送通常令人失望。
物联网存在类似问题。毕竟,由于新用户的偏好未知,因此很难为新的互连产品训练模型。在这些情况下,迁移学习方法可以提供帮助,因为热重启通常比重建整个模型所需的数据少得多,因此,它提供了一个机会,可以更快地“加载”新客户,而无需收集大量资料。在此情况下,“基础”模型将使用向大量客户收集到数据的组合来生成,这更有可能是普通用户预期的合理呈现。
迁移学习对于成功部署物联网深度学习应用也至关重要,这些应用需要复杂的机器以如此快的速度生成如此多的信息,以至根本无法找到足够的人类专家来标记它们,并在合理时间内从头开始训练新模型。想一想:如果标记数据并训练特定模型需要数天甚至数周时间,那么当模型准备好应用时,它很可能已经过时了。
总结
迁移学习确实为新应用打开了大门,绝对是构建智能物联网应用的关键要素之一。但是,需要采取一些特殊的预防措施来确保正确使用该技术。
随着消费者越来越关注其数据的使用,很自然地会质疑与物联网相关的潜在资料安全问题。如前所述,迁移学习通常意味着使用现有数据集构建的模型作为开发新方案的起点,但这些资料不一定是开放性资料:它有时可能是一大群人的数据聚合,甚至(更少情况)特定消费者的数据集。作为一般规则,数据科学家更喜欢使用聚合数据集,这不仅因为它在为新客户创建模型时提供了更可靠的世界观,而且还因为涉及的数据越多,可直接识别出特定个人的可能性就越小。
另外,还有更多与迁移学习相关的技术挑战。事实上,在某些情况下,知识根本不应被迁移,因为暴力迁移可能会损害目标领域的学习绩效,这种情况被称为负迁移。如何避免负迁移是一个重要的开放性问题,在研究界(包括Figure Eight)引起了越来越多的关注。
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”