ブルックスのサブサンプションアーキテクチャについて、誤解が生じていると思われるため、本項にて整理する。
ブルックスの主張の本質は、ロボットのアーキテクチャは
× 探知→判断→行動
○ 探知→行動
というところにある。「判断」こそは、古典的、記号論的AIでいうところのif文の塊であり、古典的AIでは知能の発現には至らなかった。
筆者は、その過ちを葬るには、探知⇒行動というアーキテクチャを徹底するべきであると考える。複数の論文で、探知→行動で反射的動作を行うループを設けたのち、その外側に高度な判断をするループを追加して、それがサブサンプションアーキテクチャだと称したり、サブサンプションアーキテクチャを越えたという論調が見られるが、結局古典的AIの罠に囚われているのだ。
本ブログのあちこちで記載しているが、
- 生物が複雑な動きをするのは環境が複雑だから
- 環境の中で、まずロボットを動かせ
というのがブルックスの主張を端的に表している。すなわち、ロボット工学の一ジャンルであるプランニングをやることで、生物のような動きが出来るロボットは作れないであろう。探知⇒行動による環境との相互作用が生物の知能を生み出すのである。
そして、一生物である人間の知能が、同じ原理を元にしていないことがあろうか。筆者は、人間も同じ原理を元にしていると思う。この原理に、大容量かつ再帰的回路を含む深層学習系と言語能力を加えることで知性への扉が開かれるであろうし、その手段としては、外界-身体ーAIを組み合わせた人工生命シミュレーションがある。これこそが、筆者の主張である。
なお、某メーカの自動運転のアーキテクチャも、HP等の公開情報を見る限りにおいて、「探知⇒判断⇒行動」というアーキテクチャとなっている。
人間はどのように車を運転しているであろうか。私は、探知⇒行動という原理で動かしていると思う。実際に車を運転してみたら分かるが、ほんとに判断が必要な場面は実は少ない。慣れていない高速道路の分岐をどちらに行くか、高速道路の合流に入って良いか、右折しても大丈夫か、等、限られた場面である。それ以外のほとんどの場面では、判断などせずに、前の車がブレーキを踏んだらこちらもブレーキを踏むなど、反射的動作で運転をしている。
従って、自動運転アルゴリズムにおいて、人間のように運転させたかったら、まず「判断」の箱を外してみることである。しかし、常識に囚われたロボット工学者には、この箱を外すことは出来ないのだ。
さらに、今度は完全に雑談になってしまうが、機動警察パトレーバーの敵役であるグリフォンは、アシュラというアーキテクチャを用いて生物のような動きをしていることになっていた。アシュラの具体的な内容は明らかになっていないが、ブルックスの、探知⇒行動という概念こそが、アシュラのエッセンスだと思う。