Pytorchなどの既存の機械学習用ライブラリを使わずにC++とCUDAを使ってゼロから画像生成AIを作っている
画像生成モデルにはGAN、VAE、拡散モデルなどがあるが
巷で話題のStable DiffusionというのはVEAと拡散モデルを両方取り入れたもの
ただし、Stable Diffusionにはprompt embeddingというユーザーの入力であるテキストプロンプトをニューラルネットワークに埋め込む構造が存在しているが
自分が作ろうとしているのは単純に正規分布の乱数列を入力すると任意の画像が生成されるという改造版のStable Diffusionなので
prompt embeddingを使わない方向で行こうと思う
画像生成AIを作る
2025/01/19(日) 13:52:21.32ID:dMmOXYWM
Stable Diffsionのトレーニング手順としては
VAEのトレーニングと拡散モデルのトレーニングの二つの段階に分けられる
VAEはエンコーダとデコーダを持つモデルで、画像を低次元の潜在空間に圧縮し、その表現を使って元の画像を再構築する
拡散モデルのトレーニングはVAEで学習された潜在空間上で行われる
つまり、VAEが正しく画像を圧縮と再構築できなければ、次の段階である拡散モデルのトレーニングに進むこともできない
VAEのトレーニングと拡散モデルのトレーニングの二つの段階に分けられる
VAEはエンコーダとデコーダを持つモデルで、画像を低次元の潜在空間に圧縮し、その表現を使って元の画像を再構築する
拡散モデルのトレーニングはVAEで学習された潜在空間上で行われる
つまり、VAEが正しく画像を圧縮と再構築できなければ、次の段階である拡散モデルのトレーニングに進むこともできない
VAEのトレーニングは先週から始めた
自分のPCのGPUのVRAMは16GBしかないため
もともとのstable diffusionで使われたいた512×512サイズの画像で学習することはできず、128×128で学習している
MSE lossは今では0.02なんだけど
再構築された画像はまだ微妙な感じ
https://i.imgur.com/nxwODSu.png
https://i.imgur.com/Vv32Cf2.png
自分のPCのGPUのVRAMは16GBしかないため
もともとのstable diffusionで使われたいた512×512サイズの画像で学習することはできず、128×128で学習している
MSE lossは今では0.02なんだけど
再構築された画像はまだ微妙な感じ
https://i.imgur.com/nxwODSu.png
https://i.imgur.com/Vv32Cf2.png
11デフォルトの名無しさん
2025/01/21(火) 08:30:55.42ID:yRL5l1cZ QRコードの質問此処で良い?
stable diffusionの構造に関してネットいろんな記事を見てきたけど
自分が見つけた実装レベルまで詳しく解説してくれているのは以下です
https://blog.csdn.net/xd_wjc/article/details/134441396
自分が見つけた実装レベルまで詳しく解説してくれているのは以下です
https://blog.csdn.net/xd_wjc/article/details/134441396
数日VAEをトレーニングしてみたが
最構築された画像はどれも>>10のようなぼやけているものばかり
ChatGPTに聞いてみたところ、どうやらMSEの短所らしい
MSEはピクセル単位で誤差を判断するため、キャラクターの輪郭など全体的な特徴を評価するのが苦手
全体的な誤差を評価するために、画像の類似度を示せるSSIMがいいらしい
合っているかどうかわからないが、とりあえずMSEとSSIMを組み合わせて使おうと思う
最構築された画像はどれも>>10のようなぼやけているものばかり
ChatGPTに聞いてみたところ、どうやらMSEの短所らしい
MSEはピクセル単位で誤差を判断するため、キャラクターの輪郭など全体的な特徴を評価するのが苦手
全体的な誤差を評価するために、画像の類似度を示せるSSIMがいいらしい
合っているかどうかわからないが、とりあえずMSEとSSIMを組み合わせて使おうと思う
2025/01/22(水) 21:27:34.18ID:Ggey4yUO
stable diffusionの画像生成プロセスを観てると、夢ん中で作られていく感じに似てるとおもた
17デフォルトの名無しさん
2025/01/24(金) 11:01:44.72ID:BC4ZbKEp VAEから作ってんのか
なかなか真面目じゃん
なかなか真面目じゃん
>>17
ありがとうございます
一応C++標準ライブラリとCUDA以外のライブラリは使わないつまりなので
VAEを作る前の段階として
tensorや主要なニューラルネットワークの層も自作しています
ただ、png画像の読み込みと出力はopencvを使い、グラフのプロットはgnuplotを使っています
どちらも複数のOSに対応しているので、環境構築は非常に簡単です
ありがとうございます
一応C++標準ライブラリとCUDA以外のライブラリは使わないつまりなので
VAEを作る前の段階として
tensorや主要なニューラルネットワークの層も自作しています
ただ、png画像の読み込みと出力はopencvを使い、グラフのプロットはgnuplotを使っています
どちらも複数のOSに対応しているので、環境構築は非常に簡単です
2025/01/24(金) 18:36:35.48ID:NBK/ONYA
ソース公開する気ないならただの日記だよ?
ソースは完成したら公開する予定です
readme.mdはまだ書いていないのと、ライセンス関係はまだよくわからないので
今は公開できないです
readme.mdはまだ書いていないのと、ライセンス関係はまだよくわからないので
今は公開できないです
2025/01/24(金) 21:58:30.76ID:5i0pdKkE
ただの統失の日記スレ
23デフォルトの名無しさん
2025/04/29(火) 00:25:24.70ID:/Qf//3PH どう?開発進んだ?
レスを投稿する
ニュース
- れいわ議員「母親はね、子どもを戦争に行かせるために産んだんじゃないんだよ」 高市総理に“10秒回答”迫り、残り5分は“独壇場” [♪♪♪★]
- 「こども2万円給付」は“ずるい”?「子持ちだけ優遇されてる」「来年から独身税もあるのに」…子育て世帯への支援は“不公平”なのか★3 [♪♪♪★]
- 高市首相「従来の立場超えたと受け止められ反省」 存立危機発言巡り ★3 [蚤の市★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★6 [nita★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- 鶏へ。
- ここだけお嬢様🎀(´・ω・)
- 米山隆一「東大理三です、医師です、弁護士です、医学博士です」←こいつが総理大臣になれない理由
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪
- 【高市速報】ヤフコメアンケート「上野動物園にパンダは必要?」パンダはいらないが脅威の90%😳 [931948549]
- 【高市速報】ヤフコメアンケート「上野動物園にパンダは必要?」パンダはいらないが脅威の90%😳★2 [931948549]
