谷歌发布颠覆性研究:不训练不调参,AI自动构建超强网络,告别炼丹一大步...

640?wx_fmt=png来源:凹非寺

机器学习全靠调参?这个思路已经过时了。

谷歌大脑团队发布了一项新研究:

只靠神经网络架构搜索出的网络,不训练,不调参,就能直接执行任务。

这样的网络叫做WANN,权重不可知神经网络。

它在MNIST数字分类任务上,未经训练和权重调整,就达到了92%的准确率,和训练后的线性分类器表现相当。

除了监督学习,WANN还能胜任许多强化学习任务

团队成员之一的大佬David Ha,把成果发上了推特,已经获得了1300多赞:

640?wx_fmt=jpeg

那么,先来看看效果吧。

效果

谷歌大脑用WANN处理了3种强化学习任务。

(给每一组神经元,共享同一个权重。)

第一项任务,Cart-Pole Swing-Up。

640?wx_fmt=gif

这是经典的控制任务,一条滑轨,一台小车,车上一根杆子。

小车在滑轨的范围里跑,要把杆子从自然下垂的状态摇上来,保持在直立的位置不掉下来。

(这个任务比单纯的Cart-Pole要难一些:

Cart-Pole杆子的初始位置就是向上直立,不需要小车把它摇上来,只要保持就可以。)

难度体现在,没有办法用线性控制器 (Linear Controller) 来解决。每一个时间步的奖励,都是基于小车到滑轨一头的距离,以及杆子摆动的角度

WANN的最佳网络 (Champion Network) 长这样:

640?wx_fmt=jpeg

它在没有训练的状态下,已经表现优异:

640?wx_fmt=gif

表现最好的共享权重,给了团队十分满意的结果:只用几次摆动便达到了平衡状态。

第二项任务,Bipedal Waker-v2。

640?wx_fmt=gif

一只两足“生物”,要在随机生成的道路上往前走,越过凸起,跨过陷坑。奖励多少,就看它从出发到挂掉走了多长的路,以及电机扭矩的成本 (为了鼓励高效运动) 。

每条腿的运动,都是由一个髋关节、和一个膝关节来控制的。有24个输入,会指导它的运动:包括“激光雷达”探测的前方地形数据,本体感受到的关节运动速度等等。

比起第一项任务中的低维输入,这里可能的网络连接就更多样了:

所以,需要WANN对从输入到输出的布线方式,有所选择。

这个高维任务,WANN也优质完成了。

你看,这是搜索出的最佳架构,比刚才的低维任务复杂了许多:

640?wx_fmt=jpeg

它在-1.5的权重下奔跑,长这样:

640?wx_fmt=gif

第三项任务,CarRacing-v0

这是一个自上而下的 (Top-Down) 、像素环境里的赛车游戏。

一辆车,由三个连续命令来控制:油门、转向、制动。目标是在规定的时间里,经过尽可能多的砖块。赛道是随机生成的。

研究人员把解释每个像素 (Pixel Interpretation) 的工作交给了一个预训练的变分自编码器 (VAE) ,它可以把像素表征压缩到16个潜在维度。

这16维就是网络输入的维度。学到的特征是用来检测WANN学习抽象关联 (Abstract Associations) 的能力,而不是编码不同输入之间显式的几何关系。

这是WANN最佳网络,在-1.4共享权重下、未经训练的赛车成果:

640?wx_fmt=gif

虽然路走得有些蜿蜒,但很少偏离跑到。

而把最佳网络微调一下,不用训练,便更加顺滑了:

640?wx_fmt=gif

总结一下,在简单程度和模块化程度上,第二、三项任务都表现得优秀,两足控制器只用了25个可能输入中的17个,忽略了许多LIDAR传感器和膝关节的速度。

WANN架构不止能在不训练单个权重的情况下完成任务,而且只用了210个网络连接 (Connections) ,比当前State-of-the-Art模型用到的2804个连接,少了一个数量级。

做完强化学习,团队又瞄准了MNIST,把WANN拓展到了监督学习的分类任务上。

一个普通的网络,在参数随机初始化的情况下,MNIST上面的准确率可能只有10%左右。

而新方法搜索到的网络架构WANN,用随机权重去跑,准确率已经超过了80%

如果像刚刚提到的那样,喂给它多个权值的合集,准确率就达到了91.6%

640?wx_fmt=jpeg

对比一下,经过微调的权重,带来的准确率是91.9%,训练过的权重,可以带来94.2%的准确率。

再对比一下,拥有几千个权重的线性分类器:

640?wx_fmt=jpeg

也只是和WANN完全没训练、没微调、仅仅喂食了一些随机权重时的准确率相当。

论文里强调,MINST手写数字分类是高维分类任务。WANN表现得非常出色。

并且没有哪个权值,显得比其他值更优秀,大家表现得十分均衡:所以随机权重是可行的

640?wx_fmt=jpeg

不过,每个不同的权重形成的不同网络,有各自擅长分辨的数字,所以可以把一个拥有多个权值的WANN,用作一个自给自足的合集 (Self-Contained Ensemble) 。

