(2023版)斯坦福CS231n学习笔记:DL与CV教程 (4) | 神经网络与反向传播

前言

⚠️ 本节重点内容

  1. 神经网络基础
  2. 激活函数
  3. 神经网络结构
  4. 反向传播

一、什么是神经网络?

这里不做多解释,深度学习的基础,只记录几个重点。

  1. 类比人类大脑神经元结构:输入、权重、激活函数、计算、输出;

大脑的基本计算单位是神经元(neuron) 。人类的神经系统中大约有 860 亿个神经元,它们被大约 1014 - 1015 个突触(synapses)连接起来。上方是一个生物学的神经元,下方是一个简化的常用数学模型。每个神经元都从它的树突(dendrites)获得输入信号,然后沿着它唯一的轴突(axon) 产生输出信号。轴突在末端会逐渐分枝,通过突触和其他神经元的树突相连。

在神经元的计算模型中,沿着轴突传播的信号(比如 公式 )将基于突触的突触强度(比如 公式 ),与其他神经元的树突进行乘法交互(比如 公式 )。

二、神经网络算法基础

2.1 激活函数(也称"非线性映射函数")

Q:为什么需要激活函数呢?

A:如果不使用激活函数,无论多少层,最终都是输入层的线性组合,即计算下来还是一个线性分类器!!!

注意:非线性函数在计算上是至关重要的,如果略去这一步,那么两个矩阵将会合二为一,对于分类的评分计算将重新变成关于输入的线性函数。这个非线性函数就是改变的关键点。

激活函数的作用:激活函数的主要作用就是加入非线性因素,以解决线性模型表达能力不足的缺陷,

常见激活函数:

2.2 神经网络结构

参数调整可视化:https://cs.stanford.edu/people/karpathy/convnetjs/demo/

对于普通神经网络,最普通的层级结构是全连接层(fully-connected layer) 。全连接层中的神经元与其前后两层的神经元是完全成对连接的,但是在同层内部的神经元之间没有连接。网络结构中没有循环(因为这样会导致前向传播的无限循环)。

下面是两个神经网络的图例,都使用的全连接层:

注意:当我们说N层神经网络的时候,我们并不计入输入层。单层的神经网络就是没有隐层的(输入直接映射到输出)。也会使用人工神经网络(Artificial Neural Networks 缩写ANN)或者多层感知器(Multi-Layer Perceptrons 缩写MLP)来指代全连接层构建的这种神经网络。此外,输出层的神经元一般不含激活函数。

用来度量神经网络的尺寸的标准主要有两个:一个是神经元的个数 ,另一个是参数的个数。用上面图示的两个网络举例:

  • 第一个网络有4+2=6个神经元(输入层不算),「3x4」+「4x2」=20 个权重,还有4+2=6个偏置,共「20+6 = 26」个可学习的参数。
  • 第二个网络有4+4+1=9个神经元,「3x4」+「4x4」+「4x1」=32 个权重,4+4+1 =9个偏置,共41个可学习的参数。
    现代卷积神经网络能包含上亿个参数,可由几十上百层构成(这就是深度学习)。

代码解释

实际上生物神经元很复杂:

  1. 多种不同类型
  2. 树突可进行复杂的非线性计算
  3. 突触不是一个单一的权重,而是一个复杂的非线性动态系统

🔥 同样的神经网络也不是简简单单的一个线性分类器,不然无法处理非常复杂的任务!!!

这也就引入了损失函数,那怎么让损失函数最小,需要找到最合适的参数,怎么找到呢?按照梯度下降最合适的方向?那怎么找到这个方向呢?答案是:计算图和反向传播

三、反向传播

神经网络的训练,应用到的梯度下降等方法,需要计算损失函数的梯度,而其中最核心的知识之一是反向传播,它是利用数学中链式法则递归求解复杂函数梯度的方法。

3.1 一个简单的例子

下图是整个计算的线路图,绿字部分是函数值,红字是梯度,前向传播从输入计算到输出(绿色),反向传播从尾部开始,根据链式法则递归地向前计算梯度(显示为红色),一直到网络的输入端。可以认为,梯度是从计算链路中回流。

3.2 爆肝推导BP

讲真到现在都没有认真推一边反向传播算法计算步骤,原本想不在这里记录了,看PPT最直观,但还是想要稍微记一下!!!因为太直观啦!!!

🔥标量推导

🔥案例:

  1. 正向计算
  2. 反向计算






    特别说明:计算图形表示法可能不是唯一的。选择一种可以轻松表达每个节点局部梯度的表示方法!

补充

代码对应






到这里,其实我已经完全了解了反向传播的工作机制,但是目前好多框架已经集成了这些方法,大家可以直接在实际中调用了解即可!

向量推导

这部分不做详细推导,其实和标量差不多,只不过是求偏导!

注意:要分析维度!不要去记忆 dW 和 dx 的表达式,因为它们很容易通过维度推导出来。

相关推荐
火山kim8 分钟前
经典论文研读报告:DAGGER (Dataset Aggregation)
人工智能·深度学习·机器学习
Coding茶水间20 分钟前
基于深度学习的水果检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
檐下翻书17322 分钟前
算法透明度审核:AI 决策的 “黑箱” 如何被打开?
人工智能
undsky_24 分钟前
【RuoYi-SpringBoot3-Pro】:接入 AI 对话能力
人工智能·spring boot·后端·ai·ruoyi
网易伏羲35 分钟前
网易伏羲受邀出席2025具身智能人形机器人年度盛会,并荣获“偃师·场景应用灵智奖
人工智能·群体智能·具身智能·游戏ai·网易伏羲·网易灵动·网易有灵智能体
搬砖者(视觉算法工程师)39 分钟前
什么是无监督学习?理解人工智能中无监督学习的机制、各类算法的类型与应用
人工智能
西格电力科技1 小时前
面向工业用户的绿电直连架构适配技术:高可靠与高弹性的双重设计
大数据·服务器·人工智能·架构·能源
TextIn智能文档云平台1 小时前
图片转文字后怎么输入大模型处理
前端·人工智能·python
Hy行者勇哥1 小时前
从零搭建小智 AI 音箱 MCP 开发环境:自定义智能家居控制技能实战指南
人工智能·嵌入式硬件·硬件工程·智能家居
leaf_leaves_leaf1 小时前
强化学习奖励曲线
人工智能