トレーニングダッシュボード¶
備考
[トレーニングダッシュボード]タブは、現在、Kerasベースの(ディープラーニング) モデルでのみ使用できます。
トレーニングダッシュボードを使用して、モデルのトレーニング中に発生したことをよりよく理解します。 モデルトレーニングダッシュボードは、実行された反復ごとに、モデルに関する次の情報を提供します。
- トレーニングとテストの損失
- 精度(分類、多クラス、および多ラベルプロジェクトのみ)
- 学習率
- 勢い
最初にモデルの詳細な評価を実行せずに、大規模なグリッド検索を実行して最高のパフォーマンスのモデルを見つけると、次善のモデルになる可能性があります。 [トレーニングダッシュボード]タブから、各パラメーターがモデルのパフォーマンスに与える影響を評価できます。 さらに、このタブでは、透明性を確保するための学習率と勢いのスケジュールが視覚化されます。
トレーニングデータとテスト(検証)データの両方をトレーニングプロシージャ全体に適用すると、各候補モデルが過剰適合であるか、適合不足であるか、あるいは良好に適合しているか否かを簡単に評価できます。
ダッシュボードは、次の機能セクションで構成されています。
グラフ内の任意の点にカーソルを合わせると、正確なトレーニング(実線)が表示され、該当する場合は特定の反復のテスト(点線)値が表示されます。
モデルの選択¶
モデル選択コントロールから、利用可能なオプションを循環するか、凡例のモデル名をクリックして有益なグラフでハイライトするモデル(「フォーカスされたモデル」)を選択します。 各グラフは、該当する場合、そのモデルの結果を前面に表示します。他のモデルの結果は引き続き利用できますが、比較と可視性をサポートするために透明度が低くなります。
選択可能なモデルは、適用される自動化DataRobotに基づいています。 For example, if DataRobot used internal heuristics to set hyperparameters and a grid search was not required, you will see only “Candidate 1” and “Final”. DataRobotがグリッド検索を実行した場合、またはニューラルアーキテクチャ検索モデルがトレーニングされた場合、複数の候補モデルを比較に使用できます。
候補者モデルは、トレーニングデータの85%でトレーニングされ、プロジェクトメトリックパフォーマンスに基づいて最低から最高の順に並べ替えられます。 残りの15%は、パフォーマンスの追跡に使用されます。 最適な候補が見つかると、DataRobotは完全なトレーニング データで最終モデルを作成します。
損失グラフ¶
ニューラルネットワークは本質的に反復的であるため、一般的な傾向として、加重が更新されて損失(目的)関数が最小化されるため、精度が向上するはずです。 損失グラフは、反復回数(X軸)別に損失関数の結果(Y軸)を示しています。 モデルがアンダーフィットなのかオーバーフィットなのかを理解するには、これらの損失曲線を理解することが重要です。
トレーニングデータセットをプロットする場合、反復回数が増えるにつれて損失は減少する(曲線が低下して平坦になる)はずです。
解釈上の備考:
- テストデータセットでは、一定数の反復後に損失が増加し始める場合があります。 これは、モデルが適合しておらず、テストセットに対して十分に一般化されていないことを示唆している可能性があります。
- もう1つのアンダーフィッティングの注意サインは、テスト損失がトレーニング損失と同等であり、トレーニング損失が0に近づくことのないグラフです。
- テスト損失が低下した後に上昇するのは、モデルがトレーニングデータセットに過剰適合し始めた可能性が高いことを示しています。
次の例では、テスト損失がトレーニング損失からほぼ即座に発散しており、過適合を示していることに注意してください。 For general information on training neural networks and deep learning for tabular data, see this YouTube video.
精度グラフ¶
分類、多クラス、および多ラベルの場合のみ
精度グラフは、正しくラベル付けされた行数を測定します。 グラフを評価する際、増加する値を探します。 それは1に向かっていますか?それはどの程度近づいていますか? それは損失にどのように関係していますか?
上のグラフでは、モデルは反復50(95%を超える)あたりで非常に精度が高くなる一方、損失はまだかなり減少しています。反復50では曲線の底に向かう途上にあるだけです。
その時点でトレーニングが停止した場合、予測はおそらく0.5に近くなります(たとえば、正の場合は0.55、負の場合は0.45)。 ただし、目標は負の場合は0、正の場合は1です。 精度の読み取りは、一種の「信頼」として機能します。 この関数を最小限に抑えてトレーニングを続けると、ログ損失は低下し続けますが、精度は(仮にそうだとしても)ほとんど改善されていません。 これは、モデルがアウトオブサンプルデータでより適切に機能することを示す優れたヒューリスティックです。
一般に、精度を調べると、損失を調べるのと同様の情報が得られます。 ただし、損失関数には、エラーを決定するための他の基準が組み込まれている場合があります(たとえば、ログ損失は信頼性の測定基準を提供します)。 精度と損失を比較すると、損失関数について情報に基づく決定を行いやすくなります(損失関数はその問題に適していますか?)。 loss
パラメーターをチューニングすると、損失関数は時間とともに改善する可能性がありますが、精度はわずかに向上するだけです。 これはおそらく、他のハイパーパラメーターがより適切に適用されることを示唆しています。
学習率¶
学習率グラフは、トレーニングの過程で学習率がどのように変化するかを示しています。
データの各バッチのトレーニング後にニューラルネットワークの加重を更新する方法を決定するために、損失関数の勾配が計算され、少数が乗算されます。 その少数が学習率です。
トレーニングの早い段階で高い学習率を使用するとネットワークを正規化しやすくなりますが、最初に学習率をウォームアップする(低い学習率から開始して増加させる)と、早期の過剰適合を軽減できます。 学習率を単調に減少させる代わりに妥当な範囲間で周期的に変化させることによって鞍点をより簡単に処理できます(非常に小さな勾配を生成する性質のため)。
デフォルトでは、DataRobotは1cycleメソッドの特定の余弦バリアント(多くの実験で見つかった形状を使用)を実行し、パラメーターを公開します。 このアプローチでは、スケジュールされた学習率を完全に制御できます。
候補モデル間で学習率が同じ場合、線は互いに重なります。 各候補をクリックして、その値を表示します。
勢い¶
勢いグラフは、勢いを使用するオプティマイザーを備えたモデルにおいてのみ使用できます。 これは、オプティマイザーによって学習率を適応させるために使用され、ノイズの多い勾配の影響を軽減するために以前の勾配を使用することによって行われます。 一方向に繰り返し移動する場合は加重(勾配)に対してより大きな更新を自動的に実行し、最小値に近づくと小さな勾配を自動的に実行します。
次の例では、モデルはadam
(デフォルトのオプティマイザー)を使用しています。グラフは、トレーニング中に勢いがどのように変化するのかを示しています。
他のオプティマイザーは時間の経過とともに変化しないため、グラフには表示されません。
この外部の公開リソースは、一般的な勾配ベースの最適化アルゴリズムについてさらに詳しい情報を提供しています。
ハイパーパラメーター比較チャート¶
ハイパーパラメーター比較チャートは、アクティブな候補モデルおよび選択された比較モデルのハイパーパラメーターの値を表示して比較します。
この情報を使用し、最終モデルを改善するためにチューニングするパラメーターについて情報に基づく決定を行えます。 たとえば、バッチサイズを増やして各候補でモデルが改善する場合、さらに大きなバッチサイズを試す価値があるかもしれません。
単一のパラメーターに対して異なる値を持つモデルは、黄色の垂直バーで強調表示されます。 グラフのスクロールバーを使用して、すべてのパラメーターをアルファベット順にリストします。
ほとんどのハイパーパラメーターは調整可能です。 Clicking the parameter name in the chart opens the Advanced Tuning tab, where you can change values to run more experiments.
設定¶
表示を変更して解釈を支援するさまざまなトレーニングダッシュボード設定があります。
候補の選択¶
表示するモデルオプションを使用し、どの候補モデルを選択して結果を表示するかを選択します。 最終モデルの手動選択、検索、すべての選択、または最終モデルの選択が可能です。 デフォルトでは、DataRobotは最大4つの候補と最終モデルを表示します。 候補はランク付けされ、パフォーマンスの高いものから低いものの順で並べ替えられます。
その他のオプション¶
表示を管理するには、詳細 をクリックします。
損失で対数スケールを適用
結果を完全に解釈するのが難しい場合、対数スケールビューを有効にします。 デフォルトビュー:
対数スケールを適用した場合:
滑らかなプロット
チャートにノイズが非常に多い場合、平滑化を追加すると役立つことがよくあります。 プロットにノイズが多いほど、劇的な効果を得られます。
データポイント数を減らす
多くの候補が実行された場合、あるいは数千回の反復がグラフに表示された場合、パフォーマンスが低下する可能性があります。 データポイント数を減らすが有効化されると(デフォルト)、DataRobotはデータポイントの数を減らし、パフォーマンスの高いインターフェイスを提供する最大値を自動的に決定します。 すべてのデータポイントを含める必要がある場合、設定を無効にします。 データが多いグラフの場合、オプションを無効にするとパフォーマンスが低下することが予想されます。
テストデータのみを表示
テスト損失がトレーニング損失の背後に完全に隠れて表示される場合、「テストデータのみを表示」を使用してトレーニングデータの結果を損失グラフから削除します。