見出し画像

AIの教師あり学習における「学習データ不足」に対するアプローチ方法の検証 ~学習効率向上~

齋藤 滉生 Kouki Saitou
SCSK株式会社
R&Dセンター AI技術部
2016年にSCSKへ入社後、研究開発部署にてDeepLearningによる自然言語や画像処理、量子コンピュータによる最適化計算の研究開発を行う。プロジェクト管理業務効率化のPoCや物流業界における人員配置最適化の共同研究など、技術や業界を問わず幅広く活躍する。
2022年からは、技術啓蒙・技術ブランディングを行う部署にて、自身の研究者としての経験を活かし、SCSKの技術力の発信に取り組む。


第3次AIブームの火付け役であるディープラーニングは、現在も様々な分野への実用化が進み課題解決に寄与しています。しかし一般的にディープラーニングで高い処理精度を出すには膨大な量の学習データが必要とされ、その学習データ収集がAI導入の障壁となるケースが多く存在します。 当社はこれまで、上記の学習データ不足の課題に着目し、画像分類に焦点を当てた「学習データ不足」に対するアプローチを研究してまいりました。

AIの学習において代表的な学習データ不足のケース

本研究は「学習データ不足」について「①学習データ総量が少ないケース」「②学習データ総量は多いがラベルありデータが少ないケース」の2つのケースを想定しています。

  • 学習データ総量が少なく全てラベルありデータであるケース 新規プロジェクトの初期段階や滅多に起きない事柄の分類など、過去の経験が極めて少ない事象のため学習データがごくわずかな環境でAIを活用するケース。

  • 学習データ総量は多く学習データのラベルありデータ数が少ないケース データを体系的に収集していない場合や、正解ラベルを付与するために一定の専門知識やスキルを必要とする場合など、過去に経験はある事象だが正解ラベルが付与されていないデータでAIを活用するケース。

AIの学習データ不足時のアプローチ

解決のための3つの手段

「学習データ不足」の解決方法は「事前知識の利用」「学習データの増幅」「ラベル無しデータの活用」の3つに大別されます。

  • 事前知識の利用
    他のタスクや他のデータで事前学習を行い汎用的な知識を習得した上で、少量データを用いて解決したい課題に適用するよう調整します。

  • 学習データの増幅
    既にあるデータに対して変換・ノイズ負荷などの処理を施し新たなデータを生成します。

  • ラベル無しデータの活用
    ラベルなしデータに効率的にラベルを付与するなどして学習可能なデータ量を増やします。

検証を行った技術

今回検証した学習データ不足時に活用できる可能性がある技術は下記の通りです。

① Data Augmentation(一般的な手法)
② Data Augmentation(GAN)
③ Fine-tuning
④ Few-shot Learning(MAML)
⑤ 半教師あり学習(MixMatch)

Data Augmentation

Data Augmentationは、拡大縮小、反転、回転、切り取り、ノイズ負荷などにより学習データを増幅させる手法で、事前に大量のデータを用意することなく精度向上が期待できます。ただし、文字画像のように反転や回転により意味が変わる場合もあり、扱うデータごとに適切な処理を施す必要があります。

GAN(敵対的生成ネットワーク)
GANは、正解データを与えることなく特徴を学習する「教師なし学習」の手法の一つです。
Generator(生成ネットワーク)とDiscriminator(識別ネットワーク)と呼ばれる2種類のネットワークを利用し、Generatorが訓練データと似たデータ(ランダムノイズをマッピングしたもの)を生成し、Discriminatorは生成画像が本物かGeneratorが生成したものかを識別します。GANではこのGeneratorとDiscriminator2つのネットワークを交互に競合させ学習を進めます。

検証結果
GANを用いたデータ増幅の検証を行ったところ、少量のデータからではGANの学習が収束せず出力はノイズとなりました。
画像を取り扱う場合は、ImageNetという膨大な量のデータセットが存在するため、ImageNetで事前学習したGANを用いればデータ増幅の効果を期待できますが、学習に時間のかかることなどを考慮すると、後述する転移学習(Fine-tuning)を用いることがより有効であると考えられます。

