何恺明等人新作:效果超ResNet,利用NAS方法设计随机连接网络 | 技术头条

「2019 Python开发者日」,购票请扫码咨询 ↑↑↑
译者 | 刘畅
编辑 | 一一
出品 | AI科技大本营(ID:rgznai100)
受人工设计的启发,用于图像识别的神经网络从简单的链状模型发展为具有多个分支的网络。ResNets 和 DenseNets 的成功很大程度上源于其创新性的连接设计模式。如今,Facebook AI 实验室的何恺明等研究者利用神经架构搜索(NAS)方法来探索如何同时优化网络架构和操作方法,不过网络架构的解空间是有限的,而且依然是由人工设计来驱动的。
在本文中,作者采用随机连接网络发现了更为多样的连接模式。他们首先定义了一个包含整个网络生成过程的随机网络生成器,这样的做法能提供 NAS 和随机连接网络的统一视图。然后,作者采用了三个经典的随机图模型来生成网络的随机连接图。
实验结果令人惊讶:采用随机生成器得到的几个网络能够在 ImageNet 这样的基准数据集上取得有竞争力的结果。这些结果表明,探索具有更少约束的搜索空间方法,专注于设计更好的网络生成器可以带来新的突破。
引言
我们今天所说的深度学习是从认知科学中的连接主义方法发展而来的,这一范式证实了网络的连接方式对构建智能机器是至关重要的。与此相呼应的是,计算机视觉的最新进展已经由链式结构转向为更复杂的连接模型,如因为网络结构而十分有效的模型 ResNet,DensNet 等。跟随这一趋势,神经架构搜索(NAS)方法成为了一个有前景的研究方向,它主要研究如何同时搜索网络连接模式和操作方法。该方法依赖于网络生成器。
NAS 的网络生成器定义了一系列可能的网络连接模式,它根据可学习的概率分布对网络进行采样。但是,NAS 网络生成器通常是人工设计的,而且它的解空间会被约束在很小的一个子集上。由此,作者给出了写这篇文章的动机:是否能够减少这种约束来设计新的网络生成器?
作者从随机网络生成器中采样得到的随机连接网络这个角度来探索这个问题,其实也就是用人工设计的随机过程来定义生成器。作者采用了图论里面三个经典的随机图模型 ER, BA, WS。为了定义完整的网络,他们将一个随机图转换成一个有向无环图(DAG),并且在节点和它们的功能之间做了一个简单的映射。
基于 ER/BA/WS 三种模型生产的随机图的可视化
实验结果令人吃惊,采用 WS(Watts-Strogatz)模型的是最好的网络生成器,其结果能够优于或媲美于人工设计的网络结构和各种神经架构搜索方法得到的网络模型。作者还观察到,采用同一个网络生成器产生的不同随机网络,精度方差很低,而不同生成器之间存在着明显的精度差距。这些观察表明,网络生成器的设计十分重要。
注意,这些随机连接网络也并非没有先验信息(prior free)。许多强先验信息已经被隐式的包含在生成器的设计里面,比如连接规则的制定等。本文的研究表明了从设计单个网络过渡到设计网络生成器的可能性。相较于采用固定生成器来进行搜索,作者建议设计能够生成新的待搜索模型的网络生成器。
方法
首先介绍随机连接网络的基础,网络生成器。
Network generators 网络生成器
网络生成器是参数空间 theta 到神经网络结构 N 的一个映射 g。这个 g 决定了计算图的连接方式。例如在 ResNets 中,g 就是一堆计算 x+F(x)的结构,theta 就是残差块的数量,网络深度/宽度/滤波器大小等等参数。
Stochastic network generators 随机网络生成器
上述的网络生成器 g,给定相同的 theta,会返回同一结构。因此作者扩展 g,可以接受额外的参数 s(伪随机数的种子)。这样的 g(theta,s),对于相同的 theta,当 s=1,2,3…时,可以得到不同的网络,作者把这样的形式称为随机网络生成器。
接着是对 NAS 方法的回顾(详情参见论文),作者发现 NAS 里面有很多人工设计和加入先验信息的地方。因此光研究同一个生成器下的不同优化器是远不够的,有必要研究与 NAS 生成器不同的新的网络生成器。
Randomly Wired Neural Network 随机连接神经网络
这样一种可以根据不同先验生成具有随机图网络的网络生成器,主要包含以下内容:
可以生成通用的图。这样可以随意的使用已有的图论模型(ER/BA/WS),并且一旦图定了,就可以映射到一个神经网络。
边操作。假设图是定向的,作者定义边是数据流,定向边即表示数据(张量)从一个节点流向另一个节点。
节点操作。有向图的节点有输入边和输出边,如下图 1 所示。输入边进行权重相加,权重是训练得到,且为正。内部经过 ReLU-Conv-BN 这样的结构处理,其中 3x3 的卷积采用的是可分离的卷积,然后输出边就是处理后的数据。
图 1
输入和输出节点。对于一个给定的通用图,作者还创建了额外的节点来连接最初的输入节点和最终的输出节点,这两个节点是所有节点的平均值,并且不使用卷积操作,它们就是神经网络的输入和输出。
阶段(Stage)。对于图像分类任务,输入和输出是不同的图像大小,因此作者指定了一个简单的策略,一个随机图表示一个阶段。然后到中间的转换时,设定步长=2,通道数增加两倍。如图 2 所示。
图2
实验
作者做了大量的实验来证明该方法的有效性,其中给出了结构细节、随机种子、实现细节等。
图 3 是在 ImageNet 上,基于三种计算量下的实验结果。可以发现基于 WS 的网络生成器产生的模型都能取得优于或媲美现有人工设计网络的结果。
图 3
结论
作者从图论角度出发,研究了基于三种经典随机图模型的随机连接神经网络,设计出一种新的网络生成器,实验结果发现它能够设计媲美于人工设计的网络。
论文链接:
https://arxiv.org/abs/1904.01569
(本文为 AI大本营编译文章,转载请微信联系 1092722531)
◆
精彩推荐
◆
「2019 Python开发者日」演讲议题全揭晓!这一次我们依然“只讲技术,拒绝空谈”10余位一线Python技术专家共同打造一场硬核技术大会。更有深度培训实操环节,为开发者们带来更多深度实战机会。更多详细信息请咨询13581782348(微信同号)。
推荐阅读:
技术头条
收藏指数爆表!CVPR 2018-2019几十篇优质论文解读大礼包! | 技术头条
分析11年21部漫威电影,一览导演、主演、口碑票房最佳......
靠找Bug赚了6,700,000元!他凭什么?
30位90后霸榜! 福布斯: 比你年轻、比你有颜、比你有才华, 就是他们了!
程序员深夜逆行被拦后崩溃欲自杀:老板在催我!女朋友在催我!
微软 CTO 韦青:“程序员 35 岁就被淘汰”是个伪概念 | 人物志
OpenStack已死?恐怕你想多了 | 技术头条
❤点击“阅读原文”,查看历史精彩文章。
相关文章:

