当前位置: 首页 > news >正文

【生成式人工智能-十-文字、图片、声音生成策略】

人工智能生成文字、图片、声音的方法

  • 生成的本质
  • 生成的策略
    • 文字AR (Autoregressive Generation)
    • 图像和视频 NAR(Non-Autoregressive Generation)
      • 解决NAR生成品质低的问题
    • AR + NAR

生成的本质

文字、图像、声音的生成的本质,就是给模型一个输入,模型把基本的单位(token pixel sample)排列好
在这里插入图片描述

  1. 文字。这部分之前的文章讲过很多次了,生成文字的时候,是把输入切分成token,作为模型的输入,然后输出,然后把输入又作为
  2. 图片。图片是由像素构成的,每个像素可以有多少个颜色是由每个像素由多少bit 决定。比如 8位色,表示一个像素由256个颜色构成,16位色,表示一个像素由65536个颜色组成。
  3. 声音。它是由取样点组成的。一秒取样16000个点,就表示取样率为16kHZ,听起来正常的声音取样点都要超过24kHZ以上

生成的策略

文字AR (Autoregressive Generation)

我们讲过很多次了,每次生成输出会作为下一次的输入,然后继续输出,这种方式就是 Autoregressive Generation
在这里插入图片描述

图像和视频 NAR(Non-Autoregressive Generation)

图像和视频当然也可用AR的方式生成出来,只不过产生的是像素和采样点,每次接龙的也是像素和采样点,但是当今很少的模型会用AR的方式生成,为什么呢?比如1024*1024的图片,这是100万的像素,这意味着要接龙100万次,而且每次都要顺序的生成。所以图像和视频都是采用NAR(Non-Autoregressive Generation)的方式:
在这里插入图片描述
模型虽然运算的总量不会减少,但是它可以平行的计算出所有的基本单位,这样可以大幅加速图像的生成的速度。
你可能会说,那既然NAR这么好,为社么文字生成不用这个呢?因为它也有弊端,因为NAR的生成缺失了输出某部分的关联,它不是基于上一部分的输出做的输出,所以就很有可能出现位置一和位置二生成的信息完全不想关,生成的效果并不好。
同样图像和视频的生成也存在效果不佳的问题,因为你告诉模型画一只狗,也许位置一和位置二都在画狗,但是一个想的哈士奇,一个想的是田园犬,画出来就是四不像了。

解决NAR生成品质低的问题

从上面的论述,我们不难发现,它只所以两次生成的可能不一致,因为两次位置的生成完全没关联,我们可以设置一种关联,用这种关联控制这两次 生成的方向得是一致的,比如这个向量里边告诉这些位置,我要画的是田园犬在公园奔跑,这样要画的方向就是一致的了。这种关联在模型就是一个向量,VAE GAN等都是这种做法,每次除了输入以外还要单独生成一个向量来控制所有位置的输出。

AR + NAR

还有一种生成方法就是先用Autoregressive Generation的方法生成一个精简的版本,再用NAR生成精细的版本,这样就解决了关联和速度的问题。
那怎么生成这个精简版本呢:
第一步就是使用Encoder和Decoder,先是压缩输入图片生成向量,然后这个向量输入Decoder再生成输入的这个图片,这两个压缩前和解压缩后图片生成的越像越好
在这里插入图片描述

第二步:
Autoregressive只需要产生压缩的版本就好,Decoder还原成解压缩的版本
在这里插入图片描述
视频也是同样的方法,但是这个压缩并没有压缩很大,曾经有人写过论文,1616的图片可以压缩到11,依然可以还原到原图片。但是视频依然很大,于是产生了另外一种方法,那就是多次的生成:
在这里插入图片描述

http://www.lryc.cn/news/419146.html

相关文章:

  • git pull 注意事项
  • 拥抱变革:旗晟智能巡检机器人系统重塑高风险行业巡检模式
  • 监听器——监听着我们WEB项目中的域对象
  • cs使用说明
  • skynet 连接redis
  • quark-design 原生引入使用说明
  • UE开发中的设计模式(二) —— 中介者模式
  • 安卓应用开发学习:聚合数据API获取天气预报
  • 设计模式 - 抽象工厂模式
  • 塔子哥选数字-阿里淘天2024笔试(codefun2000)
  • 【leetcode】杨辉三角(Java语言描述)
  • Vue - 关于vue-kinesis 移动动画组件
  • leetCode- - - 链表
  • Ashok:一款多功能开源网络侦查OSINT工具
  • 没有获取淘宝API的资质怎么获取淘宝数据
  • SQL手工注入
  • 【SQL】大的国家
  • 8月5日学习笔记 glibc安装与安全用户角色权限
  • DrissionPage 一个替代selenium的pip --- 一个可以接管正在运行的chrome包
  • 爬虫入门--了解相关工具
  • django项目中通用的分页组件
  • 想实现ubuntu搭建sqli-labs靶场
  • tp8 按日期分组查出数据
  • 单例模式(懒汉模式,饿汉模式)
  • 【Qt】Item Widgets 多元素控件
  • sharded_inference_engine:MLXDynamicShardInferenceEngine;step
  • JAVA开发学习-day21
  • Python的安装环境以及应用
  • TabLayout使用以及自定义tab标签
  • 第二十节、有限状态机和抽象类多态