李宏毅专题

从零对Transformer的理解(台大李宏毅)

Self-attention layer自注意力 对比与传统cnn和rnn,都是需要t-1时刻的状态然后得到t时刻的状态。我不知道这样理解对不对,反正从代码上看我是这么认为的。而transformer的子注意力机制是在同一时刻产生。意思就是输入一个时间序列,在计算完权重后就直接得到状态。 计算注意力机制的参数q,k,v 那么相信大家肯定看不懂上面的,接下来我来说说a(1,n)怎么计算(如图)

【李宏毅-生成式 AI】Spring 2024, HW5:LLM Fine-tuning 实验记录

文章目录 1. Task Overview2. Overall Workflow3. Dataset 介绍4. 代码介绍4.1 环境介绍4.2 下载 dataset4.3 下载并加载模型4.2 Notebook 代码1)import 部分2)固定 seed3)加载 LLM4)加载 tokenizer5)设置解码参数6)⭐ LLM 和 tokenizer 使用示例7)generate_trai

李宏毅《机器学习》课程笔记(作业十一:GAN)

GAN包含辨别器和生成器,是一个对抗的关系,用adversarial。是无监督的学习方式。 可以将其看成老师和学生的关系。 注意辨别器和生成器是轮流训练的,输入是一个随机的向量,最后的输出是一个标量。训练一个的时候把另外一个固定住不更新梯度值。对于辨别器,优化目标是两个部分,使得真实图像得分高而生成的图像得分低。 结构化学习,输出不再是一个简单的向量,而是一个句子,一张图片或者一棵树等等。

李宏毅《机器学习》课程笔记(作业十:异常侦测)

我们在test的时候,让机器自动的知道这个东西跟训练集里的数据是类似的还是不类似的。 我们无法把异常的资料视为一个类别,因为异常的东西类型太多了,而且异常的资料太难收集到了。 可以在输出类别的时候同时输出一个信心分数,如果高于一个信心分数,就可以判断是正常的数据。可以用分类时分布中最大的那个值直接作为信心分数。或者可以用墒。虽然很简单,但是往往不弱。 也可以直接输出一个信心分数,可以参考文献

李宏毅《机器学习》课程笔记(作业九:无监督学习)

Kmeans方法,先初始化K个中心,每次都把每个元素归类到最近的类,再更新中心,再更新分类。 HAC的方法,有点类似,把最近的pair取平均作为新的data,然后搞成一个树,再在树上切一刀来分类,好处是不需要先决定K。 PCA有了新的的理解,其实是贪心地找使得variance最大的那个w,之后通过这些w的线性组合就可以了。PCA也是个降维的方法,他能够使得复原出的向量跟输入的向量最接近。其实相

李宏毅《机器学习》课程笔记(作业八:seq2seq)

怎么样生成一个有结构的东西。可以用RNN依次产生序列的元素。 在智能对话等等场景中,是”有条件的生成“。核心的思路是用一个encoder把输入变成一个vector,再用一个decoder输入这个vector Attention就是一种动态的条件生成网络。   待后续补充

李宏毅《机器学习》课程笔记(作业七:模型压缩)

有多种模型压缩的方法。 第一个是网络剪枝,因为神经网络往往是过度参数化,所以删掉一部分网络参数。先训练好一个大的神经网络,然后评估每个参数是否重要,评估方法其实就是看是否接近0。然后把不重要的东西移除。用新的网络重新训练一下,update一下参数,可以把损伤移除。注意一次不删掉很多,怕恢复不回来,所以迭代地删除参数。 那么为什么不直接训练一个小的神经网络呢?因为小的神经网络比较难训练。大的NN

李宏毅《机器学习》课程笔记(作业六:对抗攻击)

为了将机器学习在实际生活中应用上,需要考虑一些恶意攻击。 无目标攻击:攻击的时候,固定模型参数,希望调整输入数据,使得效果越差越好 有目标攻击:不仅跟原来的答案越远越好,而且要跟希望的错误答案越接近越好 限制是我们输入的攻击的数据跟正常的数据非常接近。 那么怎么找输入数据呢?还是用梯度下降。考虑距离限制以后需要一个修改版的梯度下降,每次做了梯度下降以后判断是否符合距离条件,

