李宏毅深度学习笔记——呕心整理版

本文档系统地概述了李宏毅教授的深度学习课程精华,从机器学习与深度学习的基础概念出发,逐步深入探讨优化技巧、卷积神经网络、自注意力机制等核心主题,并解析Transformer的工作原理。

李宏毅深度学习笔记——呕心整理版

闲谈叨叨叨:

之前看过吴恩达的一部分课程,所以有一定理论基础,再看李宏毅的课程会有新的理解。我先以有基础的情况写完学习过程,后续再以零基础的角度补充细节概念(估计不会啦,因为懒~)。长篇预警!可以慢慢看。多数只是自己的笔记,不会太有语言的概念解释,建议自己看一遍视频(往后字可能会越来越多,听我慢慢叨咕吧)。笔记只是提供回忆、巩固理解的工具。若有问题,欢迎评论讨论,有时间我会改正哒!

经过我多年学习经验(没有啦~),预习真的很重要,其实更多是重复记忆,加深理解。我的建议是先看吴恩达的课程了解机器学习和深度学习的基本知识框架和概念,还有理论推导,理解就可以,这就相当于预习;然后看李宏毅的课程,换个思路,以实际应用加深理解,就会感觉吴恩达的课程缘由不太清楚的自然而然就通了;看李宏毅的课程同时,看刘二大人的pytorch课程,动手操作,学会后完成李宏毅的作业;pytorch需要线性代数和概率论(这些课上要好好学,忘了的可以速学一下考研课程)以及python基础,我会整理一些推荐课程和学习路线。

关于李宏毅课程的视频顺序,我大多是先看2021年,用2022年视频作为补充,快速过一遍,选修部分也看。视频链接还有一位大佬整理的资源我会附在正文的引入部分。

目录附上:


正片开始:

1 引入

1.1 机器学习&深度学习

机器学习就是寻找一个复杂函数

深度学习的函数就是类神经网络

  • 函数的输入可以是向量、矩阵、序列等等;
  • 函数的输出可以是数值(称为regression 回归)、类别(classification 分类)、文本、图片等等

在这里插入图片描述

回归 regression

在这里插入图片描述

分类 classification

在这里插入图片描述

structured learning

在这里插入图片描述

1.2 课程规划

——————————先更新到前5章——————————

Lecture1-5: Supervised Learning 监督学习

训练数据要有标注,数据集要知道输出值

缺点:耗费人工

Lecture 7: Self-supervised Learning

无标注资料——Pre-train

Lecture 6: Generative Adversarial Network(GAN)

Lecture 12: Reinforcement Learning(RL)强化学习

不知道怎么标注

Lecture 8: Anomaly detection 异常检测

Lecture 9: Explainable AI 可解释性AI

Lecture 10: Model attack 模型攻击

Lecture 11: Domain adaptation 域适应

Lecture 13: Network Compression

Lecture 14: life-long learning

Lecture 15: Meta learning

1.3 机器学习例子

根据过往观看次数预测明天的观看次数

1.3.1 训练过程(training)
  1. 含有未知参数的函数
    在这里插入图片描述

  2. 定义损失函数
    在这里插入图片描述

    标签 label:已知的对应结果

    求出 e 1 e_1 e1 e N e_N eN
    L o s s : L = 1 N ∑ n e n Loss: L=\frac{1}{N}\sum _ne_n Loss:L=N1nen

    补充:
    loss函数可自己定义,以下常见三类:MAE、MSE、交叉熵
    在这里插入图片描述在这里插入图片描述

    误差曲面(error surface)

    在这里插入图片描述

  3. 优化
    w ∗ , b ∗ = a r g min ⁡ w , b L w^*, b^* = arg \min_{w,b}L w,b=argw,bminL

    a r g m i n argmin argmin:使后面的公式最小的参数

    梯度下降 gradient descent

    假设只有 w w w一个参数

    在这里插入图片描述

    带上 b b b

    在这里插入图片描述

    超参数(hyper parameter):机器学习中,需要自己设定的参数

    学习率

    全局最小值与局部最小值的问题。后续补充,在2.1部分(手动跳转吧~ 无法页面内部跳转,气死我啦ヽ(*。>Д<)o゜)

    这个问题并不是最主要的,最常见的。其实是学习率!

    找到使loss最小的 w , b w,b w,b的值

    在这里插入图片描述

1.3.2 改进(很牛逼,建议有基础后回看)

在这里插入图片描述

线性模型太过简单。

model bias:线性模型具有很大的限制

怎么避免model bias?需要更复杂的含有未知参数的函数。

线性函数都可以用一段一段的函数组成,即可用常数+若干个蓝色函数表示。

在这里插入图片描述

那怎么表示蓝色函数呢?

sigmoid function(S函数):
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ y &= c\frac{1}…
在这里插入图片描述

调整sigmoid函数的 c , b , w c, b, w c,b,w制作各式各样的蓝色函数

在这里插入图片描述

所以…
y = b + ∑ i c i   s i g m o i d ( b i + w i x 1 ) y=b+\sum_i{c_i\ sigmoid(b_i+w_ix_1)} y=b+ici sigmoid(bi+wix1)
在这里插入图片描述

延伸一下(前方高能!!!):

y = b + ∑ j w j x j y=b+\sum_j{w_jx_j} y=b+jwjxj,则 y = b + ∑ i c i   s i g m o i d ( b i + ∑ j w i j x j ) y=b+\sum_i{c_i\ sigmoid(b_i+\sum_j{w_{ij}x_j})} y=b+ici sigmoid(bi+jwijxj)

在这里插入图片描述

绝了哇!!!这不就是神经网络的隐藏层计算嘛!!!

用矩阵表示一下

在这里插入图片描述

然后对每个 r r r计算sigmoid
α = σ ( r ) \alpha=\sigma(r) α=σ(r)
在这里插入图片描述

最后求y
y = b + c T α y=b+c^T\alpha y=b+cTα
在这里插入图片描述

整理一下
y = b + c T σ ( b + W x ) y = b+c^T\sigma(b+Wx) y=b+cTσ(b+Wx)
在这里插入图片描述

其中 x x x特征向量(feature) W , b , c T , b W,b,c^T,b W,b,cT,b(注意两个b不是一个意思哦~)是未知参数 ,将未知参数列成一列,统称为 θ \theta θ.

在这里插入图片描述

完美,更新了训练过程的第一步!!!

接下来,就是计算loss咯,没有什么变化,只是参数用 θ \theta θ表示,因为参数太多啦。所以loss函数为 L ( θ ) L(\theta) L(θ).

最后是优化,

在这里插入图片描述

在这里插入图片描述

梯度 gradient。一般不会有梯度为零的情况。

可能数据很多,不方便训练,可以将数据分为几个batch(后续补充,为什么这样做,在2.2部分),用一个batch计算损失值,然后**更新(update)**参数,再选下一个batch,继续更新,直到最后一个batch。

把所有的batch看过一遍,称为一个epoch

1.3.3 激活函数

ReLU (Rectified Linear Unit)
y = c   m a x ( 0 , b + w x 1 ) y=c\ max(0,b+wx_1) y=c max(0,b+wx1)
在这里插入图片描述

Hard Sigmoid就可以用ReLU组合表示
y = b + ∑ 2 i c i   m a x ( 0 , b i + ∑ j w i j x j ) y=b+\sum_{2i}{c_i\ max(0,b_i

评论 48
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值