メインコンテンツまでスキップ

パラメータの重要性

このパネルは、どのハイパーパラメーターがメトリクスの望ましい値を最も予測するのに適していて、高い相関があるかを表示します。

相関 は、ハイパーパラメーターと選択されたメトリクス (この場合 val_loss) との間の線形相関です。したがって、高い相関はハイパーパラメーターの値が高くなると、メトリクスの値も高くなることを意味し、その逆もまた然りです。相関は優れたメトリクスですが、入力間の二次的な相互作用を捉えることはできず、範囲が大きく異なる入力を比較するのは困難になります。

したがって、ハイパーパラメーターを入力とし、メトリクスを目標出力とするランダムフォレストをトレーニングし、ランダムフォレストの特徴重要度値を報告する 重要性 メトリクスも計算します。

この技術のアイデアは、Fast.aiでハイパーパラメーター空間を探るためにランダムフォレストの特徴重要度を利用することを先駆けた Jeremy Howard との会話からインスピレーションを得ました。彼の素晴らしい 講義 (およびこれらの ノート) をチェックして、この分析の動機についてさらに学ぶことを強くお勧めします。

このハイパーパラメーターの重要性パネルは、相関の高いハイパーパラメーター間の複雑な相互作用を解明します。これにより、モデルのパフォーマンスを予測する上で重要なハイパーパラメーターを表示することで、ハイパーパラメーター検索を細かく調整するのに役立ちます。

ハイパーパラメーター重要性パネルの作成

W&B Project に移動します。お持ちでない場合は、このプロジェクト を使用できます。

プロジェクトページから、Add Visualization をクリックします。

次に Parameter Importance を選択します。

プロジェクトに W&B を統合する 以外に新しいコードを書く必要はありません。

備考

空のパネルが表示された場合、Runs がグループ化されていないことを確認してください。

ハイパーパラメーター重要性パネルの使用

Wandb のパラメーターマネージャーの横にある魔法の杖をクリックすることで、最も有用なハイパーパラメーターのセットを自動的にビジュアライズできます。その後、重要度に基づいてハイパーパラメーターを並べ替えることができます。

Using automatic parameter visualization

パラメーターマネージャーを使用すると、表示するパラメーターと非表示にするパラメーターを手動で設定できます。

Manually setting the visible and hidden fields

ハイパーパラメーター重要性パネルの解釈

このパネルはトレーニングスクリプトの wandb.config オブジェクトに渡されたすべてのパラメーターを表示します。次に、選択したモデルメトリクス (val_loss この場合) に対するこれらの config パラメーターの特徴重要度と相関を示します。

重要性

重要性列は、各ハイパーパラメーターが選択したメトリクスの予測にどれほど役立ったかを示します。多数のハイパーパラメーターを調整し始め、このプロットを使用してどれがさらに探索する価値があるかを絞り込むシナリオを想像できます。次の Sweeps では最も重要なハイパーパラメーターに限定し、より速く、より低コストで優れたモデルを発見します。

注: これらの重要性は線形モデルではなくツリーベースのモデルを使用して計算します。前者はカテゴリーデータと正規化されていないデータの両方に対してより耐性があります。\ このパネルでは epochs, learning_rate, batch_size および weight_decay がかなり重要であったことがわかります。

次のステップとして、これらのハイパーパラメーターのより詳細な値を探索する別の Sweep を実行するかもしれません。興味深いことに、learning_ratebatch_size は重要でしたが、出力との相関はそれほど高くありませんでした。\ ここで相関について説明します。

相関

相関は、各ハイパーパラメーターとメトリクス値間の線形関係を捉えます。彼らは「このハイパーパラメーター(例えば SGD オプティマイザー)を使用すると、val_loss に有意な関係がありますか?」という質問に答えます(この場合ははいと答えます)。相関値は -1 から 1 の範囲であり、正の値は正の線形相関を、負の値は負の線形相関を、0 の値は相関がないことを表します。一般に、0.7 を超える値は強い相関を示します。

このグラフを使用してメトリクスとの相関が高い値(この場合は確率的勾配降下法や adam を rmsprop や nadam より選択)を探索したり、エポックを増やしてトレーニングを行うことができます。

相関の解釈についての簡単な注意点:

  • 相関は因果関係の証拠ではなく、関連性の証拠を示します。
  • 相関はアウトライヤーに敏感であり、特に試行したハイパーパラメーターのサンプルサイズが小さい場合には、強い関係を中程度の関係に変える可能性があります。
  • 最後に、相関はハイパーパラメーターとメトリクス間の線形関係のみを捉えます。強い多項式関係がある場合、それは相関には捉えられません。

重要性と相関の不一致は、重要性がハイパーパラメーター間の相互作用を考慮しているのに対し、相関は個々のハイパーパラメーターがメトリクス値に与える影響のみを測定するためです。第二に、相関は線形関係のみを捉えますが、重要性はより複雑な関係を捉えることができます。

ご覧のように、重要性と相関はどちらもハイパーパラメーターがモデルのパフォーマンスにどのように影響するかを理解するための強力なツールです。

このパネルが、これらの洞察を捉え、より強力なモデルを迅速に見つけるのに役立つことを願っています。

Was this page helpful?👍👎