研究メモ

注意:備忘録の意味合いが強く、個人的な思想が含まれていて客観性に欠ける記事です。内容は決してあてにしないでください。

画像だけで学習できるAI

背景

人間は「これは何か」を教えられる前から「これ」を認識する能力を持っている。
この能力をAIに持たせるために行う学習は一般に事前学習(Pretraining)表現学習(Representation Learning)と呼ばれているが、個人的にはこれは事前などではなく、むしろ本質的な学習であると考えている。
教師ラベルなんて、そもそも人間が他人に「これ」を伝えるために後から付けた後天的なものだし、そんなの無くても学習できるでしょ。

そして、人間は「これ」と「あれ」が似ているかどうかくらい、個人差はあろうが、何となく判断できる。
これは数学的に見れば、ただ「これ」と「あれ」それぞれの特徴ベクトル間の類似度を計算しているだけ。
似ていれば同じ物体、似ていなければ別の物体と判断しているに過ぎない。
で、あとから似ている物体に同じ名前を付けてやれば、それってもう画像分類とやっていることは結果的に一緒。
じゃあ、分類器(下流タスクの教師あり学習)もいらないじゃん。

現実的には、めんどくさいラベル付けをしたくないから、というのも大きなモチベーション。

古典的手法

そもそも、なぜ画像のAIを作るのに学習が必要なのか。
それは、人が思いついた手法に限界があったからです。(第1次・第2次AIブーム)

画像特徴量

画像の特徴量を手動で設計する。
いわゆるルールベース。
SIFTやHOGなどが有名で、今でもSVMなどの線型分類器と合わせて使われることも。
ただ、やはり人間お手製の設計では到底人間の認識能力は達成できなかった。

ただし今後、人の手で機械学習ベースの手法を超えるシンプルな画像特徴抽出法が開発される可能性が無いとも言い切れない。
もし開発されたとすれば、そのアルゴリズムが人間の認識能力そのものを表すことになり、いろいろと革命。

Radiomics

編集中...

Neural Network

人の手じゃ無理ということで、コンピュータに良いアルゴリズムを探してもらいましょう。
CNNとViTはこの分野の2大巨頭。

Convolutional Neural Network, CNN

視細胞のはたらきを真似て作られた画像のためのニューラルネットワーク。
P細胞とかS細胞、ガボールパッチテストなどがアルゴリズムの源流。
学習を進めていくと人間の目と同じ認識能力を得るのではないか、というもの。
そして実際それっぽくなったので、爆発的に流行した。

ただし、CNNの認識能力が人間のそれと全く同じかというと全然そんなことはなく、その特性の違いが指摘されている。
CNNはテクスチャの認識に強いが、人間は形状の特徴を掴むのが得意。
実際、人間だと簡単にできるシルエットの識別問題は、CNNだとかなり精度が下がってしまう。
しかし後述するVision Transformerの登場により、その問題はある程度解決したのかも...。

文献

Vision Transformer, ViT

畳み込みを使わずに画像認識が可能に。
生成AIの核となるアルゴリズムAttentionを画像に適用した。
画像をパッチと呼ばれる小さな画像に分割して、あるパッチを隠して、ほかのパッチからそのパッチを予測するというタスクで学習を行うと、いい感じに認識能力を持つようになった。
CNNの弱点であった形状特徴の認識に強くなったが、計算量が多いので動作がもっさり気味。

Self Supervised Learning, SSL

日本語では自己教師あり学習という。
入力データ自身から得られる何らかの情報を出力の正解データとして学習させる。
正解データ(ラベル)を事前に用意する必要がないという点が一番の魅力。

Autoencoder (2006)

入力と出力に同じデータを与えてNeural Networkを学習させると、中間層の低次元ベクトルがデータの特徴をよく表す特徴ベクトルとなる。
基本的にはデータの次元圧縮として用いられる。
なお、U-NetなどのセグメンテーションモデルはAutoencoderをベースとしている。

Instance Discrimination

日本語にすると「個々の識別」。
\( i \)番目の画像を\( x_i \)とする。
編集中...

DINO V3

Metaに先を越されてしまいました。

編集中...

公式ページ