• 深度学习基础课: “判断性别”Demo需求分析和初步设计(下1)


    大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序

    线上课程资料:
    本节课录像回放
    加QQ群,获得ppt等资料,与群主交流讨论:106047770

    本系列文章为线上课程的复盘,每上完一节课就会同步发布对应的文章

    本文为第二节课:“判断性别”Demo需求分析和初步设计(下1)的复盘文章

    本课程系列文章可进入索引查看:
    深度学习基础课系列文章索引

    回顾相关课程内容

    • 第二节课:“判断性别”Demo需求分析和初步设计(中)
      • 什么是神经网络 ?
        image
      • 为什么引入神经网络?
      • 前向传播算法包括哪些步骤?

    主问题:什么是损失函数

    为什么引入损失函数?

    • 虽然神经网络的未知量的数量比起神经元来说更多,但如果推理的样本数量比神经网络的未知量的数量更多时,该怎么办?
      • 继续增加神经网络中的权重、偏移数量(如增加层、增加每层的神经元)?
        答:不能,因为:
        这会增加计算成本;
        样本数量可以任意多,但无法无限地增加神经网络中的权重、偏移数量
        所以应该保持神经网络中的权重、偏移数量不变
    • 在训练后仍然会得到一组权重、偏移,但在推理阶段对于每个样本推理的输出值仍然等于真实值吗?
      答:不等于
    • 我们希望的结果是什么?
      答:每个样本推理的输出值尽量接近真实值
    • 因此,在训练时需要得到一组合适的权重、偏移,使得每个样本推理的输出值尽量接近真实值
    • 那么,如何具体判断得到的一组权重、偏移是合适的呢?
      答:需要引入损失函数,用来在训练阶段度量在推理阶段的输出值和真实值的误差大小

    什么是损失函数

    • 损失函数的表达式是什么?
      • 值是什么?
        答:误差
      • 自变量、常量分别是什么?
        答:输出是自变量,真实值是常量
      • 表达式是什么?
        答:=(输出)
    • 有了损失函数,如何具体判断得到的一组权重、偏移是合适的呢?
      • 希望得到损失函数的最大值还是最小值?
        答:最小值
      • 此时的自变量(输出)就是合适的的值
      • 输出跟权重、偏移是什么关系?
        答:image
        根据上面的公式可知是函数映射关系,其中前者是函数的值,后者是函数的自变量
        • 输入x是自变量还是常量?为什么?
          答:输入x是常量。
          因为损失函数用于在训练阶段确定合适的权重和偏移,而此时输入x是已知的(如为100个样本数据)
      • 损失函数的表达式更新为:=(,)
      • 所以如何具体判断得到的一组权重、偏移是合适的呢?
        答:求出损失函数的最小值,此时作为自变量的权重、偏移就是合适的

    主问题:什么是随机梯度下降

    • 如何用数值分析的方法求一个函数的最小值点?
      答:image
      首先,我们随便选择一个点开始,比如上图的0。接下来,每次迭代修改为1,2,3......经过数次迭代后最终达到函数最小值点。
      你可能要问了,为啥每次修改,都能往函数最小值那个方向前进呢?这里的奥秘在于,我们每次都是向函数=() 的梯度的相反方向来修改。
      什么是梯度呢?梯度是一个向量,它指向函数值上升最快的方向。显然,梯度的反方向当然就是函数值下降最快的方向了。

    • 求出来的是极小值点还是最小值点?
      答:极小值

    • 如何求最小值点?
      答:再取多组值来判断(可升级为小批量随机梯度下降)

    • 所以,求一个函数的极小值点的算法(梯度下降算法)总结成公式是什么?
      答:image

    • 求损失函数的极小值点的梯度下降算法总结成公式是什么?
      答:image

  • 相关阅读:
    在 MAC 下配置 Nginx
    Color Schema 配色随笔
    .Net与 WebAssembly 随笔
    关于Xamarin、Qml、数据绑定、MVC、MVVM 相关的散讲
    用Nuget部署程序包
    Qt3D
    Qt3D Shader
    Qt QML 2D shader
    LearnOpenGL
    Qt3D 5.9 and future
  • 原文地址:https://www.cnblogs.com/chaogex/p/16638867.html
Copyright © 2020-2023  润新知