不正確なデータで「弱教師あり学習」を行う方法

2020年05月07日

教師あり学習手法を利用すると、セマンティックセグメンテーションや物体検出などの複雑なタスクをシンプルなフレームワークで解決することが可能です。しかし、これを実行するためには、高品質のアノテーション付きデータが大量に必要です。セマンティックセグメンテーションのようなタスクではしばしば、分類タスクなどの場合よりアノテーションに多くの時間やコストがかかります。その領域の専門家に相談する必要があるときは、時間やコストはさらに増大します。

※ 関連記事: 機械学習における「教師あり学習」と「教師なし学習」の違い

これらの課題を克服してコストや時間を削減するための一つの方法は、低品質なデータを大量に集めて利用することです。しかし、教師あり学習に高品質のアノテーションが必要であるとすれば、低品質のアノテーションをどのように活用すればよいのでしょうか。

この記事では、機械学習に「弱い」アノテーションを利用する手法である弱教師あり学習について見ていきます。この手法を詳しく解説する前にまず、弱教師あり学習の種類を挙げ、この記事で取り扱う範囲について明らかにしたいと思います。

 

弱教師あり学習の種類

弱教師あり学習に関するWikipediaの記事と、Zhou(周)による文献調査は、弱教師あり学習の分類が若干異なります。そこで、それぞれの分類を組み合わせて以下のようにまとめました。

  • 不正確な(精密でない)監視: 高レベルの(抽象的な)データの場合、アノテーションの精度が低下します。
  • 不正確なアノテーション: データに不正確なアノテーションが含まれる可能性があります。
  • 既存のリソース: 知識ベース、代替データセット、事前学習済みモデルなどの既存のリソースを利用して、与えられたタスクに完全に適しているわけではないが役に立つアノテーションを作成することです。
  • 不完全な監視: 教師データの一部だけにアノテーションが付与されています。

上記のリストからお分かりのように、弱教師あり学習はかなり広範にわたるトピックです。そのため、この記事では、高レベルの(または精密でない)アノテーションやノイズの多い(または不正確な)可能性があるアノテーションを利用する方法を中心にご説明します。さらに、弱教師あり学習を画像ベースのデータに適用する手法に絞って解説しますが、この記事でご紹介する手法の一部(Snorkelなど)はテキストなど他の種類のデータにも利用可能です。

 

弱教師あり学習手法

弱教師あり学習の手法をいくつか紹介していきます。

 

① 弱教師あり学習によるセマンティックセグメンテーション

セマンティックセグメンテーション用に高品質のアノテーション付きデータを取得しようとすると、手間も費用もかかることが多いのは、驚くに当たりません。BoxSup論文の著者は、「セグメーテーションマスクのアノテーションは、物体の位置を見つける作業の15倍以上手間がかかる」と述べています。

画像内の物体のリスト(画像レベルのアノテーションとも呼ばれます)やそのバウンディングボックスなどの不正確なアノテーションをセマンティックセグメンテーションモデルの学習に利用できれば、労力が大幅に削減できます。

そこで、上記のような不正確なアノテーションを利用して、セマンティックセグメンテーションモデルに弱教師あり学習を行う手法を解説した論文をいくつかご紹介しましょう。

マルチインスタンス学習は、インスタンスに個別にアノテーション付けしないタイプの学習フレームワークです。個別にラベル付けする代わりに、バッグと呼ばれるインスタンスの集合にアノテーションを付与します。バイナリ分類の場合、少なくとも一つのインスタンスが正であれば、正のバッグ、バッグ内の全てのインスタンスが負であれば、負のバッグとします。このようにラベル付けされた一連のバッグから、個々のインスタンスのアノテーションを推測しようと試みます。

出典: https://www.researchgate.net/figure/An-illustration-of-the-concept-of-multiple-instance-learning-In-MIL-training-examples_fig1_315925709

画像レベルのアノテーションしか利用できない場合、セマンティックセグメンテーションモデルの弱教師あり学習に上記のマルチインスタンス学習が活用できます。こちらの論文で言及されているように、画像の全ピクセルを「インスタンス」、画像そのものを「バッグ」と捉えると、画像レベルのアノテーションはバッグのアノテーションとして機能します。そして、インスタンス(ピクセル)のアノテーションを推測することによって、ピクセルレベルのセグメンテーションマップを作成することができます。

