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

计算机视觉CS231n学习(2)

损失函数和优化器
  1. 损失函数

    损失函数反应我们现在的分类器的好坏程度

    1. 多分类SVM损失:

      1这个常数是人为设定的,决定着到什么程度才认为loss为0

      在这里插入图片描述

      当其中某个分类目标的预测可能性得分值发生微小变化时,loss值不一定改变

      这个loss函数的最小值为0,最大值为+∞

      假设我们发现了参数W,使得loss值为0,参数W是唯一的吗?NO!

    2. 正则化

      在这里插入图片描述

      模型的预测应该能够匹配训练数据,所以计算在训练集上的损失,并根据这个损失值反向传播更新参数,使得模型越来越接近真实结果,但是模型也应该是简单的(拥有泛化能力,不过拟合),也能够正常应用在测试数据上(所以加入正则项:入R(W) )

      1. L1 正则化

        在这里插入图片描述

      2. L2 正则化

        在这里插入图片描述

      3. 弹性网络(L1 + L2)

        在这里插入图片描述

    3. Softmax Classifier

      Softmax function:

      在这里插入图片描述

      在这里插入图片描述

      所以Loss = 在这里插入图片描述

      这个损失函数的最小值为0,最大值为+∞

    4. SVM VS Softmax

      如果对一个数据点进行了微小的改变,这两个loss函数怎么变化?

      SVM可能不会变化

      Softmax变化较明显

  2. 优化器 Optimization --减小loss,寻找最好的参数w

    1. 随机搜索(碰到哪个更好用哪个)

    2. 有限差分近似在这里插入图片描述

      h就是每次更新的一小步。这个计算量非常大

    3. 运用微积分计算解析梯度

    4. 梯度校验:用数值微分来校验微积分计算的梯度

    5. 梯度下降

      weights = weights - step_size * weight_grad
      

      step_size:学习率

    6. 随机梯度下降

      选择batch_size的数据进行计算loss,计算梯度

  3. 图像特征 Image Features

    动机:在应用特征转换器后,本来不能用线性分类器分类的点,可以被线性分类器分类

    例子:颜色直方图(方向梯度直方图 HoG)

    例子:词包

反向传播
  1. Computational graphs 计算图

    Backpropagation 反向传播 example:

    (下图包括下下下图的反向传播求的是梯度值(偏导))

    在这里插入图片描述

  2. 比较复杂的可以使用链式法则

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    上述图片中没有max门,max门反向传播时会将这个梯度传给原来较大值,较小值的梯度为0

  3. 反向传播求梯度的一些规律总结

    add gate: gradient distributor: 直接接收传播过来的梯度,不做改变

    max gate: gradient router: 将这个梯度传给原来较大值,较小值的梯度为0

    mul gate: gradient switcher: 两个数相乘,一个数的梯度为接收到传播过来的梯度乘以另一个数

  4. 关于卷积神经网络中的全连接层 --神经网络

    一个简单的CNN:卷积层 -> 池化层 -> 展平层 -> 全连接层

    首先,卷积层和池化层就是为了得到一个多维的特征矩阵,就是特征提取、特征处理之类的,此时和计算最后的结果是无关的

    然后,展平层是为了将这些多维特征矩阵展平为一维向量,来参与后面全连接层的运算

    最后,全连接层用来计算最后的结果,结构和上面几张图的神经网络类似,全连接层可以有很多层(深度学习)

    反向传播更新参数时,全连接层中的各个神经元之间的节点的权重会被更新,卷积层中的卷积核上面的数值也会更新(卷积核尺寸不会变 是超参数)。

    反向传播的核心目标就是计算损失函数对网络中所有可学习参数的梯度(即偏导数)

http://www.dtcms.com/a/313177.html

相关文章:

  • 从马武寨穿越关山
  • ICCV 2025 | EPD-Solver:西湖大学发布并行加速扩散采样算法
  • p5.js 用 beginGeometry () 和 endGeometry () 打造自定义 3D 模型
  • 控制建模matlab练习06:比例积分控制-②PI控制器
  • 达梦数据库联机备份和脱机备份的区别
  • Centos7 安装Python3.11
  • 【Linux系统编程】进程信号
  • leecode2958 最多K个重复元素的最长子数组
  • 解决飞书文档中PDF文档禁止下载的问题
  • 提升工作效率的利器:Qwen3 大语言模型
  • Python 程序设计讲义(60):Python 的函数——递归函数
  • 出现OOM怎么排查
  • 研报复现|史蒂夫·路佛价值选股法则
  • linux ollama模型缓存位置变更
  • 音视频学习(四十九):音频有损压缩
  • 机器学习之决策树(二)
  • 解决PyCharm的Terminal终端conda环境默认为base的问题
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-57,(知识点:电感的选型,电感参数,电感量,饱和电流,直流电阻,自谐振频率)
  • 可视化AI应用构建工具(Dyad)
  • 【内容规范】关于标题中【】标记的使用说明
  • 2.0 vue工程项目的创建
  • TableCurve 3D:自动化曲面拟合与方程发现
  • Steam饥荒联机版多人服务器搭建全解析 -- 阿里云Linux系统构建云服务器
  • Flutter dart控制流程
  • Shell脚本-变量的定义规则
  • 【DL学习笔记】深入学习tenser
  • electron-多线程
  • JDBC核心技术与预编译SQL实战
  • 计算机网络:如何将一个C类网络划分成两个子网
  • 集成电路学习:什么是USB HID人机接口设备