1.TracIn:トレーニング事例の影響を推定する簡単な方法(2/2)まとめ
・TracInはクラスタリングアルゴリズム内の類似性関数として使用可能
・TracInは「SGD(またはSGDの亜種)を使用してトレーニングしている事」以外に条件がない
・TracInはトレーニングデータ事例の影響や誤ったラベルの発見など応用範囲が広い
2.TracInを使ったクラスタリング
以下、ai.googleblog.comより「TracIn — A Simple Method to Estimate Training Data Influence」の意訳です。元記事の投稿は2021年2月5日、Frederick LiuさんとGarima Pruthiさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Michal Matlon on Unsplash
影響力を持つ上位事例の算出
最初にいくつかのトレーニングデータの損失勾配ベクトルと特定の分類(カメレオンの画像の分類)のテスト事例を計算し、次に標準的なk最近傍ライブラリを利用して上位の「支持者(proponents)」と「反対者(opponents)」を取得することにより、TracInの有用性を説明します。
上位の反対者は、カメレオンが溶け込む能力を示しています!。比較のために、最後から2番目のレイヤーから取得したembeddingsのk最近傍も示します。
支持者は類似しているだけでなく同じクラスに属している画像であり、反対者は類似していても異なるクラスの画像です。支持者も反対者もどちらか同じクラスに属さなければならないという明確な強制はないことに注意してください。
上段:影響ベクトル内の上位の支持者(左上)と反対者(右上)
下行:最後から2番目のレイヤーから取得したembeddingベクトル内で最も似ている例(左下)と異なる例(右下)
クラスタリングへの応用
TracInによってテスト事例の損失をトレーニング事例の影響へと単純に分解する事ができます。これは勾配降下ベースのニューラルモデルからの損失(または予測)は勾配空間における類似性の合計としても表現できることを示唆しています。
最近の研究は、この関数形式がカーネル関数に類似していることを示しており、これは、この勾配類似性がクラスタリングなどの他の類似性タスクに適用できることを意味します。
この場合、TracInはクラスタリングアルゴリズム内の類似性関数として使用できます。距離尺度(1-類似性)に変換できるように類似性を制限するために、勾配ベクトルを正規化して単位ノルムを持たせます。以下では、ズッキーニの画像にTracInクラスタリングを適用して、より細かいクラスタ分類を取得しています。
TracInの類似性を使用したズッキーニ画像群のより細かいクラスタリング。
各行は、クラスター内で同様の形のズッキーニを含むクラスターです。
上部:スライスされたズッキーニの断面
中央:ズッキーニの山
下部:ピザにトッビングされたズッキーニ
自己影響力を持つ外れ値の特定
最後に、TracInを使用して、高い自己影響力を示す外れ値、つまり、トレーニング事例がそれ自体の予測に与える影響を特定することもできます。
これは、事例のラベルが誤っているか、稀である場合に発生します。どちらの場合も、モデルが事例を一般化するのが困難です。以下は、自己影響力の高い例です。
誤ったラベルの例
割り当てられたラベルが二重線で取り消され、正しいラベルが下部に表示されています。
左:画面の振動だけを映して画像内に機器が写っていない珍しいオシロスコープの事例は、高い自己影響力を取得します。
右:他の一般的なオシロスコープの画像には、ツマミと配線された機器が写っています。これらは自己影響力が低いです。
応用
TracInは「SGD(またはSGDの亜種)を使用してトレーニングしている事」以外に条件がないため、タスクに依存せず、様々なモデルに適用できます。
例えば、TracInを使用して、Googleアシスタントに「OK、Google。アラームを午前7時に設定して」と依頼された事を認識するための音声入力用学習データを調査しました。
私達は、アラームが設定されている状態で「アラームを無効にして(disable my alarm)」という音声入力に対する上位の反対者が「タイマーを無効にして(disable my timer)」であることに興味をそそられました。
これは、Google アシスタントユーザーが「タイマー」と「アラーム」という言葉を頻繁に混同することを示唆しています。TracInは、Googleアシスタントデータの解釈に役立ちました。
構造化データの回帰タスクや多数のテキスト分類タスクなど、さらに多くの例が論文「Estimating Training Data Influence by Tracing Gradient Descent」に記載されています。
結論
TracInは、個々のトレーニングデータ事例が個々の予測に与える影響を計算したり、まれで誤ったラベルのトレーニング例を見つけたりするための、シンプルで実装が簡単で規模拡大可能な方法です。手法を実装した参照コードについては、論文内にgithubの画像トレーニング用コードへのリンクを見つけることができます。
謝辞
NeurIPSの論文は、Satyen KaleおよびMukund Sundararajan(責任著者)と共同で執筆されました。様々な概念および実装の洞察を提供してくれたBinbin Xiongに感謝します。また、多くの議論をしてくれたQiqi Yan and Salem Haykalにも感謝します。本投稿で使用している画像はGetty Imagesから供給されました。
3.TracIn:トレーニング事例の影響を推定する簡単な方法(1/2)関連リンク
1)ai.googleblog.com
TracIn — A Simple Method to Estimate Training Data Influence
2)arxiv.org
Estimating Training Data Influence by Tracing Gradient Descent
3)github.com
frederick0329 / TracIn