I refuse to say anything beyond five years because I don't think we can see much beyond five years.

本文最后更新于 2024年10月2日 晚上

课程视频
网上找到的笔记
详细笔记请见网上大佬的笔记(见上👆)他好像用语音识别把每句话都记下来了,这里只是一些总结性质的随手记

类神经网络(续)

Q:为什么分类问题中 Cross-entropy 优于 MSE?

1722997258260

A:若在采用梯度下降法的情况下使用 MSE,则会在 Loss 较大时 stuck(左上角)

批次标准化 - Batch Normalization

1722998305077

training

Q:考虑 W 时,到底要对 z 还是 a 做标准化?

1722998933853

A:在实际操作中可能差异不是很大。如果激活函数采用sigmoid,则推荐对 z 做标准化,因为在 0 附近 gradient 比较大。

batch 需要足够大。

1722999567770 1722999754929

testing

1723002319333

Network 架构设计

CNN

CNN 通常用于图像分类
假设输入图片大小是固定的(否则 rescale)

1723003958175

观察 & 简化 1

1723018028301

不需要将整张图片作为输入(fully connected network 的做法),只需要将图片的一小部分作为输入即可找到关键 pattern。

简化: 设定 receptive field,每个 Neuron 只接收一个 receptive field 内的输入,并进行计算。

1723018468963 1723018524378

receptive field 可以互相重叠,也可相同,可以是连通的也可以不连通的(例如,可以指定“左上角”与“右下角”,但是这样的receptive field 不一定适合解决通常情况下的问题)

receptive field 可以大小不一,形状也可以不一(长方形也可),也可以只考虑某些 channels(例如 RGB 三个中只考虑 R)

1723019287227

经典 setting

  • all channels
  • kernel size = receptive field size = 3x3
  • 一个 receptive field 对应一组 Neurons (e.g. 64 neurons)
  • stride = 1 or 2 (自己设置的超参数),超出部分自行采用合适的补植方案(padding)

观察 & 简化 2

简化: 不同的 receptive field 共享参数,相同的 receptive field 不同参数(如果共享,则会导致输出完全相同)

1723019801653

经典 setting:

  • 每个 receptive field 上同一组的 neurons 使用不同的 filter,不同 receptive field 对应的不同 Neurons 共享 filter

(如下图所示,不同 receptive field 的不同 neurons 共享参数 filter1, filter2 …)

1723019986911

卷积层

Convolutional Layer

1723021119089
filter 如何运作?
1723021417024

使用如下 filter 1,由于 filter 主对角线上全为 1,当输入 receptive field 主对角线全为 1 时出现最大值 3。于是从输出上可以看到在 image 左上、左下位置出现了对角线“三连1”的情形。

1723021589545
Multiple Convolutional Layer

经过 filter 输出的 称为 feature map,feature map 大小与输入相同,channel 数目与 filter 数目相同。

1723022186620

只要 network 足够深,就能够监测到足够大的 pattern

1723022484535

两种角度对比

1723022748681

Max Pooling

有多种 pooling 的方式,max pooling 就是取 每一组中的最大值作为输出。

1723022961744 1723023001885

Convolutional Layer + Pooling \Rightarrow 实现减少运算量

1723023162271

基本结构:nn 次 convolutional + 11 次 pooling。

但是 pooling 会损失信息,如果算力足够强的话,可以不用 pooling。

Flatten:将本来排成矩阵的数据拉直为一个向量。

1723023450039

Alpha Go

将棋盘看作是 19 ×\times 19 的 image

1723023800663

ML2021 Note-02
http://dbqdss.github.io/2024/08/07/李宏毅ML2021/李宏毅-ML2021-Note-02/
作者
DBQDSS
发布于
2024年8月7日
许可协议