格式修改

This commit is contained in:
pc-dell-liu 2018-11-06 22:53:41 +08:00
parent 3a29e1efb2
commit b47491ab8e
1 changed files with 13 additions and 13 deletions

View File

@ -1,6 +1,6 @@
###10.1 网络搭建有什么原则?
### 10.1 网络搭建有什么原则?
####10.1.1新手原则。
#### 10.1.1新手原则。
刚入门的新手不建议直接上来就开始搭建网络模型。比较建议的学习顺序如下:
- 1.了解神经网络工作原理,熟悉基本概念及术语。
@ -8,22 +8,22 @@
- 3.找数据集动手跑一个网络,可以尝试更改已有的网络模型结构。
- 4.根据自己的项目需要设计网络。
####10.1.2深度优先原则。
#### 10.1.2深度优先原则。
通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。但深度不是盲目堆起来的,一定要在浅层网络有一定效果的基础上,增加深度。深度增加是为了增加模型的准确率,如果浅层都学不到东西,深了也没效果。
####10.1.3卷积核size一般为奇数。
#### 10.1.3卷积核size一般为奇数。
卷积核为奇数有以下好处:
- 1 保证锚点刚好在中间,方便以 central pixel为标准进行滑动卷积避免了位置信息发生偏移 。
- 2 保证在填充Padding在图像之间添加额外的零层图像的两边仍然对称。
####10.1.4卷积核不是越大越好。
#### 10.1.4卷积核不是越大越好。
AlexNet中用到了一些非常大的卷积核比如11×11、5×5卷积核之前人们的观念是卷积核越大感受野越大看到的图片信息越多因此获得的特征越好。但是大的卷积核会导致计算量的暴增不利于模型深度的增加计算性能也会降低。于是在VGG、Inception网络中利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳同时参数量3×3×2+1=19<26=5×5×1+1被降低因此后来3×3卷积核被广泛应用在各种模型中
###10.2 有哪些经典的网络模型值得我们去学习的?
### 10.2 有哪些经典的网络模型值得我们去学习的?
提起经典的网络模型就不得不提起计算机视觉领域的经典比赛ILSVRC .其全称是 ImageNet Large Scale Visual Recognition Challenge.正是因为ILSVRC 2012挑战赛上的AlexNet横空出世使得全球范围内掀起了一波深度学习热潮。这一年也被称作“深度学习元年”。而在历年ILSVRC比赛中每次刷新比赛记录的那些神经网络也成为了人们心中的经典成为学术界与工业届竞相学习与复现的对象并在此基础上展开新的研究。
@ -79,35 +79,35 @@ AlexNet中用到了一些非常大的卷积核比如11×11、5×5卷积核
此后ILSVRC挑战赛的名次一直是衡量一个研究机构或企业技术水平的重要标尺。
ILSVRC 2017 已是最后一届举办.2018年起将由WebVision竞赛Challenge on Visual Understanding by Learning from Web Data来接棒。因此即使ILSVRC挑战赛停办了但其对深度学习的深远影响和巨大贡献将永载史册。
###10.3 网络训练有哪些技巧吗?
### 10.3 网络训练有哪些技巧吗?
####10.3.1.合适的数据集。
#### 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减半继续训练。
####10.3.6.损失函数
#### 10.3.6.损失函数
损失函数主要分为两大类:分类损失和回归损失
>1.回归损失: