
コース概要を説明します。
受講対象者について説明します。基本的に、どなたでも受講できます。
Google アカウントが必要になります。お持ちでない方は、作っておいてください。
このセクションの概要です。
Stable Deffusionの概要を解説します
Stable Deffusionの概要を解説します
理屈は後回しにして、早速動かしてみましょう。どんな画像を生成できるでしょうか。
学習モデルを変えることで、いろいろなタイプの画像を生成できます。モデル選びの楽しさを味わいましょう。
VAEというモデルを導入します。これによって薄い画像を鮮明にできます。
教材を実行して、実際に肖像画を生成させてみましょう。自分のパソコンに表示された時は感動します。
オープンソースで公開されているStable Diffusionですが、学習モデルの利用には注意が必要です。著作権についてみていきましょう
このセクションの概要です。
もっとも簡単な使い方を紹介いたします。すでに使い慣れている方は、このセクションは飛ばしても大丈夫です。
プロンプトとは反対のキーワードを入れて、より理想的な画像を生成できます。いろいろと試してみましょう。
プロンプトには優先順位があります。どのようなことなのかみていきましょう。
単に画像を生成するだけでなく、より良い画質で生成させる方法も紹介します。
カメラ写真を撮るように、プロンプトで、構図、画角などを決めることができます。また、被写体のポーズもプロンプトで指定できます。
プロンプトの単語を強調左折ことができます。その方法を紹介します。
被写体の切り抜き具合や比率を指定してみます。
ネット上では様々なプロンプトが紹介されています。その一部を掲載しています。
このセクションの概要です。
過去に生成した画像をもう一同生成させたい。そんな時はシード値を固定しましょう
画像サイズとその指定について解説します。どういった値が適切なのでしょうか。
プロンプトをどれほど強く生成画像に影響させることができるか、試してみましょう
影響度 (guidance scale) の仕組みが論文で紹介されているので、確認してみます。
推論回数を変動させて、画質や生成スピードを調節しましょう
出力画像を指定して一度に複数の画像を生成できます。
このセクションの概要です。
画像から画像を生成する方法を紹介します。Stable Diffusionの醍醐味の一つとも言えます。
手書きのラフスケッチから、綺麗な画像に仕上げることもできます。ペイントソフトと教材で試してみましょう。
手書きのラフスケッチから、綺麗な画像に仕上げることもできます。ペイントソフトと教材で試してみましょう。
手書きのラフスケッチから、綺麗な画像に仕上げることもできます。ペイントソフトと教材で試してみましょう。
手書きのラフスケッチから、綺麗な画像に仕上げることもできます。ペイントソフトと教材で試してみましょう。
手書きのラフスケッチから、綺麗な画像に仕上げることもできます。ペイントソフトと教材で試してみましょう。
手書きのラフスケッチから、綺麗な画像に仕上げることもできます。ペイントソフトと教材で試してみましょう。
写真の一部を白く塗りつぶして、プロンプトで指定した画像に変更することができます。教材の写真で試してみましょう。
教材の簡易塗りつぶしツールであるファーチャンネルの作り方を紹介します。
マクスされた部分が、プロンプトどおりに変換されるかどうか、確認してみましょう。
Stable Diffusion では、職場などで 見るのにふさわしくない(Not Safe For Work)画像が生成されることがあります。Safety checkerとの関係について確認します。
アニメが好きな方は、教材をダウンロードして、鉛筆でスケッチした画像からアニメ調の画像を生成してみましょう。Safety checker を外して生成させます。
このセクションの概要を解説します
プログラミング初心者の方のためのPythonの基本を学びます。
ブラウザのコンソールに文字や計算結果を出力させてみます。プログラミングの第1歩です。
変数について学びます。変数を拡張したものが配列と辞書です。
If文による条件分岐とFor文による繰り返しを学びます。
関数を作れば、長い処理も繰り返し使えます。関数を作ってプログラミングを省エネ化しましょう。
自分で思いつく関数を作って、Q&Aに投稿してみましょう。
クラスというオブジェクト指向について学びます。わかりやすく言えば、関数とデータをまとめて扱えるようにする方法です。
引き続きクラスについて学びます。7行で簡単なエンコーダーを作てみましょう。
エンコーダークラスで圧縮したデータを復元させるプログラムを作って、Q&Aに投稿してみましょう。
正解はありませんので、いろいろと考えてみましょう。
Numpyライブラリーを行列計算や正規分布で学びます。
このセクションの概要です。
Stable Diffusionの概要について学びます。
Stable Diffusionの3大構造について学びます。まずは大きな仕組みから学んでいきましょう。
機械学習でよく使うモデルという言葉について、一般的な意味と一緒に学びます。
ネットに記事や論文に現れる記号のうち、逆行プロセスの記号について学びます。一見難しそうですが、慣れてしまえば難しくありません。Stable Diffusionに関係ある基本的な記号をここで学んでおきましょう。
順行プロセスでの記号について学びます。
このセクションの概要です。
いよいよ拡散モデルに入っていきます。Stable Diffusionの一番大切な部分について学んでいきます。
拡散プロセスの順行処理について、具体的に見ていきます。
拡散プロセスの順行処理について、具体的に見ていきます。
教材を使って、拡散プロセスの順行処理を実行していきます。実際に画像が変化していく様子を確認していきましょう。
教材を使って、拡散プロセスの順行処理を実行していきます。実際に画像が変化していく様子を確認していきましょう。
教材を使って、拡散プロセスの順行処理を実行していきます。実際に画像が変化していく様子を確認していきましょう。
教材を使って、拡散プロセスの順行処理を実行していきます。実際に画像が変化していく様子を確認していきましょう。
順行プロセスでの数学的背景を取り上げています。
拡散プロセスの逆行処理について学びます。これが、生成過程となります。
教材を使って、逆拡散プロセスを確認してみます。無から有が生まれる様子を確認してみましょう。
教材を使って、逆拡散プロセスを確認してみます。
逆行プロセスでの数学的背景を取り上げています。
拡散プロセスでは、いろいろなノイズの加え方があります。そのうちコサイン・スケジュールについて、教材と論文で学びます。
拡散プロセスでは、いろいろなノイズの加え方があります。そのうちコサイン・スケジュールについて、教材と論文で学びます。
分散スケジュール数学的背景を取り上げています。
分散スケジュールの処理内容について、コーディングレベルで分解してみました。
興味のある方は、教材をご覧ください。
拡散モデルの学習プロセスについて学びます。図解でわかりやすく解説します。
fashion Mnistデータセットを使って、学習プロセスを確認します。、無から有が生まれる様子を確認してみましょう。
fashion Mnistデータセットを使って、学習プロセスを確認します。、無から有が生まれる様子を確認してみましょう。
レクチャーに何度も出てくるガウス分布について学びます。ガウス分布は正規分布とも呼ばれています。イラストや統計グラフで学んでいきます。
ガウス分布の意味を教材のプログラムを動かして確認していきます。数式もコードと照らし合わせて確認してみましょう。
ガウス分布の意味を教材のプログラムを動かして確認していきます。数式もコードと照らし合わせて確認してみましょう。
ガウス分布を使って、パン屋の不正を見破った、アンリ・ポアンカレのお話を紹介します。意外な所に統計学が使われていました。
レクチャーで何度か登場するマルコフ連鎖について学びます。難しい理論ではないので、気楽にみていきましょう。
生成AIの分野に登場する、もっとも難解な理論が変分推論です。何をどうしたいのか、イラストで解説していきます。
このセクションの概要です。
VAEはオートエンコーダーから成り立っています。まずは基本から学んでいきましょう。
オートエンコーダーの構造をネットワークモデルのイラストで学びます。なぜ、このようなモデルが生まれたのかという理由も確認しておきましょう。
オートエンコーダーは素晴らしいモデルですが、偏った生成結果をもたらします。表題の意味が何であるのか、確認してみましょう。
StyleGANのコースでも紹介している潜在空間について学びます。難しそうですが、わかりやすく解説します。
表題の通り、ウニのトゲ先から、ナマコの表面へと変化したものがVAEです。一体どのようなメリットがあるのか、確認していきあしょう。キーワード:潜在空間
潜在空間をガウス分布で再パラメータ化できるようにしたオートエンコーダーがVAEです。その巧妙な手口を覗いてみましょう。
VAEを概念図で解説します。抽象的な部分ですが、饅頭とレシピに置き換えて解説しています。わからないところは質問してみましょう。
VAEとDiffusionモデルの関係を潜在空間をキーワードに学んでいきます。どうして、Stable Diffusion にVAE
があるのか理解しておきましょう。
潜在変数について、数学や情報理論とは別の視点から考えてみましょう。身近なもので考えると、大変わかりやすいです。
観察できない潜在空間とは何なのでしょうか。鏡の国の視点から検討してみます。
教材を改造して、潜在空間を表示してみることにしましょう。見える化することによって、理解が深まります。
教材を改造して、潜在空間を表示してみることにしましょう。見える化することによって、理解が深まります。
このセクションの概要です
U-Netとはどのようなものなのか、その全体像を学びます。
キーワード:畳み込み、セグメンテーション
U-Netのネットワーク構造について学びます。それぞれのブロックが、どのように関係しているのか、確認しましょう。
U-Netの基本的な単位である畳み込みについて、どのようjな効果があるのか学びます。
教材を使って、実際に畳み込みを体験してみましょう。学習済みのモデルを組み込んだ手書き文字認識ツールも使って、存分に畳み込みの魅力を味わってください。
U-Netは、オートエンコーダーの構造をとっているとも言えます。簡単に確認しておきましょう。
細胞の写真画像とマスク画像のデータセットを使って、U-Netで学習させて、マスク画像が生成されるかどうか確認してみましょう。
画像生成AIの中でも、一般の人たちが自由に使えるがStable Diffusion について、どのような仕組みになっているのか、イラストで解説していきます。主に、機械学習入門者を対象としていますが、すぐに動かせる教材を用意しておりますので、興味のある方なら、どなたでも受講可能です。コース前半(第1部)は、まだStable Diffusionを触ったことのない方のためによういしました。既に、Stable Diffusionを動かしたことのある方は、コース後半(第2部)から受講してもいいでしょう。ただし、第1部の「肖像画の生成」と「Inpainting」は必見です。
Stable Diffusionを動かすためには、特殊なツールをパソコンにインストールしたり、GPUというハードウェア・アクセラレータが必要ですが、この講座では、Google Colaboratory という、Google社の提供する、無料の環境で動かしますので、事務用のノートパソコンでも動かせます。
最後に、Attention と、それによって構成されるTransformer についても学びます。ChatGPTもこのアーキテクチャーを使っています。一度挫折した人も、ここでやり直しましょう。