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

李沐动手学习深度学习——3.2练习

以下是个人理解,希望进行讨论求解。

练习

1. 如果我们将权重初始化为零,会发生什么。算法仍然有效吗?

在这里插入图片描述
根据SGD算法公式如上,第一次迭代的值可知w只与b相关,而对于b的迭代更新,只是与b的初始值相关,x没有参与迭代的计算过程中,不能够达到收敛的目的。
进行运行可以如下结果:
在这里插入图片描述
在这里插入图片描述

2. 假设试图为电压和电流的关系建立一个模型。自动微分可以用来学习模型的参数吗?

显而易见可行,因为 UR=I,I和U的关系是线性关系。

3. 能基于普朗克定律使用光谱能量密度来确定物体的温度吗?

能基于普朗克定律使用光谱能量密度如下:
在这里插入图片描述
在这里插入图片描述
推导公式最后如下,可得其u与T之间是线性关系,是正比情况,所以可以利用SGD的方法通过数据进行拟合。

在这里插入图片描述

4. 计算二阶导数时可能会遇到什么问题?这些问题可以如何解决?

显而易见存在一阶导数光滑,但是二阶导数曲线不光滑的情况,类似于一阶导数驻点突变问题。利用阈值判断停止计算,或者调整学习率等,参考上一章的答案。以上是我能够想到的问题。显然不是足够,所以动用一下gpt帮忙:
在这里插入图片描述

5. 为什么在squared_loss函数中需要使用reshape函数?

要将真实值y的形状转换为和预测值y_hat的形状相同。根据函数矩阵计算可知,x是102大小,w是21,得出的y_hat是101,但是y是110,所以需要转置。

6. 尝试使用不同的学习率,观察损失函数值下降的快慢。

学习率0.01的时候
在这里插入图片描述
学习率0.02的时候
在这里插入图片描述
可知道收敛速度不同,收敛精度不同

7. 如果样本个数不能被批量大小整除,data_iter函数的行为会有什么变化?

修改代码batch_size设置为11,进行运行,发现可运行,说明了最后一个batch直接被运算抛弃了,不参与计算。
在这里插入图片描述
在这里插入图片描述

相关文章:

  • leetcode 简单
  • type may not be empty [type-empty]
  • 飞天使-学以致用-devops知识点4-SpringBoot项目CICD实现(实验失败,了解大概流程)
  • 武器大师——操作符详解(下)
  • docker 转为docker-compose(composerize 命令)
  • OpenCV下载与变量配置
  • 苍穹外卖学习 Day10 Day11 Day12
  • Unity(第十四部)光照
  • 《TCP/IP详解 卷一》第7章 防火墙和NAT
  • iOS消息发送流程
  • Vue.js中的$nextTick
  • rsync远程同步
  • django-paramiko远程服务器和文件管理(五)
  • 逆向案例四、进阶,爬取精灵数据咨询前五十页数据
  • [java] 23种设计模式之适配器模式
  • React Developer Tools带你掌握9个React组件调试技巧,十分钟学会
  • docekr 安装 Naocs
  • docker通过dockerfile安装sftp教程。
  • 【学习版】Microsoft Office 2021安装破解教程
  • SpringBoot源码解读与原理分析(三十八)SpringBoot整合WebFlux(一)WebFlux的自动装配
  • 中宣部版权管理局:微短剧出海面临版权交易不畅、海外维权较难等难题
  • 中国经济“第一省会”广州,从传统商贸中心到直播电商第一城
  • 宜昌为何能有一批世界级农业:繁育虫草养殖鲟鱼,柑橘魔芋深耕大健康
  • 李公明︱一周书记:大学的价值、韧性以及……不相称的对抗
  • 消费补贴政策力度最大的一届!第六届上海“五五购物节” 4月底启幕
  • “2025未来地球:科学与应用大会”在江西景德镇开幕