当前位置: 首页 > article >正文

网络训练和推理过程

训练过程:目的是更新权值

训练过程是为了更新权值,以达到最小化预测值和真实值之间的差异。

前向传播(Forward Propagation):

将数据输入网络计算输出值(模型的预测值)

输入数据 A m ( l − 1 ) A_m^{\left(l-1\right)} Am(l1) ,初始化的权值 W W W 和初始化的偏置 b b b 计算得到输出特征图 A k ( l ) A_k^{\left(l\right)} Ak(l),即 预测值

反向传播(Backward Propagation

1. 步骤一:计算损失(Loss Calculation)计算输出值(模型的预测值)和实际值之间的损失(差异)

通过 预测值 A k {A_k} Ak和真实标签 y y y 计算得到:损失值 L L L

2. 步骤二:计算输出梯度(误差):

损失函数 ( L ) (L) (L)对输出特征图 ( A k ( l ) ) (A_k^{\left(l\right)}) (Ak(l))的梯度为

δ A k ( l ) = ∂ L ∂ A k ( l ) \delta A_k^{\left(l\right)}=\frac{\partial L}{\partial A_k^{\left(l\right)}} δAk(l)=Ak(l)L

3. 步骤三:计算损失对每个权值的梯度(weight gradient)

权值 ( W k , m ( l ) ) (W_{k,m}^{\left(l\right)}) (Wk,m(l))的梯度 ( ∂ L ∂ W k , m ( l ) ) (\frac{\partial L}{\partial W_{k,m}^{\left(l\right)}}) (Wk,m(l)L),通过卷积输入 ( A m ( l − 1 ) ) (A_m^{\left(l-1\right)}) (Am(l1))和输出梯度 ( δ A k ( l ) ) (\delta A_k^{\left(l\right)}) (δAk(l))得到。

对于权值的每个位置,权值梯度计算公式是:

∂ L ∂ W k , m ( l ) = δ A k ( l ) ∗ A m ( l − 1 ) \frac{\partial L}{\partial W_{k,m}^{\left(l\right)}}=\delta A_k^{\left(l\right)}\ast A_m^{\left(l-1\right)} Wk,m(l)L=δAk(l)Am(l1)
这里, ( ∗ ) (\ast) ()表示卷积操作。将输入特征图梯度 δ A k ( l ) \delta A_k^{\left(l\right)} δAk(l) 与输出误差 A m ( l − 1 ) A_m^{\left(l-1\right)} Am(l1) 进行卷积来计算权重的梯度 ∂ L ∂ W k , m ( l ) \frac{\partial L}{\partial W_{k,m}^{\left(l\right)}} Wk,m(l)L

4. 步骤四:计算输入梯度(data gradient)

为了更新前一层的权重,我们还需要计算损失函数 对输入特征图的梯度(即前一层的误差):

δ   A m ( l − 1 ) = ∑ k W k , m ( l ) ∗ δ A k ( l ) \delta\ A_m^{\left(l-1\right)}=\sum_{k} W_{k,m}^{\left(l\right)}\ast\delta A_k^{\left(l\right)} δ Am(l1)=kWk,m(l)δAk(l)
这里, ( ∗ ) (\ast) ()表示卷积操作。表示在反向传播时,卷积核 W k , m ( l ) W_{k,m}^{\left(l\right)} Wk,m(l)和输出梯度 δ A k ( l ) \delta A_k^{\left(l\right)} δAk(l)的卷积结果,这将传递到前一层,更新输入特征图的梯度 δ   A m ( l − 1 ) \delta\ A_m^{\left(l-1\right)} δ Am(l1)

tip:

权值的梯度(weight gradient :wgrad)

输入的梯度(data gradient :dgrad)

A m ( l − 1 ) A_m^{\left(l-1\right)} Am(l1)输入特征图, δ A m ( l − 1 ) \delta A_m^{\left(l-1\right)} δAm(l1) 输入梯度。

A ( a c t i v a t i o n ) A(activation) Aactivation代表的是激活值

m , k m,k m,k分别代表输入和输出特征图的通道索引

5. 步骤五:权值更新(Update weight gradient)使用得到的梯度(wgrad)调整权值和偏置,减少损失

权值通过梯度下降(gradient descent)的方式进行更新,即:

W n e w = W o l d   −   η ∂ L ∂ W W^{new}=W^{old}\ -\ \eta\frac{\partial L}{\partial W} Wnew=Wold  ηWL
其中 η \eta η 是学习率(权重每次调整的步长), ∂ L ∂ W \frac{\partial L}{\partial W} WL 权重梯度(wgrad)

tip:(weight gradient)(data gradient)(Backward Propagation)(Forward Propagation)。

a b b r e v i a t i o n : abbreviation: abbreviationwgrad,dgrad,bprop,fprop

推理过程:目的是进行预测

前向传播进行预测。


http://www.kler.cn/a/293251.html

相关文章:

  • 缓存与数据库不一致的解决方案:深入理解与实践
  • 密码学的基本原理
  • 【mysql】使用宝塔面板在云服务器上安装MySQL数据库并实现远程连接
  • 应用于新能源汽车NCV4275CDT50RKG车规级LDO线性电压调节器芯片
  • 使用elementUI实现表格行拖拽改变顺序,无需引入外部库
  • 图像处理实验二(Image Understanding and Basic Processing)
  • Android切换日夜模式导致Activity重建
  • C/C++的自由落体运动
  • 服务器数据恢复—磁盘坏扇区导致raid6阵列崩溃的数据恢复案例
  • 校园体育装备展-2025中国(深圳)国际学校体育装备展览会
  • 【Kafka】怎么解决Kafka消费者消费堆积问题?
  • windows 11/ubuntu Teredo 设置 (ipv4 转 ipv6)
  • 数据结构之——顺序表中基本操作的实现
  • 读懂以太坊源码(2)-重要概念Gas
  • 【Kubernetes 】k8s常用单词
  • Linux:深入剖析计算机软硬件架构
  • 单一职责原则介绍
  • Gartner报告解读:如何帮助企业完善数据分析与治理路线图
  • Jmeter模拟用户登录时获取token如何跨线程使用?
  • PostgreSQL技术内幕8:PostgreSQL查询执行器
  • 完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (二) 源码架构流程梳理、代码编写
  • Python爬虫01
  • 代码随想录:343. 整数拆分
  • ECMAScript与JavaScript的区别:深入解析与代码示例
  • MP条件构造器之常用功能详解(select、set)
  • MySQL——事务与存储过程(三)存储过程的使用(4)删除存储过程