Notes on Section 5.1

bobown_yao

在神经网络中,层一般指的是“(1)接受一组输入, (2)生成相应的输出, (3)由一组可调整参数描述。”的这样一个整体

我们可以将多个层整合,称为“块”,块之间也可以继续连接形成更大更复杂的块,事实上这一生成过程往往是递归的

一个块需要具有以下功能

Image: image_001

1就是说需要一个输入,2就是说会给出一个输出,345就是指会存所有需要的东西

Image: image_002

我们可以使用这样一个class块来实现简洁的块功能,但是这个块是固定的

(nn.Module/super都是用来在块内部使用nn库的函数而设计的)

所以我们可以用同样的思路写一个自定义块

Image: image_003

注意的是这里的_modules是一个特定的写法,这样子pytorch才能正确识别我们写入的层并正确执行相关的流程

Image: image_004

于是我们也可以给层加入一些固定参数(比如一个不被反向传播更新参数的固定层,和最后控制L1范数而不断折半的while循环,这个while循环并不会影响反向传播的运作)

然后,最后我们可以把这些自定义的块组装在Sequential里

Image: image_005

  • Title: Notes on Section 5.1
  • Author: bobown_yao
  • Created at : 2026-01-03 00:00:00
  • Updated at : 2026-01-17 16:19:05
  • Link: https://bobownyao.github.io/2026/01/03/Notes-on-Section-5-1/
  • License: All Rights Reserved © bobown_yao
On this page
Notes on Section 5.1