Accelerating NeurASP with vectorization and caching
Abstractの概要
本論文は、下流のラベルのみが利用可能な場合にASP(解集合プログラミング)ベースの推論を通じてニューラルネットワークを学習させる神経記号(neuro-symbolic)フレームワークであるNeurASPの計算上のボトルネックについて調査している。著者らは、意味的損失(semantic-loss)の学習中に使用されるコストの高い解集合、確率、勾配の計算に着目し、ベクトル化、バッチ処理、キャッシングを中心に実装を再設計した。重要な発見は、解集合が個々の入力ではなく下流のラベルに依存していることであり、これにより同じラベルを持つ多くのサンプル間で再利用が可能になることである。改訂されたシステムを評価するため、本論文では合成時間のテスト、MNISTベースのタスクでのベンチマーク実験、および52の潜在概念を持つ新しいトランプ推論ベンチマークの報告を行っている。
新規性
主な新規性は、テンソル化された確率・勾配計算と、サンプルレベルではなくラベルレベルの解集合キャッシングを組み合わせた、NeurASPの実装レベルでの再設計である。また、小規模なMNISTスタイルの設定を超えて評価を拡大し、意味的損失学習における推論のショートカットなどの問題を浮き彫りにするCard arithmetic(トランプ算術)ベンチマークも新たに導入している。
成果
改良された実装は大幅な速度向上を実現しており、合成データのテストでは元のNeurASPと比較して確率計算で約2桁、勾配計算で約3桁の高速化が示され、SLASHに対しても平均100倍の改善が報告されている。エンドツーエンドのベンチマークにおいて、実行時間は簡単なタスクでは数分から数秒に、難易度の高いカードタスクでは数日以上から数時間に短縮され、数万の解集合を持つ問題でもシステムは学習可能なままである。精度の面では、改良されたNeurASPはMNISTの加算およびMemberタスクにおいてEmbed2Symに匹敵し、Embed2Symが24時間でタイムアウトするカードタスクも完了する。
論文の注目点
- NeurASPの主なスケーラビリティの限界は、意味的損失の学習中に行われる繰り返しのASP呼び出しとループベースの確率・勾配計算に起因する。
- 提案された最適化には、ベクトル化されたテンソル演算、バッチデータ読み込み、および固有の下流ラベルごとに1回だけ解集合をキャッシュする処理が含まれており、これによりClingoの呼び出しと学習コストが大幅に削減される。
- 新しいCard arithmeticベンチマークは、改良されたNeurASPがより大きな潜在空間とより複雑な推論タスクを処理できることを示す一方で、下流タスクの正答が潜在的な予測の誤りを隠してしまうというショートカット行動の存在も明らかにしている。