大师Geoff Hinton关于Deep Neural Networks的建议


Note: This covers suggestions from Geoff Hinton’s talk given at UBC which was recorded May 30, 2013. It does not cover bleeding edge techniques.

主要分为如下几点展开:


  • Have a Deep Network.

    1-2个hidden layers被认为是一个shallow network,浅浅的神经网络,当hidden layers数量多时,会造成local optima,缺乏数据等。

    因为deep neural network相比shallow neural network,最大的区别就是greater representational power,这个能力随着layer的增加而增加。

PS:理论上,只有一个单层hidden layer但是有很多unit的神经网络(large breadth,宽度,not deep),具有与deeper network相似的representational power,但是目前还不知道有哪种方法来训练这样的network。


  • Pretrain if you do not have a lot of unlabelled training data. If you do skip it.

    pre-training 又叫做greedy layer-wise training,如果没有足够的标签样本就需要执行greedy layer-wise pretraining,如果有足够多的样本,只需执行正常的full network stack 的训练即可。

    pre-training可以让parameters能够站在一个较好的初始值上,当你有足够的无标签样本时,这一点就无意义了。

Side Note: An interesting paper shows that unsupervised pretraining encourages sparseness in DNN. Link is here.


  • Initialize the weight to sensible values.

    可以将权重设置为小的随机数,这些小随机数权重的分布取决于在network中使用的nonlinearity,如果使用的是rectified linear units,可以设置为小的正数。

It makes calculating the gradient during back propagation trivial. It is 0 if x < 0 and 1 elsewhere. This speeds up the training of the network.



ReLU units are more biologically plausible then the other activation functions, since they model the biological neuron’s responses in their area of operation. While sigmoid and tanh activation functions are biologically implausible. A sigmoid has a steady state of around 12 and after initlizing with small weights fire at half their saturation potential.


  • Have many more parameters than training examples.

    确保整个参数的数量(a single weight in your network counts as one parameter)超过训练样本的数量一大截,总是使得neural network overfit,然后强力的regularize它,比如,一个例子是有1000个训练样本,须有1百万个参数。

这样做的理由是模仿大脑的机制,突触的数量要比经验多得多,在一次活动中,只不过大部分都没有激活。


  • Use dropout to regularize it instead of L1 and L2 regularization.

    dropout是一项用来在一个隐含层中丢掉或者遗漏某些隐含单元的技术,每当训练样本被送入network时就发生。随机从隐含层中进行子采样。一种不同的架构是all sharing weights。

这是一种模型平均或者近似的形式,是一种很强的regularization方法,不像常用的L1或者L2 regularization将参数拉至0,subsample或者sharing weights使参数拉至合理的值。比较neat。


  • Convolutional Frontend (optional)

    如果数据包含任何空间结构信息,比如voice,images,video等,可以使用卷积前段。

    可以参看我的博文《卷积神经网络(CNN)

卷积可以看作诗一个滤波器,算子等,可以从原始的pixel等中抽取边缘等特征,或者表示与卷积核的相似度等等。采用卷积可以对空间信息进行编码。

参考文献:

http://343hz.com/general-guidelines-for-deep-neural-networks/


2015-9-11 艺少

大师Geoff Hinton关于Deep Neural Networks的建议的更多相关文章

  1. [C4] Andrew Ng - Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

    About this Course This course will teach you the "magic" of getting deep learning to work ...

  2. On Explainability of Deep Neural Networks

    On Explainability of Deep Neural Networks « Learning F# Functional Data Structures and Algorithms is ...

  3. Classifying plankton with deep neural networks

    Classifying plankton with deep neural networks The National Data Science Bowl, a data science compet ...

  4. (Deep) Neural Networks (Deep Learning) , NLP and Text Mining

    (Deep) Neural Networks (Deep Learning) , NLP and Text Mining 最近翻了一下关于Deep Learning 或者 普通的Neural Netw ...

  5. Must Know Tips/Tricks in Deep Neural Networks

    Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)   Deep Neural Networks, especially C ...

  6. Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)

    http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Conv ...

  7. (转)Understanding, generalisation, and transfer learning in deep neural networks

    Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017   Thi ...

  8. 为什么深度神经网络难以训练Why are deep neural networks hard to train?

    Imagine you're an engineer who has been asked to design a computer from scratch. One day you're work ...

  9. 论文翻译:2018_Source localization using deep neural networks in a shallow water environment

    论文地址:https://asa.scitation.org/doi/abs/10.1121/1.5036725 深度神经网络在浅水环境中的源定位 摘要: 深度神经网络(DNNs)在表征复杂的非线性关 ...

随机推荐

  1. Codevs 3002 石子归并 3(DP四边形不等式优化)

    3002 石子归并 3 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次 ...

  2. idea maven No implementation for org.apache.maven.model.path.PathTranslator was bound.

    查看idea log 2019-11-08 22:30:29,402 [ 475319] ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 2018. ...

  3. AtCoder Grand Contest 014题解

    传送门 \(A\) 首先大力猜测一下答案不会很大,所以次数大于\(10^6\)输出\(-1\)就行了 不过我并不会证上界,据说是因为如果\(a=b=c\)且都是偶数肯定\(-1\),否则设\(a\le ...

  4. CODE FESTIVAL 2016 Grand Final 题解

    传送门 越学觉得自己越蠢--这场除了\(A\)之外一道都不会-- \(A\) 贪心从左往右扫,能匹配就匹配就好了 //quming #include<bits/stdc++.h> #def ...

  5. Chrome教程(二)使用ChromeDevTools命令菜单运行命令

    1.模拟移动设备 点击 Toggle Device Toolbar可以打开用于模拟移动设备视口的界面. 2.限制网络流量和 CPU 占用率 要限制网络流量和 CPU 占用率,请从 Throttle 列 ...

  6. Redis恢复数据

    对于单点或者集群,都可以用 cat data.txt | redis-cli --pipe方式进行冷恢复. 对于大数据量会很慢,但不会出错.

  7. 1、vueJs基础知识01

    vue是框架,vue.js是vue框架的核心js库 库:是一个封装好的特定的方法的集合,提供给开发者使用,库没有控制权,控制权在使用者手中.代表:jQuery.underscore.util 框架:框 ...

  8. Java 面向对象(十七)

    第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 public File(String pat ...

  9. Shell同步数据到oracle数据库

    某数据库有几张表更新,本地数据库增量更新数据,用脚本定时执行实现. 由于无blob/clob字段,使用sqlldr导入数据:查询目的数据库,以"|"分割导出所有数据,保存在./da ...

  10. [转] FileZilla Server超详细配置

    FileZilla Server下载安装完成后,必须启动软件进行设置,由于此软件是英文,本来就是一款陌生的软件,再加上英文(注:本站提供中文版本,请点击下载),配置难度可想而知,站长从网上找到一篇非常 ...