• 欢迎光临~

深度学习基础课:全连接层的前向和后向传播推导(中)

开发技术 开发技术 2022-11-01 次浏览

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

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

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

本文为第三节课:“全连接层的前向和后向传播推导(中)”的复盘文章

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

目录
  • 回顾相关课程内容
  • 主问题:如何推导全连接层的前向传播?
    • 为什么要学习全连接层?
    • 主问题:如何推导全连接层的前向传播?
    • 任务:实现全连接层的前向传播

回顾相关课程内容

  • 第三节课:全连接层的前向和后向传播推导(上)
    • 神经元计算公式为什么要向量化?
    • 向量化后神经元的计算公式是什么?

主问题:如何推导全连接层的前向传播?

为什么要学习全连接层?

深度学习基础课:全连接层的前向和后向传播推导(中)

  • 什么情况下需要增加输入层的神经元个数?
    需要增加特征的值的个数的时候
  • 什么情况下需要增加隐藏层的神经元个数?
    需要增加神经网络的拟合能力,从而更快速的收敛的时候。
    因为隐藏层的神经元个数越多,权重数量就越多,方程的解的范围就越多,所以拟合能力就越强
  • 什么情况下需要增加输出层的神经元个数?
    需要增加输出的值的个数的时候
  • 什么情况下需要增加更多的隐藏层?
    需要大幅增加神经网络的拟合能力的时候,可参考如何确定神经网络的层数和隐藏层神经元数量

因此,本课推广判断性别Demo的三层神经网络为全连接层神经网络

主问题:如何推导全连接层的前向传播?

  • 什么是全连接层?
    深度学习基础课:全连接层的前向和后向传播推导(中)
    输入层、输出层各只有一层,隐藏层可以有任意多层;
    每层有任意多的神经元

我们仍然以三层神经网络为例来推导前向传播

深度学习基础课:全连接层的前向和后向传播推导(中)

  • 前向传播算法是什么?
    从隐藏层开始,依次计算每层神经元的输出,直到输出层结束
  • 隐藏层的前向传播计算公式是什么?
    深度学习基础课:全连接层的前向和后向传播推导(中)
  • 如何推导向量化?
    深度学习基础课:全连接层的前向和后向传播推导(中)
  • 输出层的前向传播计算公式是什么?
    深度学习基础课:全连接层的前向和后向传播推导(中)
  • 如何推导向量化?
    深度学习基础课:全连接层的前向和后向传播推导(中)

任务:实现全连接层的前向传播

  • 请实现全连接层的前向传播的代码
    待实现的代码:NeuralNetwork_forward
    实现后的代码:NeuralNetwork_forward_answer
  • 使用判断性别Demo的神经网络结构,运行代码
    深度学习基础课:全连接层的前向和后向传播推导(中)
    运行代码:
let state = createState(2, 2, 1)

let feature = {
  weight: 50.,
  height: 150.,
}

forward(state, feature)->Js.log
喜欢 (0)