当前位置: 首页 > news >正文

2026.04.05-04.06随记·

1、DL

1、为什么ReLU函数在x=0的点不可导,也能作为激活函数,做梯度下降?

答:ReLU 在 x=0 确实不可导,但深度学习里根本不要求激活函数处处可导,只要求 “几乎处处可导”+“能算梯度” 就够了。

x=0 点是这样处理的:遇到 x=0,直接把梯度强行设为 0 或 1,对整体优化几乎没有影响(框架(PyTorch / TensorFlow)内部就是这么干的)

# 伪代码 if x > 0: grad = 1 elif x < 0: grad = 0 else: grad = 0 # 随便给一个就行

2、一些术语:

小批量随记梯度下降(mini-batch stochastic gradient descent SGD)

全连接神经网络(Fully Connected Neural Network,FCNN)又称为前馈神经网络(Feedforward Neural Network)或多层感知机(Multilayer Perceptron,MLP)

全连接神经网络的层数不看输入层:也就是得 - 1

3、常见的激活函数:

需要掌握:

只做了解:

4、训练误差与泛化误差

模型在训练数据集上计算得到的误差称为训练误差(training error);模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望称为泛化误差

5、模型复杂性

当有简单的模型和大量的数据时,期望泛化误差与训练误差都很大,而且两者相接近

当有复杂的模型和更少的样本时,预计训练误差会下降,但泛化误差会增大

对于神经网络来说,我们认为需要更多训练迭代的模型比较复杂,而需要早停(early stopping)的模型 (即较少训练迭代周期)就不那么复杂

影响模型泛化的因素:

• 可调整参数的数量。当可调整参数的数量(有时称为自由度)很大时,模型往往更容易过拟合

• 参数采用的值。当权重的取值范围较大时,模型可能更容易过拟合(权重取值大,意味着模型在空间中是一个极度崎岖、陡峭的函数。它对输入的微小变化(噪音)极为敏感,稍微偏离训练集一点点,输出就会谬以千里。)

• 训练样本的数量。

6、欠拟合,过拟合

模型复杂度 高,训练数据集 多 ,正常拟合

模型复杂度 高,训练数据集 小 ,过拟合

模型复杂度 低,训练数据集 多 ,欠拟合

模型复杂度 低,训练数据集 小 ,正常拟合

7、权重衰减(L2正则化):抑制过拟合的手段

8、Dropout:抑制过拟合的手段

Dropout 也是一种抑制过拟合的手段,它的做法是在学习的过程中随 机删除神经元的方法(在神经网络上做法就是设置这些神经元的激活值为0)。 训练时,随机选出隐藏层的神经元, 然后将其删除,被删除的神经元不 再进行信号的传递 。

目的:为了防止网络过度依赖某些神经元(采用ReLU激活会造成某些神经元死掉,训成一根筋)

何时开,何时关:训练时开,测试 / 推理 / 部署时关。

具体流程:

训练期间做激活值修正(称为 inverted dropout):在每次训练迭代中,dropout 会随机禁用网络中的部分神经元(例如 50%)。这实际上会创建一个新的、更小的神经网络,其中包含更少的神经元。但是该层的激活值需要除以 (1-dropout 率),以便该隐藏层的输出响应的期望不变

测试期间不用修改 (如果训练期间不对激活值修正,那么就在推理测试期间修正:乘以1-dropout 率)

9、网络参数对称

如果我们将隐藏层的所有参数初始化为 w= c,会发生什么?

初始权重相同,前向输出绝对一样 ,反向传播算出的梯度绝对一样 ,更新后的新权重依然一样。

所有神经元学一样的东西 ,失去表达能力。

参数初始化方法:随机初始化 、Xavier 初始化、Kaiming 初始化

2、PyTorch

1、d2l.use_svg_display() # 使用svg来显示图片,这样清晰度高一些。(只要调用一次,整个文件、整个会话里的所有图都会变成 SVG 高清格式)

http://www.jsqmd.com/news/600105/

相关文章:

  • Cirque Pinnacle 1CA027触摸控制器驱动开发指南
  • 一站式指南:SQLite+SQLiteStudio+Visual Studio开发环境搭建
  • 生态环评新人避坑指南:从零开始用国产软件QGIS+Sentinel-2数据制作植被覆盖度与土壤侵蚀图
  • 应届生面试死在自我介绍,90%都踩过坑
  • 保姆级教程:在Unraid上为Emby配置Openlist和go-emby2openlist,实现115网盘302直链(附config.yml详解)
  • 揭秘openGauss向量化执行引擎代价模型
  • 2026跨平台开发打通三端生态实战选型指南
  • 硬件发烧友玩法:多GPU分配OpenClaw调用Qwen3-32B
  • Golang testing如何写单元测试_Golang单元测试教程【必看】
  • 保姆级教程:在RViz中一键搞定Cartographer机器人重定位(附避坑指南)
  • 从传感器选型到产品落地:跟着Autoware.universe的技术栈,聊聊智驾工程师的‘十八般武艺’
  • OpenClaw代码审查:Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF分析Git提交并生成改进建议
  • SG90舵机与STM32的PWM驱动实战指南
  • 2026年4月成都高空外墙清洗公司推荐:外墙清洗保洁/外墙高空清洗服务/幕墙外墙清洗公司/幕墙漏水维修/选择指南 - 优质品牌商家
  • GNSS定位精度提升秘籍:深入理解RTKLIB中的PCO与PCV修正原理
  • OpenClaw效率翻倍:Qwen2.5-VL-7B批量处理100+图片报告
  • libEGL.so和libGLESv2.so软链接失效?手把手教你修复树莓派上的QT程序警告
  • Java限流神器:手写一个通用限流任务执行器,支持重试和指数退避!
  • CenterPoint实战:基于热力图的3D目标检测与跟踪全解析
  • macOS下OpenClaw排错指南:Qwen3.5-9B-AWQ-4bit接口连接失败处理
  • 2026年4月汽车维修erp系统品牌推荐指南:汽车维修公司管理系统/汽车维修厂管理系统/汽车维修服务管理系统/选择指南 - 优质品牌商家
  • 2026年知名的深圳仓储货架可靠供应商推荐 - 品牌宣传支持者
  • 从NuttX到OpenVela:小米开源RTOS的跨平台兼容性到底有多强?(ARM/RISC-V实测)
  • 手把手教你用EMQX 5.x和花生壳内网穿透,5分钟搞定个人MQTT调试服务器
  • Codesys 3.5报警功能配置避坑指南:从报警组到确认方式,一次讲透
  • 华为DRS+UGO工具链详解:Oracle迁GaussDB的全自动化实践指南
  • 【fastadmin】自定义批量操作与Excel导入:高效管理多管理员分组策略
  • OpenClaw二次开发:为Qwen3.5-9B增加区域截图分析
  • 5分钟搞定OpenClaw镜像体验:千问3.5-35B-A3B-FP8云端沙盒部署
  • 3分钟搞定WebGL GPU性能测试:手把手教你用Canvas实现动态色彩渲染