米课wordpress建站,python 网站开发 普及,网站建设与规划前景,网站建设和推广话术61、网络优化参数 sigmoid函数#xff1a;1/(1e^(-x))#xff1a;#xff1a;便于求导的平滑函数#xff0c;但是容易出现梯度消失问题#xff1b;函数中值不是0#xff0c;会导致模型训练的收敛速度变慢。。。 tanh函数#xff1a;(e^x-e^(-x))/(e^xe^(-x))::解决了zero…1、网络优化参数 sigmoid函数1/(1e^(-x))便于求导的平滑函数但是容易出现梯度消失问题函数中值不是0会导致模型训练的收敛速度变慢。。。 tanh函数(e^x-e^(-x))/(e^xe^(-x))::解决了zero-centered问题但是梯度消失和幂运算的问题还在。 RELUmax{0,x}::在正区间解决了梯度消失问题计算速度很快但是也不是zero-centered且存在DEAD RELU Problem(某些神经元可能永远不会参加计算导致相应参数无法被更新。解决方法采用Xavier初始化方法以及避免lr设置太大或者使用Adagrad等自动调节lr算法。 LEAKY RELU函数max{0.01x,x}::解决DEAD RELU PROBLEM但是理论是好实际应用也不一定绝对比RELU好。 指数线性单元ELU函数 α(e^x-1) , x0 x ,x0 有较高的噪声鲁棒性但是需要计算指数所以计算量较大。 SELU函数SELU(x)λ(ELU(x)) 自归一化神经网络中提出只要把激活函数换程SELU就能使得输入在经过一定层数后变成固定分布。 Softmax函数可视作Sigmoid函数的泛化形式本质上就是将一个K维的任意实数向量压缩映射成另一个K维的实数向量其中向量中的每个元素取值都介于(0,1)之间。一般用于多分类神经网络。 2、参数初始化方法 参数初始化条件1、各层激活值不会出现饱和现象2、各层激活值不为0 随机生成小的随机数从均值为0标准差为1的高斯分布中取样这样参数的每个维度来自于一个多维的高斯分布。一般参数初始值不能太小容易出现梯度弥散反向传播时会导致较小的梯度产生。 标准初始化权重参数从确定的区间均匀随机取值 Xavier初始化从方差来考虑激活值的方差和层数无关反向传播梯度的方差和层数无关Xavier通常和ReLU一起使用。 3、最优化方法 优化方法时深度学习中最重要的话题通常时利用目标函数的导数通过多次迭代来求解无约束最优化问题。 常见有梯度下降批量梯度下降随机梯度下降SGD)基于动量项的SGD牛顿法基于二阶梯度快但是Hesseian矩阵不可逆就难办了、拟牛顿法用正定矩阵来代替Hesseian矩阵的逆、共轭梯度法 以上方法中堆所有参数使用同一个更新速率但同一个速率不一定适合所有参数。 Adagrad算法自适应维各个参数分配不同学习率的算法其学习率是单调递减的训练后期学习率非常小要手工设置一个全局的厨师学习率、Adadelta算法不依赖全局学习率但RMSprop可算作Adadelta的一个特例仍然依赖于全局lr、Adam算法本质上是带有动量项的RMSprop算法。 4、归一化方法 特征归一化BNLN, GN权重归一化WN 目的满足数据的独立同分布要求这一基本假设 5、正则化方法预测和训练效果一样好泛化能力强 参数惩罚常用的就是在损失函数上添加范数约束 DROPOUT训练过程中随机丢弃输入得到子网络显著降低过拟合这里通过对每个层随机选择激活函数的子集设置为0与DROP CONNECT前者的一般化形式区别前者的激活函数子集设为0这里将权重设为0 提前停止 训练样本扩充实际上最有效的防止过拟合的方法是增加训练样本。 转载于:https://www.cnblogs.com/jphuang-/p/11114921.html