ニューラルネットワークの過剰適合を避ける 5 つのテクニック

ニューラルネットワークの過剰適合を避ける 5 つのテクニック

この記事では、ニューラル ネットワークをトレーニングするときに過剰適合を回避する 5 つの手法を紹介します。

過去 1 年間、私はディープラーニングの分野で働いてきました。この間、私は畳み込みニューラル ネットワーク、再帰型ニューラル ネットワーク、オートエンコーダーなど、多くのニューラル ネットワークを使用してきました。ディープ ニューラル ネットワークで遭遇する最も一般的な問題の 1 つは、トレーニング中の過剰適合です。

モデルがノイズの多いデータの傾向を予測しようとすると、モデル パラメータの数が多くなり、複雑さが増すため、過剰適合が発生する可能性があります。過剰適合モデルは、予測される傾向がデータの実際の状態を反映していないため、不正確になることがよくあります。モデルが既知のデータ (トレーニング セット) に対しては良好な予測結果を示し、未知のデータ (テスト セット) に対してはパフォーマンスが低いという事実によって、オーバーフィッティングが発生しているかどうかを判断できます。機械学習モデルの目標は、モデルが未知のデータを予測できるようにするために、トレーニング セットから問題領域内の任意のデータセットに適切に一般化することです。

この記事では、ニューラル ネットワークをトレーニングするときに過剰適合を回避する 5 つの手法を紹介します。

1. 簡略化されたモデル

過剰適合に対処するための最初のステップは、モデルの複雑さを軽減することです。複雑さを軽減するには、単にレイヤーを削除するか、ニューロンの数を減らしてネットワークを小さくします。同時に、ニューラル ネットワーク内のさまざまなレイヤーの入力次元と出力次元を計算することも非常に重要です。削除するレイヤーの数やニューラル ネットワークのサイズに関する一般的なルールはありませんが、ニューラル ネットワークが過剰適合している場合は、サイズを縮小してみてください。

2. 早期終了

早期停止は、勾配降下法などの反復法を使用してモデルをトレーニングする場合の正規化の一種です。すべてのニューラル ネットワークは勾配降下法で学習するため、早期停止はすべての問題に適用される一般的な手法です。このアプローチを使用してモデルを更新し、各反復でトレーニング セットに適合するようにします。この方法により、テスト セットでのモデルのパフォーマンスをある程度向上させることができます。しかし、それ以上に、トレーニング セットへのモデルの適合性を向上させると、一般化エラーが増加します。早期停止ルールは、モデルが過剰適合し始める前に実行できる反復回数を指定します。

早期停止

上の画像はこのテクニックを示しています。ご覧のとおり、数回の反復後、トレーニング エラーは依然として減少しているにもかかわらず、テスト エラーは増加し始めます。

3. データ拡張を使用する

ニューラル ネットワークでは、データ拡張とは、単にデータのサイズを増やすこと、つまりデータセット内の画像の数を増やすことを意味します。一般的な画像強調技術としては、反転、変換、回転、拡大縮小、明るさの変更、ノイズの追加などがあります。より包括的な参考資料については、以下をご覧ください。

アルバムメンテーション:

https://github.com/albumentations-team/albumentations

画像:

https://github.com/aleju/imgaug

データ拡張

上図に示すように、データ拡張を使用すると、複数の類似した画像を生成できます。これにより、データセットのサイズを増やし、過剰適合を減らすことができます。データ量が増えると、モデルはすべてのサンプルに過剰適合できなくなるため、一般化する必要があります。

4. 正規化を使用する

正規化はモデルの複雑さを軽減する方法です。損失関数にペナルティ項を追加することで正規化を実現します。最も一般的な手法は、L1 正規化と L2 正規化です。

  • L1 ペナルティ項の目的は、重みの絶対値を最小化することです。式は次のとおりです。

L1 正規化

  • L2 ペナルティ項の目的は、重みの二乗を最小化することです。式は次のとおりです。

L2 正規化

次の表は、2 つの正規化方法を比較したものです。

L1 正規化

L2 正則化

1. L1ペナルティ重みの絶対値の合計