上記の調査では、弱教師あり学習によるセマンティックセグメンテーションの課題を解決するために、自己教師あり学習を活用する方法にも言及しています。これは、推定されたピクセルレベルのアクティベーションを擬似グラウンドトゥルースキュー(シード)として利用して、最終的なピクセルレベルのセグメンテーションマップ作成を自己教師あり学習する手法です。これ以外は、自己教師あり学習手法はマルチインスタンス学習と似ていると文献調査の著者は述べています。このタイプの手法では多くの場合、バックボーン分類器に学習させてクラスアクティベーションマップをシードとして生成し、それらのシードに基づいてセグメンテーションネットワークに学習させます。

出典: http://cnnlocalization.csail.mit.edu/Zhou_Learning_Deep_Features_CVPR_2016_paper.pdf

例えば、『Seed, Expand and Constrain』という論文では、各クラス(およびバックグラウンド)ごとに弱いローカリゼーションキューとしてクラスアクティベーションマップが生成され、ニューラルネットワークの学習に使われます。学習過程には、損失関数の三つの部分が利用されます。

  1. ネットワーク出力と弱いローカリゼーションキューを比較したシード損失
  2. ネットワーク出力と画像レベルのアノテーションを比較した拡張損失
  3. 高密度の条件付き確率場によって精度を高めたネットワーク出力と元のネットワーク出力を比較した制約損失

テスト時には、高密度の条件付き確率場が後処理に利用されています。

出典: https://arxiv.org/pdf/1603.06098.pdf

生のクラスアクティベーションマップに依存する手法は、画像の識別可能な部分(つまり、バックボーン分類器がクラスの識別を行うために利用できる画像部分)に対してのみ適切なセグメンテーションを生成する傾向があります。この制約を克服するためには、敵対的消法領域拡張法などの手法が提案されています。

※ 関連記事: データ拡張: 機械学習向けの画像データセットを10倍に水増しする方法

パパンドレウなどは、マルチインスタンス学習や自己教師あり学習と異なる期待値最大化手法を提案しています。これは、画像レベルのアノテーションとバウンディングボックスの両方からセマンティックセグメンテーションを学習する手法です。画像レベルのアノテーションだけしか利用できない場合、画像値xと画像レベルのアノテーションzを観測変数、ピクセルレベルのセグメンテーションを潜在変数とみなします。同様のフレームワークはバウンディングボックスにも適合させることができます。そして、こちらの論文で説明されている期待値最大化手法を利用すれば、ピクセルレベルのセグメンテーションを推定することが可能です。

出展: https://arxiv.org/pdf/1502.02734.pdf

弱教師あり学習によるセマンティックセグメンテーションに、物体領域候補とバウンディングボックスのアノテーションを利用するBoxSupなど別の手法もあります。この記事では、簡潔に解説するため、少数の論文から主要なアイデアに絞ってご紹介しています。

 

② 弱教師学習による物体検出

物体検出とは、対象物体の周りにバウンディングボックスを描く方法を学習することです。従来の教師あり学習では、このタスクの学習にバウンディングボックスのアノテーションが必要でしたが、弱教師学習による手法では、画像レベルのアノテーション(画像内の物体のリストなど)だけでも学習できます。

この問題を解決するための一般的な深層学習手法では、対象物体のクラスアクティベーションマップを見つけてバウンディングボックスをそれに適合させます。クラスアクティベーションマップ手法については前の章で既にいくつかご紹介したので、この章では、この手法をバウンディングボックスの作成にどのように利用できるかに絞ってご説明しましょう。

こちらの論文で説明されている通り、一つの選択肢は、単純な閾値法を用いてクラスアクティベーションマップからセグメンテーションを導き出し、バウンディングボックスを取得する方法です。まず、クラスアクティベーションマップの最大値の20%を超える値の領域を利用してセグメンテーションマップを作成します。次に、セグメンテーションマップ内の最大の接続コンポーネントをしっかり囲むようにバウンディングボックスが描かれます。

出典: http://cnnlocalization.csail.mit.edu/Zhou_Learning_Deep_Features_CVPR_2016_paper.pdf

③ 複数のソースから調達した不正確な教師データ

