- 博客(20)
- 收藏
- 关注
原创 Stable Diffusion详解
Stable Diffusion在图像生成方面取得了很大的成功,其核心原理是LDM(Latent Diffusion Models),在论文《High-Resolution Image Synthesis with Latent Diffusion Models》中被提出,使用潜在扩散模型进行高分辨率图像生成,发表在CVPR2022上。LDM作者和VQGAN的作者相同。接下来对LDM这篇论文进行详细介绍。
2024-08-28 22:08:36
1637
2
原创 AE、VAE、VQVAE、VQGAN介绍
VAE、VQVAE、VQGAN是图像生成方向的模型,他们之间的关系如下图所示。接下来对这AE、VAE、VQVAE、VQGAN进行介绍。
2024-08-27 12:29:21
3074
原创 MAE论文详解
MAE是Facebook团队在2021年11月发布的一篇论文,《Masked Autoencoders Are Scalable Vision Learners》,带掩膜的自编码器是可扩展的视觉学习器,MAE就是MaskedAutoEncoders的缩写,一作是何凯明大神。MAE通过在图片上进行掩码实现在CV领域进行大规模的自监督训练,并且仅通过在ImageNet-IK数据集上进行训练实现了最好的准确率,超过了当时的有监督训练方法。接下来对这篇论文进行详细介绍。
2024-08-20 22:32:45
1542
原创 DDPM详解
DDPM是2020年被提出来的一篇论文,论文全称是《Denoising Diffusion Probabilistic Models》去噪扩散概率模型,这是一种基于马尔科夫链的图像生成模型,其生成的图像质量更好,多样性更强,并且训练更加稳定。DDPM模型的工作原理包括两个主要过程:前向过程(扩散过程)和反向过程(逆扩散过程)。在前向过程中,模型逐步向数据中添加噪声,直到数据完全变成高斯噪声;而在反向过程中,模型则逐步从高斯噪声中去除噪声,最终生成原始数据或新的数据样本。接下来我们详细介绍一下DDPM这篇论
2024-08-20 16:38:37
1867
原创 深度学习常用损失函数详解
机器学习任务大概可以分为两类问题,分别是回归问题和分类问题。回归问题预测的是一个连续的数值,例如房价,气温等。而分类问题是将输入预测为不同的类别,例如猫狗分类等。总的来说,回归问题输出是一个实数范围,可以是任何数值;分类问题输出是离散的类别标签,通常是整数或特定的类别名称。接下来对回归问题和分类问题常用的损失函数进行介绍。
2024-08-15 21:22:48
1313
原创 ViT论文详解
ViT是谷歌团队在2021年3月发表的一篇论文,论文全称是《AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》一张图片分成16x16大小的区域:使用Transformer进行按比例的图像识别。ViT是VisonTransformer的缩写,通过将一张照片分割为不同的Patch输入到Transformer中进行有监督的训练,从而实现Transformer在CV领域的应用。接下来我们进行这篇论文的详细介绍。
2024-08-06 22:41:37
2533
1
原创 DETR论文详解
DETR是Facebook团队在2020年提出的一篇论文,名字叫做《End-to-End Object Detection with Transformers》端到端的基于Transformers的目标检测,DETR是DetectionTransformers的缩写。DETR摆脱了传统目标检测模型中复杂的组件,例如NMS、先验框等,是一种基于Transformer的简单的端到端的目标检测架构,并且取的了与Faster R-CNN差不多的成绩。接下来对DETR这篇论文进行介绍。
2024-08-03 22:50:14
1491
原创 CLIP论文详解
CLIP这篇论文是OpenAI团队在2021年2月底提出的一篇论文,名字叫做《Learning Transferable Visual Models From Natural Language Supervision》,从自然语言的监督中学习可迁移视觉表征,CLIP是Contrastive Language-Image Pre-training的缩写,是一种多模态模型。这篇论文从名字可以看出,是通过自然语言作为监督信号进行CV领域的大规模预训练然后迁移到下游任务。接下来进行CLIP这篇论文的介绍。
2024-08-02 22:40:51
2219
原创 MoCo论文详解
MoCo是Facebook团队在2020年提出的一篇论文,论文全称是《Momentum Contrast for Unsupervised Visual Representation Learning》通过动量对比进行无监督的视觉表征学习,MoCo就是Momentum Contrast的缩写。MoCo通过使用对比学习的无监督方法在大规模数据集上进行预训练,然后在下游任务上进行迁移,其在下游任务上的表现在分割/检测等7个任务上优于现有的有监督的预训练方法,在视觉领域有监督方法和无监督方法之间的差距被大大减小。
2024-08-01 22:10:38
2252
1
原创 GPT3理论介绍
GPT3是OpenAI公司在2020年发布的一篇技术报告,名字叫做《Language Models are Few-Shot Learners》语言模型是少样本学习器,在GPT2的zero-shot延伸到few-shot,在数据量和模型规模上相比较于GPT2扩大了很多,效果也有了很大的提升,在多个NLP任务上表现出色,并且其生成的文本质量很难让人分辨出来这是AI写的。接下来将对GPT3进行介绍。
2024-07-30 18:38:48
1321
原创 GPT2理论详解
GPT2是OpenAI公司在2019年8年发布的一篇论文,论文名字是《Language Models are Unsupervised Multitask Learners》语言模型是无监督的多任务学习。在模型架构上与GPT1相比没有太大的区别,但是其训练所使用的数据和模型的参数大大增加,并且增加了zero-shot设置。接下来本文将进行GPT2的介绍。尽管前面出现了GPT1、BERT这类预训练的大模型,但是其仍然需要在带标签的数据上进行下游任务上的微调,这是一件比较麻烦的事情。
2024-07-29 18:32:27
1225
原创 GPT1理论详解
GPT1是OpenAI公司在2018年6月发表的一篇论文,在Transformer论文发表的一年后。GPT1论文的全称为《Improving Language Understanding byGenerativePre-Training》,通过使用生成式的预训练提高语言的理解能力。接下来对GPT1进行详细介绍。GPT1作为OpenAI推出的第一代生成式预训练模型,在NLP领域取得了显著的成果,但是其在预训练时所使用的数据集规模不是很大,数据存在局限性,导致其泛化性有限。
2024-07-28 22:03:41
650
原创 BERT理论详解
BERT是2018年谷歌提出来的在自然语言处理领域的一个模型,比GPT1晚了大概四个月,在NLP领域产生了深远的影响,本文接下来对BERT进行详细介绍。BERT全称为BEncoderRTransformers,即一种基于Transformer编码器的双向语言表征模型,首先会用BERT在大规模的文本数据集上进行自监督学习,使模型学习到语言的表征能力 ,接着可以在不改变模型结构的基础上在各种NLP下游任务上做微调。(因为之前的基于RNN结构的预训练模型,在应用到不同的下游任务时,需要稍微改变模型结构。
2024-07-27 22:44:12
1659
原创 Transformer训练过程、推理过程详解
Transformer是一种很重要且强大的模型,如今网上介绍Transformer的文章很多,但是大都是只是介绍模型的结构,对于训练过程、推理过程模型的输入和输出都没有进行介绍,使人看的一头雾水,因为本文就Transformer的模型的训练和推理过程进行详细的介绍。
2024-07-24 17:46:17
5723
6
原创 Transformer多头自注意力及掩码机制详解
在本文中我们重点介绍Transformer中的掩码机制及多头自注意力模块的原理以及代码实现。掩码机制是Transformer中非常重要的一个部分,在模型结构图中的三个地方有用到掩码机制,如下图所示。Transformer中的掩码分为两种,分别是填充mask和因果mask。在下图中,1和2所在为位置为填充mask,3所在的位置为因果mask。
2024-07-19 21:41:19
6309
1
原创 Transformer输入Embedding及位置编码详解
我们在本文主要介绍Transformer中的输入Embedding及位置编码。Embedding是一种将离散的输入数据(如单词、字符等)转换为连续的向量表示的方法。由于计算机无法直接处理一个单词或者一个汉字,所以需要Embedding把一个token转化成计算机可以识别的向量。
2024-07-15 23:30:40
2743
原创 Liunx常用命令总结分享
我们在敲代码的过程中,会接触到一些Liunx命令,能够熟练的使用Liunx命令可以使我们事半功倍,接下来就对一些常用的Liunx命令就行总结。
2024-07-13 17:51:23
1376
原创 pytorch模型冻结及BN层存在的坑
这是因为BN层搞的鬼,BN层的参数(均值和方差)是在前向传播过程中更新的。注意:使用方法一时,一定要注意不要拼写错误,requires_grad拼写错误的话也不会报错,但是如果拼写错误的话就不能正常把梯度设置为False了,所以有的时候明明把requires_grad设置为False了却还是没有冻结住模型,去看看是不是单词拼写错了,我有好几次都是拼写错误导致模型没有冻结住但是没有及时发现。冻结模型常用的方法有两种,一种是将需要冻结的参数的梯度设置为False,另一种是只将不动结的参数传给优化器。
2024-07-12 23:05:54
946
原创 如何保存python代码在Liunx终端中的输出
我们在使用python程序做实验的时候,尤其是要做好多次实验的时候,有时需要把程序的输出进行保存以便对实验进行总结,接下来就分享两种常用的保存python程序输出的方法。
2024-07-12 17:06:05
786
原创 Pytorch预训练模型导入、查看模型参数及模型保存
第二种方法是只保存模型的每层参数及其名字。一般来说第二种方法用的更多,因为其保存后的文件规模更小,并且其除了可以保存模型外,还可以保存优化器的参数,训练的轮数等参数,更加灵活。有时我们再训练模型时会需要进行dubug去查看一下模型的参数,这时候便需要用到model.named_parameters函数,这是一个模型的方法,它返回一个生成器,可以用for循环去迭代遍历模型的每一层参数(parameter)及其名称(name)。代码中的name便是模型每一层的名字,param便是模型的参数。
2024-07-09 17:03:22
2724
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人