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

深度学习笔记(9)——神经网络和反向传播

神经网络和反向传播

神经网络架构:

在这里插入图片描述
更多的神经元,更大的模型容量,使用更强的正则化进行约束。

神经网络的分层计算

f = W 2 m a x ( 0 , W 1 x + b 1 ) + b 2 f=W_2max(0,W_1x+b_1)+b_2 f=W2max(0,W1x+b1)+b2,其中max函数体现了非线性,如果想要加深网络的层次,必须加上非线性函数

∂ f ∂ x = ∂ f ∂ y ∂ y ∂ x \frac{\partial f}{\partial x}=\frac{\partial f}{\partial y}\frac{\partial y}{\partial x} xf=yfxy,此处的 ∂ f ∂ y \frac{\partial f}{\partial y} yf是上游梯度, ∂ f ∂ x \frac{\partial f}{\partial x} xf是下游梯度, ∂ y ∂ x \frac{\partial y}{\partial x} xy是局部梯度。

Sigmoid函数: σ = 1 1 + e − x \sigma=\frac{1}{1+e^{-x}} σ=1+ex1, σ \sigma σ [ 0 , 1 ] [0,1] [0,1]之间, ∂ σ ∂ x = σ ( 1 − σ ) \frac{\partial \sigma}{\partial x}=\sigma(1-\sigma) xσ=σ(1σ),Sigmoid函数在 x x x很大或者很小的时候,梯度几乎为0,即梯度消失。
在这里插入图片描述

梯度流中的基本计算模式:

add gate:两个输入的梯度和上游梯度相等
在这里插入图片描述

mul gate:另外一个输入和上游梯度的乘积,例如两个输入为x=2,y=3,上游梯度为5,则x的梯度为 3 ∗ 5 = 15 3*5=15 35=15,y的梯度为 2 ∗ 5 = 10 2*5=10 25=10
在这里插入图片描述

copy gate:两个输出,一个输入,输入的梯度等于两个上游梯度的和。
在这里插入图片描述

max gate:是两个输入中较大的那个的梯度
在这里插入图片描述

向量的反向传播

scalar to scalar: x ∈ R , y ∈ R , ∂ y ∂ x ∈ R x\in R,y\in R,\frac{\partial y}{\partial x}\in R xR,yR,xyR
vector to scalar: x ∈ R n , y ∈ R , ∂ y ∂ x ∈ R n , ( ∂ y ∂ x ) n = ∂ y ∂ x n x\in R^n,y\in R,\frac{\partial y}{\partial x}\in R^n,(\frac{\partial y}{\partial x})_n=\frac{\partial y}{\partial x_n} xRn,yR,xyRn,(xy)n=xny
vector to vector: x ∈ R n , y ∈ R m , ∂ y ∂ x ∈ R n × m , ( ∂ y ∂ x ) n , m = ∂ y m ∂ x n x\in R^n,y\in R^m,\frac{\partial y}{\partial x}\in R^{n\times m},(\frac{\partial y}{\partial x})_{n,m}=\frac{\partial y_m}{\partial x_n} xRn,yRm,xyRn×m,(xy)n,m=xnym
但是不管怎么变,Loss L依然是标量, ∂ L ∂ x \frac{\partial L}{\partial x} xL的形状总是与x相同

求向量的反向传播时,求得的雅可比矩阵总是稀疏的,非对角线元素总是0

max(x,a)的梯度:对于任何正数x,max(x,a)'=I(x>a),I(x>a)是示性函数


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

相关文章:

  • windows下vscode使用msvc编译器出现中文乱码
  • 自动化办公 | 根据成绩进行自动评级
  • Xilinx DCI技术
  • OpenGL变换矩阵和输入控制
  • 0055. shell命令--useradd
  • SpringAI从入门到熟练
  • HarmonyOs DevEco studio小技巧40--应用名称、图标与启动动画修改全攻略
  • 高仿CSDN编辑器,前端博客模板
  • 基于NodeMCU的物联网窗帘控制系统设计
  • 神经网络-AlexNet
  • Android笔试面试题AI答之非技术问题(1)
  • Asp.NET Core - 尝试一下在NET9中使用Yarp作为Api Proxy
  • C语言基础
  • Spring Boot实战:构建一个简单的RESTful API
  • vue2 升级为 vite 打包
  • Unity-Editor扩展显示文件夹大小修复版 FileCapacity.cs
  • HarmonyOS Next“说书人”项目 单机版 实践案例
  • AI与云计算:天作之合
  • 如何高效学习PHP框架源码
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验四----城市用地适宜性评价(超超超详细!!!)
  • unity使用代码在动画片段中添加event
  • 汽车网络安全基线安全研究报告
  • vue.js普通组件的注册-局部注册
  • C11.【C++ Cont】遍历字符串的两种方式和strstr函数
  • 华为OD E卷(100分)37-考勤信息
  • 基于 Paimon x Spark 采集分析半结构化 JSON 的优化实践