网站定制电话,wordpress ashley,网站域名列表,做网站推广的方法有哪些内容来自https://www.bilibili.com/video/BV1FT4y1E74V#xff0c;仅为本人学习所用。 文章目录 超参数调试调试选择范围 Batch归一化公式整合 Softmax 超参数调试
调试
目前学习的一些超参数有学习率 α \alpha α#xff08;最重要#xff09;、动量梯度下降法 β \bet…内容来自https://www.bilibili.com/video/BV1FT4y1E74V仅为本人学习所用。 文章目录 超参数调试调试选择范围 Batch归一化公式整合 Softmax 超参数调试
调试
目前学习的一些超参数有学习率 α \alpha α最重要、动量梯度下降法 β \beta β次重要、Adam优化算法 β 1 \beta_1 β1、 β 2 \beta_2 β2、 ϵ \epsilon ϵ这三个参数一般默认、层数layers次次重要、不同层中的隐藏单元数量hidden units次重要、学习率衰减learning rate decay次次重要、小批量大小mini-batch size次重要。
对于超参数的取值如果有两个超参数可以画一个网格然后随机取值如果有三个超参数画一个立方体随机取值。
另外可以从粗到细取值。在某个范围内取的超参数明显比周围的效果要好那么可以在这个范围内细分取值。 选择范围 假设学习率在0.0001~1之间那么不应该随机均匀取值否则大部分数据落在0.1~1上因此使用对数标尺搜索超参数。 0.0001 1 0 − 4 , 1 1 0 0 , r ∈ [ − 4 , 0 ] 0.000110^{-4},110^0,r\in[-4,0] 0.000110−4,1100,r∈[−4,0]。在 r r r的范围内随机取值然后使用对数重新映射到对数标尺上。
Batch归一化 对于单层神经网络对参数 x x x归一化可以方便算法优化。 对于多层神经网络比如 w [ 3 ] w^{[3]} w[3]是否可以对参数 a [ 2 ] a^{[2]} a[2]归一化 a [ 2 ] a^{[2]} a[2]来自于 z [ 2 ] z^{[2]} z[2]所以对 z [ 2 ] z^{[2]} z[2]进行归一化称为Batch归一化。
公式
计算均值对于给定的mini - batch数据以神经网络某层输入 z ( 1 ) , z ( 2 ) , ⋯ , z ( m ) z^{(1)}, z^{(2)}, \cdots, z^{(m)} z(1),z(2),⋯,z(m)为例 m m m是mini - batch大小计算其均值 μ \mu μ μ 1 m ∑ i 1 m z ( i ) \mu\frac{1}{m}\sum_{i 1}^{m}z^{(i)} μm1∑i1mz(i)。计算方差计算mini - batch数据的方差 σ 2 \sigma^2 σ2 σ 2 1 m ∑ i 1 m ( z ( i ) − μ ) 2 \sigma^2\frac{1}{m}\sum_{i 1}^{m}(z^{(i)} - \mu)^2 σ2m1∑i1m(z(i)−μ)2。归一化对每个数据点 z ( i ) z^{(i)} z(i)进行归一化得到 z n o r m ( i ) z ( i ) − μ σ 2 ϵ z_{norm}^{(i)}\frac{z^{(i)} - \mu}{\sqrt{\sigma^2\epsilon}} znorm(i)σ2ϵ z(i)−μ其中 ϵ \epsilon ϵ是一个很小的正数如 1 0 − 8 10^{-8} 10−8防止分母为零。尺度变换和偏移引入可学习参数 γ \gamma γ尺度参数和 β \beta β偏移参数对归一化后的数据进行变换 z ^ ( i ) γ z n o r m ( i ) β \hat{z}^{(i)}\gamma z_{norm}^{(i)}\beta z^(i)γznorm(i)β 如果 γ σ 2 ϵ β μ \gamma\sqrt{\sigma^2\epsilon}\beta\mu γσ2ϵ βμ有 z ^ ( i ) \hat{z}^{(i)} z^(i) z ( i ) z^{(i)} z(i)。 γ 、 β \gamma、\beta γ、β是新引入的超参数。
整合 输入层有 x 1 x_1 x1、 x 2 x_2 x2、 x 3 x_3 x3三个输入特征经过两层隐藏层每层有两个神经元最终输出 y ^ \hat{y} y^。神经元中 z [ l ] z^{[l]} z[l]表示第 l l l层的线性输出 a [ l ] a^{[l]} a[l]表示第 l l l层的激活输出。
在每一层的线性输出 z [ l ] z^{[l]} z[l]之后进行Batch归一化BN操作引入可学习参数 β [ l ] \beta^{[l]} β[l]和 γ [ l ] \gamma^{[l]} γ[l]归一化后再经过激活函数得到 a [ l ] a^{[l]} a[l]。图中红色波浪线部分表示Batch归一化的处理位置。
在神经网络中某层的线性输出原本为 z W x b z Wx b zWxb 。当进行Batch归一化时由于后续的 β \beta β偏移参数也起到了类似 b b b的添加偏移量的作用所以从效果上看 b b b的作用被 β \beta β替代了。也就是说 b b b对输入数据所做的添加偏移量的操作在Batch归一化后的 β \beta β操作中可以等效实现因此在实际计算中可以将 b b b消去简化计算过程。
在实际应用中由于样本是mini-Batch因此归一化时可以使用指数加权平均来计算 μ \mu μ和 σ 2 \sigma^2 σ2。
Softmax
之前的分类采用二分分类这种分类只有0和1两种标记。如果我们需要更多的标记可以使用Softmax回归来识别多种分类中的一个。 对于识别猫、狗、小鸡以及其他类别总共有 C 4 C 4 C4个类别分别用0其他、1猫、2狗、3小鸡表示。下方的神经网络架构输入 X X X经过多个隐藏层最终输出层有 n [ L ] 4 n^{[L]} 4 n[L]4个神经元分别对应输入图像属于“其他”“猫”“狗”“小鸡”这四类的概率 P ( o t h e r ∣ x ) P(other|x) P(other∣x)、 P ( c a t ∣ x ) P(cat|x) P(cat∣x)、 P ( d o g ∣ x ) P(dog|x) P(dog∣x)、 P ( b c l ∣ x ) P(bcl|x) P(bcl∣x)输出 y ^ \hat{y} y^代表预测的类别。
对于 z [ l ] W [ l ] a [ l − 1 ] b [ l ] z^{[l]} W^{[l]}a^{[l - 1]}b^{[l]} z[l]W[l]a[l−1]b[l] 使用Softmax作为激活函数。先对 z [ l ] z^{[l]} z[l]进行指数运算得到 t e z [ l ] t e^{z^{[l]}} tez[l] 然后通过Softmax公式计算激活输出 a [ l ] a^{[l]} a[l] a [ l ] e z [ l ] ∑ j 1 4 t i a^{[l]}\frac{e^{z^{[l]}}}{\sum_{j 1}^{4}t_{i}} a[l]∑j14tiez[l] 其元素 a i [ l ] t i ∑ j 1 4 t i a_{i}^{[l]}\frac{t_{i}}{\sum_{j 1}^{4}t_{i}} ai[l]∑j14titi 将线性输出转换为概率分布。