FAGAN:完全注意力机制(Full Attention)GAN,Self-attention+GAN

简介:

近期,人工智能专家Animesh Karnewar提出FAGAN——完全注意力机制(Full Attention)GAN,实验的代码和训练的模型可以在他的github库中找到:

https://github.com/akanimax/fagan。

这个fagan示例使用了我创建的名为“attnganpytorch”的包,该包在我的另一个存储库中可以找到:

https://github.com/akanimax/attnganpytorch。

7a2b60331651aa0edd68d72d37e8e6a3d66e175d

FAGAN: Full Attention GAN

介绍

在阅读了SAGAN (Self Attention GAN)的论文后,我想尝试一下,并对它进行更多的实验。由于作者的代码还不可用,所以我决定为它编写一个类似于我之前的“pro-gan-pth”包的一个package。我首先训练了SAGAN论文中描述的模型,然后意识到,我可以更多地使用基于图像的注意机制。此博客是该实验的快速报告。

SAGAN 论文链接:

https://arxiv.org/abs/1805.08318

Full Attention 层

SAGAN体系结构只是在生成器和DCGAN体系结构的判别器之间添加了一个self attention层。此外,为了创建用于self attention的Q、K和V特征库,该层使用(1 x 1)卷积。我立即提出了两个问题:注意力(attention)能否推广到(k x k)卷积? 我们能不能创建一个统一的层来进行特征提取(类似于传统的卷积层)并同时进行attention?

我认为我们可以使用一个统一的注意力和特征提取层来解决这两个问题。我喜欢把它叫做full attention层,一个由这些层组成GAN架构就是一个Full Attention GAN.。

99104dcfe0779c48c8f0be932ebab3929a47cb6d

图2:我所提出的full attention层

图2描述了所提出的full attention层的体系结构。 正如您所看到的,在上面的路径中,我们计算传统的卷积输出,在下面的路径中,我们有一个注意力层,它泛化成(k x k)卷积滤波器,而不仅仅是(1 x 1)滤波器。残差计算中显示的alpha是一个可训练的参数。

现在为什么下面的路径不是self attention? 其原因在于,在计算注意力图(attention map)时,输入首先由(k×k)卷积在局部聚合,因此不再仅仅是self attention,因为它在计算中使用了一个小的空间邻近区域。 给定足够的网络深度和滤波器大小,我们可以将整个输入图像作为一个接受域进行后续的注意力计算,因此命名为:全注意力(Full Attention)。

我的一些想法

我必须说,当前的“Attention is all you need”的趋势确实是我这次实验背后的主要推动力。实验仍在进行中,但是我真的很想把这个想法说出来,并得到进一步的实验建议。

我意识到训练模型的alpha残差参数实际上可以揭示注意力机制的一些重要特征; 这是我接下来要做的工作。

attnganpytorch包中包含一个在celeba上训练的SAGAN示例,以供参考。该package包含了self attention、频谱归一化(normalization)和所提出的full attention层的通用实现,以供大家使用。所有这些都可以用来创建您自己的体系结构。


原文发布时间为:2018-08-14

本文来自云栖社区合作伙伴“专知”,了解相关信息可以关注“专知”。

相关文章
|
文字识别 并行计算 语音技术
ModelScope问题之下载模型文件报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
3705 3
|
XML 数据格式 Python
Labelimg标注自己的数据集,及如何划分训练集和验证集,应用于Yolov5
Labelimg标注自己的数据集,及如何划分训练集和验证集,应用于Yolov5
3915 0
|
JSON 文字识别 数据可视化
Qwen2-VL微调实战:LaTex公式OCR识别任务(完整代码)
《SwanLab机器学习实战教程》推出了一项基于Qwen2-VL大语言模型的LaTeX OCR任务,通过指令微调实现多模态LLM的应用。本教程详述了环境配置、数据集准备、模型加载、SwanLab集成及微调训练等步骤,旨在帮助开发者轻松上手视觉大模型的微调实践。
|
7月前
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
4987 1
|
搜索推荐 物联网 PyTorch
Qwen2.5-7B-Instruct Lora 微调
本教程介绍如何基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调。
13000 34
Qwen2.5-7B-Instruct Lora 微调
|
11月前
|
数据采集 编解码 缓存
通义万相Wan2.1视频模型开源!视频生成模型新标杆,支持中文字效+高质量视频生成
2025年1月,阿里通义万相Wan2.1模型登顶Vbench榜首第一,超越Sora、HunyuanVideo、Minimax、Luma、Gen3、Pika等国内外视频生成模型。而在今天,万相Wan2.1视频生成大模型正式开源!
5829 8
|
机器学习/深度学习 人工智能 安全
千问团队开源会思考的QwQ模型,这模型成精了!
QwQ是由Qwen团队开发的大型语言模型,专注于增强AI的推理能力。此预览版本在数学和编程领域表现出色,但在其他领域仍有提升空间。模型具备深度自省和自我质疑的能力,通过逐步推理和假设检验,能够在复杂问题上取得突破性进展。QwQ不仅支持本地推理和Ollama直接运行,还提供了详细的微调指南,助力开发者根据特定需求定制模型。尽管QwQ在推理过程中存在语言切换和安全性等方面的局限性,Qwen团队仍致力于不断优化,推动模型向更高层次的智能迈进。[了解更多](https://modelscope.cn/studios/Qwen/QwQ-32B-preview)
3883 0
千问团队开源会思考的QwQ模型,这模型成精了!
|
机器学习/深度学习
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码
本文探讨了深度可分离卷积和空间可分离卷积,通过代码示例展示了它们在降低计算复杂性和提高效率方面的优势。
3233 2
深度学习笔记(十二):普通卷积、深度可分离卷积、空间可分离卷积代码