How Diffusion Models Work

How Diffusion Models Work

扩散模型如何工作

Intuition(直觉)

Making images useful to a neural network(使图像对神经网络有用)

噪声处理:添加不同的噪声级别到训练数据中。

灵感来源于物理学,你可以想像一滴墨水滴入一杯水中,最初你确切地知道它落在哪里,但随着时间的推移,你看到到扩散到水中,直到消失。

神经网络真正应该思考的是在每个噪声级别,当你逐渐向图像添加噪声时:

  1. Bob the Sprite!: 如果是 Bob Sprite,你想让神经网络说那是 Bob Sprite,让 Bob 保持原样。
  2. Probable Bob: 如果可能是 Bob Sprite,你可能想让神经网络说你知道这里有些噪声,建议可能填写的详细信息,让它看起来就像 Bob Sprite。
  3. Well, Bob or Fred...: 如果它只是精灵的轮廓,你想建议可能的精灵的一般细节。
  4. No Idea: 如果看起来什么也不知道,建议提出什么是轮廓,让它看起来更像精灵。

Training a neural network to make sprites(训练神经网络制作精灵)

神经网络学习不同的噪声图像并将它们变回精灵。

它学会消除您添加的噪声。

"No Idea" 的噪声级别很重要,因为它是正态分布的,每一个像素的采样都来自于正态分布。

Building Systems with the ChatGPT API

Building Systems with the ChatGPT API

使用 ChatGPT API 构建系统

Language Models, the Chat Format and Tokens(语言模型、聊天格式和 Tokens)

Load OpenAI API key

import os
import openai
import tiktoken
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file

openai.api_key  = os.environ['OPENAI_API_KEY']

LangChain for LLM Application Development

LangChain for LLM Application Development

LangChain 是用于构建 LLM 应用程序的开源框架

LLM 应用程序开发的 LangChain

LangChain: Models, Prompts and Output Parsers

安装依赖包

pip install python-dotenv
pip install openai

ChatCompletion import os import openai from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # read local .env file openai.api_key = os.environ['OPENAI_API_KEY'] def get_completion(prompt, model="gpt-3.5-turbo"): messages = [{"role": "user", "content": prompt}] response = openai.ChatCompletion.