Parameter importance

モデルのハイパーパラメーターと出力メトリクスの関係を可視化します。

どのハイパーパラメータが最も優れた予測因子であり、メトリクスの望ましい値と高度に相関しているかを調べます。

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

したがって、W&B は 重要度 メトリクスも計算します。W&B は、ハイパーパラメータを入力として、メトリクスをターゲット出力としてランダムフォレストをトレーニングし、ランダムフォレストのフィーチャーの重要度の値をレポートします。

この手法のアイデアは、Jeremy Howard との会話に触発されました。彼は、Fast.ai でハイパーパラメータ空間を調査するために、ランダムフォレストのフィーチャーの重要度の使用を開拓しました。W&B は、この 講義 (およびこれらの ノート)をチェックして、この分析の背後にある動機について詳しく学ぶことを強くお勧めします。

ハイパーパラメータの重要度パネルは、高度に相関するハイパーパラメータ間の複雑な相互作用を解きほぐします。そうすることで、モデルのパフォーマンスを予測するという点で、どのハイパーパラメータが最も重要であるかを示すことにより、ハイパーパラメータの検索を微調整するのに役立ちます。

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

  1. W&B の Projects に移動します。
  2. Add panels ボタンを選択します。
  3. CHARTS ドロップダウンを展開し、ドロップダウンから Parallel coordinates を選択します。
Using automatic parameter visualization

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

Manually setting the visible and hidden fields

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

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

重要度

重要度の列には、選択したメトリクスの予測に各ハイパーパラメータがどの程度役立ったかが表示されます。多数のハイパーパラメータのチューニングを開始し、このプロットを使用して、さらに調査する価値のあるハイパーパラメータを絞り込むシナリオを想像してください。後続の Sweeps は、最も重要なハイパーパラメータに限定できるため、より優れたモデルをより迅速かつ安価に見つけることができます。

前の画像では、epochs, learning_rate, batch_size および weight_decay が非常に重要であることがわかります。

相関

相関は、個々のハイパーパラメータとメトリクスの値の間の線形関係を捉えます。SGD オプティマイザーなどのハイパーパラメータの使用と val_loss の間に有意な関係があるかどうかという質問に答えます(この場合の答えはイエスです)。相関値の範囲は -1 から 1 で、正の値は正の線形相関を表し、負の値は負の線形相関を表し、0 の値は相関がないことを表します。一般に、どちらかの方向に 0.7 より大きい値は強い相関を表します。

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

重要度と相関の間の格差は、重要度がハイパーパラメータ間の相互作用を考慮するのに対し、相関は個々のハイパーパラメータがメトリクスの値に与える影響のみを測定するという事実に起因します。次に、相関は線形関係のみを捉え、重要度はより複雑な関係を捉えることができます。

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