实现原理

不训练权重参数获得极高准确度,WANN是如何做到的呢?

神经网络不仅有权重偏置这些参数,网络的拓扑结构、激活函数的选择都会影响最终结果。

640?wx_fmt=jpeg

谷歌大脑的研究人员在论文开头就提出质疑:神经网络的权重参数与其架构相比有多重要?在没有学习任何权重参数的情况下,神经网络架构可以在多大程度上影响给定任务的解决方案。

为此,研究人员提出了一种神经网络架构的搜索方法,无需训练权重找到执行强化学习任务的最小神经网络架构。

谷歌研究人员还把这种方法用在监督学习领域,仅使用随机权重,就能在MNIST上实现就比随机猜测高得多的准确率。

论文从架构搜索、贝叶斯神经网络、算法信息论、网络剪枝、神经科学这些理论中获得启发。

为了生成WANN,必须将权重对网络的影响最小化,用权重随机采样可以保证最终的网络是架构优化的产物,但是在高维空间进行权重随机采样的难度太大。

研究人员采取了“简单粗暴”的方法,对所有权重强制进行权重共享(weight-sharing),让权重值的数量减少到一个。这种高效的近似可以推动对更好架构的搜索。

操作步骤

解决了权重初始化的问题,接下来的问题就是如何收搜索权重不可知神经网络。它分为四个步骤:

640?wx_fmt=jpeg

1、创建初始的最小神经网络拓扑群。

2、通过多个rollout评估每个网络,并对每个rollout分配不同的共享权重值。

3、根据性能和复杂程度对网络进行排序。

4、根据排名最高的网络拓扑来创建新的群,通过竞争结果进行概率性的选择。

然后,算法从第2步开始重复,在连续迭代中,产生复杂度逐渐增加的权重不可知拓扑(weight agnostic topologies )。

拓扑搜索

用于搜索神经网络拓扑的操作受到神经进化算法(NEAT)的启发。在NEAT中,拓扑和权重值同时优化,研究人员忽略权重,只进行拓扑搜索操作。

640?wx_fmt=jpeg

上图展示了网络拓扑空间搜索的具体操作:

一开始网络上是最左侧的最小拓扑结构,仅有部分输入和输出是相连的。

然后,网络按以下三种方式进行更改:

1、插入节点:拆分现有连接插入新节点。

2、添加连接:连接两个之前未连接的节点,添加新连接。

3、更改激活函数:重新分配隐藏节点的激活函数。

图的最右侧展示了权重在[2,2]取值范围内可能的激活函数,如线性函数、阶跃函数、正弦余弦函数、ReLU等等。

权重依然重要

WANN与传统的固定拓扑网络相比,可以使用单个的随机共享权重也能获得更好的结果。

640?wx_fmt=jpeg

虽然WANN在多项任务中取得了最佳结果,但WANN并不完全独立于权重值,当随机分配单个权重值时,有时也会失败。

WANN通过编码输入和输出之间的关系起作用,虽然权重的大小的重要性并不高,但它们的一致性,尤其是符号的一致性才是关键。

随机共享权重的另一个好处是,调整单个参数的影响变得不重要,无需使用基于梯度的方法。

强化学习任务中的结果让作者考虑推广WANN方法的应用范围。他们又测试了WANN在图像分类基础任务MNIST上的表现,结果在权重接近0时效果不佳。

640?wx_fmt=jpeg

有Reddit网友质疑WANN的结果,对于随机权重接近于0的情况,该网络的性能并不好,先强化学习实验中的具体表现就是,小车会跑出限定范围。

640?wx_fmt=gif

对此,作者给出解释,在权重趋于0的情况下,网络的输出也会趋于0,所以后期的优化很难达到较好的性能。

传送门

源代码:
https://github.com/weightagnostic/weightagnostic.github.io

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。


  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”


640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

第2节 面向对象进阶 一、封装与private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏。保护成员属性,不让类以外的程序直接访问和修改。封装原则: 隐藏对象的属性和实现细节,仅对外公开访…

孙正义:互联网流量将转化为智能AI流量,我的时代终于来了

“今后,增加软银集团的股东价值的成长引擎是什么呢?从上面的营业利润的增长来看,SVF(软银愿景基金)贡献了80%。SVF是SoftBank2.0最重要的经营引擎。首先,大约2年时间,SVF的投资对象已经超过了80…

JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)

第3节 面向对象高级 一、继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继…

word的公式后加编码后自动变小

