tozima's blog

主に自分のための、論文の読書記録

Testing Machine Learning Code using Polyhedral Region

by Md Sohel Ahmed, Fuyuki Ishikawa and Mahito Sugiyama

機械学習の学習を行うコードのバグを発見するためのテスト手法。

こういったコードの検証が重要であることは論を待たないが、挙動が入力に強く依存しているためテストが難しい。正しさの保証された「参照実装」があればそれとの比較に持ち込めるが、そもそも「正しい出力」を定義することができるのかというレベルから問題がある。

既存研究でのアプローチは、主に2つあったらしい。1つは複数の実装を用意して多数決で決めるというもの。もう1つは metamorphic testing という手法で「入力に〇〇という変換をすると出力が□□のように変化するはず」という学習手法に関する知識を利用するものである。入力の変換の例としては画像の RGB を入れ替えるというものが挙げられている。

本論文では Polyhedral Lemma という補題を使ってテストする手法が提案されている。Polyhedral Lemma とは、入力データから計算されるある polyhedron 上では学習結果のモデルの出力が変化しないという性質で、比較的最近 (2016) に示されたものらしい。本論文の提案は、Polyhedral Lemma が成り立つ学習アルゴリズムを対象として、実際にその polyhedron 上で値が変化しないことをテストするというものである。

アルゴリズムの細部をテストするのではなくて、アルゴリズムが満足するはずの性質をテストしていこう、というアイデアは面白いと思った。(その発見自体を本論文の貢献としてよいのかは、私には判断が付きませんが。)