深度学习的相关问题整理(李宏毅机器学习课程)
深度学习的相关问题整理(李宏毅机器学习课程)
李梦鱼问题来源于东北大学齐守良老师的深度学习课程
内容来源于台湾大学李宏毅老师的机器学习课程PPT和齐守良老师的讲授内容
💻 代表内容来源于ChatGPT
Chapter 8 SSL
Part I. Autoencoder
What is the aim of using autoencoder to get embedding?
💻 使用自编码器获得嵌入的目的是学习输入数据的紧凑而有意义的表示。*自编码器通过训练一个编码器将输入数据转换为一个低维度的向量(即嵌入向量),并使用一个解码器将该向量还原为与原始数据尽可能接近的重构数据。*嵌入向量可以被认为是输入数据的一个压缩表示,捕捉了输入数据的主要特征和结构,并可以用于后续的分类、聚类、降维等任务。使用自编码器获得嵌入向量的好处是,它可以自动学习输入数据的特征表示,而不需要手动设计特征提取器,这对于复杂的数据类型和任务非常有用。
Try to compare the denoising1autoencoder (DAE) with BERT and clarify their differences and common points. 💻 去噪自编码器(DAE)和BERT是两种不同的预训练模型。
DAE通过将输入添加噪声来学习输入的特征,而BERT是通过遮盖输入序列的一部分来学习上下文信息。
它们的共同点在于都是通过预训练学习特征表示,可以用于多种下游任务,例如分类、生成等。
但是,它们的设计目的不同,DAE的目标是学习输入特征,而BERT的目标是学习上下文信息。
Describe what the feature disentanglement is and give one application of feature disentanglement.
- Describe: 💻 feature disentanglement指的是通过训练encoder和decoder两个神经网络,学习到一组表示输入数据的低维度向量(即latent code),其中每个维度都对应于输入数据中的某个特定属性或因素。这些因素可以是诸如颜色、形状、姿态或背景之类的视觉属性,或者是音频信号中的声音特征,或者是自然语言处理中的词汇或句法结构等。通过autoencoder的训练,encoder可以将原始数据映射到一个低维度的latent code向量,而decoder则可以将这个向量还原为与原始数据尽可能接近的重构数据。如果训练成功,那么这个latent code向量应该能够捕捉到输入数据中的各种因素和属性,并将它们分离出来,使 得每个维度都对应于一个特定的因素或属性。这就实现了feature disentanglement,可以更方便地对数据进行分析和操作
- Application: Voice Conversion
What is Vector Quantized Variational Auto-encoder (VQVAE)?
💻 Vector Quantized Variational Auto-encoder(VQVAE)是一种基于变分自编码器(VAE)的生成模型,通过引入向量量化技术,将连续的嵌入空间离散化,从而使得生成的样本具有更好的清晰度和多样性。
VQVAE的结构由编码器、量化器(Codebook)和解码器三部分组成。编码器将输入数据映射到一个低维的连续嵌入空间,量化器将这个嵌入空间离散化为一组固定的离散向量,解码器将这些离散向量解码为生成的样本。在训练过程中,VQVAE通过最小化重构误差和量化损失来优化模型参数。
Once you have a trained variational auto-encoder (VAE), what applications can be done?
Generator, Compression, Anomaly Detection(Fraud Detection, Network Intrusion Detection, Cancer Detection)(图像生成、压缩、异常检测(欺诈、网络入侵、肺癌))
How to conduct the anomaly detection by using a VAE?
Detecting input x is similar to training data or not.(检测输入是否类似于训练数据,Loss是否大)
Part II. BERT
What is the full name of BERT and GPT? 💻 BERT的全称是Bidirectional Encoder Representations from Transformers,GPT的全称是Generative Pre-training Transformer。
What are the differences between BERT and GPT from the viewpoint of SSL? 💻 BERT和GPT是两种常见的自监督学习(Self-Supervised Learning,SSL)模型,它们在SSL任务中的区别如下:
- 任务类型不同:BERT使用了“掩码语言模型”(Masked Language Modeling,MLM)任务和“下一句预测”(Next Sentence Prediction,NSP)任务,而GPT只使用了“语言建模”(Language Modeling,LM)任务。BERT的MLM任务要求模型在输入序列中随机选择一些单词进行遮挡,并要求模型预测这些被遮盖的单词;而NSP任务要求模型预测输入文本对是否是连续的句子。GPT的LM任务只要求模型在给定输入的前提下预测下一个单词。
- 架构设计不同:BERT使用了双向Transformer编码器,而GPT使用了单向Transformer解码器。BERT的双向编码器可以通过读取整个输入序列来获取上下文信息,但是在生成文本时需要进一步处理,因为它不能保证生成的每个单词只受前面的单词影响。GPT使用的是单向解码器,可以按顺序逐个生成单词,避免了这个问题。
- Fine-tuning方式不同:BERT通常在下游任务中进行微调,而GPT通常直接将模型用于生成文本。BERT的微调方式是,将预训练模型插入到一个下游任务模型中,然后使用任务特定的标注数据对模型进行微调。相比之下,GPT是通过直接对模型进行fine-tuning来进行文本生成的。
- 总的来说,BERT和GPT都是自监督学习模型,但它们在任务类型、架构设计和fine-tuning方式等方面有所不同。BERT的设计更加通用,适用于需要理解文本上下文关系的任务,如问答、文本分类等,而GPT更适合用于生成文本。
What is the self-supervised learning?
💻自监督学习是指利用无需人工标注的数据进行学习的一类机器学习方法。与有监督学习需要使用标注好的数据进行训练不同,自监督学习利用数据中自身的结构或特征进行学习,从而得到能够表征数据的高维特征表示??,这些表示可以在许多任务中进行迁移学习。
Explain why BERT works.
- 当输入一串文本时,每个文本都有一个对应的向量,称之为embedding。这些向量代表了输入词的含义。更具体地说,如果你把这些词所对应的向量画出来,或者计算它们之间的距离。⇒意思比较相似的词,它们的向量比较接近。(训练BERT时,我们给它w1、w2、w3和w4,我们覆盖w2,并告诉它预测w2,而它就是从上下文中提取信息来预测w2。所以这个向量是其上下文信息的精华,可以用来预测w2是什么。)
- BERT在Encoder中存在Self-Attention,会考虑上下文,根据不同的语境,从同一个词汇产生不同的embedding。
How to use BERT to fulfill a task of sentiment analysis of sentences?
在句子的前面添加CLS标记,只看CLS部分输出的向量。对CLS输出的一个向量经过linear层(Linear transform+Softmax),得到类别。
How to use BERT to do Part-of-speech tagging, Natural Language Inference, Extraction-based Question Answering?
- POS tagging:对每个word的向量分别连接linear层进行分类任务
- NLI: 在两个句子之间放一个特殊的标记SEP,并在最开始放CLS标记。最终考察CLS标记对应的输出向量,将其放入Linear transform的输入得到分类。
- QA: 必须向BERT展示一个问题,一篇文章,以及在问题和文章之间的一个特殊标记SEP,然后我们在开头放一个CLS标记。随机初始化从头训练两个向量,分别对应与答案的开始与结束:计算这个第一个向量和那些与document相对应的输出向量的内积,通过softmax函数,找到数值最大的位置,即为答案的开始位置。类似地,利用第二个向量可以找到答案的结尾位置。
In computer vision field, list some per-train tasks for SSL.
💻
- 自监督学习(self-supervised learning):通过对输入图像进行无监督的变换或预测任务来学习特征表示,例如对图像进行旋转、裁剪、遮挡等操作,然后让模型学习恢复这些变换前的原始图像。
- 图像恢复(image inpainting):该任务要求模型从部分损坏的图像中恢复原始图像,如在图像中添加遮挡区域或裁剪部分区域。这可以帮助模型学习对局部结构的表示,并捕捉物体之间的语义关系。
- 对比学习(contrastive learning):对比学习是一种基于相似度度量的自监督学习方法,通过最小化同一图像的不同副本之间的距离和最大化不同图像之间的距离来学习特征表示。这可以帮助模型学习对不同类别和变化的不变表示。
Chapter 9 Adversarial Attack
Explain how to realize a targeted attack to a network?
在Non-Targeted Attack的Loss Function 中加上一项
,表示希望攻击的结果与攻击目标的距离越小越好。 2 - 大前提:Non-perceivable
- Non-Targeted Attack: **Loss Function:**y 跟正确答案 ŷ 之间的 Cross
Entropy前面加一个负号,当Loss越来越小时,Cross
Entropy越来越大,实现攻击。
- 大前提:Non-perceivable
For L2-norm and L-infinite, which one is stricter for the requirement of “Non-perceivable”?
L-infinite,对于差距的评判,需要考虑人类的感知情况,Domain Knowledge。如,对于图片之间的“距离”,需要考虑图片的**“无穷范数”**,考虑变化最大处的情况,才能较好地体现。在“不可察觉”这一要求方面,L∞范数更为严格,因为它只考虑向量中最大的元素,因此可以使得其他元素的值更接近原始向量的值,而L2范数会平均考虑所有元素的值,导致一些元素可以略微偏离原始向量的值。
What is white-box attack and black-box attack?
💻白盒攻击和黑盒攻击是针对机器学习模型的两种不同的攻击方式,这两种攻击方式都可以导致机器学习模型的性能下降,因此需要采取相应的防御措施来保护模型的安全性。
- 白盒攻击是指攻击者已经了解了目标模型的所有参数和结构,包括输入和输出,可以直接访问模型的内部信息。在这种情况下,攻击者可以根据模型的内部信息来生成对抗样本,以误导模型进行错误的预测。
- 黑盒攻击是指攻击者只能访问模型的输入和输出,不能直接访问模型的内部信息。在这种情况下,攻击者需要通过对模型进行测试和查询来收集足够的信息,以生成对抗样本并欺骗模型进行错误的预测。
Describe one way of black box attack?
迁移攻击(proxy network):💻这种攻击方法利用了不同模型之间的相似性,通过训练一个代理模型,将生成的对抗样本迁移到目标模型上,从而欺骗目标模型进行错误的预测。(One pixel attack, Universal Adversarial Attack)
💻基于梯度的攻击(Gradient-based Attack):攻击者可以通过输入对目标模型进行多次查询来获取目标模型的输出,然后使用这些信息来计算目标模型的梯度,进而生成对抗样本。这种方法需要通过反向传播计算梯度,通常比较耗费计算资源。
List at least four ways of passive defense.
- Filter(e.g. Smoothing)
- Image Compression
- Generator
- Randomization
- Adversarial Training:训练时,将“攻击过程”融入到训练过程中,训练一个比较不会被攻破的模型
Chapter 10 Explainable Artificial Intelligence (XAI)
Why do we need Explainable ML?
💻解释性机器学习具有以下几个方面的重要性:
- 提高模型的可信度、可解释性和可接受性:在许多场景中,人们需要了解机器学习模型的内部工作方式,以便评估其可信度、可解释性和可接受性。
- 改进模型的性能:
- 机器学习模型通常基于历史数据进行训练,如果这些数据存在偏差,模型也会存在偏差。解释性机器学习可以帮助我们更好地发现数据和算法的偏差,并改进模型的性能。
- 解释性机器学习可以帮助我们更好地理解模型的内部工作原理,知道错误答案出现的原因从而改进模型的性能。
What question the local explanation and global explanation want to answer is?
- Local Explanation: Explain the Decision
- Global Explanation: Explain the WHOLE MODEL
Elucidate what the local explanation is and give two or more methods of local explanation.
💻局部解释(Local Explanation)是指对于单个样本或预测结果进行的解释,目的是理解模型为什么会对该样本进行这样的预测,以及哪些因素对于预测结果起了决定性作用。
👦
- 热力图:
- 灰方块:对每一个 Component 做变化、或者是删除,如果Network 的输出有了巨大的变化,那我们就知道说,这个 Component 很重要。
- Saliency Map:分别对每个像素加噪声:Loss对被改变的像素x求偏导的大小画到Map中,可以得到Saliency Map。
- 网络模型各层作用:
- 降维可视化:取出网络模型的隐藏层中的向量作降维可视化
- 探针(Probing):用模型中的某些层的输出向量进行一些分类任务
- 热力图:
How to do global explanation by using constraint from generator?
- Image Generator跟 Image classifier 接在一起。
- Image Generator 输入是一个 z,输出是一张图片; Image classifier,把这个图片当做输入,然后输出分类的结果
- 找到一个 z,这个 z 通过 Image Generator 产生 X,再把这个 X 丢到 Image classifier 去产生 y希望 y 里面某一个类别的分数越大越好
- 将找到的
丢到Generator,查看生成的图片
Explain the idea of Local Interpretable Model-Agnostic Explanations (LIME)
Using an interpretable model to mimic the behavior of an uninterpretable model.(使用可解释模型来模仿不可解释模型的行为)。
Chapter 11 Transfer learning
For NLP and CV, which layer can be transferred (copied)? What is the behind reason?
- NLP: usually copy the last few layers. 预训练语言模型的较低层捕获基本的语言特征,如单词形态、语法和语义,而较高层捕获更复杂的语言结构和特定于预训练任务的语义。不同NLP任务的语言结构是相近的(Human languages share some common characteristics.),而单词、语法等是不同的。
- CV: usually copy the first few layers. 在CV任务中,预训练卷积神经网络(CNN)的较低层捕获低级的视觉特征,如边缘、角落和纹理,而较高层则捕获更复杂的视觉模式。不同CV任务的低级视觉特征是相近的,而高级的视觉模式和任务是不同的。
How to do multiple task learning while using a neural network with the multi-layer structure?
- 多头网络(Multi-Head Network):💻这是一种常用的方法,其中每个任务都有一个独立的输出层,但共享隐藏层。每个输出层都对应一个任务的损失函数,并且通过反向传播算法来训练所有的参数。这种方法的好处是可以保留每个任务的特定结构和特征。
- 共享层(Shared Layers):💻这种方法通过在隐藏层之间共享参数来实现多任务学习。这些共享的层可以是卷积层或全连接层等。通过在不同的任务之间共享这些层,可以共同学习一些通用的特征,从而提高多个任务的性能。
What is the domain-adversarial training and how realize it?
💻域对抗训练(Domain-Adversarial Training)是一种常用的迁移学习技术,它的目标是通过域分类器来抵抗不同域之间的差异,从而提高模型的泛化能力。具体而言,域对抗训练通过在训练过程中添加一个域分类器,让模型在域分类器的对抗下进行训练,从而使模型学习到更具有鲁棒性和可泛化性的特征。
域对抗训练的实现可以通过以下步骤完成:
定义域分类器:域分类器是一个二元分类器,用于判断输入数据属于源域还是目标域。
定义分类器:定义一个基础分类器用于训练源域数据。
定义整体损失函数:整体损失函数由两部分组成,即分类器损失和域分类器损失。其中分类器损失用于训练源域数据,域分类器损失用于判断输入数据属于哪个域。
训练网络:在每个迭代周期内,随机选择一批源域数据和目标域数据,并分别计算它们的分类器损失和域分类器损失,最终通过反向传播算法来更新网络参数。
👦 需要注意的是,域分类最终会失败,但仍需Loss尽量小
How to realize the zero-shot learning by the attributes?
💻在基于属性的零样本学习中,每个对象都与一组属性相关联,例如颜色、形状、纹理等等。这些属性用于描述对象,并可用于识别该对象,即使模型以前从未见过它。
要使用属性进行零样本学习的训练,首先需要收集一组标记的数据,其中包括标记的对象及其相关属性。然后,可以训练分类器,根据图像特征预测对象的属性。
一旦模型训练完成,就可以用它来对以前未见过的对象进行分类,方法是将该对象的特征提取出来,然后使用分类器预测其属性,并将其归类到正确的类别中。这种方法可以扩展模型的应用范围,因为模型可以推广到以前未见过的数据,而不需要重新训练。
How to realize the zero-shot learning by the attribute embedding?
💻使用属性嵌入实现零样本学习的方法与使用属性类似,不同之处在于将属性转换为嵌入向量而不是直接使用属性值。
在这种方法中,首先需要将每个属性映射到一个嵌入向量空间中。这通常是通过将属性作为输入,使用一个嵌入层来计算属性的嵌入向量来实现的。这些嵌入向量可以被视为属性的特征表示。
然后,对于每个对象,需要将其属性转换为嵌入向量。这可以通过将对象的属性嵌入向量取平均值来实现。这个平均向量被称为对象的属性嵌入。
最后,可以使用传统的分类模型,例如支持向量机或神经网络,将对象的属性嵌入作为输入进行分类预测。如果对象的属性嵌入与已知的类别嵌入相似,则对象就可以归类到该类别中。
与基于属性的零样本学习相比,使用属性嵌入的方法更加灵活,因为可以使用不同的嵌入向量空间和嵌入方法来获得更好的性能。另外,该方法可以直接处理多个属性,而不需要考虑属性之间的相关性。
Describe the method of “Attribute embedding + word embedding” for the zero-shot learning.
💻“属性嵌入+词嵌入”方法是零样本学习的一种常用方法。其基本思想是通过表示对象或类别的属性和类别名称来进行零样本分类。具体来说,首先使用属性表示每个类别的特征,例如颜色、形状、材料等。这些属性是从现有的样本中自动提取的,也可以手动注释。然后,将属性向量和词向量结合起来,形成一个完整的向量表示。对于未见过的类别,可以使用其属性和名称来生成该类别的向量表示,然后使用一个分类器将其分配到正确的类别中。这种方法需要足够的属性注释和正确的属性表示,但是它可以应用于各种各样的任务,例如图像分类、目标检测和自然语言处理。
How to define the training loss of the zero-shot learning?
k为超参数,对内(前)尽量近,对间(后)尽量远
Chapter 12 Network compressing
List at least five types of way for network compressing.
- Network Pruning(网络剪枝)
- Knowledge Distillation(知识蒸馏)
- Parameter Quantization(参数量子化)
- Architecture Design(架构设计)
- Dynamic Computation(动态计算)
Why train a large model and then do network pruning, not train a small network?
It is widely known that smaller network is more difficult to learn successfully.(小模型更难训练学习)
How to understand this sentence “Pruning is an architecture search paradigm”?
大乐透假说:大的 Network可以视为是很多小的 Sub-network 的组合。当我们去训练这个大的 Network 的时候,等于是在训练很多小的 Network。
对于每一个小的 Network不一定可以成功的被训练出来,不一定可以通过 Gradient Descent找到一个好的 Solution让它的 Loss 变低。但是对于大量的 Sub-network 只要其中一个成功,大的 Network 就成功了。 那么大的 Network 里面,如果包含的小的 Network 越多,就好像是去买乐透的时候,买比较多的彩券一样,彩券越多,中奖的机率就越高。所以一个 Network 越大,它就越有可能成功的被训练起来。
所以Pruning 就是在大量Sub-network中找到最好的一个。
How to do a knowledge distillation? What is the temperature for softmax and the formulas?
💻过程:
- 使用大模型(teacher model)在训练集上训练,得到其输出(logits)和真实标签之间的softmax值。
- 使用大模型在验证集上产生的logits和softmax温度T,得到软标签(soft labels)。
- 在小模型(student model)上使用软标签进行训练。
在进行softmax之前,将数值除以一个超参数
,使得softmax的结果变得更加平滑
How to realize parameter quantization?
- Using less bits to represent a value(减小bit数)
- Weight clustering(参数值聚类)
- Represent frequent clusters by less bits, represent rare clusters by more bits (哈弗曼编码:较常出现的使用较短的编码,较少出现的使用较长的编码)
How to realize the Depthwise Separable Convolution?
Depthwise Convolution——考虑一个channel内部的关系
某一个 Layer,输入有 N 个 Neuron,输出有 M 个 Neuron,为了减少参数量,可以在 N 跟 M 中间再插一层,这一层 Neuron 的数目是 K。
原来一层的 Network,参数量是 M x N;现在拆成两层 Network,第一层U的参数量是 N x K,第二层V是 K x M,如果你K 远小于 M 跟 N,那U 跟 V 的参数量加起来,比 W 还要少的多
Pointwise Convolution——考虑channel之间的关系
在Depthwise Convolution的基础上,进一步进行操作。filter size 限制为
What is the mathematical mechanism of the Depthwise Separable Convolution?
Low rank approximation(低秩近似)
List three ways of dynamic computation.
- 动态调整网络深度(Dynamic Depth)
- 动态调整网络宽度(Dynamic Width)
- 基于样本难度的计算(Computation based on Sample Difficulty,让network自行决定宽度和深度)
Chapter 13 Life-long learning
Explain what the full name of “CLIP” is, what the task used in CLIP is, and what the loss function used in CLIP.
注:CLIP是齐守良老师在课堂上分享的OpenAI成果
- Full name: Contrastive Language-Image Pre-training(可对比 语言-图像 预训练 算法)
- Task:一段文字与图像的匹配,建立视觉与语言之间的联系,使模型能够自然地处理图像和文本
- Loss:一组图片和对应的一组文字分别得到特征
和 ,得到矩阵 ,以对角线作为label,分别按行、列进行交叉熵损失得到 和 ,二者的平均值即为Loss
Try to compare the life-long learning and transfer learning while there are two tasks.
Transfer Learning: I can do task 2 because I have learned task 1.(We don’t care whether machine can still do task 1.)
Transfer Learning关注的是,机器在第一个任务上面学到的技能,能不能够对第二个任务有帮助⇒新的任务做得怎么样
Life-long Learning: Even though I have learned task 2, I do not forget task 1.
Life Long Learning 的关注点是,当机器学完第二个任务的时候,回过头去再看第一个任务,还能不能够解⇒旧的任务做得怎么样
Why Catastrophic Forgetting will happen?
进行Gradient Descend时,参数会向本任务中loss较小的地方改变,但由于两个任务的error surface不同,小的loss对应的参数不同,最终导致灾难性遗忘。
What is the idea of selective synaptic plasticity? What is the loss function of selective synaptic plasticity?
Idea: Some parameters in the model are important to the previous tasks. Only change the unimportant parameters.在学新的参数的时候,那些旧的、重要的参数,值尽量不要变;新的任务只去改那些对过去的任务不重要的参数就好。
Loss:
表示从之前任务中学到的参数。对于Loss,在原来的Loss后再增加一项,希望新学到的 与 尽量靠近,并为每一个参数设置一个*“守卫” 来说明“多强烈地”希望二者能够靠近**,也就是原来的参数有多么重要。*
List two kinds of way of Additional Neural Resource Allocation.
- Progressive Neural Network: 每一个任务都重新训练一些额外的neural,从而保证之前的任务的模型参数完全不会被改变。
- PackNet: 一开始就分配一个较大的模型,每个任务只允许使用某一些参数;要求在先期的任务中,模型里的参数不要里面被全部用完,方便后续任务继续使用。
- CPG: Progressive Neural Network+ PackNet ⇒CPG Model既可以增加新的参数,每训练一个新的任务时,又都只保留部分的参数可以拿来做训练
How to do memory replay by a generator?
- 对于每一个任务,都训练一个generator来产生对应任务的数据。
- 在训练后续任务时,同时利用对应任务的数据、与之前任务训练好的generator产生的pseudo 数据进行训练。
What is the curriculum learning?
💻在深度学习领域,课程学习(Curriculum Learning)是一种通过调整训练样本的顺序来帮助模型更快地学习的方法。与传统的随机抽样不同,课程学习会首先选择一些相对简单的样本进行训练,然后逐步加入更难的样本。这种方法可以避免模型过早陷入到困难的样本中,从而提高模型的训练效率和泛化性能。
Chapter 14 Meta-learning(非重点)
What is Meta Learning?
👦学习一个学习方法
💻元学习(Meta Learning)是一种机器学习方法,旨在学习如何学习。通常情况下,在机器学习中,模型是在大量的训练数据上进行训练,然后在测试数据上进行测试。而元学习的目标是使模型能够从少量的训练样本中学习,以便更好地泛化到新的任务或环境中。
👦也可以看做一个函数F,它的输入是训练数据,输出是model
List what can be learned through meta learning.
Net Architecture, Initial Parameters, Learning Rate,Data augmentation, etc.(几乎所有东西都可以学习)
What are the three steps of meta-learning?
- Function with unknown(定义含未知参数
的函数) - Define loss function for learning algorithm
(定义损失函数) - Optimization(优化)3
- Function with unknown(定义含未知参数
How to define the loss function of meta-learning
- 使用学到的学习算法
,利用某个任务的训练数据进行训练,得到模型 - 对于每个任务,使用对应任务的“测试数据”(带label)对训练得到的模型
进行测试,计算“预测结果”与Ground Truth之间的Cross Entropy,将各个测试数据得到的结果求和得到 。继续使用“同类别”的“其他任务”对学习算法进行测试得到 , … - 将该“学习算法”在所有的“学习任务”上的损失求和,得到total
loss
- 使用学到的学习算法
List two or three methods of optimization.(非重点)
随机梯度下降、Adam, NAG, etc.
已经定义出学习算法
的损失函数 - 若
可导,则可以使用梯度下降法 - 若不可导,则使用RL(Reinforcement Learning, 强化学习)或EA(Evolutionary Algorithm, Evolutionary Algorithm),硬train
- 若
Try to compare machine learning and meta-learning from the aspects of function, training, and loss.
- Goal:
- ML:找到一个能完成任务的函数f
- Meta:找到一个学习算法F,能够找到f
- Training Data:
- ML:完成一个任务即可,使用这个任务中的“训练数据”进行训练
- Meta:使用若干个任务进行训练,每个“训练任务”中都有“训练数据+测试数据”
- Loss:
- ML:对一个任务中所有的训练4数据的损失之和
- Meta:
是一个任务的损失, 是对所有任务的损失之和
- Goal:
What is the full name of MAML for learning initialization?
Model-Agnostic Meta-Learning (模型-不可知-元-学习,模型无关元学习)
Try to compare the different ways of initialization (MAML, transfer learning, domain adaption, self-supervised learning).
💻不同的初始化方式在深度学习中都有其应用场景和优势。
MAML(模型无关元学习):MAML 可以在小样本学习场景下,通过在一个 meta-learning 的框架下,快速学习新任务。MAML 的初始化是在训练多个任务时,通过在任务上进行梯度下降,优化模型的参数,得到一组较好的初始化参数,然后在新任务上微调这些参数。MAML 适用于需要在新任务上进行快速迭代优化的场景。
Transfer learning(迁移学习):迁移学习是通过在源任务上训练好的模型参数,来初始化新的目标任务。通过使用源任务上学到的知识,可以加快目标任务的训练,提升模型的泛化能力。迁移学习适用于源任务和目标任务具有相似特征的场景。
Domain adaption(领域自适应):领域自适应是通过将源域数据和目标域数据进行映射,来解决两个域之间的差异问题。在领域自适应中,可以使用源域数据来初始化模型,然后使用目标域数据进行微调。领域自适应适用于源域和目标域数据分布不同的场景。
Self-supervised learning(自监督学习):自监督学习是利用数据本身的自然性质进行学习,从而避免手动标注大量数据的成本。在自监督学习中,可以通过学习预测不同视角或时间下的图像或视频,来学习出良好的特征表示。自监督学习的特点是训练数据可以自动生成,适用于数据稀缺的场景。
👦MAML需要用到有label的数据,理所当然有较好的效果,而Self-supervised Learning使用的数据没有标注。Meta中不同的task看做是不同的Domain,那么可以将Meta看做是Domain adaptation的一种方法。
Why MAML is good?
ANIL (Almost No Inner Loop),Feature Reuse(特征重用)
There are some ways of optimizer, such as Adagrad, RMSprop, NAG, Adam, can we learn an optimizer or learning rate?
Yes!
What is full name of NAS? Explain how to learning NAS through reinforcement learning?(非重点)
- Full name: Network Architecture Search (NAS)
- How:
, :the agent’s parameters - 构建一个代理的强化学习网络(输出为网络架构参数),根据代理网络的输出构建网络,测试测试网络的精确度,将
作为代理网络的奖励来更新代理网络。 - Example:
- 利用RNN输出网络架构(action)
- 搭建网络架构
- 测试网络的精确度(observation)
- 更新RNN
In Omniglot, there are 1623 characters and each has 20 examples. What is N and K in the “N-way K-shot classification?
- N:1623, K: 20
- N-ways K-shot classification: In each task, there are N classes, each has K examples.
What is prompt learning (optional)?
没有讲授。💻Prompt Learning是一种在NLP领域中使用的新型自监督学习方法,它通过生成一个与任务有关的文本提示,引导模型学习特定的任务。在Prompt Learning中,用户需要手动设计一组相关的提示文本,用于帮助模型学习特定任务。
Can we learn the data augmentation?
Yes! 并没有具体讲解方法,大概是构建一个图,训练找到最优路径。
How do consider the relationship between general artificial intelligence (GAI) (Large model) and the domain or task specified artificial intelligence (Small model)?
开放性问题