神経論理プログラミングとは
Neural Logic Programming / Neural LP
知識グラフの補完などのタスクで、論理ルールをニューラルネットワークにより微分可能な形で学習する手法
ひとことで言うと
『AならばB』のような論理ルールを、ニューラルネットワークの学習で自動的に見つける手法。
概要
神経論理プログラミング(Neural Logic Programming)とは、知識グラフの補完(欠けている関係の推測)などのタスクにおいて、論理ルールをニューラルネットワークにより微分可能な形で学習する手法。 従来のSymbolic AI的な論理プログラミングでは、ルールを人手で設計するか離散的な探索によって発見する必要があった。 神経論理プログラミングは、ルールの構造とその信頼度を勾配降下法で最適化可能な連続値のパラメータとして表現することで、データから自動的にルールを学習できるようにする。 知識グラフ内のエンティティ間の関係パス(推論チェーン)を辿りながら、そのパスがどれだけ有効な推論ルールとなり得るかを学習する構成が代表的。
歴史
2017年、Yangらが「Differentiable Learning of Logic Rules for Knowledge Base Reasoning」を発表し、知識ベースの推論のための論理ルールを微分可能な形で学習する手法を提案した。
比較
- Symbolic AI — Symbolic AIがルールを人手または離散探索で構築するのに対し、神経論理プログラミングはルールを微分可能なパラメータとしてデータから学習する
- ナレッジグラフ — 神経論理プログラミングは、知識グラフの欠けている関係を補完するタスク等に適用される