机器学习课程学习周报十三

news2024/11/15 14:04:50

机器学习课程学习周报十三

文章目录

  • 机器学习课程学习周报十三
    • 摘要
    • Abstract
    • 一、机器学习部分
      • 1. 文生图模型概述
      • 2. Stable Diffusion概述
      • 3. ControlNet概述
      • 4. 概率论复习(二)
    • 总结

摘要

本周的学习内容涵盖了文生图模型、Stable Diffusion、ControlNet以及概率论的复习。文生图模型通过文字编码器、生成模型和隐空间解码器三部分实现,将自然语言转化为图像。Stable Diffusion借助隐扩散模型提高生成效率,并通过条件机制增强可控性。ControlNet通过添加空间条件控制,增强了大型扩散模型的灵活性。最后,对概率论的进一步复习为理解复杂模型奠定了基础。

Abstract

This week’s study covers text-to-image models, Stable Diffusion, ControlNet, and a review of probability theory. Text-to-image models convert natural language into images through three components: text encoder, generative model, and latent space decoder. Stable Diffusion enhances generation efficiency using latent diffusion models and improves controllability through conditional mechanisms. ControlNet introduces spatial conditional control to enhance the flexibility of large diffusion models. Finally, a deeper review of probability theory lays the foundation for understanding complex models.

一、机器学习部分

1. 文生图模型概述

在这里插入图片描述

基本的文生图模型分为3个部分:文字编码器、生成模型以及隐空间解码器部分。文字编码器部分用于将人类理解的自然语言编码为计算机中的向量表达。生成模型部分接受语言描述的向量表达和噪声图的输入,该生成结果为最终图片的压缩版本,该中间产物可以是最终图片在像素空间(pixel space)中的缩略表达,也可以是最终图片在隐空间(latent space)中的压缩表达。隐空间解码器则是将压缩表达的图片从隐空间中解码至人类认知的像素空间中。这三个部分需要分别训练,组合起来后组成了一般的文生图模型。

在这里插入图片描述

文字编码器部分是一种监督学习,首先需利用由文字描述与图片对应成对的数据集训练一个衡量人类自然语言的文字描述与图片对应关系的模型,文字描述与图片分别被编码为其对应在计算机中向量表达,该模型一般利用CLIP Score衡量两者的相似程度。CLIP Score高意味着两者的向量表达之间的距离接近,文字描述与图片的对应关系强,CLIP Score低意味着两者的向量表达之间的距离较远,文字描述与图片的对应关系弱。在文生图模型中,当输入新的文字描述时,文字编码器应能够输出其对应的向量表达。

在这里插入图片描述

在这里插入图片描述

生成模型可以是扩散模型、生成式对抗网络模型以及自回归模型,目前主流的研究方向以及本论文讨论的对象是扩散模型。扩散模型由正向过程、逆向过程和采样过程3个主要部分组成。扩散模型的目标是学习一个正向扩散过程,该过程生成给定数据集的概率分布,迭代添加随机的高斯噪声。然后训练去噪预测器,作用于反向去噪过程。去噪预测器通过学习正向扩散过程中被添加高斯噪声的原始图片与步数预测该步中添加的高斯噪声图,将反向去噪过程中输入的原始噪声图迭代去除去噪预测器每一步预测出的高斯噪声图。当完成所有去噪流程后,最终可以或者整个文生图模型生成结果的压缩表达,该结果可能是像素空间中的缩略图,这类的扩散模型有:Imagen模型等。该结果也可能是隐空间中的压缩表达,还需通过隐空间解码器将其映射回像素空间,这类的扩散模型有:DALL·E系列模型,Stable Diffusion等。

在这里插入图片描述

