
val_loss) との線形相関です。相関が高い場合、ハイパーパラメーターの値が大きいほどメトリクスの値も大きくなり、値が小さいほどメトリクスの値も小さくなります。相関は有用なメトリクスですが、入力間の二次的な相互作用は捉えられません。また、値の範囲が異なる入力同士を比較すると、解釈が難しくなることがあります。
W&B は 重要度 メトリクスも計算します。W&B はハイパーパラメーターを入力、メトリクスを目標出力としてランダムフォレストをトレーニングし、そのランダムフォレストの特徴量の重要度を報告します。
この手法は、Jeremy Howard との会話から着想を得たものです。Jeremy は Fast.ai で、ランダムフォレストの特徴量の重要度を使用してハイパーパラメーター空間を探索する手法をいち早く取り入れました。この分析の背景にある考え方の詳細については、Fast.ai lesson 4 lecture および Fast.ai lesson 4 forum notes を参照してください。
ハイパーパラメーター重要度パネルは、強い相関を持つハイパーパラメーター同士の複雑な相互作用を解きほぐします。モデル性能の予測に最も重要なハイパーパラメーターを示すことで、ハイパーパラメーター探索をより的確に調整できるようにします。
ハイパーパラメーター重要度パネルを作成する
Workspace にハイパーパラメーター重要度パネルを追加するには、次の手順に従います。- W&B プロジェクトにアクセスします。
- Add panels ボタンを選択します。
- CHARTS ドロップダウンを展開し、Parallel coordinates を選択します。
空のパネルが表示される場合は、run のグループ化が解除されていることを確認してください。


ハイパーパラメーター重要度パネルを読み解く
以下のセクションでは、パネルに表示される重要度と相関の値の読み方を説明します。読み取った結果は、次回の sweep に活かすことができます。
wandb.Run.config オブジェクトに渡したすべてのパラメーターが表示されます。さらに、選択したモデルのメトリクス (この例では val_loss) に対して、これらの設定パラメーターがどの程度重要か (特徴量の重要度) と、どのような相関があるかも表示されます。
重要度
重要度の列には、各ハイパーパラメーターが選択したメトリクスの予測にどの程度役立ったかが表示されます。たとえば、多数のハイパーパラメーターのチューニングを始めたときに、このプロットを使用して、さらに探索する価値のあるハイパーパラメーターを絞り込むといった使い方が考えられます。その後の sweep を最も重要なハイパーパラメーターに限定すれば、より優れたモデルをより速く、より低コストで見つけることができます。W&B は、線形モデルではなくツリーベースのモデルを使用して重要度を計算します。ツリーベースのモデルは、カテゴリデータにも正規化されていないデータにも強いためです。
epochs、learning_rate、batch_size、weight_decay が重要であったことがわかります。
相関
相関は、個々のハイパーパラメーターとメトリクス値の間の線形関係を取得します。相関からは、SGD オプティマイザーなどのハイパーパラメーターの使用とval_loss の間に関係があるかどうかがわかります (この例では、関係があります)。相関値の範囲は -1 から 1 で、正の値は正の線形相関、負の値は負の線形相関を表し、0 は相関がないことを表します。一般に、正負いずれの方向でも、絶対値が 0.7 を超える場合は強い相関があるとみなされます。
このグラフを使用すると、メトリクスとの相関が高い値をさらに詳しく調べることができます (この例では、rmsprop や nadam ではなく確率的勾配降下法や adam を選択するとよいでしょう)。また、エポック数を増やしてトレーニングすることも検討できます。
- 相関は関連性を示すものであり、必ずしも因果関係を示すものではありません。
- 相関は外れ値の影響を受けやすく、特に試行したハイパーパラメーターのサンプルサイズが小さい場合は、強い関係が中程度の関係として表れることがあります。
- 相関が取得するのは、ハイパーパラメーターとメトリクスの間の線形関係のみです。強い多項式関係は取得できません。