この章では、主にSnorkelフレームワークについて解説します。このフレームワークでは、複数のソースから調達した不正確な(ノイズの多い)アノテーションを機械学習に利用することが可能です。Snorkelは、複数のラベリング関数からデータポイントに関する高レベルまたは不正確な情報を取得できることを想定しています。

例えば、正確にアノテーションが付与されたデータを持たずに物体の有無を分類するタスクについて考えてみましょう。各ラベリング関数は独自の経験則や近似ルールを利用して、物体が画像に存在するかどうかを推測します。

次に、Snorkelは生成モデルを利用して、ラベリング関数の精度を学習し、各データポイントの確率的ラベルを出力します。すると、生成モデルが出力した確率的ラベルを利用して、ニューラルネットワークなどの判別モデルに学習させ、物体の有無を確実に分類することができます。

このアプローチの主なメリットは、正確なアノテーションを行うために非常に時間や費用がかかる分野があることを考えると明らかでしょう。上記の手法を用いると、精度の劣るアノテーションを提供するラベリング関数をその領域の専門家にいくつか作成してもらえば、費用も時間も削減できます。

ラベリング関数を利用し、弱いアノテーションのソースを抽象化することのメリットは、同様のアプローチをいくつかの興味深い事例に拡張できることです。例えば、同じインスタンスに対するクラウドソーシングによるアノテーションを賢く組み合わせれば、不一致やノイズを解消できます。また、センサーの融合や複数のモダリティからの情報を融合するために同様の手法を使うことも考えられます。同様の手法を利用して、事前学習済みのいくつかの弱い分類器の結果を組み合わせることもできるでしょう。

出典: https://ai.googleblog.com/2019/03/harnessing-organizational-knowledge-for.html/

 

④ その他、弱教師あり学習の手法

もちろん、弱教師あり学習が利用されている領域は他にもたくさんあります。例えば、Facebookはハッシュタグを弱いアノテーションとみなし、大量の公開画像を使って画像認識アルゴリズムの精度を高めています。同社はまた、オープンストリートマップデータを独自のマッピングアルゴリズムに組み込むためにも弱教師あり学習を利用しています。他には、HazyResearchグループが、科学や医療分野における弱教師あり学習の活用事例を紹介したブログを公開しています。

 

結論

この記事では、広範なタスクに利用できる弱教師あり学習に関する概要を大まかに解説しました。様々な手法をご紹介しましたが、最後に、重要な要素の一つである、これらの手法の精度/パフォーマンスについて触れておきましょう。

これらの弱教師あり学習(特に不正確な情報が含まれる単一のソースを利用した場合)は、教師あり学習と比べて精度が低い可能性があります。この問題を軽減するための一つの方法は、高品質で正確なアノテーションを一部提供して、モデルの機能を改善することです。

しかし、分野によっては、精度の低下は仕方がないと考えられる場合もあります。例えば、高品質のアノテーションが高価である場合、モデルがないより何らかのモデルがある方がよい可能性があります。また、弱教師あり学習がなかったら使われないであろう、複数のソースから取得した不正確なデータを利用して、何らかの値を導き出せる場合もあるでしょう。

弱教師あり学習は活発に研究が行われている分野なので、今後、パフォーマンスの改善や興味深い進歩が見込まれます。このブログでは様々な手法を取り上げつつ簡潔にまとめることを心がけたので、広範なトピックを深く掘り下げて説明することはできませんでした。各章のリンクを参照して、他の領域で弱教師あり学習がどのように活用されているのかを理解し、知識を深めることをおすすめいたします。

 

LionbridgeのAI学習データサービスについて

当社はAI向け教師データの作成やアノテーションのサービスを提供し、研究開発を支援しています。世界の各タイムゾーンを渡る、100万人のコントリビューターが登録されており、大規模なAIプロジェクトも素早く仕上げることができます。当社サービスにつきましては、こちらのページをご覧頂くか、こちらからお問い合わせください。

※ 本記事は2020年4月29日、弊社英語ブログに掲載された寄稿記事に基づいたものです。本記事を気に入って頂けた方は、他の寄稿記事もご覧ください:

AI開発に肝心な学習データを提供いたします

メディア掲載結果

AI・機械学習の最新情報を配信中

Lionbridge AIのブログで紹介している事例記事やトレンドニュースといったビジネスに役立つ情報はもちろん、オープンデータセット集なども合わせてメール配信しております。