让AI去学习AI:你已经是个成熟的模型了,该学会自己训练了

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 导读:让计算机自己去学习和训练规则,是否能达到更好的效果呢?自动机器学习就是答案,也就是所谓“AI的AI”,让AI去学习AI。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

导读:让计算机自己去学习和训练规则,是否能达到更好的效果呢?自动机器学习就是答案,也就是所谓“AI的AI”,让AI去学习AI。

36532D0B_6CC0_456b_8B8A_9400D5E5379F

随着深度神经网络的不断发展,各种模型和新颖模块的不断发明利用,人们逐渐意识到开发一种新的神经网络结构越来越费时费力,为什么不让机器自己在不断的学习过程中创造出新的神经网络呢?

正是出于这个构思,2017年Google推出了AutoML,一个能自主设计深度神经网络的AI网络。

自此,人工智能又有了更进一步的发展,人们开始探索如何利用已有的机器学习知识和神经网络框架来让人工智能自主搭建适合业务场景的网络,人工智能的另一扇大门被打开。

01 深度学习vs自动化深度学习

随着深度神经网络的广泛应用和不断发展,越来越强大的网络模型被构建,从AlexNet,到VGGNet,GoogleNet以及ResNet。

虽然这些模型足够灵活,但人工神经网络结构仍然需要大量的专业知识并且需要充足的时间,而且调参对于深度模型来说也是一项非常痛苦的事情,众多的超参数和网络结构参数会产生爆炸性的组合。

是否有可能使这一过程自动化,让每一个人,甚至是不了解机器学习的人可以轻松地将机器学习应用于所面临的问题,自动化深度学习(AutoDL)就是答案。

如图1所示,是现在的深度学习方法与自动化深度学习的对比图,自动化深度学习的目标是通过超参数优化的方法让机器学会自动设计网络及调参优化。

F6C615BF_DB9D_4ef8_92FD_300497552653

02 什么是神经架构搜索(NAS)

神经架构搜索(NAS)是一种针对特定数据集从头开始自动设计性能良好的模型的技术,NAS技术与超参数优化所解决的问题相同:在搜索空间中找到对目标任务表现良好的网络结构。
NAS主要由三个基本问题组成,分别是搜索空间、优化方法、以及评估方法。

  • 搜索空间针对目标任务定义了一组可能的神经网络结构。
  • 优化方法确定如何探索搜索空间以找到好的架构。
  • 评估方法评估通过优化方法考虑的每种网络结构的性能。

由于神经网络的结构和连接通常可以由可变长度的字符串指定,在实际问题中,根据特定数据集生成指定的“子网络”,通过训练得到验证集的准确性。

3B533535_2B86_4038_94DC_C02761943C4D

  1. 搜索空间

如其名,就是可供搜索的一个网络结构集合,它的数字表示为:

网络的结构(如:神经网络的深度,即隐藏层个数,和特定的隐藏层宽度)
配置(如:操作/网络间的链接类型,核的大小,过滤器的数量)

因此,给定搜索空间,可以将其中的神经网络结构编码成该空间下的表示。这种搜索空间被称为marco(宏)搜索空间。

好的搜索空间为好的搜索结果提供可能性,搜索空间的设计不断发展,除了传统的链式结构外,“多分支”结构也开始起着越来越重要的作用,启发于ResNet和DenseNet提出的跳跃连接和密集连接,这些跳跃连接也已经被加入到搜索空间的定义中。

另一个趋势是设计一个只包含一个基本单元(cell)搜索空间,被用作整个网络中的block(如卷积块)的构建。这类搜索空间被称为micro(微)搜索空间,其中搜索成本和复杂性可以被显著的降低。

除了减小搜索复杂度外,仅仅通过改变单元(cell)堆叠的数量,可以很容易地把找到的最好的block的设计推广到其他任务。

  1. 搜索算法

搜索算法是一个迭代过程,用于确定以何种规则来探索搜索空间。

在搜索过程的每个步骤或迭代中,一个来自于搜索空间的样本会被生成,即子网络(child network)。所有的子网络在训练集上被训练,在验证集上的准确率作为目标被优化(或者是强化学习中的奖励)。

搜索算法的目的是找到最佳子网络,例如最小化验证集损失或最大化奖励。主流的NAS搜索策略大致可以分为强化学习、进化算法和可微分的梯度下降算法。

1)基于强化学习的方法

强化学习有三个基本要素:智能体(Agent)、环境(Environment)和奖励(Reward),智能体以 “试错”的方式进行学习,通过与环境交互获得奖励来指导行为。智能体和环境之间的交互可以被视为顺序决策过程:在每个时间t,Agent在动作集合中选择动作与环境交互并接收奖励。

969A984B_6A07_4d77_AEDD_BD83A516FBEB

神经架构自动搜索中,强化学习把架构的生成看成一个智能体(agent)在选择动作(action)的过程,通过在测试集上测试网络性能来获取奖励值(reward),从而指导架构的生成。