1. L2ペナルティ重みの二乗の合計

2. L1はシンプルで解釈可能なモデルを生成する

2. L2正則化は複雑なデータパターンを学習できる

3. L1は極端な値の影響を受けにくい

3. L2は極端な値に大きく影響される

L1 正則化と L2 正則化

では、どの方法が過剰適合を回避するのにより効果的でしょうか?答えは「それは場合による」です。データが複雑すぎて正確にモデル化できない場合は、データ内に存在する固有のパターンを学習できるため、L2 の方が適しています。データが正確にモデル化できるほど単純な場合は、L1 がより適しています。私が遭遇するほとんどのコンピューター ビジョンの問題では、L2 正規化によってほぼ常により良い結果が得られます。ただし、L1 は外れ値の影響を受けにくいです。したがって、適切な正規化オプションは、解決したい問題によって異なります。

5. ドロップアウトを使用する

ドロップアウトは、ニューラル ネットワークの過剰適合を防ぐための正規化手法です。 L1 や L2 などの正規化手法は、コスト関数を変更することで過剰適合を減らします。ドロップアウトはニューラル ネットワーク自体を変更します。トレーニングの各反復中に、ニューラル ネットワークからニューロンをランダムに削除します。異なるニューロンのセットを破棄することは、異なるニューラル ネットワークをトレーニングすることと同じです。ニューラル ネットワークによってオーバーフィットの方法は異なるため、ドロップアウトの最終的な効果はオーバーフィットの発生を減らすことです。

破棄方法を使用する

上の図に示すように、ドロップアウトは、トレーニング プロセス中にニューラル ネットワーク内のニューロンをランダムにドロップするために使用されます。この手法は、画像分類、画像セグメンテーション、単語埋め込み、意味マッチングなど、多くの問題で過剰適合を軽減することが示されています。

結論は

要約すると、オーバーフィッティングとは何か、そしてなぜそれがニューラル ネットワークで一般的な問題なのかを説明しました。次に、ニューラル ネットワークのトレーニング プロセスで過剰適合を回避するための最も一般的な 5 つの方法 (モデルの簡素化、早期停止、データ拡張、正規化、ドロップアウト) を紹介します。

<<:  2019年にRedditの機械学習セクションで人気のプロジェクト17選:最新のコードとリソースがすべて利用可能

>>:  インタビュアー: 「最後にアルゴリズムを書いてください。単一のリンクリストを使用して加算を実行してみましょう...」

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

新しい脳のようなコンピューティングデバイスは人間の学習をシミュレートできる:この論文はNature Communications誌に掲載された。

「シナプストランジスタ」は、脳の可塑性を模倣して、データの処理と保存を同時に行うことができます。 ...

アルトマン:解雇されて戻ってくるのは辛かったが、OpenAIにとっては良いことだ

1月8日、OpenAIのCEOサム・アルトマン氏は、タイム誌編集長とのインタビューで、昨年末に同社と...

ChatGPT を使用して HR を強化するにはどうすればよいでしょうか?

------01------人事担当者としては、日々さまざまな採用情報を発信する必要があります。以...

人工知能の時代では、機械学習とAIアルゴリズムが「80/20ルール」を変えるだろう

[[186517]]ハーバード・ビジネス・レビューは、機械学習と AI アルゴリズムの進歩により、私...

...

人工知能が病理画像から癌遺伝子変異を予測できる!

過去2年間、人工知能(AI)はあらゆる分野の注目を集めるようになりました。囲碁や自動運転車でその威力...

MITの人工知能研究室で1年間働いて学んだ5つのこと

Mike Ferguson は、MIT 脳認知科学部 (MIT BCS) の研究ソフトウェア エンジ...

...

顔認識を完了するための3行のPythonコード

顔認識パッケージこれは世界で最もシンプルな顔認識ライブラリです。 Python リファレンスまたはコ...

...

感情知能の高いNPCがやって来て、手を伸ばすとすぐに次の行動に協力する準備が整いました。

仮想現実、拡張現実、ゲーム、人間とコンピュータの相互作用などの分野では、仮想キャラクターが画面外のプ...