这是「进击的Coder」的第 734 篇技术分享

作者:YJL

来源:智汇 AI

阅读本文大概需要 6 分钟。

Diffusion Model

如果你对人工智能有所了解,想必已经听说过Diffusion Model了。如果还没有,那就一起来了解一下吧——

扩散(Diffusion)对于人能智能而言,是一个借用的概念。在热力学中,它指细小颗粒从高密度区域扩散至低密度区域的过程。在统计学领域,这一术语则指将复杂的分布转换为简单分布的过程。

Diffusion Model 定义了一个概率分布转换模型,它的前向传播过程,可以将一个复杂的分布转换为了一个标准正态分布。

这样一个模型有什么用呢?简单而言,它可以接受文字输入,而输出图片。没错,就像你想的那样,你可以用文字描述一个/些形象和场景,Diffusion Model 可以根据你的输入生成图片出来。

Stable Diffusion

需要注意,Diffusion Model 并不是一个特定的模型,而是一类模型。它有很多的具体实现。

比如在 github 已经获得 14.8k star 的 Stable Diffusion : GitHub - CompVis/stable-diffusion.

Stable Diffusion 是慕尼黑大学机器视觉与学习研究小组基于CVPR 2022的论文《[2112.10752] High-Resolution Image Synthesis with Latent Diffusion Models (arxiv.org)), 与 Stability AI 和 Runway 合作开发的一款开源扩散模型。

因为是开源的,你可以从 github 上直接下载 Stable Diffusion Model 本地运行。

DreamStudio

如果本地缺乏运算资源,也可以通过官方提供的网站 Stable Diffusion - DreamStudio 进行在线生成测试。

DreamStudio 有一个非常简单和友好的用户界面:

就算对于右侧的几个参数毫无了解,我们只要保持参数默认值,并在底部文本框里输入描述性文字就好了。

这些描述性文字可以是:

  • 简单的关键字(例如:熊猫、狗、篮球运动员……)

  • 包含风格描述(例如:现实主义、油画、铅笔画、印象派……)

  • 输入艺术家的名字(例如:达芬奇、莫奈、梵高……)

  • 想到什么写什么,把想法都描述出来

当然,所有这些,最好是输入英文。其实输入中文也不是不能有output,不过从测试结果来看,基本上“画不达意”。

输入文字后,我们点击 “Dream” 就能生成图片,不过生成图片未必每次效果都好。我们在很多公众号和媒体里面看到的那些非常精致的图,一方面可能是特别设置了各种参数,另一方面肯定也经过了多次尝试。

如果我们只用免费版和默认参数,多数情况生成的图还是比较有“古早AI”的感觉的。

我们的测试结果

先来看看我们在 DreamStudio Lite (beta) 上测试的部分结果。

下面左图的生成语为“a handsome young man”,右图则生成自“a handsome Asian young man”:

下面两幅图,左右的生成语依次是 “A dark hair beauty realistic” 和 “A dark hair Chinese beauty realistic”:

当然少不了萌物,下图左右依次生成自 “a cute cartoon cat Unity 3D”,和“a cute puppy in a cpu realistic photo”:

上面这些是输入短语获得的,如果直接输入一段话呢?那是不是就可以直接图配文生成连环画了?

我试了一下,还真是有门,比如下面这几幅图,就是根据相应文字的描述产生的。乍一看,是不是已经挺像绘本故事了?

《a picture book created by author and Stable Diffusion model》

In storm night, soldiers were fighting to a monster.

The monster had three heads and twelve limbs.

Soldiers were exhausted, thirsty and hungry. If they were dead, the kingdom would be destroyed by the master of the monster.

Suddenly, the chief of the soldiers got injured, and blood was pouring from his wound and mouth. He fell and was insensible. His assistants tried to drag him aside, but they failed.

The monster found them. It opened its big mouth filling with sharp teeth, and was poised for making at them.

In this close call, a brave girl with bright big eyes and black short hair in a red dress held a kitchen knife and ran into the fighting place.

She blocked the view of the horrible monster, and then she shouted to the monster with her courage and loyalty.

怎么样?Diffusion Model 有没有惊艳到你?想不想自己动手试试呢?

End

崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,‍同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!

内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍

扫码购买

点个在看你最好看

