自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 Lecture 15:元学习Meta Learning2

上面都是做的Verification的任务,即可以当成binary classification的任务,下面介绍如何做identification的任务,即N-way Few/One-shot Learning的任务。在上面使用过的Metric-based approach的方法,使用的是专门设计过的network architecture。评价Φ的好坏:如下图,Φ本身拿去做task1和task2没有很强,但是Φ拿去做训练以后(用task1和task2的data做训练后)变得很强,那它就是一个好的Φ。

2023-05-12 00:26:58 581 2

原创 Lecture 15:元学习Meta Learning

在之前的笔记中提过一系列Regularization-based的方法,例如EWC、SI等,这些方法是人设计的。在self-supervised learning还不流行的时候,pre-training比较常见的做法是把好几个任务的资料倒在一起当做一个任务进行训练,这种做法叫做multi-task learning。今天做meta learning的时候,最常拿来测试Meta Learning技术的任务是Few-shot lmage Classification。

2023-05-12 00:17:23 396

原创 Overcoming catastrophic forgetting in neural networks

文章链接:https://arxiv.org/abs/1612.00796。

2023-05-09 23:54:38 810 1

原创 Lecture 14:Life-long Learning

它的做法是训练task 1的时候有一个模型,训练task 2的时候不要动task 1学到的模型,而是另外再多开一个network,这个network会吃task 1的hidden layer的output作为输入。所以任务的顺序是重要的,有些顺序会有forgetting的问题,有些顺序没有forgetting的问题。在上面的讨论中,我们都假设每个task需要的模型是一样的,还限制了每个task的classifier,它们需要的class的数量都是一样的。评估遗忘的程度有多严重,算出来的值通常是负的。

2023-05-08 23:57:28 454

原创 Lecture 13(Extra Material):Q-Learning

按照上图方式改network架构的好处是,假设现在train network的target是希望下面两个被划掉的数字的值变为新的值,那么我们希望在train network的时候,network选择去更新V(s)的值而不是A(s,a)的值。MC和TD估算出的V𝝿(s)很有可能是不一样的,不同的方法考虑了不同的假设,最后就会得到不同的运算结果。好处:sample了比较多的step,sample大N个step才估测value,所以估测的部分所造成的影响比较轻微。所以计算出的Q value,其实是一个期望值。

2023-05-07 16:17:52 574

原创 Lecture 13(Extra Material):PPO

在做RL的时候,之所以考虑的不是参数上的距离,而是action上的距离,是因为很有可能对actor来说,参数的变化跟action的变化不是完全一致的。我们真正在意的是actor它的行为上的差距。如下图,VARx~p和VARx~q计算公式的第一项(即两个红框圈出来的地方)不同,如果q和p差别很大,p(x)/q(x)的值很大或很小,VARx~p和VARx~q就会相差很大。PPO计算公式中的KL diversions,它所计算的θ和θ'之间的距离并不是参数上的距离,而是它们behavior上的距离。

2023-05-07 16:07:40 173

原创 Lecture 13(Preparation):Network Compression

下面介绍五个network compression的技术。这五个技术都是以软体为导向的,在软体上面对network进行压缩,不考虑硬体加速部分。

2023-05-07 16:05:15 390

原创 Lecture 12(Preparation):Reinforcement Learning

It is challenging to label data in some tasks. 例如下围棋时,下一步下在哪个位置最好是不太好确定的,此时可以考虑使用RL。

2023-05-06 00:00:27 817

原创 Lecture 11:How versatile are self-supervised models

(story1和story2的内容在前面课程中有讲过,这里笔记部分不再详述)

2023-05-04 23:51:45 424

原创 Lecture 11(Preparation):领域自适应 (Domain Adaptation)

feature extractor的loss有下图中红色框圈出的-Ld这一项,但这不是很好的loss公式,因为当domain classifier把source domain的资料分类为target domain、把target domain的资料分类为source domain的时候,-Ld的值很小,满足minimize feature extractor loss的要求,但此时domain classifier实际上还是能把source domain和target domain的资料分开。

2023-05-04 23:47:21 395

原创 Lecture 9\10:Attacks in NLP

文本的离散性使得NLP中的攻击与CV或语音处理中的攻击有很大的不同。CV的attack就是在image上加一个noise。如何在NLP的input(句子)上加noise,这是接下来讨论的重点。

