Skip to content

Commit

Permalink
Update 第十二章_网络搭建及训练.md
Browse files Browse the repository at this point in the history
  • Loading branch information
scutan90 authored Nov 1, 2018
1 parent c23f218 commit 22b33a6
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions ch12_网络搭建及训练/第十二章_网络搭建及训练.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,24 +31,24 @@
  此后,ILSVRC挑战赛的名次一直是衡量一个研究机构或企业技术水平的重要标尺。
  ILSVRC 2017 已是最后一届举办.2018年起,将由WebVision竞赛(Challenge on Visual Understanding by Learning from Web Data)来接棒。因此,即使ILSVRC挑战赛停办了,但其对深度学习的深远影响和巨大贡献,将永载史册。

10.3 网络训练有哪些技巧吗?
10.3.1.合适的数据集。
10.3 网络训练有哪些技巧吗?
10.3.1.合适的数据集。
- 1 没有明显脏数据(可以极大避免Loss输出为NaN)。
- 2 样本数据分布均匀。

10.3.2.合适的预处理方法。
10.3.2.合适的预处理方法。
  关于数据预处理,在Batch Normalization未出现之前预处理的主要做法是减去均值,然后除去方差。在Batch Normalization出现之后,减均值除方差的做法已经没有必要了。对应的预处理方法主要是数据筛查、数据增强等。

10.3.3.网络的初始化。
10.3.3.网络的初始化。
  网络初始化最粗暴的做法是参数赋值为全0,这是绝对不可取的。因为如果所有的参数都是0,那么所有神经元的输出都将是相同的,那在back propagation的时候同一层内所有神经元的行为也是相同的,这可能会直接导致模型失效,无法收敛。吴恩达视频中介绍的方法是将网络权重初始化均值为0、方差为1符合的正态分布的随机数据。

10.3.4.小规模数据试练。
10.3.4.小规模数据试练。
  在正式开始训练之前,可以先用小规模数据进行试练。原因如下:
- 1 可以验证自己的训练流程对否。
- 2 可以观察收敛速度,帮助调整学习速率。
- 3 查看GPU显存占用情况,最大化batch_size(前提是进行了batch normalization,只要显卡不爆,尽量挑大的)。

10.3.5.设置合理Learning Rate。
10.3.5.设置合理Learning Rate。
- 1 太大。Loss爆炸、输出NaN等。
- 2 太小。收敛速度过慢,训练时长大大延长。
- 3 可变的学习速率。比如当输出准确率到达某个阈值后,可以让Learning Rate减半继续训练。
Expand Down

0 comments on commit 22b33a6

Please sign in to comment.