引言
在之前的系列博客中,我们深入探讨了生成式AI的基础知识、大型语言模型的发展,以及如何通过递归神经网络(RNN)和Transformer模型来学习语言模型。今天,我们将转向计算机视觉领域,探讨预训练与微调的概念,以及现代Transformer模型在视觉任务中的应用。
预训练与微调
在深度学习的早期,研究者们发现,通过无监督的逐层预训练,然后进行有监督的微调,可以显著提高深层网络的性能。这种方法被称为Idea #3,它通过使用大量未标记的数据进行预训练,然后在标记的数据上进行微调,从而优化模型的最终任务。
预训练的优势
预训练的主要优势在于它能够利用大量未标记的数据来学习有用的特征表示,这些特征表示可以在多种任务之间迁移。这种方法在自然语言处理(NLP)和计算机视觉(CV)中都取得了巨大的成功。
现代Transformer模型
现代Transformer模型在预训练阶段采用了多种技术来提高模型的性能和效率。这些技术包括:
-
键值缓存(Key-Value Cache):在每个时间步,我们重用所有之前的键和值,这意味着我们需要缓存它们。
-
旋转位置嵌入(Rotary Position Embeddings, RoPE):这是一种相对位置嵌入,它通过将每个维度的输入向量分解并旋转来捕捉位置信息。
-
分组查询注意力(Grouped Query Attention, GQA):这种技术通过为多个不同的查询头重用相同的键值头来减少参数数量。
-
滑动窗口注意力(Sliding Window Attention):也称为局部注意力,它通过仅关注当前 token 周围的一个窗口内的 token 来减少计算量和内存需求。
卷积神经网络(CNNs)
卷积神经网络(CNNs)是计算机视觉中用于图像识别和分类的常用模型。CNNs通过卷积层、池化层、激活函数和全连接层的组合来提取图像的特征,并进行分类。
CNN的关键概念
- 卷积(Convolution):通过滑动滤波器(kernel)来提取图像的局部特征。
- 池化(Pooling):通过下采样来降低特征图的空间维度,从而减少参数数量和计算量。
- 激活函数(Activation Function):如ReLU,用于引入非线性,使模型能够学习更复杂的特征。
- 全连接层(Fully-Connected Layer):在卷积层和池化层之后,用于将特征映射到最终的分类结果。
CNN的训练
CNN的训练通常涉及随机梯度下降(SGD)和反向传播。通过计算损失函数的梯度并更新模型参数,模型可以逐渐学习到区分不同类别的特征。
结语
在本篇博客中,我们探讨了预训练与微调的概念,以及现代Transformer模型在视觉任务中的应用。我们还简要介绍了卷积神经网络(CNNs)的基本原理和训练方法。在下一篇博客中,我们将继续深入探讨CNNs的架构和应用,以及它们在生成式AI中的作用。
课件下载地址
https://download.csdn.net/download/u013818406/89922762