ラベルなしデータを使用した半教師あり画像分類

公開: 2022-03-11

教師あり学習は、過去10年間、コンピュータービジョンとディープラーニングの研究の最前線に立ってきました。

教師あり学習の設定では、人間は大量のデータセットに手動で注釈を付ける必要があります。 次に、モデルはこのデータを使用して、データとラベルの間の複雑な基礎となる関係を学習し、データが与えられた場合にラベルを予測する機能を開発します。 ディープラーニングモデルは一般にデータを大量に消費し、優れたパフォーマンスを実現するには膨大な量のデータセットを必要とします。 ディープラーニングが最近成功した理由は、ハードウェアの改善と人間がラベル付けした大規模なデータセットの可用性です。

教師あり深層学習の主な欠点の1つは、トレーニングのために人間がラベル付けした大量のデータセットの存在に依存していることです。 専門家によって注釈が付けられた巨大なデータセットを取得することは、ロジスティック的に困難であり、非常に費用がかかる可能性があるため、この贅沢はすべてのドメインで利用できるわけではありません。 ラベル付きデータの取得は困難で費用のかかる作業になる可能性がありますが、通常、ラベルなしの大量のデータセット、特に画像やテキストデータにアクセスできます。 したがって、これらの十分に活用されていないデータセットを利用して、学習に使用する方法を見つける必要があります。

ラベル付きおよびラベルなしの画像

事前に訓練されたモデルからの転移学習

ラベル付けされたデータが大量にない場合、通常、転移学習を使用します。 では、転移学習とは何ですか?

転移学習とは、同様のタスクからの知識を使用して、目前の問題を解決することを意味します。 実際には、通常、重みのランダムな初期化から開始するのではなく、同様のタスクから学習したディープニューラルネットワークの重みを初期化として使用し、利用可能なラベル付きデータでモデルをさらにトレーニングして、手元のタスクを解決することを意味します。

転移学習により、数千の例という小さなデータセットでモデルをトレーニングでき、非常に優れたパフォーマンスを実現できます。 事前にトレーニングされたモデルからの転移学習は、次の3つの方法で実行できます。

1.特徴抽出

通常、ニューラルネットワークの最後の層は、最も抽象的でタスク固有の計算を実行します。これは、通常、他のタスクに簡単に転送することはできません。 対照的に、ネットワークの最初のレイヤーは、エッジや一般的な形状など、タスク間で簡単に転送できるいくつかの基本的な機能を学習します。

以下の画像セットは、畳み込みニューラルネットワーク(CNN)のさまざまなレベルの畳み込みカーネルが本質的に学習していることを示しています。 最初のレイヤーが基本的な形状を学習し、徐々に上位のレイヤーがより複雑なセマンティックの概念を学習する階層表現が表示されます。

階層表現:初期レイヤーと上位レイヤー

一般的な方法は、大きなラベル付き画像データセット(ImageNetなど)で事前トレーニングされたモデルを取得し、最後に完全に接続されたレイヤーを切り落とすことです。 次に、完全に接続された新しいレイヤーが接続され、必要なクラス数に従って構成されます。 転送されたレイヤーは凍結され、新しいレイヤーは、タスクで使用可能なラベル付きデータでトレーニングされます。

この設定では、事前にトレーニングされたモデルが特徴抽出器として使用されており、上部の完全に接続されたレイヤーは浅い分類器と見なすことができます。 この設定は、トレーニング可能なパラメーターの数が比較的少ないため、過剰適合よりも堅牢です。したがって、この構成は、使用可能なラベル付きデータが非常に少ない場合に適切に機能します。 データセットのどのサイズが非常に小さなデータセットとして適格であるかは、通常、目前の問題やモデルバックボーンのサイズなど、考慮すべき多くの側面を伴うトリッキーな問題です。 大まかに言えば、私はこの戦略を数千の画像で構成されるデータセットに使用します。

2.微調整

または、事前にトレーニングされたネットワークからレイヤーを転送し、利用可能なラベル付きデータでネットワーク全体をトレーニングすることもできます。 ネットワーク全体をトレーニングしているため、このセットアップにはもう少しラベル付けされたデータが必要です。したがって、多数のパラメーターが必要です。 この設定では、データが不足している場合に過剰適合する傾向があります。

3.2段階の転移学習

このアプローチは私の個人的なお気に入りであり、少なくとも私の経験では、通常、最良の結果が得られます。 ここでは、ネットワーク全体を微調整する前に、転送されたレイヤーを数エポックの間フリーズしながら、新しくアタッチされたレイヤーをトレーニングします。

