DNN结构构建:NAS网络结构搜索和强化学习、迁移学习
前言
谷歌推出的NASNet架构,用于大规模图像分类和识别。NASNet架构特点是由两个AutoML设计的Layer组成——Normal Layer and Reduction Layer,这样的效果是不再需要相关专家用human knowledge来搭建卷积网络架构,直接用RNN把Hyperparameter计算出来,这样就实现了网络结构自动学习。
论文:Learning Transferable Architectures for Scalable Image Recognition
强化学习
论文:《Neural ,Architecture Search with Reinforcement Learning》。 网站链接(开源代码): https:// github .com / tensorflow /models
论文中的核心是:利用Reinforcement Learning(强化学习)机制训练一个RNN(循环神经网路)controller(控制器)去自动产生一个神经网络,无需人为手动设计网络,设计出的网络在相关有权威的数据集上都取得了很好的成绩。看完论文后发现没有硬件资源根本是无法使得训练跑起来的,有钱就是任性,论文用了800个GPU跑起来的。
RNN在处理变长问题和生成变长式问题时得到广泛应用,RNN通过循环单元可以展开为一个多长度概率模型,把变长问题使用一个概率框架来表示。在进行模型生成时,可以使用同样的方法进行模型长度枚举和选择优化,生成变长模型或者可变模型。
关于RNN模型:DNN结构进化之RNN,DNN结构进化之LSTM,DNN结构进化之NTM/DNC。用于处理变长问题,发展出RNN;用以解决RNN梯度消失问题,发展出LSTM;NTM模型抽象LSTM的cell内存,模型可以直接训练简短的生成模式,比如copy、循环、排序、NGM文法描述等简单内存操作模式。
强化学习用于结构搜索:controller控制器给出个action,action去环境中做出动作并得到一个结果result,最后将result作为反馈信号反馈给controller控制器,controller控制器根据反馈值进行修改,然后一直迭代这个过程直到到达目标。
论文的思想是:通过一个controllerRNN在搜索空间(search space)中得到一个网络结构(论文中称为child network),然后用这个网络结构在数据集上训练,在验证集上测试得到准确率R,再将这个准确率回传给controller,controller继续优化得到另一个网络结构,如此反复进行直到得到最佳的结果,整个过程称为Neural Architecture Search。后面讲详细介绍整个流程,本总结主要是围绕生成CNN来介绍,论文中也可以生成RNN)。
模型生成过程
以卷积层的生成为例,使用RNN结构作为控制器用于生成conv层的超参数-conv个数、filter的高和宽、stride的高和宽等。下图为RNN的展开式结构,真正的RNN结构为一个recurrent单元。
控制一个RNN网络的unit的参数值,根据RNN生成变长串的一般法则,可以生成一个对应 结构的CNN网络描述。当然这个结构描述是变长的,长度和结构由RNN的参数决定,这样在一个可变CNN网络结构和RNN参数之间建立起一个函数映射。
根据论文的描述,使用所谓的anchor方法,一个RNN网络综合Conv层、Pooling层、SoftMax等多个RNN单元,综合为一个大的RNN网络,作为控制器。
反馈学习-训练RNN
文章描述联合RNN的优化方法和CNN的评价方法,使用CNN在测试集合上的表现作为CNN的评价,并把CNN的评价反传给RNN,用以训练RNN的结构和参数。
从整个过程可以看出,用以生成CNN的RNN结构的训练涉及到两部分,相对于一般使用数据直接训练RNN,多了一个CNN的自动生成,优化和测试,优化函数转化过程,直觉上需要极大的运算量,比训练通常RNN运算复杂度多几个数量级。
论文描述细节
Training details: The controller RNN is a two-layer LSTM with 35 hidden units on each layer.I t is trained with the ADAM optimizer (Kingma & Ba, 2015) with a learning rate of 0.0006. Theweights of the controller are initialized uniformly between -0.08 and 0.08.
For the distributed training ,we set the number of parameter server shards S to 20, the num be r of controller replicas K to100 and the number of child replicas m to 8, which means there are 800 networks being trained on 800 GPUs concurrently at any time.
生成模型用于迁移学习
迁移学习即是把一个领域的框架复用到另一个领域,两种应用领域具有特定的结构相似性,模型复用之时可以稍作修改或者稍加训练即可使用。
Training deta.............................
DNN结构构建:NAS网络结构搜索和强化学习、迁移学习的更多相关文章
- NASNet学习笔记—— 核心一:延续NAS论文的核心机制使得能够自动产生网络结构; 核心二:采用resnet和Inception重复使用block结构思想; 核心三:利用迁移学习将生成的网络迁移到大数据集上提出一个new search space。
from:https://blog.csdn.net/xjz18298268521/article/details/79079008 NASNet总结 论文:<Learning Transfer ...
- 用深度学习(DNN)构建推荐系统 - Deep Neural Networks for YouTube Recommendations论文精读
虽然国内必须FQ才能登录YouTube,但想必大家都知道这个网站.基本上算是世界范围内视频领域的最大的网站了,坐拥10亿量级的用户,网站内的视频推荐自然是一个非常重要的功能.本文就focus在YouT ...
- CARS: 华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020
为了优化进化算法在神经网络结构搜索时候选网络训练过长的问题,参考ENAS和NSGA-III,论文提出连续进化结构搜索方法(continuous evolution architecture searc ...
- 使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索
使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索 2015-03-26 dotNET跨平台 最近几年出现的云计算为组织和用户带来了福音.组织对客户的了解达到前所未有的透彻, ...
- Vue项目搭建流程 以及 目录结构构建
Vue项目搭建流程 以及 目录结构构建 一个小的Vue项目, 基于微信浏览器的移动端, 做了这么多的练习项目, 这一次准备记录下构建的过程, 以方便以后的调高效率 环境准备 操作系统 我的 windo ...
- ANN:DNN结构演进History—LSTM网络
为了保持文章系列的连贯性,参考这个文章: DNN结构演进History-LSTM_NN 对于LSTM的使用:谷歌语音转录背后的神经网络 摘要: LSTM使用一个控制门控制参数是否进行梯度计算,以此避免 ...
- ANN:DNN结构演进History—LSTM_NN
前言 语音识别和动作识别(Action.Activities) 等一些时序问题,通过微分方式可以视为模式识别方法中的变长模式识别问题.语音识别的基元为音素.音节,字母和句子模式是在时间轴上的变长序列 ...
- Evolution of Image Classifiers,进化算法在神经网络结构搜索的首次尝试 | ICML 2017
论文提出使用进化算法来进行神经网络结构搜索,整体搜索逻辑十分简单,结合权重继承,搜索速度很快,从实验结果来看,搜索的网络准确率挺不错的.由于论文是个比较早期的想法,所以可以有很大的改进空间,后面的很大 ...
- AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清
摘要:诸多关于人工智能的流行词汇萦绕在我们耳边,比如深度学习 (Deep Learning).强化学习 (Reinforcement Learning).迁移学习 (Transfer Learning ...
随机推荐
- Nginx中配置vue,react项目地址
如题 像以前在Nginx中配置域名解析的时候只需要在conf.d文件夹下添加对应的xx.conf文件(当然了你也可以在nginx.conf)下配置. 如果是以前的老项目只需要在配置文件中server内 ...
- 【code】flex_进度条样式
近期打算吧硬盘中的资料记录在博客中,实用的就当是个分享,无用的就当是个备份,还望大家不要见怪. 一共4个文件: JinDuTiaoItem.mxml: <?xml version="1 ...
- storm与hadoop的对照
hadoop 是实现了 mapreduce 的思想,将数据切片计算来处理大量的离线数据. hadoop处理的数据必须是已经存放在 hdfs 上或者类似 hbase 的数据库中.所以 hadoop ...
- 常用Lunix命令
计算机 1.硬件系统 输入单元.输出单元.算术逻辑单元.控制单元.记忆单元 中央处理单元:CPU(算术逻辑单元.控制单元) 电源.主板.CPU.内存(RAM).硬盘.(声卡.显卡.网卡)(集成在主板上 ...
- Cocos2dx--开发环境搭建
配置文档下载:http://pan.baidu.com/s/1rja8I 有些文件比較大的自己去下,这里列一下全部用到的文件 adt-bundle-windows-x86-20140321.zip a ...
- ACdream区域赛指导赛之手速赛系列(5) 题解
A - Problem A Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submi ...
- Android合并两个APP的详细做法(掌握)
有时候因公司需求,要求合并两个APP 使用里面的功能. 平台:Studio 小白鼠:二维码扫描 和自己项目 详细步骤: /** * 1.将解压后的android/assets目录复制到项目中的mai ...
- 05_锅炉压力案例_java实现
最开始是有机顶盒,后来电视里面都带着一个安卓的设备.现在空调.冰箱.洗衣机都跃跃欲试地想把这个东西加上.海尔出了一款智能冰箱,就是在冰箱门上嵌了一个12寸的屏幕.这个屏幕实际上就是一个安卓的平板似的. ...
- MogileFS的实现和bug解决
MogileFS的实现 准备三个主机: centos7.1:tracker节点.database节点.storage节点:192.168.213.251 centos7.2.centos7.3:sto ...
- 使用AngularJS创建应用的5个框架(转)
原文地址:http://www.php100.com/html/dujia/2015/0206/8580.html 本文由PHP100中文网编译,转载请看文末的转载要求,谢谢合作! 如果你计划使用An ...