人工知能と親しくなるブログ

人工知能に関するトピックを取り上げるブログです

2023-04-01から1ヶ月間の記事一覧

誰でもわかるStable Diffusion その10:U-Netの各ブロックの働き

前の記事まで、Stable Diffustionで使われているU-Netがどういう仕組みで画像データを処理しているのかをずっと見てきました。 一通り説明が終わったので、U-Netの全体像と、各ブロックが何をしているのかを少し詳しく眺めていきます。 U-Netについては以前…

誰でもわかるStable Diffusion その9:U-Net(画像データの縮小、拡大)

Stable Diffusionの心臓部であるU-Net解説の9回目です。 これまでU-Netの重要なパーツであるResブロック、Attentionブロックを見てきました。 すでに解説したこれらのブロックでは処理によって画像データのサイズは変わりませんでした。 しかし、処理によっ…

誰でもわかるStable Diffusion その8:AttentionとTransformer

前回はU-Netの「テキストを取り込む」機能であるAttentionブロックを見ましたが、その中で特に大切な「Attention」パートについては概要しか説明しませんでした。 今回はそのAttentionについて詳しく見ていきますが、その前にAttentionを行うメカニズムであ…

誰でもわかるStable Diffusion その7:U-Net(テキストを画像に反映するAttentionブロック)

今回はStable Diffusionがどうやってテキストを画像に反映させているのかを見ていきます。 重要な役割を担うのは「Attention」です。これには「Transformer」というメカニズムが使われていますが、これは少し複雑なので今回は詳細は省いて、大まかに何をして…

誰でもわかるStable Diffusion その6:U-Net(IN1、Resブロック)

Stable DiffusionのU-Net解説の3回目です。 今回はIN1ブロックの中にある「Resブロック」を詳しく見ます。 IN1ブロックは「Resブロック+Attentionブロック」 IN1ブロックの構造 Resブロックの構造 Group Norm:グループごとに正規化 SiLU:非線形な要素を加…

誰でもわかるStable diffusion その5:U-Net(IN0ブロックと畳み込み)

Stable Diffusionで使われるU-Netの最初のブロック、IN0層についての説明です。 IN0層はU-Netの一番左上 IN0ブロックのやっていること 畳み込み処理とは 畳み込みの具体例 まとめ IN0ブロックのやっていること IN0ブロックは、最初に画像を受け取るブロック…