深度学习个人笔记分享

分享一些个人在学习过程中的笔记。

参考资料:

13 Likes

机器学习基础理论 & 为什么选择深度学习

basic-thoery-of-ml-why-deep.pdf (483.5 KB)

机器学习框架及一些问题的解决

frame-fix.pdf (1007.5 KB)

卷积神经网络

CNN.pdf (1.8 MB)

自注意力机制与 Transformer

self-attention-transformer.pdf (2.4 MB)

对比学习综述

constrastive-learning.pdf (1.4 MB)

good

好好好,狠狠支持了 :partying_face: 不知道我大二暑假能不能用到 :cold_sweat:

2 Likes

好强 :flushed:

杂项

会持续更新

正则化

Weight Decay - L2 正则项

we multiply the sum of squares with another smaller number. This number is called weight decay or wd.

Our loss function now looks as follows:

Loss = MSE(y_hat, y) + wd * sum(w^2)

减小模型复杂度(弹性),降低过拟合的概率

残差(residual)和残差网络

CNN 输出大小公式

W 为输入大小,F 为卷积核大小,P 为填充大小(Padding),S 为步长(Stride),N 为输出大小,则有:

N = \frac {W - F + 2P} {S} + 1

熵(Entropy);KL 散度(KL Divergence)

若一个离散随机变量 \mathbf{X} 的可能取值为 X=\{x_1,x_2,\cdots,x_n\},而对应的概率为 p_i = p(X = x_i),则随机变量 \mathbf{X} 的熵定义为:

H(X) = - \sum_{i=1}^{n} p(x_i) \log p(x_{i})

交叉熵

针对上述离散变量的概率分布 p(x)、q(x) 而言,其交叉熵定义为:

H(p,q) = - \sum_{x} p(x) \log q(x)

在信息论中,交叉熵可认为是对预测分布 q(x) 用真实分布 p(x) 来进行编码时所需要的信息量大小。

KL 散度(KL Divergence)

KL 散度可以用来衡量两个分布之间的差异:

\begin{aligned} D_{KL}(p||q) = & H(p,q)-H(p) \\ =& - \sum_{x} p(x) \log q(x) - \sum_{x}-p(x)\log p(x)\\ =& -\sum_{x}p(x) \log \frac{q(x)}{p(x)} \end{aligned}

交叉熵损失函数实际上就是 KL 散度,只不过因为分类问题的特殊性,其式与交叉熵相同:

在分类问题中,我们通过 softmax 函数得到一个分布,我们要通过 KL 散度 衡量这个分布和目标分布(一个 one-hot 向量)的差异性:

D_{KL}(p||q) = H(p,q)-H(p)

我们易知 H(p) = 0;且对于真实分布(一个 one-hot 向量)只有概率为 1 的一项是非 0 的,所以有以下化简:

\begin{aligned} D_{KL}(p||q) = & H(p,q)\\ =& - \sum_{x} p(x) \log q(x)\\ =& -\log \text{softmax} \ q(x_i)\\ =& -\log \frac{\exp (x_i)}{\sum_j \exp (x_j)} \end{aligned}

KL 散度的数学性质

  • 正定性
D_{KL}(p||q) \ge 0
  • 不对称性

KL 散度并不是一个真正的度量或者距离,因为它不具有对称性:

D(p || q) \ne D(q || p)

JS 散度(JS Divergence)

JS 散度 度量了两个概率分布的相似度,基于 KL 散度 的变体,解决了 KL 散度 非对称的问题。一般地,JS 散度 是对称的,其取值是 0 到 1 之间。

JSD(P||Q)=\frac{1}{2}D_{KL}(P||\frac{P+Q}{2})+\frac{1}{2}D_{KL}(Q||\frac{P+Q}{2})

对于 JS 散度,当两个分布完全不重合时,JS 散度始终为 1($\log 2$)

这课看着很不错诶。我也来学一学吧。
我似乎没寻找到他作业如何发布的,莫非是 private 吗?

李宏毅的课吗,作业就在课程主页下面。个人认为他的课程坡度还是挺大的,光听不练/不记笔记感觉还是差点。每一年作业基本都是一样的,2022 的做的不好可以试试 2021,2023 的。

1 Like

我基本是他的课和他的作业和李沐的带读论文一起进行,中途还有无数次专门去找资料学习某个小知识。

真强

GAN

GAN.pdf (3.7 MB)

Pytorch 要学多少学到哪里才能入门这个课呀

会基础的 Python 语法,遇到啥不会的直接搜索就能入门。

另外不写作业的话一点代码都不写也没学

1 Like

我看这课 ML 2023 全部改成了生成式 AI、是觉得会全面迭代技术吗?你对此什么看法。
另外我对这课程无比佩服,竟然能大幅度调整大纲

李宏毅老师的课跟热点跟的很勤。一直都是每年开课根据过去一年的 AI 发展较大幅度的更改大纲,提供比较新的技术。比如 RNN 自从 Transformer 大范围使用后就变成了选学内容,学生想学去看之前的录像就好了。

2023 的版本虽然作业还是沿着 Regression → CNN → Attention 来的,但是上课内容基本全是生成式 AI,老师基本默认了不会走“回头路”一般。你们学生不会做作业那就看我以前上课的录像好了。

再看今年 2024 老师开得课,直接没有 ML 课了,改成叫 GENERATIVE AI 了。他可能觉得讲过的不必再讲一遍吧。

1 Like

Bert & GPT

BERT-GPT.pdf (1.4 MB)