転移学習は、既存の機械学習タスクでトレーニングされたモデルを使用して新しいタスクを解決する方法です。既存のモデルの知識を新しいタスクに転送することで、新しいタスクに必要なトレーニング データの量を削減できます。近年、転移学習は自然言語処理や画像認識などの分野で広く利用されています。この記事では、転移学習の概念と原理を詳しく紹介します。
タスクの領域とデータの可用性に基づいて、さまざまな転移学習戦略と手法を適用します。
1. 帰納的転移学習
帰納的転移学習では、ソース ドメインとターゲット ドメインが同じである必要がありますが、特定のタスクはモデルが違います。これらのアルゴリズムは、ソース モデルの知識を活用し、それを適用してターゲット タスクを改善しようとします。事前トレーニングされたモデルにはドメイン機能に関する専門知識がすでに備わっているため、最初からトレーニングするよりも優れた出発点となります。
帰納的転移学習は、ソース ドメインにラベル付きデータが含まれるかどうかに基づいて、さらに 2 つのサブカテゴリに分類されます。これらには、それぞれマルチタスク学習とセルフペース学習が含まれます。
2. トランスダクティブ転移学習
#トランスダクティブ転移は、ソース タスクとターゲット タスクのフィールドが異なるシナリオで使用できます。まったく同じですが、相互に関連しています。ソース タスクとターゲット タスクの間には類似点があることがわかります。これらのシナリオでは通常、ソース ドメインに大量のラベル付きデータがあり、ターゲット ドメインにはラベルのないデータのみが含まれます。
3. 教師なし転移学習
教師なし転移学習は、帰納的転移学習に似ています。唯一の違いは、アルゴリズムが教師なしタスクに焦点を当てており、ソース タスクとターゲット タスクの両方にラベルのないデータセットが含まれていることです。
4. ドメインの類似性に基づき、トレーニング データ サンプルの種類に依存しない戦略
同型転移学習法は、ドメインが同じ特徴空間を持つ状況を処理するために開発および提案されています。同型転移学習では、ドメインの周辺分布はわずかに異なります。これらの方法では、サンプル選択のバイアスまたは共変量のシフトを補正することでドメインを調整します。
異種転移学習手法は、異なる特徴空間と異なるその他の問題を伴うソース ドメインとターゲット ドメインの問題を解決することを目的としています。データ分散やラベルスペースなど。異種転移学習は、言語間テキスト分類、テキストから画像への分類などのクロスドメイン タスクに適用されます。
1. 事前トレーニング済みモデルを取得します
最初のステップ これは、トレーニングの基礎として保持したい事前トレーニング済みモデルを選択するタスクに基づいています。転移学習では、事前トレーニングされたソース モデルの知識とターゲット タスク ドメインとの間に互換性のある強い相関関係が必要です。
2. 基本モデルの作成
基本モデルでは、最初のステップでタスクに密接に関連するアーキテクチャを選択します。基本モデルの最終出力層に、ユースケースで必要な数よりも多くのニューロンがある状況です。この場合、最終出力層を削除し、それに応じて変更する必要があります。
3. 開始層をフリーズする
事前トレーニングされたモデルの開始層をフリーズすることは、モデルに基本的な機能を学習させないようにするために重要です。 。最初の層をフリーズしないと、これまでに行われた学習はすべて失われます。これはモデルをゼロからトレーニングするのと何ら変わりませんが、時間やリソースなどが無駄になります。
4. 新しいトレーニング可能なレイヤーの追加
ベース モデルから再利用される唯一の知識は、特徴抽出レイヤーです。モデルの特別なタスクを予測するには、特徴抽出レイヤーの上に追加のレイヤーを追加する必要があります。これらは通常、最終出力層です。
5. 新しい層をトレーニングする
事前トレーニングされたモデルの最終出力は、必要なモデル出力とは異なる可能性があります。この場合、モデルをトレーニングするには新しい出力層を使用する必要があります。
6. モデルのパフォーマンスを向上させるために、モデルを微調整します。微調整には、ベース モデルの一部をフリーズ解除し、非常に低い学習率でデータセット全体でモデル全体を再度トレーニングすることが含まれます。学習率が低いと、過剰適合を防ぎながら、新しいデータセットでのモデルのパフォーマンスが向上します。
従来の機械学習と転移学習の違い
2. 従来の機械学習は分離されたトレーニング方法を使用しており、各モデルは特定の目的のために個別にトレーニングされ、過去の知識に依存しません。対照的に、転移学習では、事前トレーニングされたモデルから得られた知識を使用してタスクを処理します。
3. 転移学習モデルは、従来の ML モデルよりも早く最適なパフォーマンスに到達します。これは、以前にトレーニングされたモデルからの知識 (特徴、重みなど) を活用するモデルがこれらの特徴をすでに理解しているためです。ニューラル ネットワークを最初からトレーニングするよりも高速です。
深層転移学習の概念
深層学習モデルのプロセスを理解するには、そのコンポーネントを理解する必要があります。深層学習システムは、さまざまな層でさまざまな機能を学習できる階層型アーキテクチャです。初期層は高レベルの機能をコンパイルしますが、ネットワークが深くなるにつれて、より詳細な機能に絞り込まれます。
これらの層は最終的に最後の層に接続されて、最終出力が得られます。これにより、最後の層を他のタスクの固定特徴抽出器として使用する必要がなく、一般的な事前トレーニング済みネットワークを使用するという制限が開かれます。重要なアイデアは、事前トレーニングされたモデルの重み付けされたレイヤーを利用して特徴を抽出しますが、新しいタスクの新しいデータによるトレーニング中にモデルの重みを更新しないことです。
ディープ ニューラル ネットワークは、多くの調整可能なハイパーパラメーターを備えた階層構造です。最初の層の役割は一般的な特徴を捉えることですが、後の層は当面の明示的なタスクに重点を置きます。基本モデルの高次の特徴表現を微調整して、特定のタスクとの関連性を高めることは理にかなっています。トレーニング中にフリーズを維持しながら、モデルの特定の層を再トレーニングできます。
モデルのパフォーマンスをさらに向上させる方法は、分類器のトレーニング中に、事前トレーニングされたモデルの最上層の重みを再トレーニングまたは微調整することです。これにより、モデルのソース タスクから学習した共通特徴マップから重みが強制的に更新されます。微調整により、モデルは過去の知識を適用し、ターゲット ドメインで何かを再学習できるようになります。
また、モデル全体ではなく、いくつかの最上位層を微調整してみる必要があります。最初のいくつかの層は、ほぼすべての種類のデータに一般化できる基本的な一般的な特徴を学習します。微調整の目的は、一般的な学習をオーバーライドするのではなく、これらの特殊な機能を新しいデータセットに適応させることです。
以上が転移学習の戦略、手順、違い、概念を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。