最終層にいくつかのエポックを与えずにネットワーク全体を微調整すると、ランダムに初期化された層からベースネットワークに有害な勾配が伝播する可能性があります。 さらに、微調整に必要な学習率は比較的低く、2段階のアプローチが便利なソリューションです。

半教師ありおよび教師なし手法の必要性

これは通常、ほとんどの画像分類タスクで非常にうまく機能します。これは、ImageNetのように、可能な画像空間のかなりの部分をカバーする巨大な画像データセットがあり、通常、そこから学習した重みをカスタム画像分類タスクに転送できるためです。 さらに、事前にトレーニングされたネットワークはすぐに利用できるため、プロセスが容易になります。

ただし、タスク内の画像の分布がベースネットワークでトレーニングされた画像と大幅に異なる場合、このアプローチはうまく機能しません。 たとえば、医用画像デバイスによって生成されたグレースケール画像を処理している場合、ImageNetウェイトからの転送学習はそれほど効果的ではなく、ネットワークを十分なパフォーマンスにトレーニングするには、数千を超えるラベル付き画像が必要になります。

対照的に、問題については、ラベルのない大量のデータセットにアクセスできる場合があります。 そのため、ラベルのないデータセットから学習する機能が重要です。 さらに、ラベルのないデータセットは、通常、最大のラベルの付いたデータセットよりも多様性と量がはるかに多くなります。

半教師ありアプローチは、ImageNetのような大規模なベンチマークでの教師ありアプローチよりも優れたパフォーマンスをもたらすことが示されています。 Yann LeCunの有名なケーキの例えは、教師なし学習の重要性を強調しています。

ヤン・ルカンのケーキの例え

半教師あり学習

このアプローチは、ラベル付きデータとラベルなしデータの両方を学習に活用するため、半教師あり学習と呼ばれます。 これは通常、ラベル付けされたデータが少量で、ラベル付けされていないデータが大量にある場合に推奨されるアプローチです。 ラベル付きデータとラベルなしデータから同時に学習する手法がありますが、2段階のアプローチのコンテキストで問題について説明します。ラベルなしデータの教師なし学習と、分類タスクを解決するための上記の戦略の1つを使用した転移学習です。 。

このような場合、教師なし学習はかなり紛らわしい用語です。 これらのアプローチは、重みの学習をガイドする監視信号があるという意味で真に教師なしではありませんが、したがって、監視信号はデータ自体から導出されます。 したがって、それは自己監視学習と呼ばれることもありますが、これらの用語は、同じアプローチを指すために文献で交換可能に使用されています。

自己監視学習の主な手法は、以下で説明するように、データからこの監視信号を生成する方法によって分けることができます。

生成的方法

生成方法-オートエンコーダー:エンコーダーおよびデコーダーネットワーク

生成的手法は、データをボトルネックに通した後、データを正確に再構築することを目的としています。 このようなネットワークの一例は、オートエンコーダです。 それらは、エンコーダーネットワークを使用して低次元表現空間への入力を減らし、デコーダーネットワークを使用して画像を再構成します。

この設定では、入力自体がネットワークをトレーニングするための監視信号(ラベル)になります。 次に、エンコーダネットワークを抽出し、上記のセクションで説明した転移学習手法の1つを使用して、分類器を構築するための開始点として使用できます。

同様に、別の形式の生成ネットワーク(Generative Adversarial Networks(GAN))を使用して、ラベルのないデータの事前トレーニングを行うことができます。 次に、識別器を採用し、分類タスクのためにさらに微調整することができます。

識別方法

識別アプローチは、補助分類タスクを学習するためにニューラルネットワークをトレーニングします。 補助タスクは、人間の注釈なしで監視信号をデータ自体から導出できるように選択されます。

このタイプのタスクの例は、画像パッチの相対位置の学習、グレースケール画像の色付け、または画像に適用される幾何学的変換の学習です。 そのうちの2つについてさらに詳しく説明します。

画像パッチの相対位置の学習

画像パッチの相対位置の学習

この手法では、ソース画像から画像パッチを抽出して、ジグソーパズルのようなグリッドを形成します。 パスの位置がシャッフルされ、シャッフルされた入力がネットワークに送られます。ネットワークは、グリッド内の各パッチの位置を正しく予測するようにトレーニングされています。 したがって、監視信号は、グリッド内の各パスの実際の位置です。

それを行うことを学ぶ際に、ネットワークは、オブジェクトの相対的な構造と方向、および色などの低レベルの視覚的特徴の連続性を学習します。 結果は、このジグソーパズルを解くことによって学習された機能が、画像分類やオブ​​ジェクト検出などのタスクに高度に移行可能であることを示しています。

