深度学习个人笔记分享

学术专区 1331 views 39 replies
mod
#5 · (edited)

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

frame-fix.pdf|attachment (1007.5 KB)

#9 ·

good

自黄药师黄仁勋来,世人皆爱猫。余独爱老鼠之,可爱之态,活泼之动,实为人所难以抗拒。喵~

:mouse_hole: 🐁 🐁 🖱️ 🪤 :sob_mouse: :sweat_smile_mouse: :sleeping_mouse: :rolling_on_the_floor_laughing_mouse: :revolving_hearts_mouse: :pleading_face_mouse: :nerd_face_mouse: :mouse_hole: :melting_face_mouse: :mask_mouse: :innocent_mouse: :hugging_face_mouse: :frog_mouse: :face_with_cowboy_hat_mouse: :clown_face_mouse: :cherry_blossom_mouse: :cat_mouse:

mod
#10 ·

好好好,狠狠支持了 🥳 不知道我大二暑假能不能用到 😰

年月擦身过,暂且问,会更好吗?

❤️
2
#11 ·

好强 😳

mod
#12 ·

杂项

会持续更新

正则化

https://zh.wikipedia.org/zh-hans/正则化_(数学)

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)和残差网络

https://www.cnblogs.com/wuliytTaotao/p/9560205.html

CNN 输出大小公式

WW 为输入大小,FF 为卷积核大小,PP 为填充大小(Padding),SS 为步长(Stride),NN 为输出大小,则有:

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

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

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

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

交叉熵

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

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

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

KL 散度(KL Divergence)

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

DKL(pq)=H(p,q)H(p)=xp(x)logq(x)xp(x)logp(x)=xp(x)logq(x)p(x) \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 向量)的差异性:

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

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

DKL(pq)=H(p,q)=xp(x)logq(x)=logsoftmax q(xi)=logexp(xi)jexp(xj) \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 散度的数学性质

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

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

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

JS 散度(JS Divergence)

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

JSD(PQ)=12DKL(PP+Q2)+12DKL(QP+Q2) 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(log2\log 2

#13 · (edited)

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

mod
#14 ·
hoist hoist

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

❤️
1
mod
#15 ·
TsuinoSora TsuinoSora

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

#16 ·

真强

#18 ·

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

mod
#19 · (edited)
Trifolium 白车草

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

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

❤️
1
#20 ·

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

mod
#21 ·
hoist hoist

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

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

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

❤️
1