【深層学習による画像認識の基礎】7.1~7.3

>100 Views

June 25, 26

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2026 前期輪読会 #11 深層学習による画像認識の基礎 自己教師あり学習 7.1-7.3 京都大学 総合人間学部 B2 本川玄人 0

2.

アジェンダ ◼ 7.1 教師あり学習の課題 ◼ 7.2 自己教師あり学習による表現学習 ◼ 7.3 対比学習(対照学習)に基づく表現学習 1

3.

アジェンダ ◼ 7.1 教師あり学習の課題 ◼ 7.2 自己教師あり学習による表現学習 ◼ 7.3 対比学習(対照学習)に基づく表現学習 2

4.

7.1 教師あり学習の課題 データセットの構築には膨大なコストが必要 ここまでは教師あり学習による技術を見てきた →適切な学習データが必要 ・適切な学習データとは ➢最適化のための十分な量 ➢目的タスクに適したアノテーション しかし、適切なデータセットの取得は容易ではない… ➢Amazon Mechanical Turkではアノテーションの質が低い ➢質が低下してきているという指摘もある 3

5.

7.1 教師あり学習の課題 データの表現学習 転移学習 : すでに存在するデータセットから得た知識を他のモデルに転用 例) ImageNet-1Kで学習したモデルは多くの画像認識タスクの性能の向上に貢献 自然画像の汎用的な画像特徴表現の獲得によるものと考えられる 深層学習モデルはデータの表現学習+目的タスク固有の学習を行っている ・データの表現学習→汎用的な画像特徴表現の獲得 ・固有の学習→獲得した表現を使ったカテゴリの分類 事前学習 : 転移元の学習(ImageNetでの学習) ファインチューニング : 転移先の学習 下流タスク : 転移先のタスク(物体検出) 4

6.

7.1 教師あり学習の課題 表現学習における注意 表現学習は副次的なもの →必ずしも汎用的な表現が手に入るわけではない 例)牛を学習するとき ほとんどの場合に芝生がセットで登場 →牛以外の要素から学習可能 その結果、牧草地以外の牛を識別できない! あるタスクを解くためだけに特化された学習をショートカット学習という これは汎用的な画像表現とはかけ離れている 5

7.

アジェンダ ◼ 7.1 教師あり学習の課題 ◼ 7.2 自己教師あり学習による表現学習 ◼ 7.3 対比学習(対照学習)に基づく表現学習 6

8.

7.2 自己教師あり学習による表現学習 獲得される表現の注意 こうした背景から、自己教師あり学習が注目を浴びている 自己教師あり学習 : 入力から自動で正解ラベルを生成可能なタスクを設計し、 教師あり学習の枠組みでモデルを最適化する 例)文の一部をマスクし、マスクされた単語を答える 動画・画像の過去のフレームから未来のフレームを予測 目指すものは「良い表現」…できる限り多くの下流タスクで優れた性能を示す 画像認識における良い表現は、画像変化に対する頑健性 7

9.

7.2 自己教師あり学習による表現学習 相互情報量の最大化が鍵 どうやって汎用的な良い表現を獲得するか? ・画像から物体を忠実に生成できる生成モデルを作る ✗計算コストが多く、得られる表現が冗長になりやすい ・情報を保って入力画像をより低次元のベクトルへ符号化する 入力画像xと、出力ベクトルzの相互情報量を最大化 𝐼 𝑥; 𝑧 = ෍ 𝑝 𝑥, 𝑧 𝑙𝑜𝑔 𝑥,𝑧 𝑝(𝑥|𝑧) 𝑝(𝑥) 入力画像とそのまま比較すると非本質な特徴表現も最適化される →重要な情報のみを共に保持するデータを作り、そのデータ間で最大化 8

10.

アジェンダ ◼ 7.1 教師あり学習の課題 ◼ 7.2 自己教師あり学習による表現学習 ◼ 7.3 対比学習(対照学習)に基づく表現学習 9

11.

7.3 対比学習に基づく表現学習 対比学習の例: SimCLR SimCLR データ拡張 ランダムクロップ→リサイズ →左右反転→ガウスぼかし (1) (2) 1つのデータに対して独立な操作を2回施す(𝑉𝑖 , 𝑉𝑖 ) Encoder ・変換画像を特徴ベクトルに変換 ・CNN,ViT等をEncoderとして使えるが、ResNetを用いることが多い Projection head Encoderの出力ベクトルを変換 𝑧𝑖 = 𝑊2 𝜎(𝑊1 ℎ𝑖 ) σ=ReLU, 転移学習の際は取り除く 10

12.

7.3 対比学習に基づく表現学習 損失関数InfoNCE 損失関数としてInfoNCE損失関数を用いる 𝑁 1 exp(𝑠𝑖,𝑖 /𝜏) 𝐿 = − ෍ log( 𝑁 ) σ𝑗=1 exp(𝑠𝑖,𝑗 /𝜏) 𝑁 𝑖=1 ただし、τは温度パラメータ、Nはミニバッチ数、sは 𝑠𝑖,𝑗 = (1) (2) (1) 𝑇 (2) 𝑧𝑖 𝑧𝑗 (1) (2) 𝑧𝑖 𝑧𝑗 (コサイン類似度) (2) 𝑧𝑖 に対して𝑧𝑖 を正例、𝑧𝑗 を負例と呼ぶ 11

