AIGC指的是使用人工智能技术自动生成的各类数字内容,包括文本、图像、音频、视频等。它利用机器学习模型进行智能化内容生成。
主要的技术手段包括:
主要应用场景有:
AIGC的优势主要有:大规模、低成本、快速、可控、个性化等。
也要注意AIGC的潜在风险,如仿冒欺诈、负面内容扩散、人工判断依赖等。
所以AIGC是一个需要审慎引导、治理的新兴领域。它催生了焕新的内容生产形态,也提出了新的挑战。
对比学习(Contrastive Learning)是计算机视觉中一个重要的学习范式,其核心思想是通过拉近正样本的特征表示并推离负样本的特征表示,来学习有效的视觉表示。
对比学习在计算机视觉中的理解主要包含以下几个方面:
通过构造对比任务 extracting、比较视觉样本的表示,对比学习可以学到对视觉理解任务有效的特征表达式。它近年来 emerged 为计算机视觉领域的重要基础技术之一。
总体来说,对比学习为视觉表示学习提供了一种全新的思路。
对比学习的损失函数的构建,这里详细展开一下:
在对比学习中,损失函数的目标是减小 anchor 和正样本特征的距离,同时增大 anchor 和负样本特征的距离。这样可以学习到能区分正负样本的好的特征表达。
具体来看对比损失(contrastive loss),它的定义如下:
L = ( 1 − Y ) ∗ D w 2 + Y ∗ max ( m a r g i n − D w , 0 ) 2 L = (1-Y) * D_w ^ 2 + Y * \max(margin - D_w, 0)^2 L=(1−Y)∗Dw2+Y∗max(margin−Dw,0)2
其中:
可以看出,当 Y = 1 Y=1 Y=1 时,即为正样本对,我们将它们的距离 D w 2 D_w^2 Dw2 直接作为损失,目标是减小 D w D_w Dw,拉近正样本距离。
当 Y = 0 Y=0 Y=0 时,即为负样本对,如果它们距离 D w D_w Dw 小于 margin,我们给予惩罚,目标是让 D w D_w Dw 大于margin,推离负样本距离。
通过同时优化这两项,我们可以学习到一个能够区分正负样本的好的特征表达。这就是对比损失的设计思路。
其他对比学习的损失函数也遵循类似的思路,通过拉近正样本距离和增大负样本距离来学习特征表达。
编码器-解码器(Encoder-Decoder)是一个非常常见和重要的神经网络框架,特别是在序列到序列(Seq2Seq)学习任务中被广泛使用。
编码器-解码器的工作流程可概括为:
编码器(Encoder):编码器接受一个输入序列,通过神经网络将其映射到一个特征表示中,这称为“编码向量”。编码向量是输入序列的压缩表达。
解码器(Decoder):解码器基于编码向量,逐步预测目标序列中的每个元素。在每个时间步,它按顺序生成序列的下一个元素。
Attention机制:为了建模输入和输出序列之间的依赖,解码器端通常会加入Attention机制,即在每一步为解码器提供与当前步相关的输入序列部分。
训练:完整的编码器-解码器结构会端到端进行训练,以最大化生成目标序列的概率。
例如在机器翻译任务中,编码器处理源语言句子生成编码向量,解码器基于该向量生成目标语言的翻译结果。
编码器-解码器结构显著提升了Seq2Seq任务的建模能力。它非常适合处理输入输出不等长的序列映射问题。除翻译外,也广泛用于文本摘要、对话系统等任务。
关于编码器-解码器框架中解码器的理解,我来额外说明一下:
RNN/Self-Attention网络,处理当前输入并维护隐状态
Attention层,从编码器输出生成动态上下文向量
输出层,预测目标序列的下一个元素
总结一下,解码器在框架中负责自回归地生成目标序列,它能够充分利用输入序列的信息,并具备注意力机制来关注相关输入。逐步生成的特性使其非常适合输出可变长度序列的任务。
Mask解码器(Masked Decoder)是自然语言处理中一个常见的算法组件,它结合了Mask机制和解码器,主要应用于具有潜在语义的序列填充任务。
Mask解码器的工作流程是:
例如,在文本摘要任务中,可遮盖原文的某些词汇,要求解码器来预测这些词汇,以学习文本的内在语义。
Mask解码器的优点是:
Mask解码器让解码器在解码过程中关注语义,而不仅仅是顺序预测,增强了其理解和生成能力。它现被广泛应用于文本生成、对话等自然语言处理任务中。
耦合蒸馏(Coupled Distillation)是一种知识蒸馏技术,其核心思想是:
具体做法是:
(1) 定义两个初始化参数不同的学生模型S1和S2。
(2) S1的训练目标是拟合教师模型T的输出,同时模仿S2的输出。
(3) S2的训练目标是拟合教师模型T的输出,同时模仿S1的输出。
(4) 迭代训练S1和S2,使其相互监督并不断提升对方。
这种相互耦合的蒸馏方式,可以让两个模型正确的知识得以强化,错误的知识得以纠正,从而获得更好的学习效果。
耦合蒸馏增加了模型之间的互学习机会,是一种很有效的小模型蒸馏方法。已经在各种视觉和NLP任务上取得了SOTA的结果。
半耦合(Semi-coupled)通常指两个系统或组件之间,既有一定的互相关联,但又保持着一定独立性的状态。其关键要点包括:
例如,在工程设计中,两台装置可以半耦合连接,既相互制约,又可分别工作。
在组织管理中,两个部门半耦合,既沟通协作,又有自己的职责。
总之,半耦合追求适当的平衡,将互相关联性和独立性结合起来,发挥两者的优势。它在很多复杂系统的设计中都可以发挥 important 作用。
在我看论文时,有这样一句话:
当执行从原始SAM到较小图像编码器的KD时,困难主要在于图像编码器和组合解码器的耦合优化。
所以这句话强调了在进行模型压缩类的KD时,需要关注各个组件的耦合关系,通过耦合优化确保知识可以有效迁移到新的模型结构中。这里的关键在于编码器和解码器的协同优化。