【ECCV2024】Few-shot Class-incremental Learning: 中間特徴の潜在能力を引き出す新手法


# Few-shot Class-incremental Learning: 中間特徴の潜在能力を引き出す新手法


## 1. 概要

本記事では、「Rethinking Few-shot Class-incremental Learning: Learning from Yourself」という論文を解説します。この研究は、Few-shot Class-incremental Learning (FSCIL)の課題に取り組み、既存の評価指標の限界を指摘するとともに、新たな評価指標「generalized accuracy (gAcc)」を提案しています。さらに、Vision Transformer (ViT)の中間層特徴の潜在能力に着目し、これを活用して新クラスの性能を向上させる手法を提案しています。提案手法は、Feature Rectification (FR)モジュールを用いて中間層特徴から有用な情報を抽出し、最終特徴を調整します。実験結果は、CIFAR-100、miniImageNet、CUB-200の3つのデータセットにおいて、提案手法が既存のFSCIL手法を上回る性能を達成したことを示しています。

## 2. 研究背景と課題

Few-shot Class-incremental Learning (FSCIL)は、機械学習モデルが新しいクラスを少数のサンプルから順次学習していく能力を向上させることを目的としています。しかし、FSCILには以下のような課題がありました：

1. 既存の評価指標（average accuracy, aAcc）が、新クラスの性能変化を適切に反映できていない。
2. 基本クラス（base class）の性能に過度に重点を置いている。
3. 新クラス（novel class）の性能向上と、既存クラスの知識保持のバランスが取れていない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/5096f399-4e6a-a964-c95e-c38d6c8e769d.png)

*図1: 既存の評価指標（aAcc）と提案する新指標（gAcc）の比較。gAccはより新クラスの性能を反映している。*

図1は、既存の評価指標（aAcc）と本研究で提案する新しい評価指標（gAcc）を比較しています。aAccは基本クラスの性能に大きく影響されるため、新クラスの性能向上が適切に反映されない場合があります。一方、gAccはより新クラスの性能を反映する設計となっています。

## 3. 提案手法の詳細説明

本研究では、以下の2つの主要な提案を行っています：

1. 新しい評価指標「generalized accuracy (gAcc)」の導入
2. Vision Transformer (ViT)の中間層特徴を活用したFeature Rectification (FR)モジュール

### 3.1 Generalized Accuracy (gAcc)

gAccは、基本クラスと新クラスの性能のバランスを調整可能なパラメータαを導入しています。αの値を変化させることで、基本クラスと新クラスの重み付けを調整できます。

数式で表すと以下のようになります：


$gAcc_i(α) = \frac{(α * \frac{|Y_1|}{|Y_{novel}|} * A^1_i + Σ^i_{j=2} A^j_i)}{(α * \frac{|Y_1|}{|Y_{novel}|} + (i - 1))}$


ここで、
- `A^j_i`はタスクjにおけるモデルiの精度
- `|Y_1|`は基本クラスの数
- `|Y_novel|`は各新クラスタスクのクラス数
- αは0から1の範囲のパラメータ

gAccの特徴：
- α = 0のとき、新クラスの性能のみを測定
- α = |Y_novel|/|Y_1|のとき、タスクごとの平均精度（tAcc）を表す
- α = 1のとき、従来の平均精度（aAcc）と等しくなる

さらに、αに関するgAccの曲線下面積（AUC）を計算することで、モデルの総合的な性能を評価できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/4ac3f0d6-c52c-aad7-1c28-4ff482855bf1.png)


*図2: gAccの概念図。αの値によって基本クラスと新クラスの重み付けが変化する。*

### 3.2 Feature Rectification (FR)モジュール

FR モジュールは、ViTの中間層特徴から有用な情報を抽出し、最終特徴を調整するために設計されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/8086b5ae-2ccb-d4fc-baa5-325d0d7a1a65.png)

*図3: Feature Rectification (FR)モジュールの構造*

FR モジュールの主な構成要素：

1. 中間層特徴と最終層特徴の結合
2. 多層パーセプトロン（MLP）による特徴変換
3. 2つの関係転移損失：
   - Instance-level Relation transfer (IR)
   - Class-center Relation Transfer (CR)

IR損失は特徴インスタンス間の関係を、CR損失は特徴とクラス中心間の関係を転移させることを目的としています。

数式で表すと以下のようになります：


$$L_{IR} = δ(ε(X^1_FR, X^2_FR), ε(X^1_l, x^2_l))$$
$$L_{CR} = KL(σ(P^T X_FR), σ(P^T X_l))$$


ここで、
- δはSmooth L1損失
- εはユークリッド距離
- KLはKullback-Leibler発散
- σはソフトマックス関数
- Pはクラスプロトタイプ

さらに、基本クラスの性能を維持するためのコサイン制約と、新クラスの適応のための分類損失も導入されています。

## 4. 評価実験と結果

提案手法の有効性を検証するため、CIFAR-100、miniImageNet、CUB-200の3つのデータセットで実験を行いました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2610305/4f6c9d81-8ee5-1330-f92f-00af13d8d9c9.png)

*図4: miniImageNetデータセットにおける各手法のgAcc曲線*

図4は、miniImageNetデータセットにおける各手法のgAcc曲線を示しています。提案手法（Yourself）が、αの広い範囲で他の手法を上回っていることが分かります。

主な実験結果：

1. miniImageNetデータセットにおいて、提案手法は既存のSOTA手法と比較して、aAccで0.90%、gAccで1.27%の性能向上を達成。
2. CUB-200データセットでは、aAccで1.52%、gAccで2.6%の改善。
3. CIFAR-100データセットでは、gAccで0.59%の向上を実現。

また、アブレーション実験により、提案したFRモジュールの各構成要素の有効性も確認されました。

## 5. 結論と今後の展望

本研究では、FSCILにおける既存の評価指標の限界を指摘し、新たな評価指標gAccを提案しました。さらに、ViTの中間層特徴の潜在能力を活用するFRモジュールを開発し、新クラスの性能向上と既存クラスの知識保持のバランスを改善することに成功しました。

今後の研究方向として以下が考えられます：

1. より大規模なデータセットやタスクでの提案手法の検証
2. FRモジュールの更なる改良と最適化
3. 他のアーキテクチャ（CNNなど）への提案手法の適用
4. 実世界の応用シナリオにおける提案手法の有効性の検証

本研究の成果は、FSCILの分野に新たな視点を提供し、より効果的なCILモデルの開発に貢献することが期待されます。

## 参考文献

1. Yu-Ming Tang, Yi-Xing Peng, Jingke Meng, Wei-Shi Zheng. "Rethinking Few-shot Class-incremental Learning: Learning from Yourself". arXiv preprint arXiv:2407.07468, 2023.