2023.10DataWhale扩散模型学习笔记——Week1

项目地址:https://datawhaler.feishu.cn/docx/PfUFdqkoOoGeqBx6dYVclVWwntd

Notebook地址(推荐使用google colab打开):https://github.com/huggingface/diffusion-models-class/tree/main/unit1

推荐阅读材料:《扩散模型-从原理到实战》第一、二、三、四章

第一章 扩散模型简介

扩散模型基础介绍

扩散模型是一种生成模型。生成模型的学习目标是对训练数据的分布进行建模。

扩散模型的扩散过程包含前向过程反向过程。前向过程给数据添加噪声;反向过程则是去除噪声,从随机噪声中恢复清晰数据。

扩散模型发展阶段


扩散模型的发展经历了若干阶段,目前大模型结合DreamBooth、LoRA、ControlNet微调的方式可以生成属于自己风格的图像。

扩散模型应用场景

· 计算机视觉(图像分割、目标检测、超分辨率、图像修复)

· 时间序列预测(气象、股票、产能)

· 自然语言处理 (翻译、问答、情感分析、文章续写)

· 基于文本的多模态(文本生成图像、文本生成视频、文本生成3D)

· AI基础科学(蛋白质结构生成、原子材料结构)

第二章 Hugging Face简介

HuggingFace是一个开源机器学习平台。https://huggingface.co/

HuggingFace为我们提供了:

1. 超过7万份可供模型训练的数据集(截止2023.10)

2. 超过36个开源预训练模型。模型配有模型卡对该模型进行描述和使用方式的说明

3. 在线推理:

打开 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0

在Hosted inference API的对话框中输入一段文字描述,点击“Compute”即可在线使用该模型生成图片。例如,在对话框中输入"Cyberpunk cat",即可生成一张赛博朋克风格的猫咪,每次生成的画面会有所不同。

4.可供我们在自己代码中调用的模型API

5. 我们可以在HuggingFace Spaces上部署自己的AI用用程序

第三章 从零开始搭建扩散模型

本章内容建议结合https://github.com/huggingface/diffusion-models-class/tree/main/unit1中的两份代码共同食用。

模型介绍

输入:加入噪音后的训练图片

输出:模型预测的“去噪”后图片,输出图片维度与输入图片维度相同。

架构上一般是downsample + upsample两步走,并插入残差连接。

训练步骤

1. 准备数据(数据下载,transform,以及构建Dataloader)

2. 对于Dataloader中的每个batch,给数据添加噪音,添加噪音的方式多种多样,可以通过手动生成一组随机噪音,并和训练数据图片相加,也可以通过sceduler;

3. 将添加噪音后的图片放入模型进行预测。

4. 计算损失,可以计算模型预测值和真实图片的误差,也可以计算模型预测值和噪音(noise)的误差

5. 更新网络权重

模型推理——如何从随机噪声生成图片

方式一:直接将随机噪声放入模型预测,模型预测即为生成的图片,这种方式效果不好;

方式二:分多步骤预测。同样起始于随机噪声,分多次放入模型进行预测,并且每次将预测图片和输入图片进行加权平均,缓慢的迭代图片和去除噪音。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值