このデータ サイエンスの間違いに注意し、30 時間以上の無駄な作業を回避しましょう...

このデータ サイエンスの間違いに注意し、30 時間以上の無駄な作業を回避しましょう...

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discovery)から転載したものです。

[[389352]]

以下のモデルは、画像認識コンテストで数日間にわたってトレーニングされました。これは比較的単純なモデルであり、その AUC は当初 0.9 でした。これは、AUC を 0 から 1 の間に保つというコンペティションの要件を満たしていました。それ以外は、コンペティションに対してあまり期待していませんでした。そのため、重みを評価して通常どおりモデルをトレーニングしたところ、次のような結果に驚きました。

当時の大会のリアルタイムランキングでは、1位のチームのAUC値は0.965で、私の実効AUC値は0.9968に達していました。私は受賞まであと一歩のところまで来ていました。100チーム以上を大きく引き離していたので、私にとっては信じられないことでした。この日、ディープラーニングの神様が私を啓蒙してくれたようで、重みの初期化において、最適化の超能力を持つのと同じくらい強力な、このような素晴らしい結果を達成することができました。

結果は信じられないほど良好です。モデルによって示されたデータを信じたいと思っていましたが、まだ少し疑問が残っていました。最初はデータのサブセットで、次にデータ全体で、モデルの予測を何度も評価しました。結果は良好で、検証スコアはほぼ完璧でした。

そこで私は、勝利への近道を見つけたと確信し、1位を獲得する準備ができました。興奮しながら、テストデータに対するモデルの予測をすぐに提出しました。ボーナスはあなたの指先にあります。

そしてその試合のスコアは衝撃的だった。

0.5ポイント。ランダムな予想を提出したり、コンテストで提供されたサンプルファイルを提出するだけでも、0.5 ポイントを獲得できます。私が得た魔法のようなひらめきは、単なる推測に過ぎませんでした。

結果が出た後、何が悪かったのかを突き止めようと30時間以上かけてデータを確認し、すっかり疲れ果ててしまいました。予測に問題があるはずです。ファイルが正しく転送されなかった可能性があります。

しかし、この30時間は無駄になってしまいました。結果を修正するために一生懸命努力しましたが、予測値は依然として低いままでした。

何が悪かったのでしょうか?

答えは「データ侵害」です。データ侵害は単純な概念ですが、私はまさにそれに陥ってしまいました。モデルのトレーニング中、プログラミングに問題はなく、モデルはテストデータに従って正しくトレーニングされていました。問題は簡単には見つからない場所で発生しました。

簡単に言えば、データ漏洩はモデルが予期しない状況に遭遇したときに発生します。コンテストでは、複数のセッションでモデルをトレーニングしました。つまり、前回のセッションからモデルの重みをロードし、モデルをトレーニングして、パフォーマンスが最も優れた重みを保存します。計算時間の制約により、トレーニングは複数のセッションで実行されました。

ただし、各セッションでは、データをトレーニング セットと検証セットにランダムに分割するコードを含め、コード全体を再実行するため、トレーニング セットは各トレーニングで同じではありません。これを回避するには、トレーニング/検証セットを分割するシードを設定することができますが、これは私が事前に(まったく)行わなかったことです。

トレーニングデータは毎回異なりますが、モデルの重み(学習した内容)は渡されます。したがって、十分なトレーニングの後、モデルはデータセット全体に公開されます。

このようなことは何度も起こっています。機械学習モデルは本質的に不活性であり、学習をあきらめてデータを記憶するだけであり、感情のないネットワークでは非常に簡単なことです。したがって、モデルは、これまで見たことのないデータに直面すると無力になります。

モデルは以前のトレーニングですでに検証データを見ていたので、ほぼ完璧なスコア 0.9968 を取得できました。そのため、私はこれがモデル自体の能力であると誤って信じてしまいました。モデルの初期のパフォーマンスを振り返り、検証スコアがトレーニング スコアよりも高かった理由を考えてみると、これは実はかなり奇妙でまれな現象であることがわかります。

したがって、誰もがその後の練習のたびにこの重要な教訓を心に留めておく必要があります。結果が信じられないほど完璧である場合、結果に何か問題がある可能性が高いです。 (このアプローチは、データ侵害を特定する上で特に重要です。)

