Git Product home page Git Product logo

d2l-ai-solutions-manual's Introduction

动手学深度学习习题解答

  李沐老师的《动手学深度学习》是入门深度学习的经典书籍,这本书基于深度学习框架来介绍深度学习,书中代码可以做到“所学即所用”。对于一般的初学者来说想要把书中课后习题部分独立解答还是比较困难。本项目对《动手学深度学习》习题部分进行解答,作为该书的习题手册,帮助初学者快速理解书中内容。

使用说明

  动手学深度学习习题解答,主要完成了该书的所有习题,并提供代码和运行之后的截图,里面的内容是以深度学习的内容为前置知识,该习题解答的最佳使用方法是以李沐老师的《动手学深度学习》为主线,并尝试完成课后习题,如果遇到不会的,再来查阅习题解答。
  如果觉得解答不详细,可以点击这里提交你希望补充推导或者习题编号,我们看到后会尽快进行补充。

在线阅读地址

在线阅读地址:https://datawhalechina.github.io/d2l-ai-solutions-manual

选用的《动手学深度学习》版本

书名:动手学深度学习(PyTorch版)
著者:阿斯顿·张、[美]扎卡里 C. 立顿、李沐、[德]亚历山大·J.斯莫拉
译者:何孝霆、瑞潮儿·胡
出版社:人民邮电出版社
版次:2023年2月第1版

Notebook运行环境配置

  1. 克隆项目请使用如下命令(只克隆最新的 commit ):

    git clone https://github.com/datawhalechina/d2l-ai-solutions-manual.git --depth 1
  2. Python版本
    请使用python3.10.X,如使用其他版本,requirements.txt中所列的依赖包可能不兼容。

  3. 安装相关的依赖包

    pip install -r requirements.txt
  4. 安装PyTorch

    访问PyTorch官网,选择合适的版本安装PyTorch,有条件的小伙伴可以下载GPU版本

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  5. 安装d2l

    pip install d2l
  6. docsify框架运行

    docsify serve ./docs

协作规范

  1. 由于习题解答中需要有程序和执行结果,采用jupyter notebook的格式进行编写(文件路径:notebooks),然后将其导出成markdown格式,再覆盖到docs对应的章节下。
  2. 可按照Notebook运行环境配置,配置相关的运行环境。
  3. 习题解答编写中,需要尽量使用初学者(有高数基础)能理解的数学概念,如果涉及公式定理的推导和证明,可附上参考链接。
  4. 当前进度
章节号 标题 进度 负责人 审核人
2 预备知识 待审核 毛瑞盈、陈可为、胡锐锋
3 线性神经网络 待审核 毛瑞盈、陈可为、胡锐锋
4 多层感知机 待审核 毛瑞盈、陈可为
5 深度学习计算 待审核 宋志学、韩颐堃
6 卷积神经网络 待审核 宋志学、韩颐堃
7 现代卷积神经网络 待审核 宋志学、韩颐堃
8 循环神经网络 待审核 王振凯
9 现代循环神经网络 待审核 王振凯
10 注意力机制 待审核 徐韵婉、崔腾松
11 优化算法 待审核 张银晗、邹雨衡
12 计算性能 待审核 邹雨衡
13 计算机视觉 待审核 刘旭、曾莹
14 自然语言处理:预训练 待审核 肖鸿儒
15 自然语言处理:应用 待审核 张友东、张凯旋

项目结构

codes----------------------------------------------习题代码
docs-----------------------------------------------习题解答
notebook-------------------------------------------习题解答JupyterNotebook格式
requirements.txt-----------------------------------运行环境依赖包

致谢

核心贡献者

  • 宋志学-项目负责人(Datawhale成员-河南理工大学)
  • 胡锐锋-项目发起人(Datawhale成员-华东交通大学-系统架构设计师)
  • 韩颐堃(内容创作者-Datawhale成员)
  • 毛瑞盈(内容创作者)
  • 陈可为(内容创作者-Datawhale成员)
  • 王振凯(内容创作者-Datawhale成员)
  • 崔腾松(Datawhale成员-whale量化开源项目负责人)
  • 徐韵婉(内容创作者-Datawhale成员)
  • 张银晗(内容创作者-Datawhale成员)
  • 邹雨衡(Datawhale成员-对外经济贸易大学研究生)
  • 刘旭(内容创作者-Datawhale成员-深圳大学)
  • 曾莹(内容创作者-深圳大学)
  • 肖鸿儒(内容创作者-同济大学)
  • 张友东(内容创作者-Datawhale成员)
  • 张凯旋(内容创作者-Datawhale成员-上海科技大学)

