もし生物情報科学専攻の大学院生が "StableDiffusion" を理解しようとしたら 5 ~NCSN~

前回

cake-by-the-river.hatenablog.jp


お久しぶりです。今回から肝心の拡散モデルを見ていこうと思います。今回は、スコアベースモデルを用いた Noise-Conditional Score Networks (NCSN) を解説し、拡散モデルの本題であり次回扱う Denoising Diffusion Probabilistic Models (DDPM) の前座となる要素の解説をしようと思います。


なお、今回以降の内容は、最近発売された拡散モデルに関する入門書の内容を参考にしました。

続きを読む

もし生物情報科学専攻の学部生が "StableDiffusion" を理解しようとしたら 4 ~ViT & CLIP~

前回

cake-by-the-river.hatenablog.jp


今回は、前回紹介したTransformerの自然言語処理能力を画像処理の方面に応用した Vision Transformer (ViT) や、Contrastive Language-Image Pre-training (CLIP) について紹介していきます。

ViT

元論文:
arxiv.org

Vision Transformer (ViT)Google が 2020 年に発表したモデルです。

自然言語処理の界隈は、BERT (Devlin et al., 2018) など Transformer ベースのモデルが用いられ、ラベルのないデータ(正解をヒトの手でキュレーションする必要がないので大量に得られる)を学習に利用する事前学習(Pre-training)と、比較的少量のラベル付きデータセットを用いて個別のタスクへモデルを適応させるファインチューニングを軸に、飛躍的に精度を向上させていました。一方で、画像処理の界隈では未だ CNN を基本としたアーキテクチャが主流であり、一部・全体を Attention に置き換える試みもあったようですが、上手く精度を上げられていませんでした。

そこで、著者の Dosovitskiy らは、Transformer の入力となる文字の埋め込み表現を画像(パッチ)の埋め込み表現に置き換えるシンプルな方法を利用しました。

ViTのアーキテクチャ(論文より引用)
続きを読む

もし生物情報科学専攻の学部生が "StableDiffusion" を理解しようとしたら 3 ~Transformer~

前回

cake-by-the-river.hatenablog.jp


今回は、今後頻繁に利用される自然言語処理アーキテクチャである Transformer を紹介します。(Multi-Head) Attention からザックリですが解説を試みます。

Transformer

元論文:
arxiv.org

TransformerGoogle が 2017年に発表したモデルで、それまで LSTM や GRN など RNN ベースのモデル(および Encoder-Decoder モデル)が主流だった自然言語処理の深層学習に対して、Attentionカニズムのみを利用した単純な構造であり、より多くの並列化も可能なため、上記のモデルに比べてGPUを効率的に利用でき、高速かつ高い精度を得ることが出来るものです。

続きを読む

もし生物情報科学専攻の学部生が "StableDiffusion" を理解しようとしたら 2 ~U-Net~

前回

cake-by-the-river.hatenablog.jp


今回は、細胞など医用画像のセグメンテーション(画像の中から細胞の部分のみを取り出す)で用いられる U-Net を見てみます。途中で FCN についても扱います。

U-Net


元論文:
arxiv.org


前回のAlexNetは、少ないサンプルでしか適用できなかったCNNを様々なテクニックにより大規模データセットにも利用できるようにしました。しかし、医用画像処理などの文脈では次の問題が残ってしまいます。

  • 得たい出力は、画像の分類ではなく、画像内の特定の領域の抽出である(より正確には、元の画像で対応する領域のピクセルを選ぶ semantic segmentation)
  • 正解データは(人手の問題で)沢山は得られない
U-Net で得られるセグメンテーションの結果(論文より引用)

このようなタスクに対し、MCDNN (Cirsan et al., 2012) などの手法が提案されていました。これらは、画像の局所的な領域(パッチ)ごとに予測を行い、その結果を統合するもので、実質的な入力数を増やせるなどの利点がありましたが、局所性に振ることで全体的な文脈の把握が困難となるというトレードオフや実行速度がネックとなっていました。

U-Net (Olaf et al., 2015) では、"Fully Convolutional Network (FCN)" (Long et al., 2014) と呼ばれる全く異なるアプローチを改良することにより、これらの問題を解決しました。

続きを読む