深度学习:(八)深层神经网络参数与流程

深层神经网络

符号规定

  • L L L :表示神经网络的层数;
  • l l l :表示第几层;
  • n l n^{\~l\~} n l :表示第 l l l 层的节点数;
  • a l a^{\~l\~} a l :表示第 l l l 层中的激活函数(泛指);
  • a l = g l ( z l ) a^{\~l\~}=g^{\~l\~}(z^{\~l\~}) a l =g l (z l ) :表示第 l l l 层中的激活函数(泛指);
  • W l W^{\~l\~} W l :表示第 l l l 层的参数 w w w 的集合;
  • b l b^{\~l\~} b l :表示第 l l l 层的参数 b b b 的集合。

前向传播和反向传播都类似之前的笔记。

流程图

前向传播有输入数据 x x x ,反向传播的输入数据是 d a L da^{\~L\~} da L ,即输出层(第 L L L 层)的输出,在向量化代码中,直接展示出来的结果是损失函数 L ( y ^ , y ) L(\widehat{y},y) L(y ,y) ,

因为 d a L = − y a + 1 − y 1 − a da^{\~L\~}=-\frac{y}{a}+\frac{1-y}{1-a} da L =−ay+1−a1−y ,而 L ( y ^ , y ) L(\widehat{y},y) L(y ,y) 对 y ^ \widehat{y} y ( a a a)的导数,正好等于这个结果。因此将损失函数对 y ^ \widehat{y} y ( a a a)求导,可得出 d a L da^{\~L\~} da L ,然后代入反向传播链的输入,开始迭代,如上图所示。

向量化时 d a L da^{\~L\~} da L 需改为 d A L dA^{\~L\~} dA L , d A L = ( d a 1 , d a 2 , . . . , d a m ) dA^{\~L\~}=(da^{\~1\~},da^{\~2\~},...,da^{\~m\~}) dA L =(da 1 ,da 2 ,...,da m ) 。

为何 z l z^{\~l\~} z l 是反向传播的一个输入参数

∵ a l = σ ( z l ) = σ ( W l a l − 1 + b l ) ∵ d L d a l − 1 = d L d a l ⋅ d a l d a l − 1 = d a l ⋅ σ ′ ( W l a l − 1 + b l ) W l ⋅ d a l − 1 ∴ d a l − 1 = d a l ⋅ σ ′ ( z l ) W l ⋅ d a l − 1 \begin{align*} ∵a^{\~l\~}=\sigma&(z^{\~l\~})=\sigma(W^{\~l\~}a^{\~l-1\~}+b^{\~l\~})\\ ∵\frac{dL}{da^{\~l-1\~}}&=\frac{dL}{da^{\~l\~}}·\frac{da^{\~l\~}}{da^{\~l-1\~}}\\ &=da^{\~l\~}·\sigma^{'}(W^{\~l\~}a^{\~l-1\~}+b^{\~l\~})W^{\~l\~}·da^{\~l-1\~}\\ ∴da^{\~l-1\~}&=da^{\~l\~}·\sigma^{'}(z^{\~l\~})W^{\~l\~}·da^{\~l-1\~} \end{align*} ∵a l =σ∵da l−1 dL∴da l−1 (z l )=σ(W l a l−1 +b l )=da l dL⋅da l−1 da l =da l ⋅σ′(W l a l−1 +b l )W l ⋅da l−1 =da l ⋅σ′(z l )W l ⋅da l−1

核对矩阵的维度

向量化前的单个样本
  • 前向传播:

    W l W^{\~l\~} W l :维度为 ( n l , n l − 1 ) (n^{\~l\~},n^{\~l-1\~}) (n l ,n l−1 ) ;

    z l z^{\~l\~} z l :维度为 ( n l , 1 ) (n^{\~l\~},1) (n l ,1) ;

    a l a^{\~l\~} a l :维度为 ( n l , 1 ) (n^{\~l\~},1) (n l ,1) ;

    b l b^{\~l\~} b l :维度为 ( n l , 1 ) (n^{\~l\~},1) (n l ,1) 。

  • 反向传播:

    d W l dW^{\~l\~} dW l 和 W l W^{\~l\~} W l 同维度;

    d b l db^{\~l\~} db l 和 b l b^{\~l\~} b l 同维度。

向量化后的整个训练集
  • 前向传播:

    X ( A 0 ) X(A^{\~0\~}) X(A 0 ) :维度为 ( n 0 , m ) (n^{\~0\~},m) (n 0 ,m) ;

    W l W^{\~l\~} W l :维度为 ( n l , n l − 1 ) (n^{\~l\~},n^{\~l-1\~}) (n l ,n l−1 ) ;

    b l b^{\~l\~} b l :维度为 ( n l , 1 ) (n^{\~l\~},1) (n l ,1) ;# 要广播

    Z l Z^{\~l\~} Z l :维度为 ( n l , m ) (n^{\~l\~},m) (n l ,m) ;

    A l A^{\~l\~} A l :维度为 ( n l , m ) (n^{\~l\~},m) (n l ,m) 。

  • 反向传播:

    d W l dW^{\~l\~} dW l 和 W l W^{\~l\~} W l 同维度;

    d b l db^{\~l\~} db l 和 b l b^{\~l\~} b l 同维度;

    d Z l dZ^{\~l\~} dZ l 和 Z l Z^{\~l\~} Z l 同维度;

    d A l dA^{\~l\~} dA l 和 A l A^{\~l\~} A l 同维度。

超参数:

能控制参数 w w w 和 b b b 的参数,需人为设置。

  • 学习率 α \alpha α ;
  • 梯度下降法循环次数;
  • 隐层数 L L L ;
  • 隐藏层的单元(节点)数;
  • 激活函数类型。

这些参数需要不断测试,实时评估损失函数(横坐标越大,纵坐标越小)。

相关推荐
小雨下雨的雨44 分钟前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
我没胡说八道3 小时前
高校论文AI检测优化工具对比研究与实测分析(2026)
人工智能·深度学习·机器学习·计算机视觉·aigc·论文
秦亚伟3 小时前
AI浪潮重塑融资租赁行业新格局
人工智能
love530love3 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
元启数宇3 小时前
喷淋AI布点实战:8小时人工布点→20分钟自动出图
人工智能
哈哈,柳暗花明3 小时前
人工智能专业术语详解(H)
人工智能·专业术语
圣殿骑士-Khtangc3 小时前
AI 编程工具 2026 实战横评:Cursor 3 vs Claude Code vs Copilot,开发者选型完全指南
人工智能·copilot
云器科技3 小时前
云器Lakehouse 2026年5月版本发布:拥抱 AI Agent,重塑数据智能开发新范式
人工智能
小鹰-上海鹰谷-电子实验记录本3 小时前
第六届党建引领科创生态座谈会 | 邓光辉博士出席分享AI赋能创新药科研新范式
人工智能·ai·电子实验记录本·药企合规
极客老王说Agent4 小时前
2026电信IDC机房巡检深度报告:人工巡检频次和深度够吗?实在Agent重塑智慧运维新范式
人工智能·ai·chatgpt