欢迎光临
我们一直在努力

机器学习073:深度学习【神经网络】扩散模型:零基础看懂AI图像生成的魔法

你是否曾惊叹于AI绘制的精美图片,或玩过“输入一句话,生成一幅画”的趣味应用?这一切的背后,核心魔法师之一,便是扩散模型。它就像一个拥有无限耐心的“数字雕塑家”,能将一片混沌的噪声,一步步雕琢成你指定的任何图像。

一、分类归属:它是什么来头?

在我们开始“动手”之前,先给这位魔法师做个身份登记。

  • 提出的作者与时间:扩散模型的思想根源很早,但使其在图像生成领域大放异彩的关键工作,是2020年由Jonathan Ho等人提出的去噪扩散概率模型。可以把它看作是AI图像生成领域的一位“新晋巨星”。
  • 提出的背景与要解决的问题:在它之前,图像生成的“王者”是生成对抗网络。但GAN有个毛病——训练不稳定,就像两个学徒互相竞争,容易“学歪”。扩散模型另辟蹊径,它不搞对抗,而是采用了一种更稳定、更“循序渐进”的学习方式,专门用于从零开始生成高质量、高多样性的全新图像。
  • 在神经网络家族中的位置:
    • 按功能用途分:它属于 “生成模型” 。与识别猫狗的“判别模型”不同,它的核心任务是“无中生有”,创造新的数据。
    • 按训练方式分:它属于 “概率生成模型” 。它学习的是数据分布(比如“一幅好看的风景画应该是什么样子的概率”),然后从这个分布中采样出新图像。
    • 按结构特点分:它的核心是一个 U-Net结构的去噪网络。这个网络像一个精密的“细节恢复器”,我们后面会详细讲。

简单来说,扩散模型是一位专注于“创造性绘画”、通过“逐步去噪”的稳定方法来学习大师画作精髓的新生代艺术家。


二、底层原理:魔法是如何一步步实现的?

想象一下,你是一位雕塑家,面前有一块完美的天使大理石雕像。现在,我们反向演绎创作过程:

第一步:破坏(前向扩散过程)—— 把雕像变成乱石堆

你的助手开始恶作剧。他每天随机地向雕像扬一把沙土。第一天,雕像只是有点脏;一个月后,它完全变成了一堆看不出形状的乱石和沙土。

技术对应:这就是 “前向扩散过程” 。模型对一张清晰的图片(如猫的照片),逐步添加微小的、随机的噪声(可以理解为像素级的干扰)。经过几百甚至上千步后,图片就变成了一张完全随机的、像电视雪花屏一样的纯噪声图。这个过程是固定的数学公式,不需要学习。

