この記事ではpython + TensorFlow + Keras +αで人工知能のアルゴリズムについて書いておりますが、実現できていないアイディアベースのものを書いています。
今何かを解決したい人向きではないのでご了承ください。
逆に今人工知能を研究してて今後のテーマを探している人は読んでみて情報提供か研究テーマにしてもらえると嬉しいです。
今のAIで相関関係は分かるが因果関係は分からないという説明をよく聞きます。
現在の機械学習は統計的に相関関係があるかどうかを図っているだけなので当たり前と言えば当たり前と言えます。
その導き出した相関関係を因果関係かどうか確認するためには機械学習で与えられた学習データだけでは判別できないことが多いと思います。(場合によっては判別できるかもしれませんが)
因果関係なのかどうかを調べるためには追試が必要だと思います。与えられたXとYで統計的に有意な相関関係があった場合には、システムから、同じ条件でXを外したらYが変わるか、Yを外したらXが変わるかというデータを求めるようにすればいいと思います。
(既に与えられたデータの中にそれが確認できるデータがあるなら、自分で再度相関関係があるかどうかを再計算すればいいと思います。株価計算のロジックなら、その会社が出てくる新聞記事を全てCNNで特徴量抽出したものを掛け合わせて回帰分析し、相関関係や因果関係が見いだせれば、より信憑性の高い予測ができるかもしれません)
そしてそのデータを与えられれば再度機械学習での追試によって、XとYは因果関係があるか、逆の因果関係なのか、またはただの相関関係があるのかを機械的に算出すればいいのではないかと思います(データがなく、人間側で判別できる時には単純に人間から因果関係があるかどうかを渡してもいいかもしれませんが)
そしてゆくゆくは因果関係にあるものを大量に集めてデータベースを作り、(あればその学習済モデルもセットにして)活用すれば、知識をデータにして分岐を全てプログラミングするより、はるかに軽量でエキスパートシステムができるのではないでしょうか。
そして、この因果関係データベースに含まれる単語だけをDoc2Vecで学習させて、類似度を測れば、因果関係間の相対的な類似度が分かり、問いに対してより類似度が高いと思われる因果関係からヒントを得て、抽象度の高い、より一般的な類推をするモデルが作れるのではないでしょうか。これはうまくいけば問題の仮説を立てるのに近いことをコンピューターにさせることができるのではないかと思うのです。
この両方のモデルを実現する技術力がまだないので、これから考察を進めていきたいと思いますが、ご意見等あれば是非お願いいたします。