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

NNDL作业五--前馈神经网络作业题

1、习题4-1对于一个神经元,并使用梯度下降优化参数w时,如果输入x恒大于0,其收敛速度会比零均值化的输入更慢.

回答:如图1,右边那个图为sigmoid的导数曲线,可以看到,导数均为正值。当使用梯度下降优化参数w时,会对w进行求导,其结果是损失函数L关于输出y的梯度*x*sigmoid的导数x与sigmoid的导数都恒大于0,每个w共用同一个损失函数L关于输出y的梯度故对每个w进行求导的结果对应梯度同正或同负,所以更新的方向如图2,不是右上方向就是左下方向,如果最优解在右下方向,需要迭代更多次,收敛速度更慢一些。

另一版本:零均值化的输入,使得神经元在0附近,sigmoid函数在零点处的导数最大,所有收敛速度最快。

总之记住:为了权重参数收敛更快一点,数据记得零均值化一下~

图1 Sigmoid函数曲线和导数曲线

图2 全负或全正时的收敛情况


2、习题4-5如果限制一个神经网络的总神经元数量(不考虑输入层)为N+1,输入层大小为M,输出层大小为1,隐藏层的层数为L,每个隐藏层的神经元数量为,试分析参数数量和隐藏层层数L的关系.

回答:(未考虑偏置)

3、习题4-7为什么在神经网络模型的结构化风险函数中不对偏置b进行正则化?

回答:

L2正则化可以防止过拟合的原因在于它对模型中的权重进行约束,使权重趋向于较小的值,避免它得到的权重值过大,对训练数据的过度学习。另外一方面,省的输入细微的变化会导致输出值的突变

对权重正则化,是因为权重与输入有一个相乘的步骤,权重的大小,严重影响着输入与输出的联系,而偏置不会和输入x有运算,影响不大。

浅插一句:偏置为啥存在?偏置的存在是为了更好的拟合数据。比如说输入是个非零的数,你想让她输出是0,无论怎么改权重,结果都得不到零,加个偏置就可以啦!

4、习题4-8为什么在用反向传播算法进行参数学习时要采用随机参数初始化的方式而不是直接令W=0,b=0?

回答:当W=0,b=0,在输入层之后的所有隐藏层神经元接收到的输入都是一样的,这样每一层的输出都一样,反向传播时,每一个梯度也都一样,当直接令w=0,b=0时,会让下一层神经网络中所有神经元进行着相同的计算,具有同样的梯度,同样权重更新。权重更新方向一致,可能会出现第1小问中图2的现象

而且在作业4中提到当使用Relu激活函数时:相关参数均为0,参数不更新。Sigmoid函数:收敛速度可能慢些,但最后能够达到很好的值。作业4


5、习题4-9梯度消失问题是否可以通过增加学习率来缓解?

回答:

梯度消失:在链式法则中,是多个导数值相乘,有那么几个导数趋于0就可能导致整体趋于0,也就是梯度消失

学习率:更新权重的步长

两者没有很大的关系,通过增加学习率可能会缓解梯度消失问题,但是也可能加重,也可能导致梯度爆炸,都有可能。适当地增加学习率可以加快收敛速度,但是增的太多也不好,会导致跳过全局最优,去找局部最优。

(摘自同学的博客)梯度消失问题的原因在于对参数求偏导时,根据链式法则得到的连乘式中多个几乎为0的导数值连乘导致。导数小会导致每次更新时的值过小,从而使训练变得困难。比如激活函数为类似于sigmoid与tanh,其值太大或太小时导数都趋于0(左右趋近于饱和)。

参考:

1、什么是零均值?什么是零均值化?

2、机器学习中,L2正则化的原理,及其可以防止过拟合的原因_l2正则化为什么能够减小过拟合-CSDN博客

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

相关文章:

  • Windows 11上pyenv切换Python版本失效?别急,关掉这个隐藏开关就行
  • 2026雅思听力线上一对一辅导课程推荐:高效提分专属备考方案 - 品牌2025
  • Jenkins Pipeline Script Mark
  • 【大模型】-名词手册-扫盲
  • Baseweb路线图解析:未来版本功能预告与React组件库发展趋势
  • 自动驾驶入门:手把手教你实现Pure Pursuit路径跟踪算法(附Python代码)
  • vLLM-v0.11.0性能实测:PagedAttention技术到底有多省内存?
  • 深入剖析Lottie动画的JSON结构与渲染机制
  • MangoHud项目发布流程:版本管理完全指南
  • 订书钉规格
  • X射线单晶定向仪优质供应商与品牌推荐榜,售后与质量双保障! - 品牌推荐大师1
  • 手把手教你解决Realsense D455在ROS Noetic下IMU数据不输出的问题(附固件降级指南)
  • 自感痕迹论:贯通人工智能伦理与治理的元理论 ——基于AI元人文的体系性建构
  • 3步打造个人离线音频库:喜马拉雅VIP内容永久保存全攻略
  • AlphaGo核心技术解析:深度学习与强化学习的完美结合
  • Windows Terminal完全指南:5分钟打造你的高效命令行工作台
  • dotnet-webapi-starter-kit 单元测试与集成测试完整指南
  • HackTricks密码学与隐写术:CTF比赛中常用的加密技巧终极指南
  • flask框架
  • 用Python脚本批量生成AI短剧:速创Sora2 API角色创建接口实战(附完整代码)
  • 英雄联盟工具集League Akari:3个实用功能提升你的游戏体验
  • 告别Python版本混乱!Windows下用pyenv-win + virtualenvwrapper打造多项目开发环境(保姆级避坑指南)
  • Translumo屏幕实时翻译工具:游戏视频外文秒变中文的终极方案
  • Apache OpenWhisk核心架构深度解析:Controller、Invoker与调度机制
  • 大模型替代人工服务的现状与未来
  • Prim算法可视化:用C语言动态演示最小生成树构建过程
  • Kook Zimage真实幻想Turbo在创意设计中的应用:海报/头像/壁纸生成
  • GPT-SoVITS声音模型大全数据分享,包括音频数据27.4G
  • 从AMBA 5到ASIL D:深入解读ARM和Arteris的互连技术安全设计差异
  • 保姆级教程:用Python和PyTorch复现EEG Conformer模型(附完整代码)