如图所示,在公式后面加编码后公式也变小了: 加编码前: 加编码后: 采用样式分隔符(Ctrlaltenter)即可解决,输完公式后,按enter转行,输入你要的东西(编号什么的…

人工智能70年:科幻和现实的交融

文章素材来源:BBC图片来源:网络【导读】人类飞跑着进入人工智能(AI)时代。粗略估算现在人们日常生活中有20多种寻常的AI,从垃圾邮件过滤器到叫车软件。AI被分为两类,这些执行具体任务的AI属于“弱人工智能”…

vim 插件之commentary

下载地址 http://www.vim.org/scripts/script.php?script_id3695 如果是使用vundle来管理这个插件的话,你可以添加如下配置 tpope/vim-commentary 这个插件可以根据你当前打开的文件类型,来选择相应的注释方式。 使用的命令是 \\位移 比如,…

JavaSE——异常处理(异常简介、try-catch-finally、throws、throw)

第4节 异常处理 异常处理学习的目标: 明确说明是异常(重点) 能辨识出常见的异常及其含义(熟悉) 理解异常产生的原理(了解) 能处理异常(重点) 能够自定义异常&#x…

专访「算法之父」Michael Saunders:人工智能未来的突破点可能在自动驾驶

来源:雷锋网 AI 科技评论雷锋网 AI 科技评论按,4 月 25 日,在由涂鸦智能联合知名财经媒体《新财富》、人工智能领域知名媒体《全球智能化商业》共同举办的「全球智能化商业峰会」上,斯坦福大学荣誉教授、新西兰皇家学会荣誉成员、…

从指南针到北斗:中国导航系统促进世界互联互通

6月11日,在维也纳联合国国际会议中心,联合国外层空间事务办公室主任迪皮波(右)参观中国古代计时装置水运仪象台。本报记者 冯雪珺摄来源:人民日报核心阅读中国卫星导航系统管理办公室在维也纳联合国国际会议中心举办“…

JavaSE——常用类库(上)(泛型、Objects、Math、ArraysBigDecimal类)

第1节 常用类库(上) 面向对象更多是思想上的东西,常用类库更多是工具上的东西,熟能生巧,多整理笔记。 一、泛型 1.1 概述 泛型,即“参数化类型”。就是将类型由原来具体类型进行参数化 ,类似…

朗兰兹纲领:关于数学大一统的伟大构想

麦克斯韦方程组来源:今日头条我们经常聊到物理学家都在追寻物理学的大一统,物理学的第一次大一统是麦克斯韦的麦克斯韦方程组,将电学与磁学相统一,建立了电磁学理论,后来,爱因斯坦想继续完成麦克斯韦未竟之…

JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)

第1节 常用类库(下) 六、java.util.Date Date类表示特定的时刻,精度为毫秒。 在JDK 1.1之前, Date类还有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和秒值。 它还允许…

世界隐形冠军比拼:德国1307家、美国366家、中国68家

来源:股权投资论坛目录一、隐形冠军的概念二、隐形冠军的四个特征三、隐形冠军为何隐形四、隐形冠军到底有多牛五、如何成为隐形冠军六、中国隐形冠军多吗1隐形冠军的概念“隐形冠军”这个概念是赫尔曼西蒙教授提出的。1986年,他在研究德国出口数据时发现…

JavaSE——常用类库(String类)

第1节 常用类库——String 因为String相对之前的类来说更加常用一些,所以对字符串类进行专门的整理。 1. 概述 String类表示字符串,Java中的所有字符串文字都实现为此类的实例。字符串是不变的,它们的值在创建后无法更改 。因为它的创建是通…

VVDocumenter 使用

函数说明文档插件下载链接 https://github.com/onevcat/VVDocumenter-Xcode下载后,直接运行项目升级Xcode后可能不能再次使用,需要做一些处理从Xcode 5开始,苹果要求加入UUID证书从而保证插件的稳定性。因此Xcode版本更新之后需要在VVDocumen…

大自然创作的分形艺术

来源:http://blog.sciencenet.cn/blog-420554-363521.html数学上的分形 (Fractal) 是指“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少会大略)是整体缩小尺寸的形状”。数学家们已经创作出许多美丽的…

JavaSE——类集(上)(Collection、List、Iterator、forEach)

第2节 集合(上) 因为已经有数据结构的基础,前面有关数据结构的知识就不单独整理了,直接上Java的集合类的知识。 一、类集(集合类) 1.1 集合概述 集合: 集合是java中提供的一种容器&#xff…

第二个spring冲刺总结

讨论成员:罗凯旋、罗林杰、吴伟锋、黎文衷 第二阶段总体是做到了四则运算的demo,,包括APP进入动画,以及界面的基本效果设计,还有能进行综合计算(选择题,可以 自动生成简单,容易,困难…

图灵奖得主姚期智:求解人工智能的中国答案

来源:清华大学他是“图灵奖”创立以来首位获奖的亚裔学者,也是迄今为止获此殊荣的唯一华裔计算机科学家。2004年从普林斯顿辞去终身教职回到清华任教。2005年,他为清华本科生创立了计算机科学实验班“姚班”。如今,在中国乃至全球…

JavaSE——类集(下)(Set、Comparable、Collections、Comparator、Map)

第2节 集合(下) 一、Set接口 java.util.Set 接口和 java.util.List接口一样,同样继承自 Collection接口,它与Collection接口中的方法基本一致,并没有对 Collection接口进行功能上的扩充,只是比Collection…