火到爆的扩散模型(Diffusion Model)帮你具象化幻想世界相关推荐

  1. 扩散模型Diffusion Model 【质量提升2.0】【扩散模型】

    扩散模型Diffusion Model [质量提升2.0][扩散模型] 文章目录 扩散模型Diffusion Model [质量提升2.0][扩散模型] 一.扩散模型简介 二.前向扩散简介 三.逆向扩 ...

  2. 【理论推导】扩散模型 Diffusion Model

    VAE 与 多层 VAE 回顾之前的文章 [理论推导]变分自动编码器 Variational AutoEncoder(VAE),有结论 log ⁡ p ( x ) = E z ∼ q ( z ∣ x ...

  3. 扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码

    文章目录 1. 去噪扩散概率模型 2. 前向扩散 3. 反向采样 3. 图像条件扩散模型 4. 可以考虑改进的点 5. 实现代码 话不多说,先上代码: 扩散模型diffusion model用于图像恢 ...

  4. 【深度学习模型】扩散模型(Diffusion Model)基本原理及代码讲解

    前言 生成式建模的扩散思想实际上已经在2015年(Sohl-Dickstein等人)提出,然而,直到2019年斯坦福大学(Song等人).2020年Google Brain(Ho等人)才改进了这个方法 ...

  5. 扩散模型Diffusion Model

    背景(几种生成模型): GAN 模型因其对抗性训练性质而以潜在的不稳定训练和较少的生成多样性而闻名. VAE 依赖于替代损失.GAN与VAE都是训练出一个模拟分布. 流模型必须使用专门的架构来构建可逆 ...

  6. (2)扩散模型 Diffusion Model 1-2 扩散阶段

    1.前向过程 这样我们就可以由初始图像分布  直接算出某一时刻的图像分布  了 由于最后的图像  是基本上完全由噪声Z组成的,所以上述公式,应该是让  约等于 Z,这样就要求  约等于0 2.逆向过程 ...

  7. 【人工智能】深度学习:扩散模型(Diffusion Model) [2]

    文章目录 ⚪ 建模 L t L_t Lt​

  8. 扩散模型(Diffusion)最新综述+GitHub论文汇总-A Survey On Generative Diffusion

    扩散模型(Diffusion Model)最新综述+GitHub论文汇总-A Survey On Generative Diffusion 本综述来自香港中文大学Pheng-Ann Heng.西湖大学 ...

  9. 扩散模型 Diffusion Models - 原理篇

    扩散模型 Diffusion Models - 原理篇 参考博客及视频链接: What are Diffusion Models? Diffusion Model扩散模型理论与完整PyTorch代码详 ...

  10. 什么是扩散模型(Diffusion Models)?

    1. 到目前为止,有3种类型的生成模型,即GAN.VAE和基于Flow的模型.它们在生成高质量样本方面获得了巨大的成功,但每一种都有其自身的一些局限性.例如,GAN模型由于其对抗性训练的性质,以潜在的 ...

最新文章

  1. 数据结构之【数组和广义表】复习题
  2. HashMap原理总结
  3. 2010后的经济增长点再研究
  4. unittest 多个测试文件只开一次浏览器_接口测试平台代码实现75: 多接口用例15
  5. python多线程--theading模块
  6. oracle允许空行,oracle用户权限的一些基本操作
  7. corners边框_第11天|16天搞定前端,CSS的圆角边框,让人赏心悦目
  8. c语言简单的动画程序代码,发个C代码(简单动画演示)
  9. 离职10天,面了4家公司,我的感受...
  10. vs 和 rider 一决高下 结合开发dotnet应用
  11. Deepin深度操作系统安装 索尼Eye Toy摄像头,教程
  12. 【网络安全】学习笔记 --02 安全通信协议
  13. 2012移动开发者经济学
  14. Java——通过Java代码从ftp服务器下载文件
  15. sl4a+android截屏,使用SL4A Python在android桌面上显示数据(示例)
  16. mysql的填充因子_数据库SQL Server – 索引 – 填充因子
  17. 安卓自定义悬浮按钮实现
  18. linux常用命令(六)命令执行顺序控制与管道
  19. Visual Studio Code PlatformIo IDE 新建项目下载慢的解决办法
  20. 甘肃兰州年内发行市民卡

热门文章

  1. sqlyog的快捷键
  2. Proteus软件仿真学习——整流桥电路
  3. Listary的使用
  4. html跑马灯效果代码加速,网页特效_跑马灯特效代码大全一
  5. C++黑客编程——初识(1)
  6. 计算机excel素材,excel操作练习题素材.doc
  7. SQL Prompt快捷键
  8. MD5校验工具的使用
  9. 网络作业一(搭建域、linux加入windows域、wmic渗透使用、linux渗透的信息收集、域环境信息收集)
  10. MP3、MP4、MP5、PSP