与传统的强化学习问题略有不同的是构建了一个RNN控制器,通过迭代的方式来更新控制器从而生成合适的架构。

BEB91DBE_8B52_47b9_AB40_4AAA1C80C5C2

2)基于进化算法的方法

基于进化算法的神经网络结构搜索,在演化步骤中,把子模型作为种群来进化。群体中的每个模型都是训练过的网络,并被视为个体,模型在验证集上的表现(例如,准确度)作为每个个体的质量好坏。基于进化算法神经架构搜索的通用流程如下:

初始化操作,对现有的各个个体进行编码,把这些个体编码成种群。
选择操作,从种群中根据适应度挑选出优秀的个体。
繁殖操作,分为两种:有性繁殖操作和无性繁殖操作,无性繁殖的操作包括变异操作,有性繁殖包括交叉操作或者组合操作。
网络训练操作,对上一步繁殖操作得到的所有个体神经网络进行训练,训练到收敛为止。
适应度计算操作,使用指定的验证集对每个已训练的网络计算验证准确率,把验证准确率作为适应度。

具体流程如下图所示:

E1C7AF44_B344_46cd_A85B_71393BF9EA8A

3)基于可微分架构搜索的方法

可微分架构搜索方法很多种,其中比较出名的是卡内基梅隆大学提出的DARTS(Differentiable Architecture Search)。

与传统的在离散的和不可微的搜索空间尚采用进化或强化学习搜索结构的方法不同,该方法是基于将结构表示的松弛化(relaxation),允许使用梯度下降来解决架构搜索的问题,所以效率可以比之前不可微的方法快几个数量级。

简单来说就是给操作(operations)的每个连接都赋一个权值alpha,优化的目的是为了通过梯度下降优化alpha矩阵,根据alpha的大小来确定连接方式。

神经网络原有的权重称为矩阵,在训练集上固定alpha矩阵的值,然后梯度下降矩阵的值,再验证集上固定矩阵的值,然后梯度下降alpha的值,循环往复直到这两个值都比较理想。

CD569453_9C42_41f5_9C2A_8676CC0713C7

03 加速方案

无论是基于强化学习还是进化算法的搜索,子网络都要被训练和评估,以指导搜索过程。但是从头开始训练每个自网络需要超大的资源和时间。所以NAS的加速方案被提出,主要代表方案是改进代理模型和权值共享。

  1. 改进代理(Improve proxy)

很明显代理模型的引入会带有误差,研究证明子网络的FLOPs(每秒计算的浮点数)和模型大小与最终准确度呈负相关,因此引入了一种应用于奖励计算的校正函数,通过早期停止获得子网络的精度,弥合代理与真实准确性之间的差距。

根据这一想法,研究者们提出了几种通过“预测”神经架构的精度来改进代理度量的方法,预计精确度较差的子网络将被暂停训练或直接放弃。以下是三种预测神经架构搜索的方法:

根据子网络的学习曲线预测神经架构的精度。
回归模型。使用基于网络设置和验证曲线的特征来预测部分训练模型的最终性能。
训练代理模型,基于progressively architectural properties预测子网络的准确性。

  1. 权值共享(Weight sharing)

在神经网络的搜索和训练过程中,涉及到很多权值和超参数,权值共享可以实现加速,在这里列举几个权值共享的经典方法:

在进化过程中,允许子网络继承父本的权重,而不是从头训练每个子模型。使用One shot 模型实现共享。
设计带有辅助超网络的“主”模型,以生成以模型架构为条件的主模型的权重。从超网络代表的分布中采样的权重。
使用one-shot模型,主要有两种方法:
第一种是训练表示各种候选结构的one-shot模型,然后使用预训练的one-shot模型权重在验证集上随机评估这些候选结构。
另一种是使用包含整个搜索空间的one-shot模型训练所有权重,同时,使用梯度下降来优化候选结构的分布。
通过网络转换/态射来探索搜索空间,它使用诸如插入层或添加跳过连接之类的操作将训练好的神经网络修改为新的结构。由于网络转换/态射从现有的训练网络开始,因此重用权重并且仅需为数不多的训练迭代来完成新的结构的训练。

F63E95EF_5CCC_4bc1_B597_EC78A743E4B0

04 神经网络架构搜索的快速实现

使用开源的开源自动机器学习项目例如微软的NNI和亚马逊的AutoGluon可以快速实现常用NAS算法。下面简单介绍使用AutoGluon在10分钟内快速实现ENAS的过程:

C90FDD70_695D_4d52_8DD5_700DFD78B83B
2B9E1B6F_3A9B_4d24_904E_7E6C0691CFF6

总结

传统的人工智能旨在使用机器帮助人类完成特定的任务,随着人工智能的发展,在计算机领域衍生出了机器学习,机器学习旨在通过计算机程序完成对数据的分析,从而得到对世界上某件事情的预测并做出决定。

当机器学习不断发展,其复杂程度也不断增加,完全依靠人为对计算机进行规定,使其按照人为设定的规则运行时,耗费了大量的人力资源。

