14-20 Vision Transformer用AI的画笔描绘新世界

概述
毫无疑问,目前最受关注且不断发展的最重要的主题之一是使用人工智能生成图像、视频和文本。大型语言模型 (LLM) 已展示出其在文本生成方面的卓越能力。它们在文本生成方面的许多问题已得到解决。然而,LLM 面临的一个主要挑战是它们有时会产生幻觉反应。
最近推出的新模型(如新发布的 GPT-40)尤其令人惊叹。OpenAI 无疑正在改变游戏规则。此外,谷歌强大的模型 Gemini 1.5 Pro 极大地改变了我们的看法。因此,我们可以看到模型正在改进。轮子已经发明,现在必须加以改进。
最初,LLM 是为翻译任务而开发的。现在,我们看到它们执行各种任务,趋势是朝着多模态模型发展。Transformers 强大而重要的架构使这一切成为可能。
Transformers 可以执行的另一项任务是图像生成,如 DALL-E、Midjourney 或 Ideogram 等产品中所示。这些模型接受文本提示并生成图像。最近发布的 LlaMa 3 模型在编写文本提示时生成图像,并在我们修改文本时更改图像。
但更令人惊讶的是从文本生成视频。几个月前,OpenAI 推出了一款名为Sora的产品。它令人印象深刻,令人惊叹,能够生成高质量、高度逼真的图像,甚至可以创造其他世界。当我看到它时,我首先想到的是电影《黑客帝国》。
在本文中,我们将从头开始研究从文本生成图像和视频的想法,并追溯其演变过程。我们的目标是首先了解图像生成,然后了解视频生成,并研究用于这些任务的架构。
历史
第一批电影于 19 世纪 80 年代制作,令观众惊叹不已,为今天我们所知的强大的电影业奠定了基础。在电影制作中使用人工智能 (AI) 的概念出现于 20 世纪初,随着计算机的兴起而逐渐流行。1960 年,约翰·惠特尼 (John Whitney) 创立了 Motion Graphics Incorporated,并使用他的模拟计算机制作电影片段、电视剧名和广告,开创了计算机动画的先河。IBM于1966 年授予他第一位驻场艺术家职位,以表彰他的贡献。多年来,各种关于计算机生成的电影和动画的文章相继发表,为今天我们所知的 AI 在电影制作和表演艺术中的应用铺平了道路。21 世纪和21世纪的进步,包括深度学习算法和生成对抗网络 (GAN),进一步推动了 AI 在数字内容创作和编辑中的应用。下一节将探讨使用 Transformer 架构生成图像的可行性。
跨平台对抗网络TransGANs
生成对抗网络 (GAN) 由Ian Goodfellow及其同事于2014 年 ( Transformers 诞生之前) 提出,用于图像处理和其他任务。生成对抗网络
生成对抗网络 (GAN) 的概念早于 Transformer,涉及两个参与零和博弈的深度神经网络。第一个网络是生成器,它创建合成样本;第二个网络是鉴别器,它负责区分真实样本和合成样本。生成器的目标是生成可以欺骗鉴别器的样本,使其无法区分真实样本和合成样本。
Transformer 与 GAN 的结合(称为 TransGAN)表明,Transformer 既可以充当 GAN 中的生成器,也可以充当鉴别器。这些模型利用 Transformer 的优势来捕捉数据的复杂特征。这种方法在2021 年由Yifan Jiang、Shiyu Chang和Zhangyang Wang 发表的同名论文中进行了详细介绍。TransGAN:两个纯 Transformer 可以组成一个强大的 GAN,而且可以扩展
TransGAN 是 Transformer 生成对抗网络的缩写。该模型是一种 GAN,其生成器和鉴别器均采用 Transformer 架构。与传统 GAN 不同,TransGAN 不使用 CNN 作为生成器或鉴别器,而是同时采用 Transformer 结构。

