当前位置: 首页 > 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,依然可以还原到原图片。但是视频依然很大,于是产生了另外一种方法,那就是多次的生成:
在这里插入图片描述

相关文章:

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

人工智能生成文字、图片、声音的方法 生成的本质生成的策略文字AR (Autoregressive Generation)图像和视频 NAR(Non-Autoregressive Generation)解决NAR生成品质低的问题 AR NAR 生成的本质 文字、图像、声音的生成的本质,就是给模型一个输入,模型把基…...

git pull 注意事项

当在执行 git pull 操作并且涉及到合并操作时,Git 会打开默认的文本编辑器(在这种情况下是 nano),以便你编写合并提交(merge commit)消息。这个消息将记录在合并提交中,解释为什么进行了这次合并…...

拥抱变革:旗晟智能巡检机器人系统重塑高风险行业巡检模式

随着工业自动化的快速发展,特别是在石油、化工、煤矿等高风险行业中,传统的巡检方式已难以满足现代企业的需求。高频次、全天候、重复的人工巡检不仅效率低下,还面临着人身安全、数据准确性和运营成本等多方面的挑战。针对这些问题&#xff0…...

监听器——监听着我们WEB项目中的域对象

监听器 ——它监听着我们WEB项目中的域对象 何时被创建被销毁 ServlertContextListener——它监听ServletContext对象的创建和销毁 contextInitialized 创建的时候会调用 Tomcat启动时调用 contextDestroyed销毁的时候自动会调用的方法 Tomcat终止 这两个方法中携带的参数S…...

cs使用说明

cs分为服务器端和客户端,服务器端最好在linux上配置,客户端在windows中配置,首先要在服务器端配置好,客户端连接才能生效 服务器端配置 将cs包发送到kali虚拟机中(压缩包解压密码为mht) 1,给与cs包最大的权限 chmod -…...

skynet 连接redis

文章目录 概述main.luaagent.luaredis.lua 小结 概述 之前写过skynet 入门篇,还有skynet实操篇;这2篇,主要写了skynet如何使用,还有些skynet的调用流程之类。 其实,看过skynet的demo之后,发现skynet中没有…...

quark-design 原生引入使用说明

说明:旧项目前后不分离 使用原生html开发的情况下 以动作面板举例: esm全局引入的方式 <script type"module"> import quarkd from "https://cdn.jsdelivr.net/npm/quarkd2.0.4/esm" //直接使用 quarkd.ActionSheet({actions: [{ name: "Opti…...

UE开发中的设计模式(二) —— 中介者模式

上一篇文章介绍了观察者模式如何降低观察者和目标之间的耦合&#xff0c;并通过一个实例具体实现了观察者模式&#xff0c;本篇文章从上篇文章的实例继续&#xff0c;介绍中介者模式是如何带来对象间进一步的松耦合。 文章目录 问题提出概述问题解决总结优点缺点模式应用 参考资…...

安卓应用开发学习:聚合数据API获取天气预报

一、引言 上个月我通过腾讯位置服务&#xff0c;实现了手机定位应用的开发学习。最近在看软件书籍时&#xff0c;又看到了聚合数据API方面的内容。 书上介绍了聚合数据天气预报API的应用&#xff0c;不过书上的代码看得有些难受&#xff0c;我到聚合数据官网&#xff0c;对天气…...

设计模式 - 抽象工厂模式

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、抽象工…...

塔子哥选数字-阿里淘天2024笔试(codefun2000)

题目链接 塔子哥选数字-阿里淘天2024笔试(codefun2000) 题目内容 塔子哥有一个长为n的数组a。他定义一个数组的权值为&#xff1a;数组中不同的数字个数。 塔子哥希望从数组a中选出在个数子&#xff0c;使得这k个数字组成的数组权值最大&#xff0c;请你帮帮塔子哥。 输入描述…...

【leetcode】杨辉三角(Java语言描述)

杨辉三角 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]] …...

Vue - 关于vue-kinesis 移动动画组件

Vue - 关于vue-kinesis 移动动画组件 vue-kinesis可以根据鼠标移动或滚动条来控制元素动画的动画效果&#xff1b;除此之外&#xff0c;vue-kinesis 还可以设置音频文件&#xff0c;根据音频频率来控制动画的跳动效果。 一、安装vue-kinesis Vue2版本&#xff1a; 1.安装 …...

leetCode- - - 链表

目录 1.反转链表&#xff08;leetcode206&#xff09; 2. 链表内指定区间反转&#xff08;leetcode92&#xff09; 3.链表中的节点每k个一组翻转&#xff08;leetcode25&#xff09; 4.合并两个排序的链表&#xff08;leetcode21&#xff09; 5.链表的中间节点&#xff08…...

Ashok:一款多功能开源网络侦查OSINT工具

关于Ashok Ashok是一款多功能开源网络侦查公开资源情报OSINT工具&#xff0c;该工具可谓是OSINT领域中的瑞士军刀&#xff0c;广大研究人员可以使用该工具轻松完成网络侦查任务。 侦察是渗透测试的第一阶段&#xff0c;这意味着在计划任何实际攻击之前收集信息。因此&#xff…...

没有获取淘宝API的资质怎么获取淘宝数据

淘宝是头部电商平台之一&#xff0c;每个自研商家或电商软件服务商想要开发电商管理功能模板就少不了要对接淘宝API。淘宝API是在淘宝开放平台提供的&#xff0c;自研商家和软件服务商接入淘宝开放平台需要经过一系列审核和申请流程&#xff0c;要求资质和相关资料符合对应的要…...

SQL手工注入

目录 1.判断是否存在sql注入点 1.1我们在地址栏中输入?id1 1.2我们在地址栏中输入?id-- 2.联合查询 2.1首先知道表格有几列&#xff0c;如果报错就是超过列数&#xff0c;如果显示正常就是没有超出列数。 2.2爆出显示位&#xff0c;就是看看表格里面哪一列是在页面显示…...

【SQL】大的国家

目录 题目 分析 代码 题目 World表&#xff1a; ---------------------- | Column Name | Type | ---------------------- | name | varchar | | continent | varchar | | area | int | | population | int | | gdp | bigint | ----…...

8月5日学习笔记 glibc安装与安全用户角色权限

一&#xff0c;glibc安装 https://www.mysql.com/ 官⽹ https://downloads.mysql.com/archives/community/ https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-li nux-glibc2.12-x86_64.tar 安装步骤 1.安装依赖库 [rootlocalhost ~]# yum list installed |g…...

DrissionPage 一个替代selenium的pip --- 一个可以接管正在运行的chrome包

DrissionPage 一个替代selenium的pip包&#xff0c;持续更新 1、加载内容&#xff0c;并接管chrome浏览器 from DrissionPage import ChromiumPage, ChromiumOptions page ChromiumPage(addr_or_opts127.0.0.1:9222) print(page.title)ul page.eles(idform-submit) for i i…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...