隐空间解码器是一种无监督学习,需要训练一个自编码器或变分自编码器,其训练过程不需要文字描述与图片对应成对的数据集,仅需要单独的图片数据集。这是因为,编码器或变分自编码器中的编码器则能将像素空间中的图片编码至隐空间,而解码器将原图片潜在表示解码映射回像素空间。自编码器的目的是最小化输入和输出图片的重构误差,而变分自编码器的目标是最大化数据的似然概率,同时最小化潜在表示与标准正态分布之间的KL散度。因此,隐空间解码器由自编码器或变分自编码器中的解码器构成,而编码器则还可以作为图生图模型中的输入。

2. Stable Diffusion概述

在这里插入图片描述

Stable Diffusion是一个基于隐扩散模型(LDMs, Latent Diffusion Models)的文生图模型实现。因此,Stable Diffusion也拥有文生图模型的三个基础部分。为了降低训练扩散模型的算力,隐扩散模型使用自编码器学习从原始像素空间映射至低维隐空间的表达以及隐空间表达解码映射至元素像素空间。因此,Stable Diffusion在隐空间中完成正向扩散过程和反向去噪过程的全部流程,极大地提高了图像生成的效率。除此之外,Stable Diffusion在去噪预测器上选择了Unet主干网络,并引入了条件机制,在Unet 模型中使用交叉注意机制(cross-attention,即上图中QKV模块),能够使用其他模态的数据控制图像的生成,这为扩散模型的可控性生成提供了新思路。

3. ControlNet概述

ControlNet是由Oraichain实验室开发的一种向大型预训练的文生图扩散模型添加空间条件控制的神经网络架构,其在可用于生产的大型扩散模型上表现出色。ControlNet向神经网络块注入了额外的条件(如下图)。假设F(X;θ)为训练好的神经块,参数为θ,它将输入特征图x映射为另一个特征图y。为了将ControlNet添加到预训练的神经块中,新的网络架构需要冻结原始块的参数θ,同时将块克隆到可训练的副本中,该副本具有参数θ_c(如下图)。可训练的副本接受外部条件向量c作为输入。当将这种结构应用于像Stable Diffusion这样的大型模型时,锁定参数可以保留使用数十亿张图像预训练的大型模型,而可训练的副本可以重用这种大规模预训练模型,以建立一个深层、稳健且强大的主干网络来处理各种输入条件。

在这里插入图片描述

ControlNet应用于大型预训练扩散模型Stable Diffusion以实现条件机制的控制,Stable Diffusion去噪预测器的主干网络是一个Unet网络,包含12个编码块、1个中间块和12个解码块。在这25个块中,8个块是下采样或上采样卷积层,而其他17个块是主块,每个主块包含4个Resnet层和2个Vision Transformer(ViT)。每个ViT包含几个交叉注意力和自注意力机制。例如,在图9中,“SD Encoder Block A”包含4个ResNet层和2个ViT,而“×3”表示该块重复三次。文本提示使用CLIP文本编码器进行编码,扩散时间步使用带有位置编码的时间编码器进行编码。

在这里插入图片描述

将ControlNet结构应用于Stable Diffusion的Unet编码器(上图),具体而言, ControlNet创建Unet的12个编码块和1个中间块的训练副本。这个12个编码块的训练副本分别分布在4个分辨率(64 × 64,32 × 32,16 × 16,8 × 8)上,每个分辨率复制3次。ControlNet的输出则被分别添加到U-net的12个解码块和1个中间块中。ControlNet的输入条件预处理器主要包含以下几种形式;

Line_Art:虽然Canny一般已经指定了边缘条件,但Line_Art是素描的完美选择,特别是对于控制生成动漫风格的图像。这个类别中可选择的有更多的线条艺术预处理器,例如Line_Art anime(动漫风格的线条),Line_Art anime denoise (动漫风格的线条但细节较少),Line_Art realistic(现实风格的线条)和Line_Art coarse(现实风格的线条较重)。

Soft_Edge:类似于Canny边缘检测,但提供了更平滑的过渡。Soft_Edge是理想的图像处理结果,能够实现更平滑的边缘检测,并确保视觉效果更加平滑和自然。

Pose:识别图像中人体的骨骼关键点并实现关键点的有序连接。通过操作姿态参数,可指定生成图像中人体的姿势。

