神经网络——超参数的重要性,对数随机取值,调试模型的方法, BN归一化,softmax激活器

mac2024-10-10  51

超参数的重要性:

第一级:学习率 第二级:mmentum=0.9,mini-batch,隐藏单元结点的数量 第三级:学习率衰减,adam的值β

对数随机取值

随机但是非均匀取值: 想象一下对于学习率,取值范围是(0.0001,1)之间 如果是随机均匀取值,会有90%的权重落入01.-1之间,10%落入0.0001-0.1之间,是不是不合理呢?

正确的方法采用对数轴取值,对于(a,b)范围,利用A=loga,B=logb,得到值域(A.B),之后在(A,B)上均匀取值,取得值c进行10^c操作即合理的值。 例如(0.0001,1)取对数后得到(-4,0)之后随机均匀取值,即得到合理分布.25%落入0.0001-0.001

而特别的对于指数平均的β(0.9,0.999),正确的取值的方法是 对1-β取对数轴均匀取值(0.001,0.1)【转化为上述AB的问题】,取得后再减。

调试模型的方法:

熊猫方式(panda):当计算能力不足时,只能训练一个模型。 则根据魔心的Loss,accuracy曲线实时进行调整,比如第一天降低学习率,第二天增加β等等 鱼子酱方式(caviar):计算能力充足,尝试不同的超参数

BN归一化

对于简单的神经网络或者logistic回归。 对参数进行 (x-均值)/标准差是有效的【归一化,标准化,使得值收缩到某一范围 】此时转化为均值为0,方差为1的数组

对于复杂度的网络: batch归一化:BN 能够使得某一隐藏层的输入【对于w3,b3,输入就相当于是z2】,对z2进行BN标准化得到z’2【通过β2,γ2】 实质: z_norm=(z-均值)/标准差 此时均值为0,方差为1 z’2=γ2*z_norm+β2 此时均值为β2,方差为γ2^2

softmax激活器

两种结果的一个:logistic回归 多种分类的中的一个:softmax回归: softmax激活函数: 输出层有n个节点,输出的值将分别代表n个类的概率。当然和为0 作法:对于输出层L有四个节点 对于z[L]=w[L]*a[L-1]+b[L] (4,1) t=e^z[L](4,1) 此时分别计算 a[i]=e^z[i]/(e ^z[1]+e ^z[2]+e ^z[3]+e ^z[4]) 则a(4,1)就是我们想要的分类 举个例子: z[L]=[5,2,-1,3] t[L]=[e5,e2,e-1.e3]=[148.4,3.4,0.4,20.1] a[L]=[0.842,0.042,0.002,0.114] 则图像有84.2%的概率是第1类----

最新回复(0)