Active Learningとアノテーションについて整理してみた

# 背景・目的
機械学習で、アクティブラーニング（Active learning）という言葉を聞きました。
これは、教師データを効率的に作成し、モデルの性能を効果的に向上させるためのアプローチとざっくりと理解していますが、詳細はわかっていません。
また、この概念や関連するプロセスであるアノテーションについても不明です。
そのため、アクティブラーニングの概要、アプローチの種類、そしてアノテーションの具体的な内容について整理してみたいと思います。


# まとめ
下記に特徴を整理します。

|特徴|説明|
|:--|:--|
|Active learningとは| 能動学習<BR>闇雲ではなく、効果的なデータを選ぶ<BR>正解なしデータの中から、「これの正解がわかれば性能が上がるかも」というデータを選ぶ<BR>正解を教えてくれるなにかに、データを問い合わせて、得た正解を訓練データに追加する<BR><BR>機械学習の文脈における Active Learning は, 正解データを作成する作業を効率よく行いたいという欲求を, 正解データ作成途中でのモデルからの情報を用いて達成しようという, 実務での問題意識ベースのモデル構築のアプローチ|
|Active Learningアプローチの種類|・membership query synthesis<BR>・stream-based selective sampling<BR>・pool-based sampling|
|membership query synthesis|モデルの学習に有効なデータを生成するアプローチ|
|stream-based selective sampling|データに対してラベル付けするか破棄するかのふるい分けを行うアプローチ|
|pool-based sampling|ラベル無しデータのプールから, モデルを学習させる上で最も効果が高いと考えられるデータを選択するアプローチ|
|アノテーションとは|アノテーションとは、AI開発のプロセスにおける、データに情報を付加するプロセスを指す<BR><BR>AI開発におけるアノテーションは教師データを作る作業のこと<BR>画像データに機械学習を適応しようとしたときに、避けて通れないのがアノテーション<BR><BR>アノテーションはコストがかかる（しんどい）ため、機械学習モデルを訓練するための教師データを作成する際に、大量の画像データの全てにアノテーションの総量を少なく抑えて、教師データの作成できるのが望ましい|
|機械学習のプロセスにおけるアノテーション|1. データ収集<BR>2. アノテーション（教師データ作成）<BR>3. 機械学習<BR>4.モデル評価<BR>5.実装|
|アノテーションの分類|画像、音声、テキストがある|
|画像のアノテーション|下記の種類がある。<BR>・物体検出（オブジェクト・ディテクション）<BR>・領域抽出（セマンティック・セグメンテーション）<BR>・画像分類（クラシフィケーション）|
|音声のアノテーション|下記がある<BR>・音量、音の種類に対してタグ付けを行う<BR>・人間が発生した言葉の意味にタグ付けを行う|
|テキストのアノテーション|大量の文章から、特定のテキストを抽出|
|不確実性サンプリング（Uncertainty Sampling ）|pool-based sampling手法の中でも、未ラベルのデータをどのような基準で選択していくのか複数ある中で、最もメジャーなもの<BR><BR>モデルで推論を行う際に、推論結果の不確実性が最も高いデータから優先してラベル付をしていくアプローチ|

# 概要
## Active learningとは
下記の資料を基に整理します。わかり易い内容でした。参考にさせていただきました。ありがとうございました。

https://www.slideshare.net/slideshow/introduction-to-active-learning-25787487/25787487#1

- Actieve Learning ＝ 能動学習
- 闇雲ではなく、効果的なデータを選ぶ
- 正解なしデータの中から、「これの正解がわかれば性能が上がるかも」というデータを選ぶ
- 正解を教えてくれるなにかに、データを問い合わせて、得た正解を訓練データに追加する


## アノテーションとは
下記の資料を基に整理します。わかり易い内容でした。参考にさせていただきました。ありがとうございました。

https://tech-blog.abeja.asia/entry/active-learning-20200503

