テーブルの視覚化と分析
W&Bテーブルを用いて、データやモデルの予測をログし、可視化します。データを対話的に探索して:
- モデル、エポック、個別の例において、変更内容を正確に比較
- データの高レベルなパターンを理解
- 視覚的なサンプルで洞察をキャプチャして伝える
機械学習モデルのパフォーマンスやデータ解析に関する質問に答えるために、W&Bテーブルをカスタマイズできます。
W&Bテーブルは以下の振る舞いを持っています:
- アーティファクトのコンテキストではステートレス: アーティファクトのバージョンと共にログされたテーブルは、ブラウザのウィンドウを閉じた後デフォルトの状態に戻ります
- ワークスペースやレポートのコンテキストではステートフル: 単一のrunワークスペース、複数のrunプロジェクトワークスペース、あるいはレポートでテーブルに加えた変更は維持されます。
現在のW&Bテーブルビューを保存する方法については、ビューを保存するを参照してください。
テーブル操作
W&Bアプリを使って、W&Bテーブルをソート、フィルタ、グループ化します。
ソート
指定された列の値でテーブル内のすべての行をソートします。
- 列のタイトル上にマウスをホバーさせると、ケバブメニューが表示されます(3つの垂直ドット)。
- ケバブメニュー(3つの垂直ドット)を選択します。
- 行を昇順または降順で並べ替えるには、それぞれSort AscまたはSort Descを選択してください。
上記の画像は、val_acc
という名前のテーブル列のソートオプションを表示する方法を示しています。
フィルタ
ダッシュボードの左上にあるFilterボタンで、表現式によってすべての行をフィルタリングします。
Add filterを選択して、1つ以上のフィルタを行に追加します。3つのドロップダウンメニューが表示されます。左から右に、フィルタのタイプは次のとおりです:列名、演算子、値
列名 | 二項関係 | 値 | |
---|---|---|---|
受け入れ可能な値 | 文字列 | =, ≠, ≤, ≥, IN, NOT IN, | 整数, 小数, 文字列, タイムスタンプ, null |
式エディタは、列名と論理述語構造のオートコンプリートを使用して、各用語の選択肢一覧を表示します。"and" または "or"(そして時々括弧)を使って複数の論理述語を1つの式に結合できます。
前述の画像は、val_loss
列に基づくフィルタを示しています。このフィルタは、検証ロスが1以下であるW&BのRunを表示します。
グループ
特定の列の値によってすべての行をグループ化するには、列ヘッダーのグループ化ボタンを使用します。
デフォルトでは、これにより、他の数値列がグループ全体でその列の値の分布を示すヒストグラムに変わります。グループ化は、データの高次元のパターンを理解するのに役立ちます。
テーブルの比較
上記で説明したすべての操作は、テーブル比較のコンテキストでも機能します。
UIから
二つのテーブルを比較するには、アーティファクトと一緒に記録されたテーブルのうち一つを表示してから始めてください。以下の画像では、5回のエポックごとにMNIST検証データでモデルの予測を示しています(インタラクティブな例 →)。
次に、比較する別のアーティファクトバージョンを選択してください。例えば、5回のトレーニングエポック後に同じモデルによって行われたMNISTの予測結果を比較するために「v4」を選択します。サイドバーで2番目のアーティファクトバージョンにマウスオーバーし、「Compare」をクリックして表示。
マージされたビュー
最初に、両方のテーブルが一緒にマージされた状態が表示されます。選択した最初のテーブルはインデックス0で青いハイライトがあり、2番目のテーブルはインデックス1で黄色いハイライトがあります。
マージされたビューから:
- 結合キーを選択: 左上のドロップダウンを使用して、二つのテーブルの結合キーとして使用する列を設定します。通常、これはデータセット内の特定の例のファイル名や生成されたサンプルのインクリメントインデックスなど、各行の一意の識別子になります。現在は、どの列でも選択できますが、読み取りづらいテーブルや遅いクエリが発生する場合があります。
- 結合ではなく連結: このドロップダウンで「すべてのテーブルを連結」を選択することで、二つのテーブルの行をすべて結合(ユニオン)し、より大きなテーブルにするのではなく、列をまたいで結合します。
- それぞれのテーブルを明示的に参照: フィルタ式で 0、1、および * を使用して、1つまたは複数のテーブルインスタンス内の列を明示的に指定します
- ヒストグラムとして詳細な数値の違いを視覚化: 一目でセル内の値を比較することができます
サイドバイサイド表示
2つのテーブルをサイドバイサイドで表示するには、最初のドロップダウンを "Merge Tables: Table" から "List of: Table" に変更し、"Page size" をそれぞれ更新します。最初に選択されたテーブルは左に、2番目のテーブルは右に表示されます。また、"Vertical" チェックボックスをクリックして、これらのテーブルを縦方向にも比較できます。
- テーブルを一目で比較する:両方のテーブルに(並べ替え、フィルター、グループ)を同時に適用して、変更や違いをすぐに見つける。例えば、誤った予測を推測ごとにグループ化して表示する、全体的に最も困難な否定を見る、正しいラベルごとの信頼スコア分布を見るなど。
- 2つのテーブルを独立して探索する:興味のある側面/行にスクロールしてフォーカスする
時間をまたいで比較する
モデルのパフォーマンスをトレーニング時間に関して分析するには、トレーニングの意味のあるステップごとにアーティファクトコンテキストでテーブルをログに記録します:エポックのトレーニングごとに50回、または開発フローに適切な頻度での検証ステップの終了時など。サイドバイサイド表示を使用して、モデル予測の変化を視覚化します。
トレーニング時間をまたいで予測を視覚化するより詳細なウォークスルーについては、こちらのレポートや、このインタラクティブなノートブック例 →をご覧ください。
モデルバリアント間の比較
構成(ハイパーパラメーター、基本アーキテクチャーなど)が異なるモデル間の性能を分析するには、同じステップでログされた 2 つの異なるモデルの 2 つのアーティファクトバージョンを比較します。たとえば、baseline
と新しいモデルバリアント 2x_layers_2x_lr
を比較し、最初の畳み込み層が 32 から 64 に倍増し、2 番目が 128 から 256 に倍増し、学習率が 0.001 から 0.002 に倍増することを比較します。 このライブの例 から、サイドバイサイド表示を使用し、1回のトレーニングエポック後(左タブ)と 5回のトレーニングエポック後(右タブ)の誤った予測に絞り込みます。
これはモデルの比較のおもちゃの例ですが、テーブルでできる探索分析の簡単さ、柔軟性、深さを示しています。コードを再実行することなく、新しい一度きりのスクリプトを作成したり、新しいチャートを生成したりすることなく。
- 1回のトレーニングエポック
- 5回のトレーニングエポック
あなたのビューを保存する
runワークスペース、プロジェクトワークスペース、またはレポートでインタラクションするテーブルは、自動的にそのビューの状態を保存します。テーブル操作を適用してブラウザを閉じると、次にテーブルにアクセスするときに最後に表示された設定が保持されます。
アーティファクトコンテキストでインタラクションするテーブルは、状態を持たないままです。
特定の状態のワークスペースからテーブルを保存するには、レポートにエクスポートしてください。これは、ワークスペースの可視化パネルの右上隅にある3つのドットメニューから行えます(3つのドット → "Share panel" または "Add to report")。
事例集
以下のレポートは、W&Bテーブルの様々なユースケースを示しています。