Fine-tuning

Fine-tuningとは大規模なデータセットで学習されている事前学習モデルを用い、出力層のみ目的のタスク向けに交換し、ネットワーク全体の重みを収集したデータセットで学習する手法です。

Fine-tuning とMAMLの比較検証
今回の検証では、犬種5種類の画像分類タスクでMAMLと精度比較を行いました。(Nshot-5wayで比較)。以下の表は75枚のテストデータに対する比較です。

検証の結果、画像を取り扱う場合はImageNetで事前学習されたモデルを利用することで膨大な量の画像の準備や、ラベル付けをする手間をかけることなく精度向上が期待できることが分かります。ただし、ImageNetはカラー写真のデータのみを扱っているため異なる質のデータを学習すると効果が得られない場合もあります。

また、学習データ総量が少ない場合に過学習を起こす恐れがあるため、学習データで精度が高い場合でも継続的に検証を行う必要があります。

Few-shot Learning(MAML)

Few-shot Learningとは、画像分類のタスクにおいて一度行った学習の経験値を用いることで、再学習時に追加分のデータで効率的に学習する手法です。関連する学習法として、「弱教師あり学習」「転移学習」「メタ学習」「不均衡データ学習」といった学習法があります。

サポートデータのクラス数(ラベル数)と各クラスのデータ量によってFew-shot Learningタクスの呼び名は変わります。

Few-shot Learningのタスクの読み方:
{ サポートデータの各クラスのデータ量 }-shot { クラス数 }-way  ※クラス=ラベル

MAML(Model-Agnostic Meta-Learning)
メタ学習の一種であるMAMLは学習方法を学習する手法です。 一般的なFine-tuningは各クラス数十~数百のデータが必要であり、少ない場合は過学習を起こします。MAMLは一度学習した知識を元に勾配降下法によるパラメータの初期値最適化を行い、過学習防止や学習時間短縮を実現しています。

MAML とFine-tuningの比較検証
以下は、前述のFine-tuning検証と同様の条件で行われた、MAMLとFine-tuningの比較結果となります。

MAML学習前と学習後を比較すると1~100の全てのshotで精度の向上が見られ、一定の効果があったと言えます。一方過学習への対策については過学習していないことを保証出来ないため、継続的に検証を続ける必要があります。

ImageNetの学習済みモデルをFine-tuningさせたものと学習済みMAMLを比較すると、MAMLの精度は低い結果となりました。Fine-tuningの効果が薄いケースも存在しますが、MAMLはFew-shot Learningを何度も行うため学習時間が長く、またラベルを変更してFew-shot Learningを行うためMAML学習時に学習データとして多様な種類のラベルのデータが必要であることから、少量のラベル付きデータしかない場合には向きません。

半教師あり学習
半教師あり学習は、正解ラベルがある学習データと正解ラベルがない学習データの両方を利用して学習する手法です。
正確なモデルを作成するための十分なラベル付きデータがなく、且つ大規模な学習データを用意できない場合に、学習データの規模を大きくすることができます。
ただし、Few-shot Learningなどと比較すると、学習データ総量は一定量必要であり、またラベルなしデータはラベルありデータ群のいずれかのラベルに属する必要があるといった前提条件があります。

MixMatch
CIFAR10 分類(画像分類)におけるエラーMixMatchは半教師あり学習の手法の1つで、画像分類タスクにおいて他の半教師あり学習手法よりも高精度な手法です。
下の「CIFAR10分類(画像分類)におけるエラー」のグラフでは、MixMatchはどのケースにおいても教師あり学習との差が最も少ないです。またラベル数が少ない時ほど他の手法よりも良い結果となりました。

CIFAR10 分類(画像分類)におけるエラー