- 画像データに機械学習を適応しようとしたときに、避けて通れないのがアノテーション
- アノテーションはコストがかかる（しんどい）
- 機械学習モデルを訓練するための教師データを作成する際に、大量の画像データの全てにアノテーションの総量を少なく抑えて、教師データの作成できるのが望ましい
    - これがアクティブラーニングというアプローチ
- **アクティブラーニングは、限られたコストで効率よくデータセットを作成するアプローチ**

### AI開発におけるアノテーションの位置づけ

下記の資料を基に整理します。わかり易い内容でした。参考にさせていただきました。ありがとうございました。

https://www.science.co.jp/annotation_blog/30313/

- アノテーションとは、AI開発のプロセスにおける、データに情報を付加するプロセスを指す
- アノテーションされたデータ＝教師データ
- AI開発におけるアノテーションは教師データを作る作業のこと

アノテーションの位置づけは下記の通り
1. データ収集
1. アノテーション（教師データ作成）
1. 機械学習
1. モデル評価
1. 実装

#### アノテーションの分類
画像、音声、テキストがある

##### 画像のアノテーション
- 物体検出（オブジェクト・ディテクション）
    - 画像に写っているものの中から物体を見つける
    - 人間、自動車などの対象に応じて、意味のあるタグを付与する
- 領域抽出（セマンティック・セグメンテーション）
    - 画像内の領域を選択肢、そこにタグ付けする
    - この領域はドアなど
- 画像分類（クラシフィケーション）
    - 画像に対して、属性をタグ付けする
    - 開いているか、閉じているかなどの情報を付与する

##### 音声のアノテーション
- 下記がある
    - 音量、音の種類に対してタグ付けを行う
    - 人間が発生した言葉の意味にタグ付けを行う
        - 発話を文章として書き起こし、単語1つ１つにタグ付けを行う
        - 用途として、音声認識、意図抽出分野で活用される

##### テキストのアノテーション
- 大量の文章から、特定のテキストを抽出
- 欲しい情報に応じて、あちこちに散らばったデータから必要なテキストや文言を集約できる
- 事前に設定したルールに従い、タグ付けを行い文章の判別や内容の分析を行える


### Active Learningアプローチの種類
ラベル付されていないデータをどう扱うかのアプローチで、下記の3つに大別されるようです。

- membership query synthesis
    - モデルの学習に有効なデータを生成するアプローチ
- stream-based selective sampling
    - データに対してラベル付けするか破棄するかのふるい分けを行うアプローチ
- pool-based sampling
    - ラベル無しデータのプールから, モデルを学習させる上で最も効果が高いと考えられるデータを選択するアプローチ

これらのうち、pool-based sampling手法が最も一般的のようです。

#### 不確実性サンプリング（Uncertainty Sampling ）
- pool-based sampling手法の中でも、未ラベルのデータをどのような基準で選択していくのか複数ある中で、最もメジャーなもの
- モデルで推論を行う際に、推論結果の不確実性が最も高いデータから優先してラベル付をしていくアプローチ
- 例
    - テスト対策で、「今まで何回も解いたことあって, 解法を完全に覚えている問題」よりも「まだ見たことのない種類の問題」の対策をした方が成績アップが望めるのと同じ理屈


# 考察
アクティブラーニングは、教師データの作成コストを削減しながら、効率的にモデルの精度を向上させるための手法と理解しました。特に、不確実性サンプリングなどの戦略を用いることで、モデルにとって有用なデータを選択し、少量のデータで最大限の効果を引き出せるようです。

今後は、不確実性サンプリングについて深堀りをすること、また実際に手を動かそうと思います。

# 参考
https://aws.amazon.com/jp/blogs/news/bring-your-own-model-for-amazon-sagemaker-labeling-workflows-with-active-learning/

https://tech-blog.abeja.asia/entry/active-learning-20200503

https://www.slideshare.net/slideshow/introduction-to-active-learning-25787487/25787487

https://www.slideshare.net/slideshow/20120105-pfi/10815897

https://www.science.co.jp/annotation_blog/30313/