#mermaid-svg-xxQ2hRMT6VqkLusP{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xxQ2hRMT6VqkLusP .error-icon{fill:#552222;}#mermaid-svg-xxQ2hRMT6VqkLusP .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xxQ2hRMT6VqkLusP .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xxQ2hRMT6VqkLusP .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xxQ2hRMT6VqkLusP .marker.cross{stroke:#333333;}#mermaid-svg-xxQ2hRMT6VqkLusP svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xxQ2hRMT6VqkLusP p{margin:0;}#mermaid-svg-xxQ2hRMT6VqkLusP .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP .cluster-label text{fill:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP .cluster-label span{color:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP .cluster-label span p{background-color:transparent;}#mermaid-svg-xxQ2hRMT6VqkLusP .label text,#mermaid-svg-xxQ2hRMT6VqkLusP span{fill:#333;color:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP .node rect,#mermaid-svg-xxQ2hRMT6VqkLusP .node circle,#mermaid-svg-xxQ2hRMT6VqkLusP .node ellipse,#mermaid-svg-xxQ2hRMT6VqkLusP .node polygon,#mermaid-svg-xxQ2hRMT6VqkLusP .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xxQ2hRMT6VqkLusP .rough-node .label text,#mermaid-svg-xxQ2hRMT6VqkLusP .node .label text,#mermaid-svg-xxQ2hRMT6VqkLusP .image-shape .label,#mermaid-svg-xxQ2hRMT6VqkLusP .icon-shape .label{text-anchor:middle;}#mermaid-svg-xxQ2hRMT6VqkLusP .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xxQ2hRMT6VqkLusP .rough-node .label,#mermaid-svg-xxQ2hRMT6VqkLusP .node .label,#mermaid-svg-xxQ2hRMT6VqkLusP .image-shape .label,#mermaid-svg-xxQ2hRMT6VqkLusP .icon-shape .label{text-align:center;}#mermaid-svg-xxQ2hRMT6VqkLusP .node.clickable{cursor:pointer;}#mermaid-svg-xxQ2hRMT6VqkLusP .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xxQ2hRMT6VqkLusP .arrowheadPath{fill:#333333;}#mermaid-svg-xxQ2hRMT6VqkLusP .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xxQ2hRMT6VqkLusP .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xxQ2hRMT6VqkLusP .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xxQ2hRMT6VqkLusP .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xxQ2hRMT6VqkLusP .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xxQ2hRMT6VqkLusP .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xxQ2hRMT6VqkLusP .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xxQ2hRMT6VqkLusP .cluster text{fill:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP .cluster span{color:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xxQ2hRMT6VqkLusP .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xxQ2hRMT6VqkLusP rect.text{fill:none;stroke-width:0;}#mermaid-svg-xxQ2hRMT6VqkLusP .icon-shape,#mermaid-svg-xxQ2hRMT6VqkLusP .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xxQ2hRMT6VqkLusP .icon-shape p,#mermaid-svg-xxQ2hRMT6VqkLusP .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xxQ2hRMT6VqkLusP .icon-shape rect,#mermaid-svg-xxQ2hRMT6VqkLusP .image-shape rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xxQ2hRMT6VqkLusP .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xxQ2hRMT6VqkLusP .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xxQ2hRMT6VqkLusP :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

清晰的原始图像如:一只猫

逐步添加少量噪声

“添加更多噪声”

“完全随机的噪声图一片混沌”

第二步:学习(训练过程)—— 教会AI如何“逆清理”

现在,我们请AI来当“修复大师”。我们给它看大量这样的“破坏过程”中间状态:比如一张被扬了10天沙土的雕像照片,然后告诉它:“看,这是第10天的状态,被破坏之前第9天应该是这样的。”

AI(核心是一个U-Net神经网络)的任务就是:观察一张“带噪”的图片,努力猜出混在其中的“噪声”是什么样子。它就像一个在毛玻璃上寻找污渍痕迹的专家。

核心设计(U-Net):这个网络结构像一个沙漏,又像一台精密的“细节显微镜”。

  • 下采样(编码):先不断压缩图片,抓住整体轮廓和高级语义(比如“这里大概是个猫头”)。
  • 上采样(解码):再结合之前压缩时的细节信息,把图片还原到原始尺寸,并专注预测每个局部细微的噪声。

训练逻辑:我们用成千上万张图片,反复进行“破坏->让AI预测噪声->对比正确答案”的过程。AI就在这个过程中,学会了**“如何从任何程度的混乱中,推断出使其变清晰的步骤”**。

第三步:创造(反向生成过程)—— 从乱石堆重塑雕像