ラベルなしデータを扱うための主な処理は下記の3つです。

  • Data Augmentation (データ増幅)
    与えられたラベルありデータとラベルなしデータの両方に対して増幅を行います。ラベルなしデータの増幅は、疑似ラベル付与の精度向上を目的としています。

  • ラベルなしデータへの疑似ラベルの付与
    ラベルなしデータに対して分類を行い疑似的なラベルを付与します。この分類モデルは全体で学習している分類モデルと同じものです。同じ元画像から増幅された複数枚の画像に対して分類を行い、それらの分類結果をもとに疑似ラベルを付与します。

  • ラベルありデータと疑似ラベルを付与したラベルなしデータ
    MixupとはData Augmentationにも利用される手法で、2つのデータ (例えば画像データとそのラベル) を一定の割合で混ぜ合わせます。ラベルありデータと疑似ラベルありデータをMixupすることでデータの偏りを吸収する効果が期待できます。

MixMatchと教師あり学習の比較検証
画像のデータセットである MiniImagenetの中から右の5クラスを選択し、5クラス分類を行います。
MixMatchではデータ増幅処理を行っているため、データ増幅あり/なし 2つのパターンの教師あり学習を比較対象とし、教師あり学習との精度差異による評価とMixMatchにおけるラベルなしデータの与える影響を検証します。


教師あり学習との精度比較
MixMatchについては「2500 - {ラベルありデータ数}」をラベルなしデータとして使用しました。 ラベルありデータが一定の場合、ラベルなしデータを利用することで教師あり学習よりも精度が高い結果となりました。基本的には、ラベルありデータが増えるほど精度の向上が見られます。

MixMatchにおけるラベルなしデータの影響検証
元のラベルありデータを500枚に固定し、ラベルなしデータの量を変動させました。ラベルなしデータが200枚の場合を除いて、ラベルありデータ500枚の教師あり学習よりもMixMatchの方が精度が高く有効であることが確認できました。ただしラベルなしデータが極端に少ない場合は精度を下げる可能性があります。

MixMatchに関しては、少量のラベルありデータだけを用いて教師あり学習を行うよりも良い精度となりました。ただしラベル無しの学習データは一定量必要であるため、そういった点を考慮した上で概念実証時に素早く効果を測定する際などに用いることが良いと考えられます。

AIの学習データ不足時のケースごとのアプローチ

検証結果を通じて「学習データ不足」に対するアプローチをまとめ、ケースごとの最適な解決手段を提示します。

検証した技術
① Data Augmentation(一般的な手法)
② Data Augmentation(GAN)
③ Fine-tuning
④ Few-shot Learning(MAML)
⑤ 半教師あり学習(MixMatch)

・ 学習データ総量が少なく全てラベルありデータであるケース

・ 学習データ総量は多く学習データのラベルありデータ数が少ないケース

このケースにおいても、まずは一般的なData AugmentationとImagenetの事前学習済みモデルのFine-tuningを試すと良いでしょう。満足のいく結果が得られない場合は、ラベル付与の手間と半教師あり学習導入時の学習データ収集の手間とを比較し、効果的な方法を選択します。 

※どちらのケースでも十分な検証ができるだけのデータは集める必要があり、検証に足るデータ量は課題によって量・質が変化します。

なお②Data Augmentation(GAN)については、GANの学習に大規模なラベル付きデータを必要とするため今回の2つのケースでは活用が難しいと判断しました。 また④Few-shot Learning(MAML)については、2つのケースにおいてMAML学習前よりも一定の精度向上が見られましたが③Fine-tuningの方がより精度が高くそちらを採用しました。

まとめ

学習データ不足環境において様々な技術による精度向上は可能でした。ただし高精度で安定したAIを作るためには、十分な量の学習データを集める必要があります。そのため、今回紹介した手法を利用する場合であっても常に学習データを集めることは並行して行うべきでしょう。

また、今回は一般的な画像分類をターゲットにしましたが、環境や機能に制限を設けることで実用性が高まるケースも多いため、「どこに導入すべきか」「どんなことを実現すべきか」、さらには「AIを使わないで解決することができないか」なども考慮する必要があります。