网络规划设计师考试命题模式持续在变 你变不变
命题模式持续在变 你变不变深入分析2009下半年~2010下半年3次网络规划设计师考试试卷中项目管理模块(约有5~8题,约占总分数的6.67%~10.67%)的命题规律,心中最强烈的一份感觉体现在一个字——变。“变”是事物持续发…

【C++】google glog详解
0、简介 glog是google的日志管理系统,配合gflags库,通过命令行参数管理日志。 源码下载:https://github.com/google/glog ubuntu安装: sudo apt-get install libgoogle-glog*参考博客: https://blog.csdn.net/jcjc91…

仿抖音注册界面制作
话说上次完成了仿抖音我的界面制作之后,今天抽空又把注册界面给做了,还是做了些小改动,将第三方登录去掉了 注册还是老规矩直接奉上psd源码:仿抖音注册界面psd源码 个人博客https://myml666.github.io

00后的AI开发者进阶之道:从入门到鏖战MIT编程大赛 | 人物志
点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑作者 | 若名出品 | AI科技大本营(ID:rgznai100)当所有中国的高中生都在拼命为跨过高考这道窄门疲惫不堪时,美国的准高中毕业生们也开始申请大学&#x…

js的全部替换函数replaceAll
JS替换功能函数,用正则表达式解决,js的全部替换,学习js的朋友可以参考下。 alert("abacacf".replace(a,9)); alert("abacacf".replace(/a/g,9)); 第一个运行的结果 9bacaf 这个只是替换了第一个 第二个运行的结果 9b9c9f…
【C++】Google Protocol Buffer(protobuf)详解(一)
1、简介 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准, Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通…