Depth:图像深度预处理器从参考图像中预测深度信息。通过控制对图像内部深度的感知,增加生成图像的三维效果,增强了视觉丰富性。

Normal:该条件为指定曲面的方向的法线贴图。图像像素代表的不是颜色值,而是指定每个像素的方向,即表面所面对的方向。Normal和Depth条件都用于预测图像的3D组成。

4. 概率论复习(二)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

本周的学习加深了对生成模型的理解,尤其是在文本到图像生成中的应用。先简要了解了Stable Diffusion和ControlNet的网络模型概况,同时这周是概率论复习的第二周,预计还需要一周时间完成。复习完概率论后就会学习VAE和Diffusion模型数学原理的具体推导。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2156978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datashee…

Mybatis 返回 Map 对象

一、场景介绍 假设有如下一张学生表: CREATE TABLE student (id int NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(100) NOT NULL COMMENT 姓名,gender varchar(10) NOT NULL COMMENT 性别,grade int NOT NULL COMMENT 年级,PRIMARY KEY (id) ) ENGINEInnoD…

LeetCode讲解篇之238. 除自身以外数组的乘积

文章目录 题目描述题解思路题解代码 题目描述 题解思路 对于该题,我们可以先使用一个循环记录所有非零元素的乘积结果和非零元素的个数 如果非零元素个数为0,则非零元素的乘积除以数组对应位置的数字就是除自身以外的数组的乘积如果非零元素个数为1&am…

新质农业——水肥一体化技术

橙蜂智能公司致力于提供先进的人工智能和物联网解决方案,帮助企业优化运营并实现技术潜能。公司主要服务包括AI数字人、AI翻译、埃域知识库、大模型服务等。其核心价值观为创新、客户至上、质量、合作和可持续发展。 橙蜂智农的智慧农业产品涵盖了多方面的功能&…

【人工智能学习】8_人工智能其他通用技术

知识图谱 在看影视剧或小说时,若其中的人物很多、人物关系复杂,我们一般会用画人物关系图谱来辅助理解人物关系。那什么是知识图谱呢? 知识是人类对信息进行处理之后的认识和理解;对数据和信息的凝练、总结后的成果。 将信息转…

MySQL-排名函数ROW_NUMBER(),RANK(),DENSE_RANK()函数的异同

MySQL-排名函数ROW_NUMBER(),RANK(),DENSE_RANK()函数的异同 前言 假设有如下表结构与数据,class_id表示班级,需求:现在要按照班级分组,每个班级的学生进行年龄从小到大排序 一、ROW_NUMBER()函数 ROW_NUM…

YOLO航拍车辆和行人识别

YOLO航拍车辆和行人识别 图片数量9695,标注为xml和txt格式; class:car,pedestrian,truck,bus 用于yolo,Python,目标检测,机器学习,人工智能,深度学…

软件测试分类篇(下)