这幅图清晰地展示了 TransGAN 的架构以及生成器和鉴别器的结构。输入图像是一张 3×3 的彩色照片。来源
生成器Generator
在 TransGAN 中,生成器使用 Transformer 架构来生成数据序列。生成器从随机噪声输入开始,该输入通常是具有高斯(正态)分布的随机值的向量。此噪声输入被转换为更高维的特征空间。此阶段涉及多个前馈层和 MHA 层。
基于 Transformer 的生成器逐步生成数据序列。在每个步骤中,生成器生成一部分数据(例如,图像的一个像素),然后将此输出用作下一步的输入。注意力机制可帮助生成器对数据中存在的长期依赖关系和复杂性进行建模。
在生成完整的数据序列后,这些序列被转换成完整的样本(例如,完整的图像)。这种转换包括重建复杂的特征和最终的细节。
鉴别器Discriminator
TransGAN 中的 Discriminator 负责判断 Generator 生成的样本是真是假,它采用 Transformer 架构来分析生成的数据序列。
最初,鉴别器接收可能是真实图像或虚假图像的样本。这些样本作为图像块序列输入到模型中。每个图像块代表图像的一小部分,例如16×16像素块。每个图像块首先转换为矢量表示。此矢量表示通常通过嵌入层获得,该嵌入层将每个图像块转换为指定维度的矢量。然后将这些矢量与位置嵌入相结合,以保留每个图像块的空间信息。
然后将编码的块序列输入到多个多头注意力 (MHA) 层。这些层允许鉴别器对图像不同块之间的长期依赖关系和关系进行建模。MHA 帮助模型同时关注图像的不同特征。
注意力层的输出被输入到多个前馈层。这些层提取并处理组合特征,从而产生更复杂、更丰富的图像表示。然后,前馈层的最终输出被输入到聚合层。该层将所有提取的特征组合成一个综合表示。然后,这个综合表示连接到最后一层,例如密集层,最终决定图像是真是假。
在 GAN 中使用
相关文章:
14-20 Vision Transformer用AI的画笔描绘新世界
概述 毫无疑问,目前最受关注且不断发展的最重要的主题之一是使用人工智能生成图像、视频和文本。大型语言模型 (LLM) 已展示出其在文本生成方面的卓越能力。它们在文本生成方面的许多问题已得到解决。然而,LLM 面临的一个主要挑战是它们有时会产生幻觉反应。 最近推出的新模…...
LVS FILTER UNUSED OPTION
我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 过滤一些版图与spice网表对不上的器件。 一般后端遇不到这个问题,因为通常是需要写到网表中的decap没有写出来造成的,如下图。...
Python后端面试题
1. 文件操作w和r的区别 在Python中,文件操作模式中的w和r都表示对文件的读写操作,但它们在打开文件时的行为有所不同: r模式: 读写:这种模式允许你同时读取和写入文件。文件必须已经存在,否则会抛出一个Fi…...
docker打包 arm32v7/debian 问题总结
1.架构不同 我的宿主是x86 ,但是打包的是arm架构 安装qemu sudo apt-get install binfmt-support qemu qemu-user-static 然后使用buildx打包 docker buildx build --no-cache --platform linux/arm/v7 -t tdc_post:1.0.1 . --load 保存tar docker save -o tdc_post.tar tdc_p…...
【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十)
课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 30 节) P30《29.数据持久化-用户首选项》 实现数据持久化在harmonyOS中有很多种方式,比较常见的是以下两…...
Vuetify3:监听当前手机还是电脑
我们在开发的时候,实现根据移动设备或PC设备来改编一些交互样式,这个时候我们需要监听宽度,在Vuetify3中可我们可以参考 显示 & 平台配合监听即可在窗口缩小的时候判断出手机还是电脑 <template><v-app><div v-if…...
Zabbix 配置钉钉告警
Zabbix 配置钉钉告警 随着企业IT运维需求的不断增加,及时、准确地获取系统告警信息显得尤为重要。在众多告警工具中,Zabbix 因其强大的监控功能和灵活的告警机制,成为了很多企业的首选。同时,随着企业内部沟通工具的多样化&#…...
TTL转RS232与USB转TTL
USB转TTL是一种常用的通信接口转换器,它将USB(通用串行总线)接口转换为TTL(晶体管-晶体管逻辑)电平的串行接口。这种转换器在许多场景下非常有用: USB转TTL: 功能: 将计算机的USB接…...
【力扣 896】单调数列 C++题解(循环)
如果数组是单调递增或单调递减的,那么它是 单调 的。 如果对于所有 i < j,nums[i] < nums[j],那么数组 nums 是单调递增的。 如果对于所有 i < j,nums[i]> nums[j],那么数组 nums 是单调递减的。 当给定…...
代码随想录Day71(图论Part07)
53.寻宝 题目:53. 寻宝(第七期模拟笔试) (kamacoder.com) 思路:首先,我不知道怎么存这样的东西,用三维数组吗,没搞懂,果断放弃 prim算法实现 import java.util.*;class Main {publi…...
[Mdp] lc 494. 目标和(01背包变种+dp+dfs)
文章目录 1. 题目来源2. 题目解析1. 题目来源 链接:494. 目标和 2. 题目解析 方法一:dfs 数据量比较小,长度只有 20,那么针对每一个数都有两种选择,正、负,即 2 20 = 100 w 2^{20} = 100w 220=100w 差不多的时间复杂度,dfs 解决即可。时间复杂度: O ( 2 n ) O(2^{n…...
React vs Vue:谁是构建现代Web应用的王者?
在前端开发领域,React 和 Vue 是两大备受推崇的框架(React实为库),各自拥有庞大的社区和丰富的生态系统。本文旨在深入探讨这两者之间的区别,通过代码示例来分析它们各自的优势和适用场景,从而帮助开发者做…...
Linux CentOS 宝塔中禁用php8.2的eval函数详细图文教程
PHP_diseval_extension 这个方法是支持PHP8的, Suhosin禁用eval函数,不支持PHP8 一、安装 cd / git clone https://github.com/mk-j/PHP_diseval_extension.gitcd /PHP_diseval_extension/source/www/server/php/82/bin/phpize ./configure --with-php-config/ww…...
Matlab 中 fftshift 与 ifftshift
文章目录 【 1. fftshift、ifftshift 的区别】【 2. fftshift(fft(A)) 作图 】【 3. fftshift(fft(A)) 还原到 A 】Matlab 直接对信号进行 FFT 的结果中,前半部分是正频,后半部分是负频,为了更直观的表示,需要将 负频 部分移到 前面。【 1. fftshift、ifftshift 的区别】 M…...
被裁了(9年)
那年(2015年)我刚毕业有一年多(20出头),阴差阳错来到了现在的单位。 那时互联网腾起,单位也迅速发展,部门从起初的不到30号人发展到500人;A轮、B轮.....D轮,一轮轮的融资…...
13. Revit API: Filter(过滤器)
13. Revit API: Filter(过滤器) 前言 在讲Selection之前,还是有必要先了解一下的过滤器的。 对了,关于查找一些比较偏的功能或者API的用法,可以这样查找 关键词 site:https://thebuildingcoder.typepad.com/ site是…...
hadoop 3.X 分布式HA集成Kerbos(保姆级教程)
前提:先安装Kerbos 1、创建keytab目录 在每台机器上上提前创建好对应的kertab目录 [hadooptv3-hadoop-01 ~]$ sudo mkdir -p /BigData/run/hadoop/keytab/ [hadooptv3-hadoop-01 ~]$ sudo mkdir -p /opt/security/ [hadooptv3-hadoop-01 ~]$ sudo chown hadoop:had…...
VDS虚拟导播切换台软件
VDS 导播软件是一款功能强大的虚拟导播系统软件,具有全媒体接入、播出内容丰富、调音台、快捷切播与导播键盘、云台控制等特点,同时支持向多个平台直播推流。以下是一些常见的 VDS 导播软件特点: 1. 全媒体接入:支持多种设备和网…...
UE4_材质_使用彩色半透明阴影
学习笔记,不喜勿喷!侵权立删,祝愿大美临沂生活越来越好! 本教程将介绍如何配置虚幻引擎来投射彩色半透明阴影。 此功能在许多应用中都很有用,常见例子就是透过彩色玻璃窗的彩色光。 一、半透明阴影颜色 阴影在穿过半…...
arthas监控工具笔记(二)monior等
文章目录 monitor/watch/trace 相关monitormonitor例子monitor -c <value>monitor -m <vaule>monitor 条件表达式monitor -b monitor文档(界面描述)monitor文档(help) stack - 输出当前方法被调用的调用路径trace - 方法内部调用路径,并输出方法路径上的…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...