python使用difflib对比文件示例
使用difflib模块对比文件内容1 示例:字符串差异对比 vim duibi.py#!/usr/bin/env python # -*- coding: utf-8 -*- import re import os import difflib tex1"""tex1: this is a test for difflib ,just try to get difference of the log 现在试试…

技术大佬们都推荐的vim学习指南来了,值得收藏!
「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑作者 | kbsc13,京东算法工程师,研究领域计算机视觉来源 | 机器学习与计算机视觉(ID:AI_Developer)编辑 | Jane【导语】在 Linux 下最常使用的文本编辑…

NoSQl分类
2019独角兽企业重金招聘Python工程师标准>>> http://nosql-database.org/ nosql简单分类 类型 部分代表 特点 列存储 hbase cassandra hypertable 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩&…

手撕代码之七大常用排序算法 | 附完整代码
点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑0.导语本节为手撕代码系列之第一弹,主要来手撕排序算法,主要包括以下几大排序算法:直接插入排序冒泡排序选择排序快速排序希尔排序堆排序归并排序…

【C++】google gtest 详解
1、参考博客; https://blog.csdn.net/baijiwei/article/details/81265491 https://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 2、编译和安装 $ git clone https://github.com/google/googletest.git $ cd googletest $ mkdir mybuild $ cd mybui…

JS学习笔记之call、apply的用法
1、call和apply的区别 call和apply唯一的区别是传入参数的形式不同。 apply接受两个参数,第一个参数指定了函数体内this对象的指向,第二个参数为一个带下标的集合,可以是数组,也可以是类数组,apply方法会把集合中的元素…

实验LVS+keepalived
lvs说明:目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR);八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。在调度器的实现技术中,IP负载均衡技术是效率最高的。在已有的IP负载均衡技术中有通过网络地址转…

Spark Streaming笔记整理(二):案例、SSC、数据源与自定义Receiver
[TOC] 实时WordCount案例 主要是监听网络端口中的数据,并实时进行wc的计算。 Java版 测试代码如下: package cn.xpleaf.bigdata.spark.java.streaming.p1;import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.spark.Spar…

复旦邱锡鹏教授公布《神经网络与深度学习》,中文免费下载 | 极客头条
点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑整理 | Jane出品 | AI科技大本营优质的人工智能学习资源一直是大家非常关注的,以往我们也推荐过很多优秀的课程、书籍等,不过大多来自国外的名校、名师,…

