CS231n李飞飞计算机视觉 神经网络训练细节part1下

部署运行你感兴趣的模型镜像

神经网络训练细节part1下

  1. 权值初始化

  2. 批数据规范化Batch Normalization

  3. 超参数优化

权值初始化

(1)高斯随机数乘0.01

w = 0.01*np.random.randn(fan_in,fan_out)

特点:在层数较少的网络中效果较好,但在随着网络层数增多会出现梯度消失。

在上图的网络中,反向传播,求W1的导数,

\frac{\partial f}{\partial w_1}=\frac{\partial f}{\partial q}\frac{\partial q}{\partial w_1}=x\frac{\partial f}{\partial q}=xzw_3w_4

由于网络权值初始化为小的随机数,W1的梯度值就很小,如果网络层数再增多,W1的梯度值就接近为0,因而出现梯度消失。

(2)高斯随机数乘1

w = 1.0*np.random.randn(fan_in,fan_out)

特点:权值不会过小,但是会造成几乎全部神经元饱和,梯度消失。

(3)Xavier初始化

w = np.random.randn(fan_in,fan_out)/np.sqrt(fan_in)

特点:考虑到数据方差,让高斯随机数除以输入单元个数的算术平方根,致使输入较多时权值变小,输入较少时权值较大。这个方法是考虑的线性数据的方差。但是在使用ReLU做激活函数时,由于对于负输入ReLU的输出为0,所以方差减半,故修改初始化方法为:

w = np.random.randn(fan_in,fan_out)/np.sqrt(fan_in/2)

批数据规范化

让一个batch的数据的每个特征分布是单位高斯分布的(均值为0,方差为1)

\hat{x}^{(k)}=\frac{x^{(k)}-E[x^{(k)}]}{\sqrt{Var[x^{(k)}]}}

规范化后的数据依旧可微。批数据规范化层放在全连接层之后,激活函数之前。如下图:

但是无法确定网络是否需要高斯分布的数据。因而对其进一步改进,y^{(k)}=\alpha ^{(k)}\tilde{x}^{(k)}+\beta^{(k)}\alpha ^{(k)},\beta^{(k)}是参数,是网络训练过程中可以学习的参数,这样在优化一开始的时候不会出现梯度消失的现象。但是存在一种情况,就是当网络学习到的参数\alpha ^{(k)}=E[x^{(k)}],\beta^{(k)}=\sqrt{Var(x^{(k)})},此时就抵消掉了批数据规范化BN的处理。

优点:(1)增强网络中的梯度流。(2)允许网络的学习速率较大,网络训练速度较快。(3)减少了网络对权值初始化的依赖性。(4)也是一种正则化的形式。这样理解本来一个batch中的n个数据是独立地进入网络然后更新权值,但是在BN中要让每个数据减去这个batch数据的均值,然后再除以这个Batch数据的方差。所以这些数据互相还是有影响的。

测试时,BN层是如何工作的?关键在于BN中的数据减去的均值是什么?除以的方差是什么?

两种方式:(1)计算整个训练集的方差和均值。(2)在训练过程中保留每一个batch的均值和方差,分别将全部的均值和方差加起来。

超参数优化

超参数:学习率、正则化

随机产生在一定范围内的随机数作为参数,然后观察其优化效果,选择效果较优的区间。

最好在对数空间采样。

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

【直流微电网】径向直流微电网的状态空间建模与线性化:一种耦合DC-DC变换器状态空间平均模型的方法 (Matlab代码实现)内容概要:本文介绍了径向直流微电网的状态空间建模与线性化方法,重点提出了一种基于耦合DC-DC变换器状态空间平均模型的建模策略。该方法通过对系统中多个相互耦合的DC-DC变换器进行统一建模,构建出整个微电网的集中状态空间模型,并在此基础上实施线性化处理,便于后续的小信号分析与稳定性研究。文中详细阐述了建模过程中的关键步骤,包括电路拓扑分析、状态变量选取、平均化处理以及雅可比矩阵的推导,最终通过Matlab代码实现模型仿真验证,展示了该方法在动态响应分析和控制器设计中的有效性。; 适合人群:具备电力电子、自动控制理论基础,熟悉Matlab/Simulink仿真工具,从事微电网、新能源系统建模与控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握直流微电网中多变换器系统的统一建模方法;②理解状态空间平均法在非线性电力电子系统中的应用;③实现系统线性化并用于稳定性分析与控制器设计;④通过Matlab代码复现和扩展模型,服务于科研仿真与教学实践。; 阅读建议:建议读者结合Matlab代码逐步理解建模流程,重点关注状态变量的选择与平均化处理的数学推导,同时可尝试修改系统参数或拓扑结构以加深对模型通用性和适应性的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值