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
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Colaboratory でStable Diffusionの実装 / Implementation of Stable Diffusion at Google Colaboratory
Google Colaboratory でStable Diffusionを実装しました。少し遊んでみたのと、構造も少し調べました。
tasotaku
October 29, 2022
More Decks by tasotaku
See All by tasotaku
duel_masters_RAG
tasotaku
0
120
DQNによるポーカーの強化学習/Reinforcement Learning in Poker with DQN
tasotaku
0
880
オセロCPU/Othello CPU
tasotaku
0
200
オセロAI / OthelloAI
tasotaku
0
240
私、ChatGPTがChatGPTを解説するよ! / ChatGPT explains ChatGPT
tasotaku
0
530
機械学習入門
tasotaku
0
510
AIが作る予想外な画像を考える / Consider the unexpected images that AI creates
tasotaku
0
370
Other Decks in Programming
See All in Programming
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
360
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
130
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
280
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2k
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
220
仕様駆動開発の消費期限
watany
20
8.8k
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
140
Cloudflare is Agents
chimame
0
170
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
730
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
360
Paper Plane
katiecoart
PRO
2
53k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
440
Producing Creativity
orderedlist
PRO
348
40k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
A Tale of Four Properties
chriscoyier
163
24k
Odyssey Design
rkendrick25
PRO
2
770
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