合集-NTU ML2023Spring

摘要:License: CC BY-NC-SA 4.0 本系列基本上为 NTU ML2023Spring 的学习笔记。 从我的学习经历来看分三个 part: ml2023 视频 感觉这部分比较像通识课,跳过也没多大问题。 ml2021 视频 ,这部分是作业的前置(当然也可以跳过前置直接进作业) ml202 阅读全文
posted @ 2025-01-28 21:51 383494 阅读(89) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 闲话 本文为 Part 1 的合集。或者算是自己的备忘录? 由于视频源在 youtube 上,为避免网络不稳定导致观看体验下降,我用 yt-dlp 提前下载视频到本地看。 yt-dlp --output "%(playlist)s/%(playlis 阅读全文
posted @ 2025-01-27 13:14 383494 阅读(87) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 机器学习的任务是什么?考虑几个常见的任务:输入一段语音,输出语音中的文字;输入一张图片,输出图片中的内容;输入棋局局面,输出下一步怎么走。总结一下就是找到一个函数。 几个常见的任务: Regression 输出一个标量。 Classification 阅读全文
posted @ 2025-02-03 11:41 383494 阅读(61) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 loss (test) large loss (test) small loss (train) large 可能是 optimization 不够或模型不够复杂 运气好 loss (train) small overfitting 或 mismat 阅读全文
posted @ 2025-02-03 11:43 383494 阅读(51) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 为什么我用 gradient descent 训了半天 loss 还是不降? local minima & saddle point 有可能是你卡在 local minima(极小值)了,但大部分情况下这只是个 saddle point(某一维是极小 阅读全文
posted @ 2025-02-03 11:43 383494 阅读(64) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 有时候,对特定任务调整神经网络的架构会使它做得更好。例如,CNN 用于图像识别。 一张彩色图片是 3 个矩阵(RGB),当然可以把它拉直成向量然后直接硬上全连接层,但是这样会带来非常多的参数,增加了 overfitting 的风险。 下面我们要基于一 阅读全文
posted @ 2025-02-03 11:44 383494 阅读(74) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 之前都是输入一个固定长度的东西,但是如果每次输入的东西长度不一样呢? 例如输入一个句子。当然可以用 one-hot encoding 来编码单词,但这样就看不到某些单词之间的相关性。一个更好的方法是 word embedding。 对于音频输入的情况 阅读全文
posted @ 2025-02-03 11:44 383494 阅读(47) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 seq2seq:输出长度由模型自行决定。例如语音识别,机器翻译。 即使不是 seq2seq 的问题,也可以用 seq2seq model 大力出奇迹。例如文法剖析,将「deep learning is very powerful」拆成「(S (NP 阅读全文
posted @ 2025-02-04 09:36 383494 阅读(54) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 对于图像生成之类的任务,它要「生成」一些东西,而它的标准答案不是唯一的,这时怎么梯度下降呢? 只要在输入里加一个随机变量 \(Z\),服从一个较为简单的分布就行了。由于输入的 \(Z\) 不同,整个网络的输出也变成了一个(和 \(Z\) 的分布有关的 阅读全文
posted @ 2025-02-12 18:47 383494 阅读(58) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 同步发表于我的新博客。 supervised learning 是之前见过很多次的,给定一些输入和输出,让机器学习其中的规律。而 self-supervised learning 就不用标注数据。有趣的是,这一类模型大都以芝麻街的人物命名,例如 BE 阅读全文
posted @ 2025-03-16 18:20 383494 阅读(62) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 基本概念 类似 self-supervised learning,auto encoder 是一种更古老的不需要资料标注的训练方法。 假设你有一堆图片(影像处理的任务),你要训练一个 encoder 和一个 decoder,encoder 读入图片产 阅读全文
posted @ 2025-04-05 08:15 383494 阅读(61) 评论(0) 推荐(0)
摘要:License:CC BY-NC-SA 4.0 同步发表于我的新博客。 假设你有一个图像识别的模型,输入图像,输出里面的东西。一般来说输入一张猫的图片,它会识别为猫;但如果给图片里的像素做特定的微小改动(attack),在人眼看不出来变化的情况下可以让机器识别的结果变成其他东西。 attack 按照 阅读全文
posted @ 2025-04-13 16:39 383494 阅读(80) 评论(0) 推荐(0)
摘要:有时在某些可能带来严重后果的任务(比如医疗,法律、自动驾驶)上,我们不止希望机器学习模型给出一个答案,更希望它给出相应的理由。 那能不能直接用更容易解释的模型呢?可以,但问题是效果不好。 interpretable 和 explainable 这两个词经常被混用,前者指它本来不是黑箱,后者指它是黑箱 阅读全文
posted @ 2025-05-01 12:43 383494 阅读(45) 评论(0) 推荐(0)
摘要:domain shift: 训练资料和测试资料的分布不一样。 domain adaptation 可以看作是 transfer learning 的一种。详见这个视频 domain shift 有很多类型,这里只讨论输入数据分布不一样的情况。记作 source domain 和 target dom 阅读全文
posted @ 2025-05-01 15:43 383494 阅读(58) 评论(0) 推荐(0)
摘要:title: NTU ML2023Spring Part2.13 Reinforcement Learning date: 2025-05-01 15:45:00+0800 lastmod: 2025-05-02 14:44:00+0800 RL: reinforcement learning,强化 阅读全文
posted @ 2025-05-02 14:45 383494 阅读(39) 评论(0) 推荐(0)
摘要:根据使用者的 feedback 更新我们的模型.有一个问题是学完不同 domain 的数据(多个任务)之后会忘了之前学过的内容,但如果把数据混在一起学却能同时学会.这种状况是 catastrophic forgetting,用 catastrophic(灾难性的)来形容足见遗忘的夸张程度. 那把之前 阅读全文
posted @ 2025-05-02 16:30 383494 阅读(69) 评论(0) 推荐(0)
摘要:如果我们想把模型运行在资源有限的环境(手表,无人机)上,就需要压缩模型.为什么不直接在云端计算?一个原因是低延迟,另一个是保障隐私.这里不会讨论硬件方面的做法. network pruning 在一个庞大的神经网络里,有些参数和神经元可能在摸鱼.这时我们就可以修剪掉它们.评价一个参数的重要性可以直接 阅读全文
posted @ 2025-05-02 20:37 383494 阅读(28) 评论(0) 推荐(0)
摘要:什么是 meta learning meta learning: learn to learn. 工业界:大力出奇迹!开 1e3 张 GPU 分别跑不同的参数试试. 学术界:没有大量 GPU,只能凭运气调参. 那么能否用 ML 解决 ML 调参的问题呢?这就是 meta learning. 在之前的 阅读全文
posted @ 2025-05-10 19:02 383494 阅读(22) 评论(0) 推荐(0)
摘要:这部分作业没做。 阅读全文
posted @ 2025-01-29 17:12 383494 阅读(28) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 开始实操。不得不说 Google Colab 真好用(白嫖 GPU),除了网络问题很难受。 如果直接按照给的代码跑会得到 0.5 的高分,于是我在 BasicBlock 里加了一层 nn.BatchNorm1d(input_dim)。 虽然它说 ap 阅读全文
posted @ 2025-01-29 17:13 383494 阅读(65) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 卷,就硬卷.jpg Google Colab 的免费 GPU 达到限额了,Kaggle 又没有 GPU 可用[1],只好用旧手机(刷上 postmarketOS)炼丹。Money is all you need,氪不了但是可以挂机。 由于炼丹炉(旧手 阅读全文
posted @ 2025-01-29 17:14 383494 阅读(47) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 我真傻,真的。我是单知道 Google colab 有 GPU,不知道 Kaggle 认证完手机号也有 GPU,而且给的比 colab 多多了。终于不用在我的旧手机上炼丹了。 这一部分因为 ml2023 作业 sample code 的 链接 失效了 阅读全文
posted @ 2025-01-29 17:13 383494 阅读(50) 评论(0) 推荐(0)
摘要:第一难:安装依赖包时 fairseq 装不上。解决方法:将 pip 降级到 24.1 以下:pip install pip==24.0。 第二难:ImportError: cannot import name 'utils' from 'fairseq' (unknown location). 于是 阅读全文
posted @ 2025-04-05 08:19 383494 阅读(78) 评论(0) 推荐(0)
摘要:License: CC BY-NC-SA 4.0 上来要做 data augmentation,于是翻了一下 pytorch 的官方文档。发现 torchvision.transforms.v2 更好。 TL;DR We recommending using the torchvision.tran 阅读全文
posted @ 2025-04-05 21:39 383494 阅读(64) 评论(0) 推荐(0)
摘要:在 evaluate 里有这样一行: def evaluate(data, output): ##### TODO: Postprocessing ##### # There is a bug and room for improvement in postprocessing # Hint: Op 阅读全文
posted @ 2025-05-11 19:56 383494 阅读(47) 评论(0) 推荐(0)
摘要:ml2023 作业的模板代码链接挂了,因此做的是 ml2022 的相关作业. 发现没有标 todo,于是随机找了几个 fc 层把参数改大点,再按照 这里 的做法加了点 data augmentation. 在 Kaggle 上跑了几个小时,训练完之后报错: UnpicklingError Trace 阅读全文
posted @ 2025-06-15 14:10 383494 阅读(62) 评论(0) 推荐(0)
摘要:ML2023 的作业里 pretrained model 链接和 food.zip 都挂了,ML2022 的作业整个挂了,ML2021 的作业里 food.zip 挂了.放弃了. ML2025 有相关的作业(hw3),只不过变成了理解 LLM(其实也差不多?). 需要在 huggingface 上创 阅读全文
posted @ 2025-06-16 21:17 383494 阅读(28) 评论(0) 推荐(0)
摘要:gdown 的链接又挂了,还好 dropbox 没挂. 只实现了 medium baseline 相应的 ifsgm.简单来说就是迭代地做 fsgm.把上面 fsgm 的代码抄过来再改改就行了. def ifgsm(model, x, y, loss_fn, epsilon=epsilon, alp 阅读全文
posted @ 2025-06-18 09:38 383494 阅读(26) 评论(0) 推荐(0)
摘要:kaggle 上先跑了一发,没想到报错了.瞪眼半天没发现问题出在哪,于是在 colab 上又跑了一发,没有任何问题.感觉很神秘. 交上去过 simple baseline. 阅读全文
posted @ 2025-06-18 16:03 383494 阅读(23) 评论(0) 推荐(0)
摘要:colab 上环境跑不起来.做了些神秘调整(指我都忘了做了什么)在 kaggle 上跑成功了,结果发现是 simple baseline 的版本,我改后的东西没保存. 然后把 colab 上最新一版下载到本地,覆盖旧的文件,上传到 kaggle 上,又跑不起来了. AttributeError Tr 阅读全文
posted @ 2025-06-18 21:20 383494 阅读(37) 评论(0) 推荐(0)
摘要:加了随机旋转的 data augmentation: train_tfm = transforms.Compose([ transforms.RandomRotation(degrees=(-30, 30)), # ... ]) 加了几层 depthwise and pointwise convol 阅读全文
posted @ 2025-06-19 19:35 383494 阅读(19) 评论(0) 推荐(0)
摘要:示例代码中需要实现 MAS. class mas(object): """ @article{aljundi2017memory, title={Memory Aware Synapses: Learning what (not) to forget}, author={Aljundi, Rahaf 阅读全文
posted @ 2025-06-21 19:37 383494 阅读(16) 评论(0) 推荐(0)
摘要:要实现 metasolver 里的内层和外层 update. def MetaSolver( model, optimizer, x, n_way, k_shot, q_query, loss_fn, inner_train_step=1, inner_lr=0.4, train=True, ret 阅读全文
posted @ 2025-06-22 11:49 383494 阅读(33) 评论(0) 推荐(0)
摘要:一路走来,我们学了什么? 深度学习就是找一个函数,但它不能是线性的.根据应用场景不同,输入还可以是 matrix, sequence 之类的东西. 后半段还学了一些进阶主题:GAN, BERT, RL, domain adaptation, attack, explainable, network 阅读全文
posted @ 2025-06-22 19:41 383494 阅读(48) 评论(0) 推荐(0)