【研0深度学习】李宏毅2024春《生成式人工智能导论》持续更新...

文章目录 第1讲 什么是生成式人工智慧?第2讲 今日的生成式人工智慧厉害在哪里?第3-5讲 训练不了人工智慧,你可以训练你自己(在不训练模型的情况下强化语言模型的方法)第6讲 大模型修炼史——第一阶段 自我学习 累计实力 第1讲 什么是生成式人工智慧? 生成式人工智慧的目的不是进行做有结果的分类,而是使机器生成复杂有结构的物件。今天的生成式人工智慧多以深度学习构成。以现如今流通最

生成式AI导论2024-李宏毅

生成式AI导论2024-李宏毅 第0讲: 课程说明第1讲:生成式AI是什么第2講:今日的生成式人工智慧厲害在哪裡?從「工具」變為「工具人」 第0讲: 课程说明 生成式AI的入门课程 第1讲:生成式AI是什么 生成式人工智慧是什么? 当你用类神经网络(模型)来表达这上万个参数的时候,你做的事情就是深度学习。 第2講:今日的生成式人工智慧厲害在哪裡

Actor-critic学习笔记-李宏毅

Policy Gradient review ∇ R ‾ θ = 1 N ∑ n = 1 N ∑ t = 1 T n ( ∑ t ′ = t T n γ t ′ − t r t ′ n − b ) ∇ log ⁡ p θ ( a t n ∣ s t n ) \nabla \overline{R}_\theta = \frac{1}{N}\sum_{n = 1}^{N}\sum_{t = 1}^{

Q-Learning学习笔记-李宏毅

introduction 学习的并不是policy,而是学习critic,critic用来评价policy好还是不好;一种critic:state value function V π ( s ) V^\pi(s) Vπ(s)是给定一个policy π \pi π,在遇到state s s s之后累积的reward的期望值,以游戏举例也就是一个actor在看到某一个画面 s s s之后直到

李宏毅-注意力机制详解

原视频链接:attention 一. 基本问题分析 1. 模型的input 无论是预测视频观看人数还是图像处理,输入都可以看作是一个向量,输出是一个数值或类别。然而,若输入是一系列向量,长度可能会不同,例如把句子里的单词都描述为向量,那么模型的输入就是一个向量集合,并且每个向量的大小都不一样。解决这个问题的方法是One-hot Encoding以及Word Embedding,其中Wo

对抗攻击笔记02:李宏毅对抗攻击视频课P3P4-how to attack

how to attack 目标:找到一个x*使得与原x0的差距越小越好,同时还要让f(x)与原结果远离的越远越好 方法:通过梯度下降方法,以x0为初始值不断迭代x生成新的x‘ ,同时如果x‘的变动大于我们设置的阈值的时候对x‘进行修正 修正函数:fix(x‘)在规定区域中寻找与x’最接近的那个点作为修正后的x‘ Attack Approaches FGSM:原论文不迭代,一次攻击成功

对抗攻击笔记01:李宏毅对抗攻击视频课p2

正常training是要使得f(x)的值与真实值y-true越接近越好Non-targeted Attack是要使得f(x)的值与y-true越远越好Targeted Attack目标是要让f(x)与某一错误分类y-false越近越好在添加攻击噪声的同时要使得图像与原图越接近越好(肉眼不被发现)小于e 定义两张图片之间的差异使用l0范数,l2范数和l∞范数 来表示图像扰动的大小L0范数:

机器学习和深度学习-- 李宏毅(笔记与个人理解)Day22

Day 22 Transformer seqence to seqence 有什么用呢? Encoder how Block work 仔细讲讲Residual 的过程? 重构 Decoder - AutoRegressive Mask 由于是文字接龙,所以无法考虑右边的 info

李宏毅2022机器学习/深度学习 个人笔记(3)

本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点 本篇记录代码效果不佳时应该怎么做 如下图所示: 接下来探讨,当optimization不佳的时候,如何判断是遇到了鞍点还是遇到了局部最小值点?可以通过多元函数的泰勒公式来估计增量大小,如图: 关于多元函数泰勒公式,可参考https://blog.csdn.net/qq_45812220/article/details/1380

李宏毅2022机器学习/深度学习 个人笔记(2)

本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点 本篇记录第一讲(选修):神奇宝贝分类(续) 如图,boundary变为直线,结果也有上升 我们不一定采用高斯几率模型,也开始采用其他模型,这不是死板的。举例: 假设它们之间独立,则协方差矩阵为对角矩阵,使用了Naive Bayes Classifier。 接下来,我们令z为图中所示,可推出该概率为sigmoid函数: 接

机器学习和深度学习-- 李宏毅(笔记于个人理解)Day 21

Day 21 Self- Attention 选修部分 ​ 学完自适应 再回来看看 Sequence Labling 假如我们现在有一个需要读完全部句子才能解的问题, 那么red window 就需要变得是最大的(最长的句子); 其实这里大家有没有想过,这个玩意儿就是个卷积网络CNN,所谓的window 就是卷积核 what is self Attent

机器学习和深度学习--李宏毅(笔记与个人理解)Day11-12

Day11 when gradient is small…… 怎么知道是局部小 还是鞍点? using Math 这里巧妙的说明了hessan矩阵可以决定一个二次函数的凹凸性 也就是 θ \theta θ 是min 还是max,最后那个有些有些 哈 是一个saddle; 然后这里只要看hessan矩阵是不是正定的就好(详见 线性代数) example – us

机器学习和深度学习--李宏毅 (笔记与个人理解)Day 16

Day 16 deep Learning – 鱼与熊掌兼得 最近在减重, 昨天跑了个一公里,然后今天上午又打了个篮球,真是老胳膊老腿了,运动完给我困得不行 Review 见前面的笔记 这里说dl 会提供一个足够大的模型, 来使得Dall loss 足够小,但是从这里没有看出来deepLearning 更好呀,这不是还是需要一个big training data

机器学习和深度学习 --李宏毅(笔记与个人理解)Day 18

Day 18 Spatial Transformer Layer 因为单纯的cNN无法做到scaling(放大)and rotation(转),所以我们引入; 实战中也许我们可以做到 是因为 我们的training data 中包含了对data 的augmentation; 有一些 translation的性质,是因为 max pooling 这张ppt好好理解,我感觉它说明了sp

机器学习和深度学习 -- 李宏毅(笔记与个人理解)Day 13

Day13 Error surface is rugged…… Tips for training :Adaptive Learning Rate critical point is not the difficult Root mean Square --used in Adagrad 这里为啥是前面的g的和而不是直接只除以当前呢? 这种方法的目的是防止学习率在

李宏毅老师-self-attention笔记

本文部分内容参考于以下博客: 自注意力机制 文章目录 自注意力输入和输出自注意力机制函数self_attention的计算过程self_attention的矩阵表示方法:多头注意力机制位置编码 自注意力输入和输出 1.自注意力模型 输入的序列是变长的序列,输出的是一个标量 2.输入和输出都是序列,而且输入和输出的长度相等,输入的每一个元素对应输出的一个label。 3.输

机器学习和深度学习--李宏毅(笔记与个人理解)Day9

Day9 Logistic Regression(内涵,熵和交叉熵的详解) 中间打了一天的gta5,图书馆闭馆正好+npy 不舒服那天+天气不好,哈哈哈哈哈总之各种理由吧,导致昨天没弄起来,今天补更! 这里重点注意一下, 这个 output值是概率哈,也就是说式子整体表示的含义是 x 属于c1的概率是多大 这个老师真的是讲到我的心坎子里区了,这个logistic Redr

李宏毅深度强化学习导论——当奖励是稀疏的

引言 这是李宏毅强化学习的笔记,主要介绍如何处理稀疏奖励问题。 稀疏奖励 当我们拿Actor和环境互动后可以得到很多奖励,整理之后可以得到分数 A A A,然后可以训练Actor。 但RL中有时会出现多数情况下奖励为零,此时我们不知道动作的好坏。就像下围棋一样,只有最终游戏结束才能得到奖励。 其实下围棋还好,更困难的是诸如教机械臂去拧螺丝,一般只有把螺帽拧进螺丝中才能获得奖励。但是随机初始