これはデータ侵害であり、他の種類の侵害には次のようなものがあります。

  • 前処理。データを分割する前に処理すると、情報漏洩につながる可能性があります。たとえば、データセット全体の平均などの方法を使用する場合、トレーニング セットには検証セットに関するデータが含まれ、その逆も同様です。
  • 時間。予測問題に時間が関係する場合、単純なランダムなトレーニング/検証分割は機能しません。つまり、A と B に基づいて C を予測したい場合は、[C, A] → B ではなく、[A, B] → C でモデルをトレーニングする必要があります。これは、後のデータ ポイント C の値を知っていることで、モデルが前のデータ ポイント B を予測できるためです。

物事が完璧になりすぎる前によく考えるのは良い習慣ですが、微妙な詳細にも注意を払うことも大切です。たとえば、スコアの増加は大きいかもしれませんが、必ずしも異常ではありません。その一方で、テスト データで予測を行うときにモデルのパフォーマンスが低下する可能性があります。

実際のところ、最善の方法は、データを任意の方法で分割する目的を意識して、トレーニング/検証/テスト セットに分割し、早い段階で実行することです。さらに、シードを設定することは強力な安全策となります。

よりオープンなレベルでは、データ漏洩は有益な場合があります。データ漏洩は、モデルが本来見るべきではないデータを見た場合には良いことですが、モデルが見たデータは一般化能力の向上と学習に役立ちます。

たとえば、Kaggle のランキング システム。このシステムは、パブリック リーダーボードとプライベート リーダーボードで構成されています。コンテストが終了するまで、ユーザーはすべてのトレーニング コンテンツとテスト コンテンツの一部にアクセスできます (このシステムではコンテンツの 25% にアクセスでき、公開リーダーボードでの順位を決定するために使用されます)。ただし、競技終了後は、テスト コンテンツの残りの 75% を使用してモデルを評価し、最終的なプライベート リーダーボード ランキングを決定します。

ただし、この 25% のテスト コンテンツを使用してプライベート リーダーボードのスコアを向上させることができた場合、これはデータ漏洩とみなされます。

Kaggle のコンペティションでは、残りの 25% の知識に基づいて、テスト データの 75% に対して何らかの前処理を実行することが比較的一般的です。たとえば、PCA を使用してサイズを縮小できます。一般的に、データが多いほど良くなるため、これによりモデルのパフォーマンスが向上します。

データ接続性を向上させる方法の探求を決してやめるべきではありません。原則として、複雑なイベントを純粋に悪い (または良い) と分類すべきではありません。

要約すると、データ サイエンティストはモデルにさらに多くのデータを提供するよう努める必要がありますが、用途の異なるデータを区別する必要があります。さらに、希望が打ち砕かれないように、ネガティブにプログラミングする必要があります。結局のところ、最悪の結果を予想することによってのみ、問題に冷静に対処し、成功に直面したときに歓喜することができるのです。

<<:  アダプティブコンピューティングがAI製品化の課題にどのように対処するか

>>:  中国の人工知能は世界の潮流をリードできるか?

ブログ    

推薦する

機械学習がオラクルのクラウドアプリケーション戦略の中核に

オラクルの会長兼最高技術責任者(CTO)ラリー・エリソンは本日、Oracle Fusion Clou...

...

...

Go 言語アルゴリズムの美しさ - 基本的なソート

[[404642]]この記事はWeChatの公開アカウント「roseduanの執筆場所」から転載した...

リアルタイムの犯罪警報: ディープラーニングで安全を守る方法

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

AI導入から最大限の価値を引き出す方法

[[344258]]業界をリードする組織を対象とした調査では、世界中の組織の大多数 (91.6%) ...

テキストアドベンチャーゲームは人工知能の助けを借りて新たな命を吹き込まれる

こんなゲームがあります:あなたの名前はシャオミン、ラリオンの高貴な領主であり、あなたの指揮下に多数の...

電荷ベースの原子シミュレーションのための事前学習済み汎用ニューラルネットワーク CHGNet

複雑な電子相互作用の大規模シミュレーションは、原子モデル化における最大の課題の 1 つです。古典的な...

...

ディープラーニングは物理システムのシミュレーションを変え、速度を最大20億倍に高めている。

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

...

機械学習における正則化とは何ですか?

1. はじめに機械学習の分野では、トレーニング プロセス中にモデルが過剰適合したり、不足適合になっ...

...

Appleとオレゴン州立大学がAutoFocusFormerを提案: 従来のグリッドを廃止し、適応型ダウンサンプリング画像セグメンテーションを使用

従来の RGB 画像はラスター形式で保存され、ピクセルは画像全体に均等に分散されます。ただし、この均...