首页 > 其他分享 >计算机视觉任务(二)

计算机视觉任务(二)

时间:2023-04-29 17:34:06浏览次数:39  
标签:计算机 模型 arxiv 建模 生成 任务 abs https 视觉

Generative Models

给定来自感兴趣分布的观察到的样本\(x\),生成模型的目标是学习对其真实数据分布\(p(x)\) 进行建模。一旦学会,我们就可以随意从我们的近似模型中生成新的样本。此外,在某些公式下,我们还可以使用学习的模型来评估观察或采样数据的可能性。生成对抗网络 (GANs) 对复杂分布的采样过程进行建模,该过程以对抗方式学习。另一类生成模型,称为 “基于似然”,旨在学习一种模型,该模型为观察到的数据样本分配了高似然性。这包括自回归模型,归一化流和变分自动编码器 (VAEs)。另一种类似的方法是基于能量的建模,其中将分布学习为任意灵活的能量函数,然后将其归一化。基于分数的生成模型高度相关; 他们不是学习对能量函数本身进行建模,而是将基于能量的模型的分数学习为神经网络。

对于许多模态,我们可以认为我们观察到的数据是由相关的看不见的潜在变量表示或生成的,我们可以用随机变量\(z\)表示。表达这种想法的最佳直觉是通过柏拉图的洞穴寓言。在寓言中,一群人一生都被锁在洞穴中,只能看到投射在他们面前墙壁上的二维阴影,这些阴影是由看不见的三维物体在火灾前通过的物体产生的。对这样的人来说,他们观察到的一切实际上都是由他们永远看不到的更高维度的抽象概念决定的。

类似地,我们在实际世界中遇到的对象也可以作为某些更高级表示的函数生成; 例如,此类表示可以封装抽象属性,例如颜色,大小,形状等。那么,我们观察到的东西就可以解释为这种抽象概念的三维投影或实例化,就像洞穴人观察到的东西实际上是三维物体的二维投影一样。尽管洞穴人永远看不到 (甚至完全理解) 隐藏的物体,但他们仍然可以对它们进行推理和推论; 以类似的方式,我们可以近似描述我们观察到的数据的潜在表示。

柏拉图的寓言说明了潜在变量背后的思想,即确定观测值的潜在不可观察的表示形式,而这种类比的一个警告是,在生成建模中,我们通常寻求学习低维的潜在表示形式,而不是高维的表示形式。这是因为尝试学习比观察更高维度的表示是没有强烈先验的徒劳的尝试。另一方面,学习低维延迟也可以看作是一种压缩形式,并且可以潜在地发现描述观察结果的语义上有意义的结构。

图像生成模型的本质:把简单分布(normal distribution 或者 uniform distribution)对应到一张张的图像上

\(c\)文字条件,\(x\) 图像,学习\(p(x|c)\)是很困难的,不能拿高斯分布或者任何分布表示,怎么近似表达出整个分布是生成模型的核心。

Autoregressive Model

https://openai.com/blog/imgae-gpt/

拉成一排 ,一排一排的生成像素

Variational Auto-encoder (VAE)

将图像和分布对应训练 一个decoder 和一个 encoder

Flow-based Generative Model

刻意限制神经网络的架构 ,encoder是可逆的,输入和输出是一致大小的

Diffusion Model

Denoising Diffusion Probabilistic Models (DDPM)

https://arxiv.org/abs/2006.11239

Stable Diffusion

https://arxiv.org/abs/2112.10752

DALL-E series

https://arxiv.org/abs/2204.06125

https://arxiv.org/abs/2102.12092

Imagen

https://arxiv.org/abs/2205.11487

Generative Adversarial Network (GAN)

学习一个decoder,在训练一个discriminator,去判断是否是真的图片,即图像的分布是否一样

评价指标

FID 值:评估图像生成模型的好坏,用预训练的CNN生成特征向量latent,假设真和假都是高斯分布,算两个高斯分布的距离frechet distance

CLIP值:Contrastive language-image pre-trainimg,文字输入文字编码器,图像输入图像编码器,看两个距离远不远。

VAE + GAN https://arxiv.org/abs/1512.09300
Flow +GAN https://arxiv.org/abs/1705.08868
Diffusion +GANhttps://arxiv.org/abs/2206.02262

学习问题--如何找到最大化似然函数\(p(x;\theta)\)

1. 显式的建模(设定了\(p(x;\theta)\)的形式)

1.1 精确建模

  • 不含隐变量 Autoregressive Model
  • 含有隐变量 Flow-based Model

1.2 近似建模

  • 变分推断 VAE
  • 采样 MCMC
  • 扩散模型 Diffusion Model

2. 隐式的建模(不关系\(p(x;\theta)\)的形式)

  • 直接建模 GAN
  • 简介建模 (MC)GSN