13.

7.3 対比学習に基づく表現学習 対比学習の例 : MoCo SimCLRとの異なる点 ・2つの異なるネットワークを使う ・射影ヘッドを使わない ・過去の負例を保持するキューを利用 クエリをencoder, 正例および負例をmomentum Encoderに入力 InfoNCEを最小化するように𝜃q を更新、𝜃k は 𝜃k ← m𝜃k + (1-m)𝜃q 計算した正例を先入れ先出しのキューに格納して 以降のイテレーションで負例として活用 →計算量の削減 12

14.

7.3 対比学習に基づく表現学習 InfoNCE損失の最小化は相互情報量の下限の最大化に一致 特徴ベクトル間の相互情報量は 𝟏 𝐼 𝒛𝒊 ; 𝒛𝒊 𝟐 𝟏 = ෍ 𝑝 𝒛𝒊 , 𝒛𝒊 𝟏 𝒛𝒊 ,𝒛𝒊 𝟐 log 𝟐 𝟏 𝒛𝒊 𝑝 𝒛𝒊 𝟏 𝑝 𝒛𝒊 𝟐 正例に対する確率スコアを最大にする 最適な確率は 𝑝 𝑑 = 𝑖 𝑽𝒊 𝟏 = 𝑝 𝑽𝒊 𝟐 𝑽𝒊 𝟐 σ𝑁 𝑗=1 𝑝 𝑽𝒋 𝟏 ς𝑗≠𝑖 𝑝 𝑽𝒋𝟐 𝑽𝒊 𝟏 ς𝑘≠𝑗 𝑝 𝑽𝒌𝟐 Logの中の項をh(・)でモデル化すると、 𝟏 ℎ 𝒛𝒊 , 𝒛𝒊 𝟐 = exp 𝒛𝒊 𝒛𝒊 𝟏 ⊤ 𝟏 2 𝒛𝒊 𝟐 𝒛𝒊 𝟐 2 𝟏 損失関数は 𝐿 = −𝔼 log ℎ 𝒛𝒊 , 𝒛𝒊 𝟐 𝟏 𝟐 σ𝑁 𝑗=1 ℎ 𝒛𝒊 , 𝒛𝒋 𝟐 𝒛𝒊 𝑝 𝒛𝒊 𝟐 𝑝 𝒛𝒊 よって、最適値は 𝟏 に比例するので 損失関数に代入すると 13

15.

7.3 対比学習に基づく表現学習 InfoNCE損失の最小化は相互情報量の下限の最大化に一致 𝟏 𝐼 𝒛𝒊 ; 𝒛𝒊 𝟐 ≥ log 𝑁 − 𝐿opt が成り立ち、損失関数の最小化は相互情報量の 下限の最大化に一致する 14

16.

7.3 対比学習に基づく表現学習 利用するデータ拡張の重要性 SimCLRにおいてデータ拡張の種類が 表現学習に影響を及ぼすことを実験的に確認 ランダムクロップされたパッチ間の共通する 特徴量の獲得 + 色情報によるショートカット学習の防止 が高精度に繋がる ※「良い表現」は下流タスクによって異なる 今回は画像分類を想定 線形分類器のtop-1 accuracy 15

17.

7.3 対比学習に基づく表現学習 射影ヘッドの必要性 なぜ射影ヘッドが表現学習において必要なのかを考える Encoder,射影ヘッドの役割 ・射影ヘッド後には意味的な情報が 失われる ・encoderからの特徴ベクトルの方が 意味的な特徴を捉えた画像復元が可能 InfoNCE損失関数の分解 𝑁 1 exp(𝑠𝑖,𝑖 /𝜏) 𝐿 = − ෍ log( 𝑁 ) σ𝑗=1 exp(𝑠𝑖,𝑗 /𝜏) 𝑁 𝑖=1 𝑁 = −෍ 𝑖=1 𝑧𝑖 1 𝑇 𝜏 𝑧𝑖 2 𝑁 𝑁 𝑧𝑖 + ෍ log(෍ exp( 𝑖=1 𝑖=1 1 𝑇 𝜏 𝑧𝑗 2 )) Encoderが第1項の最大化、射影ヘッドが第2項の最小化に貢献 他の画像と分離しやすいような表現学習が行われ、特徴崩壊を防ぐ 16

18.

7.3 対比学習に基づく表現学習 射影ヘッドの必要性 射影ヘッドは低ランク空間へベクトルを射影する 出力されるベクトルのランクから考察する ・射影ヘッドなしの場合、encoderの特徴ベクトルは低ランク ・射影ヘッドありの場合、encoder…高ランク 射影ヘッド…低ランク ・非線形→線形→なし の順で優れた性能 高ランクの方が情報量が多く、 良好な知識転移が可能 事前学習と下流タスク間の隔たりを緩和する ・学習、テストでデータ分布が大きく異なる ・解くタスクに大きな違いがある このような場合、射影ヘッドが影響を緩和していることが実験的に報告 17