2.3超参数调试,batch正则化以及Softmax回归

2.3超参数调试,batch正则化以及Softmax回归

1.调试处理

1.1常见的超参数

\alpha,\beta,β1,β2,\varepsilon

其中,学习率a最重要


如果需要调整超参数,应该如何选择调试值呢?

在这里插入图片描述

早期的深度学习通常是用网格的形式来选择调试值的,即尝试所有的25个点,然后选择参数效果最好的那个点。

1.现在,推荐使用随机选择点的方法来调试超参。随机选取25个点,然后去试一试那个点最优,因为对于要解决的问题,很难知道哪个超参数最重要。所以,用左边的方法去调试a时,只有五种结果,而用右边的方法去调试,会有25个结果。

所以说,随机取值可以探究更多重要超参数的潜在值

2另一个原则是由粗到精。如果已经发现了某个点处调试结果很好,那么可以在这个点周围的某个区域去更密集的点进行调试,找到更精细的点。


1.2为超参数选取合适的范围

以学习率为例,a=0.0001,在0.0001之间如果是随机取值的话,那么0.1~1之间的值一般都是不需要的,即浪费了90%的资源。

所以,这里采用非线性取值的方法,使资源利用最大化。即0.00010.0010.010.11

python中,为满足此要求,可以这样设置:

r = -4*np.random.rand()
a = math.power(10,r)

对于指数加权平均系数β,假设它是一个0.9—0.999之间的某个值,所以,转换一下思路,1-β即为0.10.001之间,按照上面的非线性取值的思路,可以设置轴上的数字从左到右依次为0.10.01~0.001.

当β趋近于1时,可以更加有效的分布取样点,更有效率的探究可能的结果。


2.正则化网络的激活函数

2.1Batch归一化

对于输入层,一般会进行归一化处理,但是如果对隐藏层a[2]进行归一化,高效的帮我们训练好w[3]和b[3]的值。而在实际中,通常将Z[2]归一化来进行训练,这就是Batch归一化

Batch归一化的公式流程

在这里插入图片描述

γ和β是模型中要学习的两个参数,通过调整这两个参数,可以让归一化后的Z为你任意想要的值,从而更好的满足训练要求

2.2.将Batch Norm拟合神经网络

1.拟合的基本流程:

在这里插入图片描述

记住:Batch Norm介于Z和a之间,对于参数β,可以用学习率公式更新,也可以用Adam,RSM prop,momentum优化法进行更新,这个看个人需求

2.通常,BN会与mini-batch连用,那么:

在这里插入图片描述

由于在BN过程中,需要求均值μ,显然μ中包含了参数b,而后面归一化的过程中有Z(i)-μ,所以,BN过后的输入Z是不含有b的,故可直接设置参数b为0,且一般用β[L]来替代,所以这里起作用的参数为w,γ和β

3.BN能够有效训练参数的原因。

  • BN能够对隐藏层进行拟合归一
  • BN可以使权重比网络更加滞后或更深层,能够使模型更加稳定。——如果不进行BN的话,如果w和b产生变化,那么z的值将会产生比较大的变化。而如果对隐藏层的Z进行BN之后,那么Z的值将只能在[0,1]之间或者根据γ和β来确定Z的范围,这样即使w和b产生变化,对隐藏层的Z也不会有太大的影响,减弱了前层参数对后层的影响,换句话说就是BN可以使得网络每层都可以自己学习,这就使得模型更加稳定。

3.Softmax回归

对于二分分类问题,只能识别是或者不是,如果需要识别多个类别的话,就需要用到Softmax回归了。

实现流程:

假如要做一个四分分类的问题:

在这里插入图片描述

对于softmax层,计算线性化部分得:
Z L = w L a L + b L Z^L=w^L*a^L+b^L
这里Z^L的维度为(4,1)

然后,将Z^L带入到激活函数中,激活函数为:
t = e Z t=e^Z

a L = e Z i = 1 L t i a^L=\frac{e^Z}{\sum_{i=1}^{L}{t^i}}

即:
a L = t i i = 1 L t i a^L=\frac{t^i}{\sum_{i=1}^L{t^i}}
最终,再进行归一化即可:

如果我们利用激活函数计算得到t,假如t等于:
[ 148.4 3.4 0.4 20.1 ] \left[ \begin{matrix} 148.4 \\ 3.4 \\ 0.4 \\ 20.1 \end{matrix} \right]
那么归一化后,softmax层输出为:
[ 0.842 0.042 0.002 0.114 ] \left[ \begin{matrix} 0.842\\ 0.042 \\ 0.002 \\ 0.114\end{matrix} \right]
所以,第一类的可能性为0.842,故其对应为第一类,其他三个都不是第一类。


猜你喜欢

转载自blog.csdn.net/tqptr_opqww/article/details/103539720