其他

  • 特别感谢@Sm1les对本项目的帮助与支持
  • 如果有任何想法可以联系我们 DataWhale 也欢迎大家多多提出 issue
  • 特别感谢以下为教程做出贡献的同学!

参考文献

Star History

Star History Chart

关注我们

扫描下方二维码关注公众号:Datawhale

  Datawhale,一个专注于AI领域的学习圈子。初衷是for the learner,和学习者一起成长。目前加入学习社群的人数已经数千人,组织了机器学习,深度学习,数据分析,数据挖掘,爬虫,编程,统计学,Mysql,数据竞赛等多个领域的内容学习,微信搜索公众号Datawhale可以加入我们。

LICENSE

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

d2l-ai-solutions-manual's People

Contributors

0-yy-0 avatar 2951121599 avatar aizealotwu avatar axyzdong avatar baimuchu avatar catcooc avatar ethan-chen-plus avatar gudehhh666 avatar hongru0306 avatar jjyaoao avatar kailigithub avatar kedreamix avatar kmno4-zx avatar linchentang avatar liuxu-manifold avatar logan-zou avatar northbluem avatar relph1119 avatar rookie-kai avatar tsumugii24 avatar xyw1 avatar yapwh1208 avatar yikunhan42 avatar yinhailong124 avatar yinhan-zhang avatar yxyibb avatar zarjun avatar zzd2001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

d2l-ai-solutions-manual's Issues

实验与解答不符

image

上图是仓库中的关于这题的回答,但是经我实验,如下图,我用的 Pytorch,用全零初始化 w ,最终也是能拟合的:
image
image

我不知道是我弄错了还是这里的答案写错了呢

公式推导问题

image
请问这里是不是写反了呢,感觉应该是 b - x_i 才对啊

3.1. 线性回归答案的一些想法

3.1.1
第一问的证明办法有点麻烦,直接对b求导,我们可以得到
$\sum 2(b-x_i)=0$展开后可以直接得到最后的结果
然后第二问我感觉描述有点混乱,我的建议改成:
对于一个正态分布的总体,取n次样本 $x_1, \dots x_n $,此时得到的样本平均数为 $\bar x$,根据大数定理,在取较多的样本,也就是n比较大的时候, $b=\bar x$会趋近于正态分布的期望(或者中心)
3.1.2
“多个局部最小值”的说法不成立,算一下Hessian可以知道解析解应该是global minimum($X^TX$是半正定矩阵),

8.6.3节中采用RNN实现自回归模型似乎有问题

输入的x的size为[batch_size, seq_len],通过 rnn_out, _ = self.rnn(input.view(len(input), 1, -1))中的变换后送入rnn中的含义为[batch_size,1,seq_len],这里似乎是有问题的,原因在于rnn的默认的第一个维度为时间序列,不是batch_size。

参数绑定的含义讨论

image
这里似乎不是进行参数绑定吧,我看 d2l 书上参数绑定的意思似乎是参数共享的意思,你这里的答案似乎就是直接用其他的网络层的参数替换掉了 net 中的第一层的参数吧

4.6.7感觉也不太对

放在激活函数前后应该只影响前向传播,反向传播的话,那些被置为0的神经元对应的梯度应该都是不影响的,都是0

第九章

求第九章的答案 跪谢🙇‍♂️

练习 7.1.4

练习 7.1.4这里应该占用显存和计算量大的都是后面的全连接层
来自gpt3.5的答案:
在AlexNet中,主要占用显存的部分是最后两个隐藏层,它们分别需要计算大小为64004096和40964096的矩阵,这对应于164 MB的内存占用。这两个隐藏层的计算量较大,需要进行81 MFLOPs的计算,这也是计算上的主要开销。

在计算性能方面,最后两个隐藏层需要更多的计算资源,因为它们的参数数量庞大,分别有超过4000万个参数。这导致了81 MFLOPs的计算开销,相对较高。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.