Skip to content

Commit

Permalink
Xiaowuhu/20200401 (microsoft#491)
Browse files Browse the repository at this point in the history
* Update 16.5-丢弃法.md

* Update 15.1-权重矩阵初始化.md

* Update 16.6-数据扩展.md

* Update 17.1-卷积的前向计算原理.md

* Update 06.1-二分类函数.md

* fix bug
  • Loading branch information
xiaowuhu authored Apr 15, 2020
1 parent c1223f5 commit b4f6e13
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def DeNormalizeWeightsBias(net, dataReader):
reader.ReadData()
reader.NormalizeX()
# net
hp = HyperParameters_1_0(2, 1, eta=0.01, max_epoch=50, batch_size=10, eps = 1e-5)
hp = HyperParameters_1_0(2, 1, eta=0.01, max_epoch=500, batch_size=10, eps = 1e-5)
net = NeuralNet_1_1(hp)
net.train(reader, checkpoint=0.1)
# inference
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ params = HyperParameters(eta=0.1, max_epoch=10, batch_size=1, eps = 1e-5)
可以看到loss、w1、w2、b的值,每次跳跃都很大,怀疑是学习率过高导致的梯度下降在最优解附近徘徊。所以,我们先把超参修改一下:

```Python
params = HyperParameters(eta=0.01, max_epoch=50, batch_size=10, eps=1e-5)
params = HyperParameters(eta=0.01, max_epoch=500, batch_size=10, eps=1e-5)
```

做了三处修改:

- 学习率缩小10倍,变成0.01
- max_epoch扩大50倍,让网络得到充分训练
- max_epoch扩大50倍,从10变成500,让网络得到充分训练(但实际上不需要这么多次的循环,大家可以自己试验)
- batch_size=10,使用mini-batch批量样本训练,提高精度,减缓个别样本引起的跳跃程度

运行结果:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ $$
a=\frac{1}{1+e^{-(xw+b)}}
$$

令$z=e^{-(xw+b)}$:
令$z=xw+b$:

$$
a=\frac{1}{1+e^{-z}} \tag{12}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ W \sim U
\end{pmatrix}
$$

其中的W为权重矩阵,N表示正态分布(Normal Distribution),U表示均匀分布(Uniform Distribution)。下同。

假设激活函数关于0对称,且主要针对于全连接神经网络。适用于tanh和softsign。

即权重矩阵参数应该满足在该区间内的均匀分布。其中的W是权重矩阵,U是Uniform分布,即均匀分布。
Expand Down Expand Up @@ -138,9 +140,6 @@ W \sim U
\end{pmatrix}
$$


其中的W为权重矩阵,G表示高斯分布,Gaussian Distribution,也叫做正态分布,Normal Distribution。

图15-4中的激活值从0到1的分布,在各层都非常均匀,不会由于层的加深而梯度消失,所以,在使用ReLU时,推荐使用MSRA法初始化。

<img src="../Images/15/init_msra_relu.png" ch="500" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,20 +172,6 @@ def Model_Dropout(dataReader, num_input, num_hidden, num_output, params):

3. 还有一个比较有意思的解释是,Dropout类似于性别在生物进化中的角色,物种为了使适应不断变化的环境,性别的出现有效地阻止了过拟合,即避免环境改变时物种可能面临的灭亡。由于性别是一半一半的比例,所以Dropout中的p一般设置为0.5。

#### Dropout率的选择

经过交叉验证,隐含节点Dropout率等于0.5的时候效果最好,原因是0.5的时候Dropout随机生成的网络结构最多。

Dropout也可以被用作一种添加噪声的方法,直接对input进行操作。输入层设为很小的丢弃率,使得输入变化不会太大。

#### 训练过程

对参数w的训练进行球形限制(max-normalization),对Dropout的训练非常有用。球形半径c是一个需要调整的参数。可以使用验证集进行参数调优。

Dropout自己虽然也很牛,但是Dropout、max-normalization、large decaying learning rates and high momentum组合起来效果更好,比如max-norm regularization就可以防止大的learning rate导致的参数blow up。

使用pretraining方法也可以帮助Dropout训练参数,在使用Dropout时,要将所有参数都乘以1/p。

### 代码位置

ch16, Level5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ rate=8423 / 10000 = 0.8423
```
通过对比可以发现:

1. 过拟合线性极大程度地消减了,从损失函数的U型曲线的角度可以看出来
1. 过拟合现象极大程度地消减了,从损失函数的U型曲线的角度可以看出来
2. 我们使用了原始的MNIST数据集中的测试集来测试两个模型:
>> - 原始1000个样本的模型的测试结果是84.23%
>> - 增强后的10000个样本的模型的测试结果是90.16%
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ $$h(4)=(f*g)(4)=\sum _{t=1}^{3}f(t)g(4-t)$$

### 17.1.3 单入单出的二维卷积

二维卷积一般用于图像处理上。在二位图片上做卷积,如果把图像Image简写为$I$,把卷积核Kernal简写为$K$,则目标图片的第$(i,j)$个像素的卷积值为:
二维卷积一般用于图像处理上。在二维图片上做卷积,如果把图像Image简写为$I$,把卷积核Kernal简写为$K$,则目标图片的第$(i,j)$个像素的卷积值为:

$$
h(i,j) = (I*K)(i,j)=\sum_m \sum_n I(m,n)K(i-m,j-n) \tag{3}
Expand Down Expand Up @@ -113,7 +113,7 @@ $$

图17-14 多入单出的降维卷积

在上图中,每一个卷积核对应着左侧相同颜色的输入通道,三个过滤器的值并不一定相同。对三个通道各自做卷积后,得到右侧的三张特征图,然后在按照原始值不加权地相加在一起,得到最右侧的黑色特征图,这张图里面已经把三种颜色的特征混在一起了,所以画成了黑色
在上图中,每一个卷积核对应着左侧相同颜色的输入通道,三个过滤器的值并不一定相同。对三个通道各自做卷积后,得到右侧的三张特征图,然后再按照原始值不加权地相加在一起,得到最右侧的白色特征图,这张图里面已经把三种颜色的特征混在一起了,所以画成了白色,表示没有颜色特征了

虽然输入图片是多个通道的,或者说是三维的,但是在相同数量的过滤器的计算后,相加在一起的结果是一个通道,即2维数据,所以称为降维。这当然简化了对多通道数据的计算难度,但同时也会损失多通道数据自带的颜色信息。

Expand Down

0 comments on commit b4f6e13

Please sign in to comment.