训练完成后,魔法时刻到来!我们不再需要原始图片。

  • 我们随便生成一张完全随机的噪声图(就像一堆乱石)。
  • 把这张噪声图交给训练好的AI,问:“你觉得最后一步添加的噪声是什么?”
  • AI给出预测,我们从噪声图中减去这个预测的噪声,得到一张稍微清晰一点的图片。
  • 将这张稍微清晰的图片,再输入AI,让它预测倒数第二步的噪声,再减去……
  • 如此循环几百次,最终,一张全新的、清晰的、符合训练数据特征的图片诞生了!
  • 文字公式描述:较清晰的图像 = 较模糊的图像 – AI预测的噪声
    这个步骤循环迭代,直至噪声被完全移除。


    三、局限性:它并非万能

    尽管强大,这位数字雕塑家也有自己的局限:

  • “慢工出细活”:生成一张图片需要循环去噪几百步,计算量巨大,速度远不如一些老式生成模型(如GAN)。虽然现在有加速技术,但“一步成型”对它来说很难。

    • 为什么? 它的核心设计就是“循序渐进”,步子迈得小才稳,想跑得快就容易“摔倒”(图像质量下降)。
  • “抽象指令理解偏差”:你对它说“画一个充满希望和孤独的傍晚”,它能理解各个词,但组合起来的复杂意境很可能出现偏差,比如画出一个色调矛盾的奇怪场景。

    • 为什么? 它学到的是海量图片和文本标签的统计关联,而非人类真实的情感和哲学认知。
  • “细节控制不精确”:你想生成“一个穿红裙子、左耳戴蓝宝石耳环、右手拿咖啡杯的女人”,它很可能漏掉耳环,或者把杯子画在左手。精准控制画面每一个细节非常困难。

    • 为什么? 它的生成是全局概率性的,更像一种“朦胧的直觉绘画”,而非工程制图。

  • 四、使用范围:它擅长与不擅长的战场

    • 适合用它解决的问题:

      • 高质量图像生成:需要生成照片级真实感或高艺术性图片的场景。
      • 多样化创作:需要大量风格、内容各不相同的图片,用于激发灵感或数据增强。
      • 基于文本/条件的生成:根据一段文字描述、一张草图或一个类别标签来创造图像。
      • 图像编辑与增强:如超分辨率(让模糊变清晰)、图像修复(去掉照片中不需要的人或物)、风格迁移(把照片变成梵高画风)。
    • 不适合用它解决的问题:

      • 需要实时生成的场景:如游戏每一帧画面、高速视频处理。
      • 需要像素级精确控制的任务:如工业设计图纸生成、二维码生成。
      • 纯粹的理解与识别任务:如判断图像情感、识别特定物体等(这是判别模型的专长)。

    五、应用场景:走进我们生活的AI艺术

  • AI绘画工具:如Midjourney, Stable Diffusion, DALL-E 3。你输入“星空下的机械城堡”,几分钟内就能获得数张风格各异的作品。扩散模型是这些工具的“核心引擎”,负责将你的文字梦想转化为视觉现实。
  • 影视与游戏概念设计:设计师只需用文字描述脑海中的怪物、场景或服装,AI就能快速生成多个概念草图,极大加速前期创作流程。
  • 广告与营销素材生成:电商平台可以快速为一件商品生成在不同场景(海滩、客厅、办公室)下的展示图,而无需 costly 的实景拍摄。
  • 教育科普插图生成:老师讲解“恐龙时代的地球生态”,可以实时生成对应场景的生动插图,让教学更加直观有趣。
  • 老旧照片修复与着色:将模糊、破损或有噪点的老照片输入,AI能智能地补全缺失部分,并推测合理的颜色为其上色。扩散模型在这里扮演“数字修复师”,一点点去除时光留下的“噪声”。

  • 六、动手体验:一个简单的Python实践

    让我们用几行代码,亲身体验一下扩散模型的生成能力。我们将使用一个流行的开源库 diffusers。

    # 首先,确保安装必要的库(在命令行中运行):
    # pip install diffusers transformers accelerate torch pillow

    from diffusers import StableDiffusionPipeline
    import torch
    import matplotlib.pyplot as plt

    # 1. 加载预训练的扩散模型管道(这里使用一个精简版模型,确保运行速度)
    # 第一次运行需要下载模型,可能需要几分钟
    print("正在加载AI模型,请稍候…")
    pipe = StableDiffusionPipeline.from_pretrained("OFA-Sys/small-stable-diffusion-v0")
    # 如果你的电脑有GPU,可以加速:pipe.to("cuda")

    # 2. 给你的数字雕塑家一个创作指令
    prompt = "A beautiful butterfly resting on a vibrant sunflower, detailed, photorealistic"
    # 提示词可以换成任何你想要的描述,如"A futuristic city in the style of cyberpunk"

    # 3. 开始生成!
    print("正在生成图像…")
    image = pipe(prompt).images[0] # 执行生成步骤

    # 4. 展示你的作品
    print("生成完成!")
    image.show() # 会弹出图片查看窗口
    # 或者保存下来
    image.save("my_ai_artwork.png")
    print("图片已保存为 'my_ai_artwork.png'")

    # 可选:用matplotlib显示
    # plt.imshow(image)
    # plt.axis('off') # 不显示坐标轴
    # plt.show()

    这段代码做了什么?

    • 我们调用了一个已经训练好的“扩散模型雕塑家”(StableDiffusionPipeline)。
    • 给了它一句文字指令(prompt)。
    • 它内部自动完成了从随机噪声开始,逐步去噪、最终生成图像的全过程。
    • 我们把最终的作品显示并保存下来。

    请注意:这只是体验调用,真正的模型训练需要海量数据和巨大的计算资源。但通过这个例子,你可以直观感受到扩散模型的生成能力。


    七、总结与思维导图

    扩散模型的核心价值在于,它找到了一条稳定、高质量地“从噪声中创造秩序” 的路径,让机器的创造性想象得以大规模可视化。学习它的重点,在于理解 “逐步去噪” 这一核心哲学,以及其背后 “训练时学习噪声预测,生成时执行噪声移除” 的巧妙对称。

    为了帮你梳理整个知识体系,请看下面的思维导图:

    #mermaid-svg-6q5xJAmZOaJowDz5{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6q5xJAmZOaJowDz5 .error-icon{fill:#552222;}#mermaid-svg-6q5xJAmZOaJowDz5 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6q5xJAmZOaJowDz5 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6q5xJAmZOaJowDz5 .marker.cross{stroke:#333333;}#mermaid-svg-6q5xJAmZOaJowDz5 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6q5xJAmZOaJowDz5 p{margin:0;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge{stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 text{fill:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon–1{font-size:40px;color:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge–1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth–1{stroke-width:17;}#mermaid-svg-6q5xJAmZOaJowDz5 .section–1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-0{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-0{stroke-width:14;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-1{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-1{stroke-width:11;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 text{fill:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-2{stroke-width:8;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-3{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-3{stroke-width:5;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-4{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-4{stroke-width:2;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-5{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-5{stroke-width:-1;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-6{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-6{stroke-width:-4;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-7{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-7{stroke-width:-7;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-8{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-8{stroke-width:-10;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-9{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-9{stroke-width:-13;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 polygon,#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 text{fill:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .node-icon-10{font-size:40px;color:black;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .edge-depth-10{stroke-width:-16;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled circle,#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:lightgray;}#mermaid-svg-6q5xJAmZOaJowDz5 .disabled text{fill:#efefef;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-root rect,#mermaid-svg-6q5xJAmZOaJowDz5 .section-root path,#mermaid-svg-6q5xJAmZOaJowDz5 .section-root circle,#mermaid-svg-6q5xJAmZOaJowDz5 .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-6q5xJAmZOaJowDz5 .section-root text{fill:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-root span{color:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .section-2 span{color:#ffffff;}#mermaid-svg-6q5xJAmZOaJowDz5 .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-6q5xJAmZOaJowDz5 .edge{fill:none;}#mermaid-svg-6q5xJAmZOaJowDz5 .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-6q5xJAmZOaJowDz5 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    扩散模型:AI图像生成魔法

    核心理念

    “逐步去噪”哲学

    从噪声中创造秩序

    工作原理

    前向过程(破坏)

    “添加噪声”至混沌

    训练过程(学习)

    核心: U-Net

    任务: 预测噪声

    反向过程(生成)

    “减去噪声”至清晰

    循环迭代

    独特优势

    生成图像质量高

    多样性丰富

    训练相对稳定

    固有局限

    生成速度较慢

    理解抽象概念有偏差

    控制精细细节难

    主要应用领域

    AI艺术创作

    如Midjourney

    设计辅助

    游戏影视概念

    图像修复增强

    老照片上色

    创意营销素材

    技术定位

    生成模型家族

    概率生成方式

    代表: DDPM, Stable Diffusion

    赞(0)
    未经允许不得转载:171主机测评 » 机器学习073:深度学习【神经网络】扩散模型:零基础看懂AI图像生成的魔法
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址