2023-05-01 16:24:09 158 1

原创 Lecture 10(Preparation):Adversarial Attack

我们希望类神经网络,不仅正确率要高,还要能应付来自人类的恶意。

2023-05-01 15:53:09 54

原创 Lecture 9(Preparation):机器学习模型的可解释性(Explainable ML)

explanation的目标非常不明确。什么是好的explanation?Make people (yourcustomers, your boss, yourself) comfortable.(李宏毅老师的看法)

2023-05-01 15:41:54 73

原创 Lecture 8(Extra Material):Dimension Reduction

Dimension Reduction(来源):降维或降维是将数据从高维空间转换到低维空间,以便低维表示保留原始数据的一些有意义的属性,理想情况下接近其intrinsic dimension。由于许多原因,在高维空间中工作是不可取的。由于维数灾难,原始数据通常是稀疏的,并且分析数据通常在计算上是难以处理的(难以控制或处理)。方法通常分为线性方法和非线性方法,也可以分为特征选择和特征提取。降维可以用于降噪、数据可视化、聚类分析,或作为促进其他分析的中间步骤。

2023-04-26 18:45:17 204

原创 Lecture 8(Preparation):Auto-encoder && Anomaly Detection

一个解决方法是,假设我们可以收集到一些异常的资料(如果收集不到异常的data,可以用generative model去generating),那么可以教machine除了学习做分类任务以外,看到正常资料的时候要给出高的confidence,看到异常资料的时候要给出低的confidence。不太能把异常侦测的问题当做binary classification的问题来做,一是因为异常资料并不都是一个种类(只要不是训练资料这一类的,都是异常资料。

2023-04-26 18:36:15 127

原创 Lecture 7:Self-supervised Learning for Speech and Image

由于语音上每个feature和他相邻的两个feature之间内容十分接近,一次只mask掉一个feature的话,很容易根据相邻的两个feature猜出这个feature的内容,这样model就学不到什么东西。除了让machine去还原声音讯号、还原影像之外,可以设计一些简单的任务让机器去完成,希望机器通过学会这些简单的任务,能在复杂的任务上做的更好。把在文字上generative的方法应用在语音和影像上,相较于应用在文字上有一个较大的问题是,文字是用token表示的,而语音和影像包含了非常多的细节。

2023-04-24 17:35:09 89

原创 Recent Advances in Pre-trained Language Models

Pre-trained Language Models中的Pre-trained是指使用大型语料库去train一个neural language model。GPT-3证明在模型足够大的条件下,zero-shot (with task description)是可行的。关于预训练的相关好处、fine-tuning以及GPT和BERT模型均在Self-supervised Learning部分的笔记中有记录,这里不再赘述。③ fine-tune更少的parameters,小数据集训练时的一个很好的候选。

2023-04-23 23:08:40 168

原创 BERT && GPT-3

如何把pre-train的model用在seq2seq的model中,第一种做法(v1)是把pre-train的model当做encoder,把Task Specific的model当做decoder。一般机器学习分为有监督学习,无监督学习和强化学习。Predict Next Token通常只能看到左边的context的资讯,ELMO能看到左边和右边的资讯,但是不能同时看到完整的左边和右边的资讯,而BERT可以做到同时看整个context的资讯,它不再使用的Predict Next Token的技术。

2023-04-23 22:15:51 187

原创 Self-supervised Learning

Self-Supervised Learning,又称为自监督学习。一般机器学习分为有监督学习,无监督学习和强化学习。而 Self-Supervised Learning 是无监督学习里面的一种,主要是希望能够学习到一种通用的特征表达用于下游任务 (Downstream Tasks)。其主要的方式就是通过自己监督自己。

2023-04-23 21:51:10 123

原创 The first GAN——Generative Adversarial Nets

本文提出新框架:通过对抗过程估计生成模型。该框架可以为多种模型和优化算法生成特定的训练算法。生成模型 G:捕获数据分布判别模型 D:估计样本来自训练数据而不是G的概率。G 的训练过程是最大化 D 犯错的概率。在 G 和 D 由多层感知器定义的情况下,整个系统可以通过反向传播进行训练。在训练或生成样本期间不需要任何马尔可夫链或展开的近似推理网络。在GAN的网络框架中,生成模型与判别模型对抗,判别模型学习确定样本是来自模型分布还是数据分布。

2023-04-20 20:48:26 113

原创 Lecture 6(Extra Material):VAE & FLOW-based Model

如下图中的例子,把两张图片都编码成code,然后进行复原。下图中,黑色的复杂的distribution是很多的Gaussian(蓝色曲线代表Gaussian的distribution)用不同的weight叠合起来的结果。所以真正Train GAN的时候做法是人工去看generator产生的image。要去Minimizing KL(q(zx)/P(z)),就是去调NN' network的两个output。VAE架构如下,相比AE,VAE的Encoder除了生成code之外,还外加了噪音。

2023-04-20 00:03:01 125

原创 Lecture 6(Extra Material):GAN

对于这个猜测,fGAN的优点是,当前的divergence选的不好,可以换成另一个divergenc,比如如果觉得是js divergence的问题,可以换成KL divergence。在Generation这个问题中,Div(PG, Pdata)就是Generator的loss function,我们要做的事情就是去minimize Div(PG, Pdata),找到一组G的参数,使得Div(PG, Pdata)的值最小。这是GAN需要解决的问题,是train Generator的时候需要解决的问题。

2023-04-19 23:53:28 79

原创 Lecture 6(Preparation):生成式对抗网络(Generative Adversarial Network, GAN)

上图中,输入同一个x,输出可以是一个Distribution的Network叫做Generator。当任务需要一些“创造力”时,就需要用到Generative的model。比如输入一个问题:有红眼睛的角色,这时输出可以有不同的答案,所以输出需要是一个Distribution。GAN是Generative的model中非常知名的一个model。GAN举例:Anime Face Generation。

2023-04-19 23:47:12 139

原创 Lecture 5(Extra Material):Non-Autoregressive Sequence Generation

CTC的缺点:1. Falls behind LAS 2. Can't be refined。缺点:Decoder花费的时间和要Decoder生成的句子长度成正比。存在的问题:multi-modality problem。Imputer对CTC的缺点进行了改良。优点:一次把整句话生成出来,节省时间。有三招可以加强这个model。

2023-04-17 23:30:27 165

原创 Lecture 5:Self-attention

回顾Self-attention的知识:Self-attention需要处理输入的sequence,设这个sequence的长度为N。做Self-attention的时候会产生N个key的vector和N个query的vector,它们两两之间要做dot product,一共要做N^2次dot product。Self-attention的痛点是当input sequence非常长的时候,即N非常大的时候,要得到N*N的Attention Matrix,运算量会非常惊人。⑦ 改变矩阵计算的顺序。

2023-04-17 19:36:59 48

原创 Lecture 5(Preparation):Transformer

Decoder的架构有点像是Eecoder的架构的一个复杂版,不过Encoder中用的是Self-attention,而Decoder中用的是Masked Self-attention。以语音合成为例,输入一串文字,在合成声音的时候,机器应该从左到右去看输入的文字,而不是随机的去看输入的文字。但是在测试的时候,Decoder看到的输入是自己前面的输出,而不是正确答案。当前面输出了一个错误的答案,这个答案作为Decoder的输入,让它看到了一个错误的东西,可能会导致后面的答案全部出错。

2023-04-17 19:25:42 61

原创 Lecture 5(Preparation):Batch Normalization

如下图,对所有输入的vector的同一个dimension(图中绿框圈出部分),计算它们的mean和standard deviation(标准差),并对每个dimension xi计算出xi tilde,这样绿框中的所有元素的平均值是0,方差是1,这些元素的值集中在0附近。对w1参数进行调整时,由于x1的值很小,所以Δw1*x1的变化也会很小,给Δy、Δe带来的变化很小,所以给ΔLoss带来的变化很小,即error surface在w1方向上的landscape很平缓。

2023-04-17 19:12:46 27

原创 PyTorch入门4

使用model.train()的作用是把网络设置成训练的模式,它只对部分的网络层有作用,比如Dropout层。一般把model放到单独的.py文件中,并在文件中对模型的正确性进行验证。

2023-04-17 19:06:25 19

原创 PyTorch入门3

注:如果保存的是自己写的网络模型,那么在加载模型的py文件中,需要import保存模型结构的那个文件。以下面的神经网络为例,进行一个简单的搭建实战,并说明sequential的用法。输出结果是两个vgg网络的模型。

2023-04-17 18:34:58 36

原创 PyTorch入门2

step = 0。

2023-04-13 23:44:59 21

原创 Lecture 4(Extra Material):GNN

GAT (Graph Attention Networks): GAT要做weighted sum,并且weighted sum的weight要通过学习得到。① ChebNet 速度很快而且可以localize,但是它要解决time complexity太高昂的问题。Graph Neural Networks可以做的事情:Classification、Generation。Aggregate的步骤和DCNN一样,readout的做法不同。GIN在理论上证明了有些方法会work,有些方法不会work。

2023-04-12 23:32:03 53

原创 Lecture 4(Extra Material):RNN

对于有些问题,比如下图中,对于这两句话中的Taipei这个词,在上面那句话中我们希望把它丢进network,最后输出的结果是dest,在下面那句话中我们希望把它丢进network,最后输出的结果是place of departure。如果用Feedforward network,对于同样的输入,只能输出一样的结果,所以它没办法做到输入Taipei,有时候输出dest、有时候输出place of departure。

2023-04-12 21:47:38 67

原创 Lecture 4(Preparation):Self-attention

Lecture3的时候讲了CNN,现在来讲另外一个常见的Network架构——Self-attention。

2023-04-12 21:27:37 53

原创 PyTorch学习笔记1

Compose()中的参数需要是一个列表。在Compose中,数据需要是 transforms类型,所以得到,Compose([transforms参数1, transforms参数2,...])。分别对Normalize前的img_tensor[0][0][0]和Normalize后的img_norm[0][0][0]输出,得到以下不同的数值。运行上面代码得到的tensor数据tensor_img的内容如下,Tensor数据类型可以理解为一个包装了神经网络的一些理论基础所需要的一些参数的数据类型。

2023-04-11 23:33:55 59

原创 [机器学习]Lecture 3:Why deep

对于同一个Function,可以使用高瘦的network产生这个Function,也可以使用矮胖的network产生这个Function,使用高瘦network的参数量会少于使用矮胖network的参数量。回顾Lecture2的内容:如何在smaller|H|的时候,仍然有一个small loss,这是一个鱼与熊掌如何兼得的问题,而深度学习可以做到这件事情。一个Hidden layer就可以表示任何的Function,但是使用deep structure会更加effective。

2023-04-10 23:49:53 39

原创 [机器学习]Lecture 3(Extra Material):Spatial Transformer Layer

下面介绍一个特别的、有用的Network的架构。

2023-04-10 23:47:30 108

原创 [机器学习]Lecture 3(Preparation):Convolutional Neural Networks, CNN

下面探讨network的架构设计。通过CNN这个例子,来说明Network架构的设计有什么样的想法,说明为什么设计Network的架构可以让我们的Network结果做的更好。

2023-04-10 23:46:32 64

原创 [机器学习]Lecture 2(Extra Material):Beyond Adam

之前有比较过为什么要把Adagrad换成RMSProp,因为Adagrad的分母是monotonic increasing,所以它最后会越走越少,如果Adagrad的gradient一开始增长太快的话,可能没走几步就走不动了。Adam中使用的RMSProp解决了上述问题,但是在AMSGrad中又使用了Adagrad的思想,走了回头路,所以AMSGrad可能不是一个非常好的解法。法一:AMSGrad,这个方法和Adagrad的思路很像,它只处理了Learning rate太大时候的情况。

2023-04-07 13:47:55 67

原创 [机器学习]Lecture 2(Basic theory):浅谈机器学习原理

浅谈机器学习原理——再探宝可梦、数码宝贝分类器。

2023-04-07 13:35:15 359

原创 [机器学习]Lecture 2:如何训练类神经网络

如果初始的时候在左上方,离目标很远,但是gradient又很小,就会没办法用gradient descent顺利走到右下角的地方(在没有好的optimizer的情况下,如果用Adam,也许还是有机会走到右下角,不过training还是会困难一点)。沿着Hessian矩阵(负特征值)对应的特征向量的方向,是有可能escape saddle points的,不过在实际操作中通常不会这么做,因为计算出Hessian矩阵以及对Hessian矩阵进行一系列的运算,运算量是非常大的。

2023-04-07 00:14:46 68

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除