一个生成模型通用的框架

文字、semantic map、representation等条件输入Text Encoder

然后和image(选带噪音)一起塞到Generative Model(可以是任何生成模型)

生成一个中间产物(类似于图像的压缩版本或者带噪音的版本或者特征表示)

然后将这个中间产物输入到Decoder(可以是超分辨率,可以是去噪,任意类型任意个数的Decoder),恢复出图像

标签:计算机,模型,arxiv,建模,生成,任务,abs,https,视觉
From: https://www.cnblogs.com/jijunhao/p/17364243.html

相关文章

  • 计算机视觉任务(一)
    1.图像分类(Imageclassification)图像分类是指将图像分为不同的类别或标签,通常使用机器学习和深度学习技术。给定一张输入图像,图像分类任务旨在判断该图像所属类别。这些算法利用计算机视觉技术和模式识别技术,从图像中提取有用的特征,然后将其与预定义的类别或标签匹配。这种技......
  • 希望所有计算机学生能看到这篇c语言教程
    大部分程序员走入编程世界第一个学习的语言就是C语言。作为一门古老的编程语言,c语言拥有48年的发展历程。为什么要学习C语言?C语言是学习计算机程序设计语言的入门语言。最全面的编程面试网站C语言是一门偏底层的语言,学好它,可以让你更好的了解计算机。学会了C语言,你就能学习......
  • 《asyncio 系列》2. 详解 asyncio 的协程、任务、future,以及事件循环
    楔子上一篇文章我们深入讨论了并发性,探讨了如何同时使用进程和线程实现并发,还探索了如何利用非阻塞IO和事件循环来实现只使用一个线程的并发性。本篇文章将介绍在asyncio中使用单线程并发模型编写程序的基础知识,使用本文中的技术,你将能执行长时间运行的操作,如Web请求、数据......
  • 计算机速成课听课随笔3
    #高级CPU设计(简随着科技技术的增加,人们不断提高CPU的时钟速度,以此来适应越来越多的指令,此时CPU的处理速度就会超过数据的供应速度RAM需要时间去找出地址,取数据,配置,通过总线(BUS)输出数据给CPU,CPU空等数据就产生了“延迟”解决延迟的方法之一就是给CPU加一点RAM,叫做“缓存”由于C......
  • 计算机科学速成课随笔2
    中央处理器(CPU)计算机的心脏就是“中央处理单元”,简称“CPU”CPU负责执行程序,而程序由一步步的操作完成,这些操作就叫做“指令”但是对于俺们小白来说,详细的理解CPU的各个组件和各个线的分布是不太可能的我们需要一个高层次的视角叫做“微体系架构”(应该就是抽象的理解一下的意......
  • 计算机科学速成课随笔1
    # ALU(算数逻辑单元)计算机数学的大脑负责运算的单元第一个ALU英特尔74181(4位输入)ALU有两个单元,一个是算术单元,另一个就是逻辑单元 算术单元,负责计算操作(增量运算。。。)运用逻辑门计算机中1代表true,0代表falseXOR(异或)的逻辑门刚刚好可以满足大部分的0,1相加但是计算的......
  • NodeJS定时任务 注:2023-4-28更新
     使用的node-schedule 设置定时任务 引入constschedule=require('node-schedule'); 参数解析schedule.scheduleJob(******)接收六个参数,位置分别如下,如果不需要,填*号即可,*代表通配符6个占位符从左到右分别代表:秒、分、时、日、月、周几*表示通配符,匹配......
  • 视觉定位领域专栏(一)领域介绍、应用场景和研究难点
    前言 上一篇介绍了什么是视觉定位,以及视觉定位在各行各业的应用点和目前的研究难点在哪。本篇主要介绍视觉定位领域常用的一些数据集,分为室内定位数据集和室外定位数据集,每个数据集附有数据集获取地址和数据集样例。本教程禁止转载。同时,本教程来自知识星球【CV技术指南】更多技......
  • 计算机操作系统随笔
    计算机操作系统是一种控制和管理计算机硬件和软件资源的软件程序,类比为一座大厦的物业管理。它负责管理计算机硬件资源,如中央处理器、内存、硬盘等,以及软件资源,如程序、文件等。一座大厦的物业管理主要负责管理大厦的各项资源,如电力、水源、电梯、消防等,确保大厦能够正常运作。......
  • .netcore 使用Quartz定时任务
    这是一个使用.NETCore和Quartz.NET实现定时任务的完整示例。首先确保已经安装了.NETCoreSDK。接下来按照以下步骤创建一个新的控制台应用程序并设置定时任务:创建一个新的.NETCore控制台应用程序:dotnetnewconsole-nQuartzDemocdQuartzDemo通过NuGet添加......