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

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

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

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

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

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

回顾相关课程内容

  • 第二节课: “判断性别”Demo需求分析和初步设计
    • Demo的需求是什么?
    • 如何实现需求?
    • 前向传播算法是什么?
    • 随机梯度下降算法是什么?

为什么要学习本课?

  • 权重、偏移的数量太多,导致前向传播和梯度求导的计算很臃肿,如何优化?
  • 如果增加隐藏层中的神经元数量,是否会修改前向传播的计算公式?
    • 如何才能不修改公式,只调整参数即可?
  • 如何扩展判断性别Demo的三层神经网络,从而处理更多的输入参数和输出数据?
    image

主问题:向量化

为什么要向量化?

image

  • 一个神经元的输出的计算公式是什么?
    答:image

  • 如果增加输入参数,那么:

    • 如何修改计算公式?
    • 计算公式(计算代码)保持不变,只需要改变配置参数即可?

主问题:向量化

  • 向量化后的计算公式是什么?
    答:image

  • 如何向量化偏移b?
    答:image

  • 增加输入参数的话需要改变公式吗?
    答:不需要改变公式,而是改变权重向量和输入向量的元素个数、新增元素的值

任务:实现向量化

  • 请将神经元的forward函数改为向量化
    答:待修改的代码:Neural_vector
    修改后的代码:Neural_vector_answer

  • 运行代码,通过测试
    答:运行修改前和修改后的代码,输出结果一样,从而通过了测试

posted @ 2022-10-19 06:58  杨元超  阅读(76)  评论(0编辑  收藏  举报