画像に適用される幾何学的変換の学習

画像に適用される幾何学的変換の学習

これらのアプローチは、入力画像に小さな幾何学的変換のセットを適用し、変換された画像のみを見て、適用された変換を予測するように分類器をトレーニングします。 これらのアプローチの1つの例は、ラベルのない画像に2D回転を適用して回転した画像のセットを取得し、ネットワークをトレーニングして各画像の回転を予測することです。

この単純な監視信号により、ネットワークは画像内のオブジェクトをローカライズし、それらの方向を理解することを学習します。 これらのアプローチによって学習された機能は、高度に転送可能であり、半教師あり設定での分類タスクの最先端のパフォーマンスを生み出すことが証明されています。

類似性に基づくアプローチ

これらのアプローチは、画像を固定サイズの表現空間に投影します。この空間では、類似した画像が互いに接近し、異なる画像がさらに離れています。 これを実現する1つの方法は、トリプレット損失に基づくシャムネットワークを使用することです。これにより、意味的に類似した画像間の距離が最小化されます。 トリプレット損失には、アンカー、正の例、および負の例が必要であり、潜在空間でのユークリッド距離の観点から、負よりも正をアンカーに近づけようとします。 アンカーとポジティブは同じクラスからのものであり、ネガティブの例は残りのクラスからランダムに選択されます。

ラベルのないデータでは、画像のクラスを知らなくても、アンカーの正と負の例のこのトリプレットを生成するための戦略を考え出す必要があります。 そのための1つの方法は、アンカー画像のランダムなアフィン変換を肯定的な例として使用し、別の画像を否定的な例としてランダムに選択することです。

トリプレットロス

実験

このセクションでは、画像分類のための教師なし事前トレーニングの可能性を経験的に確立する実験について説明します。 これは、昨年春にニューヨーク大学でヤン・ルカンと一緒に受講したディープラーニングクラスの学期プロジェクトでした。

  • データセット。 これは128Kのラベル付きの例で構成されており、その半分はトレーニング用で、残りの半分は検証用です。 さらに、512Kのラベルなし画像が提供されます。 データには合計1,000のクラスが含まれています。
  • 教師なし事前トレーニング。 AlexNetは、63エポックの広範なデータ拡張を使用してローテーション分類のためにトレーニングされました。 Rotnetが論文で文書化したハイパーパラメータを使用しました。
  • 分類器のトレーニング。 4番目の畳み込みレイヤーからフィーチャが抽出され、3つの完全に接続されたレイヤーが追加されました。 これらのレイヤーはランダムに初期化され、スケジュールされた減少する学習率でトレーニングされ、トレーニングを停止するために早期停止が実装されました。
  • ネットワーク全体の微調整。 最終的に、ラベル付けされたデータ全体でトレーニングされたネットワークを微調整しました。 以前に別々にトレーニングされた特徴抽出器と分類器の両方が、15エポックの小さな学習率で微調整されました。

クラスごとに異なる数のラベル付きトレーニング例を使用して、7つのモデルをトレーニングしました。 これは、トレーニングデータのサイズが半教師ありセットアップのパフォーマンスにどのように影響するかを理解するために行われました。

実験

回転分類の事前トレーニングで82%の正解率を得ることができました。 分類器のトレーニングでは、上位5%の精度が46.24%の値で飽和し、ネットワーク全体を微調整すると、最終的な数値は50.17%になりました。 事前トレーニングを活用することで、教師ありトレーニングよりも優れたパフォーマンスが得られ、上位5つの精度が40%になります。

予想どおり、ラベル付けされたトレーニングデータが減少すると、検証の精度が低下します。 ただし、パフォーマンスの低下は、監視対象の設定で予想されるほど重要ではありません。 トレーニングデータがクラスあたり64例からクラスあたり32例に50%減少すると、検証精度が15%低下するだけです。

実験

クラスごとに32の例のみを使用することにより、半教師ありモデルは、クラスごとに64の例を使用してトレーニングされた教師ありモデルよりも優れたパフォーマンスを実現します。 これは、リソースの少ないラベル付きデータセットでの画像分類のための半教師ありアプローチの可能性の経験的証拠を提供します。

まとめ

教師なし学習は、リソースの少ないデータセットのパフォーマンスを向上させる機能を備えた強力なパラダイムであると結論付けることができます。 教師なし学習は現在初期段階ですが、安価で簡単にアクセスできるラベルのないデータからの学習を可能にすることで、コンピュータービジョンの分野でのシェアを徐々に拡大していきます。


Toptal Engineeringブログでさらに読む:

  • Python/NetworkXを使用したグラフデータサイエンス