如果让计算机自己去学习和训练规则,是否能达到更好的效果呢?自动机器学习就是答案,也就是所谓“AI的AI”,让AI去学习AI,从而减少人工的参与,让机器完成更复杂的工作,掀起下一代人工智能的浪潮。

关于作者:瞿晓阳 ,华中科技大学计算机系统结构博士,美国中佛罗里达大学访问学者,大型金融集团科技公司资深算法工程师,一直从事机器学习、大数据、体系结构方面的研究工作,在AutoML平台、面向AI的云原生架构、高性能计算、高效能存储系统等方面经验丰富。

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-05-13
本文作者:瞿晓阳
本文来自:“大数据DT 微信公众号”,了解相关信息可以关注“大数据DT

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
22天前
|
机器学习/深度学习 人工智能 并行计算
"震撼!CLIP模型:OpenAI的跨模态奇迹,让图像与文字共舞,解锁AI理解新纪元!"
【10月更文挑战第14天】CLIP是由OpenAI在2021年推出的一种图像和文本联合表示学习模型,通过对比学习方法预训练,能有效理解图像与文本的关系。该模型由图像编码器和文本编码器组成,分别处理图像和文本数据,通过共享向量空间实现信息融合。CLIP利用大规模图像-文本对数据集进行训练,能够实现zero-shot图像分类、文本-图像检索等多种任务,展现出强大的跨模态理解能力。
66 2
|
10天前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
59 9
|
4天前
|
人工智能 自然语言处理 搜索推荐
AI辅助教育:个性化学习的新纪元
【10月更文挑战第31天】随着人工智能(AI)技术的发展,教育领域迎来了一场前所未有的变革。AI辅助教育通过智能推荐、语音助手、评估系统和虚拟助教等应用,实现了个性化学习,提升了教学效率。本文探讨了AI如何重塑教育模式,以及个性化学习在新时代教育中的重要性。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI驱动的个性化学习平台构建###
【10月更文挑战第29天】 本文将深入探讨如何利用人工智能技术,特别是机器学习与大数据分析,构建一个能够提供高度个性化学习体验的在线平台。我们将分析当前在线教育的挑战,提出通过智能算法实现内容定制、学习路径优化及实时反馈机制的技术方案,以期为不同背景和需求的学习者创造更加高效、互动的学习环境。 ###
26 3
|
14天前
|
人工智能
AI科学家太多,谁靠谱一试便知!普林斯顿新基准CORE-Bench:最强模型仅有21%准确率
【10月更文挑战第21天】普林斯顿大学研究人员提出了CORE-Bench,一个基于计算可重复性的AI代理基准,涵盖计算机科学、社会科学和医学领域的270个任务。该基准旨在评估AI代理在科学研究中的准确性,具有多样性、难度级别和现实相关性等特点,有助于推动AI代理的发展并提高计算可重复性。
35 4
|
23天前
|
机器学习/深度学习 人工智能 Cloud Native
在AI师傅(AI-Shifu.com)学习通义灵码的旅程
在这个数字化时代,编程技能愈发重要。通过AI师傅平台,我接触并学习了阿里云推出的通义灵码。从初识到深入学习,我系统掌握了云计算基础、云原生技术、数据库管理和大数据与人工智能等方面的知识。通过实践项目,我不仅巩固了理论,还提升了实际操作能力。通义灵码的易用性和强大功能,让我对云计算有了全新认识。感谢AI师傅提供的学习机会,推荐大家参与征文活动,共同分享学习成果。
|
23天前
|
人工智能 自然语言处理
从迷茫到精通:揭秘模型微调如何助你轻松驾驭AI新热点,解锁预训练模型的无限潜能!
【10月更文挑战第13天】本文通过简单的问题解答形式,结合示例代码,详细介绍了模型微调的全流程。从选择预训练模型、准备新任务数据集、设置微调参数,到进行微调训练和评估调优,帮助读者全面理解模型微调的技术细节和应用场景。
61 6
|
22天前
|
人工智能
|
10天前
|
安全 搜索推荐 机器学习/深度学习
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】在人工智能的推动下,个性化学习系统逐渐成为教育领域的重要趋势。深度学习作为AI的核心技术,在构建个性化学习系统中发挥关键作用。本文探讨了深度学习在个性化推荐系统、智能辅导系统和学习行为分析中的应用,并提供了代码示例,展示了如何使用Keras构建模型预测学生对课程的兴趣。尽管面临数据隐私和模型可解释性等挑战,深度学习仍有望为教育带来更个性化和高效的学习体验。
34 0
|
机器学习/深度学习 人工智能 开发工具
打造AI训练基础平台!Unity推出Machine Learning Agents
但在未来,人工智能游戏选手或许将会面临新的对手:另一个人工智能。今天,全球最大的3D游戏引擎Unity宣布发布Unity Machine Learning Agents,通过将其游戏引擎与TensorFlow等机器学习框架相连接
1676 0

热门文章

最新文章

下一篇
无影云桌面