【Qt】信号和槽传递自定义结构体
一、使用信号和槽传递自定义结构体 这是一个老问题了,但是每次使用都要bing,因此做个笔记整理下。 一共有三种方法,可以让结构体在信号和槽之间传递。前两种方法可以让结构体在线程之间传递,最后一种方法只能在同一线程中传递。 Q_DECLARE_METATYPE qRegisterMetaType(推…

Tomcat:Connection reset by peer: socket write error
Connection reset by peer: socket write error错误分析及解决 Connection reset by peer: socket write error错误分析: 常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是: ①:服务器的并发连接数超过…

人脸识别的“生意经”
点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑作者 | Jeff John Roberts译者 | 孙薇责编 | 琥珀出品 | AI科技大本营(ID:rgznai100)导语:不经意间,科技公司便拿着你的照片,推…

【Qt】pro中使用DEFINES来实现条件编译
1、pro中使用DEFINES来实现条件编译 在Qt的pro文件中使用DEFINES 来实现类似gcc -D的条件编译功能。 如,在pro中: #定义条件编译宏LAOER DEFINES += LAOER #依赖编译宏LAOER的编译选项: contains(DEFINES, LAOER){message(hello Laoer) } #与编译宏LAOER冲突的编译选项: …

nodejs -- promise的返回
为什么80%的码农都做不了架构师?>>> [javascript] view plain copy const a async () > { return Sequelize.findAll({}) //这里返回一个promise,"aaaaa"也行 } const b async ()>{ const result await a…

SQL 将一列数据转为一行字符串[转]
比如:我用select department,userName from users从表中查询出如下数据department | userName--------------- --------------it it1it it2it it3ur ur1ur ur2我能不能用什么SQL对department进行分组然后变成如下的结果呢?department | userName--------…

【C++】C++11的enum class enum struct和enum
1、问题描述 在走读QtCreator中看到一段代码 在QtCreator-v4.9.2源码中 src\plugins\projectexplorer\projectnodes.h enum class NodeType : quint16 {File 1,Folder,VirtualFolder,Project };以前一直使用enum,这里使用的是enum class,新enum的好处…

浙大首届AI专业本科生将于9月入学,纳入竺院图灵班
点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑整理 | 琥珀出品 | AI科技大本营(ID:rgznai100)近日,据澎湃新闻报道,浙江大学计算机科学与技术学院副院长、浙江大学人工智能研究所所长吴飞…
解决阿里云无法正常使用samba的问题【转】
转自:https://blog.csdn.net/u011949148/article/details/54311288 昨天在阿里云上申请了一个云服务器,系统用的是ubuntu14.04,由于是免费的(初次使用),配置较低(单核1G内存,40G硬盘…

Google又放大招:高效实时实现视频目标检测 | 技术头条
点击上方↑↑↑蓝字关注我们~「2019 Python开发者日」,购票请扫码咨询 ↑↑↑作者 | 陈泰红,算法工程师,研究方向为机器学习、图像处理来源 | 极市平台(ID:extrememart)图像目标检测是图像处理领域的基础。…

一个java删除文件夹的小方法
java删除文件夹都是从里向外删除,使用递归的方法。public class IO_FILEdemo09 {public static void main(String[] args) {// TODO Auto-generated method stub// 删除目录演示File dir new File("C:\\version1");DeleteAll(dir);}public static void D…

【C++】operator bool() 和 operator const bool() const
1、问题描述 在走读QtCreator源码时,看到如下运算符重载 源码在QtCreator-v4.9.2中 src\plugins\projectexplorer\projectexplorer.h class OpenProjectResult { public:OpenProjectResult(const QList<Project *> &projects, const QList<Project *…

tomcat高并发的配置
以下内容来源于互联网,具体出处不详 据说服务器运行TOMCATJDK环境能负载到动态1W的并发,贴上他的配置,以后有机会在测试! java 环境配置: export JAVA_OPTS"-server -Xms8g -Xmx8g -Xss128k -XX:ParallelGCThread…

【AI】图示:精确度(查准率)Precision、召回率(查全率)Recall
对Precision、Recall的直译是“精确度”和“召回率”,第一次接触这两个词,很难从字面上知道它们的含义。而翻译成“查准率”和“查全率”就比较好理解,下面统一使用“查准率”和“查全率”。 1、真假正负例 真正例(True Positive…

@程序员,如何“终身成长”与跨界?
文 / Ant说《终身成长》是一碗“鸡汤”并不为过,截止到我看过的前半部分,围绕在一个主题展开——人的潜力是不可知的。换句话说,任何人都有可能成为自己想成为的人。书中列举了大量明星企业与管理者的真实案例,也引用了许多对比实…