深度学习(前馈神经网络)知识点总结

用于个人知识点回顾,非详细教程

1.梯度下降

  • 前向传播

特征输入--->线性函数--->激活函数--->输出

  • 反向传播

根据损失函数反向传播,计算梯度更新参数

2.激活函数(activate function)

  • 什么是激活函数?

在神经网络前向传播中,每一层的输出还需要经过激活函数再作为下一层的输入,即 a 1 = σ ( z 1 ) a^{1}=\sigma(z^{1}) a1=σ(z1)

  • 为什么需要激活函数?

如果没有非线性激活函数,模型的最终输出实际上只是输入特征x的线性组合

  • 激活函数的分类

(1)sigmoid函数:除了输出层是一个二分类问题基本不会用
a = σ ( z ) = 1 1 + e − z a=\sigma(z)=\frac{1}{1+e^{-z}} a=σ(z)=1+e−z1

(2)tanh函数:数据平均值更接近0,几乎所有场合都适用
a = t a n h ( z ) = e z − e − z e z + e − z a=tanh(z)=\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}} a=tanh(z)=ez+e−zez−e−z

sigmoid函数和tanh函数两者共同的缺点是,在z特别大或者特别小的情况下,导数梯度或者函数斜率会变得特别小,最后就会接近于0,导致降低梯度下降的速度。

(3)Relu函数:修正线性单元,最常用的默认函数
a = m a x ( 0 , z ) a=max(0, z) a=max(0,z)

(4)Leaky Relu函数:进入负半区
a = m a x ( 0.01 z , z ) a=max(0.01z, z) a=max(0.01z,z)

sigmoid函数和tanh函数在正负饱和区的梯度都会等于0,而Relu和Leaky Relu可以避免梯度弥散现象,学习速度更快

3. 正则化

  • 偏差和方差

高方差过拟合,高偏差欠拟合

  • L1/L2正则化

在损失函数加上正则化,L1正则化更稀疏

  • dropout正则化

根据概率随机删除节点

  • 其它正则化方法

4.优化算法

  • mini-batch梯度下降法

数据集分成多个子集来更新梯度

  • 动量梯度下降(momentum)

参数更新时的梯度微分值计算方式采用指数加权平均


  • RMSprop(root mean square prop)
  • Adam

momentum+RMSprop

相关推荐
冬奇Lab11 分钟前
一天一个开源项目(第259篇):Modern Web Guidance —— Chrome 团队给 AI 编码 Agent 的「现代 Web 最佳实践」外挂
人工智能·开源
飞哥数智坊1 小时前
打造自己的 Personal Agent,从抄大肥鱼作业开始
人工智能·deepseek
对你无可奈何2 小时前
Magpie 实战:把 WorkBuddy、Qoder 的订阅模型接进一个本地池子
人工智能
Csvn2 小时前
每请求到底多少钱?把 Token 成本算成可观测指标(C01)
人工智能·aigc·agent
吴名氏.2 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
老金带你玩AI4 小时前
惊人的一致性!Seedream 5.5实测!
人工智能
用户080775907854 小时前
从输入到输出:大模型推理全流程复盘(含纠错清单)
深度学习
数据技术说4 小时前
在 KES AI 数据库上搭一条 NL2SQL 链路:语义、召回、权限各放哪
人工智能·sql·代码规范
jay神5 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计