Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Colaboratory でStable Diffusionの実装 / Impl...
Search
tasotaku
October 29, 2022
Programming
0
390
Google Colaboratory でStable Diffusionの実装 / Implementation of Stable Diffusion at Google Colaboratory
Google Colaboratory でStable Diffusionを実装しました。少し遊んでみたのと、構造も少し調べました。
tasotaku
October 29, 2022
Tweet
Share
More Decks by tasotaku
See All by tasotaku
duel_masters_RAG
tasotaku
0
6
DQNによるポーカーの強化学習/Reinforcement Learning in Poker with DQN
tasotaku
0
770
オセロCPU/Othello CPU
tasotaku
0
150
オセロAI / OthelloAI
tasotaku
0
160
私、ChatGPTがChatGPTを解説するよ! / ChatGPT explains ChatGPT
tasotaku
0
460
機械学習入門
tasotaku
0
430
AIが作る予想外な画像を考える / Consider the unexpected images that AI creates
tasotaku
0
320
Other Decks in Programming
See All in Programming
Blazing Fast UI Development with Compose Hot Reload (Bangladesh KUG, October 2025)
zsmb
2
370
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
880
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
Devoxx BE - Local Development in the AI Era
kdubois
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
710
CSC305 Lecture 12
javiergs
PRO
0
240
AI Agent 時代的開發者生存指南
eddie
4
2.2k
iOSでSVG画像を扱う
kishikawakatsumi
0
170
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.8k
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
330
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
260
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
100
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Navigating Team Friction
lara
190
15k
For a Future-Friendly Web
brad_frost
180
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Side Projects
sachag
455
43k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Transcript
Google Colaboratory で Stable Diffusionの実装 B2 tasotaku
もくじ ◼ Stable Diffusion とは ◼ Stable Diffusion の特徴 ◼
Diffusers ◼ Stable Diffusion の中身
Stable Diffusion とは ◼ Stable Diffusion とは、文章から画像を生成するAI ◼ Google Colaboratory
での実装方法はこちら ◼ できること ⚫ 文章から画像を生成 ⚫ 生成した画像を微調整する ⚫ 文章と画像から新たな画像を生成 ⚫ etc
Stable Diffusion の特徴 ◼ 解像度の高い画像を生成できる ◼ メモリや時間がかからない ⚫ ノートパソコンでも Google
Colaboratory で実行可能 ◼ 特定のジャンルに弱い ⚫ 学習に使ったデータセットに起因? ⚫ ファインチューニングすれば解決 ◼ 作成した画像はフリー画像
文章から画像を生成 a photograph of an astronaut riding a horse
画像と文章から画像を生成 Gold desk +
画像とマスク画像と文章から画像を生成 ◼ マスク画像を使うことで、部分的に調整が可能 robot
ファインチューニング ◼ 特定の画像で訓練することで、苦手な分野に対応する ファインチューニング前 ファインチューニング後
Diffusers ◼ Diffusers とは、段階的にノイズ除去するように訓練された機械学習システム ◼ Stable Diffusion はこれをベースに作られている 引用: https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/diffusers_intro.ipynb
Stable Diffusion の中身 ◼ Latents ◼ A text-encoder ◼ A
U-Net ◼ Scheduler ◼ An autoencoder (VAE) 引用: https://huggingface.co/blog/stable_diffusion
Stable Diffusion の中身 ◼ Latents ◼ A text-encoder ◼ A
U-Net ◼ Scheduler ◼ An autoencoder (VAE) 引用: https://huggingface.co/blog/stable_diffusion
Latents ◼ seed値をもとにノイズ画像を作る ◼ その画像を U-Net が扱えるように、 画素行列(latents)に変換 ◼ 出力する画像は
512 × 512 なのに対して、 latents はより低次元である ◼ こうすることで、メモリと計算量を軽減している 引用: https://huggingface.co/blog/stable_diffusion
text-encoder ◼ 文章をU-Netが理解できるかたちに変換する ◼ 機械翻訳ではないので、文法はあまり見ない ⚫単語(キーワード)を複数与えるだけでも機能する 引用: https://huggingface.co/blog/stable_diffusion
U-Net と Scheduler ◼ U-Net を用いて、文章をもとにノイズ画像を ノイズの少ない画像にする ◼ Scheduler で二つの画像のノイズの差を
計算してフィードバック ◼ これを繰り返して画像(のlatents) を生成する ◼ U-Net は ResNet からなるエンコーダーと デコーダーをもつ ◼ Scheduler は複数種類があり、選ぶことができる 引用: https://huggingface.co/blog/stable_diffusion
autoencoder (VAE) ◼ U-Net で生成した latents を、画像に 復号(decode)して画像を出力する ◼ VAE
はエンコーダー(encoder)と デコーダー(decoder)の二つの部分からなる ◼ 画像生成ではデコーダーしか使わないが、 訓練する時にエンコーダーも使う 引用: https://huggingface.co/blog/stable_diffusion
学習 ◼ 元の画像にノイズをかける ◼ 文章を加えてノイズを取り除く ◼ 出力と元の画像、文章から損失を計算する 文章 比較
最後に ◼ 扱いやすさを重視したお絵描きAI ◼ フリー画像の新たな選択肢 ◼ すでに Stable Diffusion を利用したアプリなどが登場している
◼ Diffusers は用途が多く、音声や動画バージョンも作成予定らしい
参考 ◼ https://github.com/huggingface/diffusers ◼ https://colab.research.google.com/github/huggingface/noteb ooks/blob/main/diffusers/stable_diffusion.ipynb