调试处理
一般情况下,需要调试的超参数顺序:

怎样调试:
在一个范围内,随机取值

先大范围随机取值,然后局部取值

为超参数选择合适的范围
1.节点个数、网络层数——>随机均匀取值

2.α——>随机对数取值


r=-4*np.random.rand()
alpha = 10^r
3.β

β在接近1的时候会很敏感,可以更密集的取值

超参数的网络实践:pandas VS caviar
pandas:照料一个模型,观察他的表现啊,耐心的调试学习率,但通常因为没有足够的计算能力,不能在同一时间试验大量的模型时使用
train many models in parallel:同时试验多种模型,设置一些超参数,让他们运行一天或几天,你会获得他们的学习曲线,然后选择工作效果最好的那一个。

正则化网络的激活函数
在Logistic回归中,我们用归一化网络输入来加速学习:

在如下深度神经网络中,若想训练W[3],b[3],归一化A[2] (Z[2])



不想让隐藏单元总是均值为0,方差为1

其中:

使用γ和β构造含有其他均值和方差的隐藏单元

batch归一化不只适用于输入层还适用于隐藏层
将batch norm拟合进神经网络


参数:W[1],γ[1],β[1],…,W[l].b[l],γ[l]

在tensorflow中:
tf.nn.batch_normalization
for t = 1 ......mini-batch:
前向传播:
X^{t}j进行前向传播,应用于每个隐藏层,将Z^[l]转换为Z~^[l]
反向传播:
计算dW[l],dβ[l],dγ[l]
W[l] = W[l]-alpha*dW[l]
β[l] = β[l] -alpha*β[l]
γ[l] = γ[l]-alpha*γ[l]
也适用于momentum,RMSprop,Adam
batch Norm 为什么有效?
batchNorm一次处理一个mini_batch
1.加速学习
2.减少前层参数与后一次的联系(均值和方差不变)
测试时的batch Norm
测试一般为单个样本测试,但单个样本的均值和方差无意义。
使用训练样本估计均值和方差,再应用于测试。
softmax回归

本文详细介绍了深度学习中超参数的调试策略,包括节点个数、网络层数及学习率等的随机取值方法。同时,深入探讨了BatchNorm在加速学习和减少参数依赖方面的应用,以及其在神经网络中的实现细节。
653

被折叠的 条评论
为什么被折叠?