目录 一、按照测试阶段分类 1. 单元测试 2. 集成测试 3. 系统测试 3.1 冒烟测试 3.2 回归测试 4. 验收测试 二、按照是否手工测试分类 1. 手工测试 2. 自动化测试 3. 手工测试和自动化测试的优缺点 三、按照实施组织分类 1. α测试(Alpha Testing) 2. β测试(Beta…

图像放大效果示例【JavaScript】

实现效果&#xff1a; 当鼠标悬停在小图&#xff08;缩略图&#xff09;上时&#xff0c;大图&#xff08;预览图&#xff09;会随之更新为相应的小图&#xff0c;并高亮当前悬浮的小图的父元素。 代码&#xff1a; 1. HTML部分 <!DOCTYPE html> <html lang"z…

Nginx简介;Nginx安装

一&#xff0c;Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;在BSD-like 协议下发行。是一个高性能的HTTP和反向代理web服务器 &#xff0c;同时也提供了IMAP/POP3/SMTP服务。 其特点是占有内存少…

OpenCV特征检测(8)检测图像中圆形的函数HoughCircles()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在灰度图像中使用霍夫变换查找圆形。 该函数使用霍夫变换的一种修改版本在灰度图像中查找圆形。 例子&#xff1a; #include <opencv2/imgp…

【解密 Kotlin 扩展函数】扩展函数的创建(十六)

导读大纲 1.1 为第三方的类添加方法: 扩展函数 1.1 为第三方的类添加方法: 扩展函数 Kotlin 的主题之一是与现有代码的平滑集成 即使是纯 Kotlin 项目,也是构建在 Java 库之上的 如 JDK、Android 框架和其他第三方框架 而当你将 Kotlin 集成到 Java 项目中时 你还要处理尚未或不…

Ubuntu清理内存导致的一系列错误及解决方法

文章目录 火狐浏览器和pycharm消失打不开 安不上 卸不掉后记 火狐浏览器和pycharm消失 打不开 安不上 卸不掉 清理内存后&#xff0c;火狐和pycharm的图标都消失了&#xff0c;在终端输入Firefox显示无法打开 应当先snap install firefox&#xff0c;然而snap install firefo…

【排序算法】插入排序_直接插入排序、希尔排序

文章目录 直接插入排序直接插入排序的基本思想直接插入排序的过程插入排序算法的C代码举例分析插入排序的复杂度分析插入排序的优点 希尔排序希尔排序&#xff08;Shell Sort&#xff09;详解希尔排序的步骤&#xff1a;希尔排序的过程示例&#xff1a;希尔排序的C语言实现举例…

啥?Bing搜索古早BUG至今未改?

首先&#xff0c;大家先看下面的一个数学公式。 Γ ( z ) ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)∫0∞​tz−1e−tdt. 看不懂&#xff1f;没关系&#xff0c;因为我也看不懂 这不是谈论的重点。 当你把鼠标光标移到公式的最开头&…

netflix是什么样的企业文化

netflix是什么样的企业文化 Netflix的企业文化以其“自由与责任”而闻名&#xff0c;这种文化理念在业界被广泛誉为管理的“黄金法则”。《奈飞文化手册》自2009年面世以来&#xff0c;便迅速成为全球企业管理的典范&#xff0c;吸引了超过1500万次的在线阅读与下载。Netflix的…

【C++篇】引领C++模板初体验:泛型编程的力量与妙用

文章目录 C模板编程前言第一章: 初始模板与函数模版1.1 什么是泛型编程&#xff1f;1.1.1 为什么要有泛型编程&#xff1f;1.1.1 泛型编程的优势 1.2 函数模板的基础1.2.1 什么是函数模板&#xff1f;1.2.2 函数模板的定义格式1.2.3 示例&#xff1a;通用的交换函数输出示例&am…

【网络】高级IO——Reactor版TCP服务器

目录 1.什么是Reactor 1.1.餐厅里的Reactor模式 2.Reactor的由来 2.1.单 Reactor 单进程 / 线程 2.2.单 Reactor 多线程 / 多进程 2.3.多 Reactor 多进程 / 线程 3.实现单 Reactor 单进程版本的TCP服务器 3.1.Connection类 3.2.TcpServer类 3.3.Connection的真正用处 …

深蓝学院-- 量产自动驾驶中的规划控制算法 小鹏

文章目录 0. 前言1.发展现状2.行车功能中难点问题及解决思路问题1&#xff1a;车道居中辅助&#xff0c;画龙&#xff0c;蛇行问题。问题2&#xff1a;外界环境扰动以及传感器信息缺失下的横向控制难点问题3&#xff1a;大坡度平稳停车 3. 泊车功能中难点问题及解决思路问题1&a…

Spring AOP - 配置文件方式实现

目录 AOP基础概念 示例1&#xff1a;模拟在com.text包及子包项下所有类名称以ServiceImpl结尾的类的所有方法执行前、执行后、执行正常后返回值、执行过程中出异常的情况 示例2&#xff1a;统计com.text包及子包项下所有类名称以DaoImpl结尾的类的所有方法执行时长情况 AOP基…