d0iの連絡帳

気がむいたら書く

「AI」のいくつかの側面

そのうちちゃんと書きたいこと。

AIネットワークなんちゃら、を代表するような、AIを論じてる人達のAI論に混乱を感じることが多々存在する。彼らがAIに対して理解している側面には以下の3つの側面があるのではないか(仮説)。以下、論旨をクリアにするため、あえて*1ソフトウェアという用語を使う。

1. ソフトウェアが「学習可能である」側面
2. ソフトウェアが「統計的動作である」側面
3. ソフトウェアが「相互に接続されている」側面

1については、学習可能なソフトウェアと学習しないソフトウェアとが存在しうる。例えば深層学習を用いた自動運転にしても、一般には学習済みモデルを展開するだけで、路上での出来事を学習することはないだろう*2。一方、パーソナルサポートエージェントは、ユーザの好みを学習できないといけない。学習する、ということ自体はamazonのレコメンデーションエンジンでもやっているので、その延長線上にあると思えば理解しやすいだろう。

2については、ソフトウェアの挙動が非線形で予測が難しいという点と直結する。一般にソフトウェアは*3入力Xに対して確定的に出力Yが得られるものと信じられている。そして、そこに至るステップは全て追跡可能だと信じられている。ただし、深層学習だろうと何だろうとソフトウェアであることはかわらず、複雑になれば追跡が困難になるのは古典的なソフトウェアといえど同じだ。一体何人のWindowsユーザがWindowsカーネルの挙動を予測可能だろうか? 突然CPUを全部使ってしまったり、Blue Screenで止まったりする挙動があったとして、Windowsカーネルは人間が作った古典的ソフトウェアだからこれらは完璧に予測可能である、と信じているソフトウェア技術者は一人もいないだろう。

3については「AIネットワーク」なる概念固有のものなのだが、AIが相互に通信をすることで相互強化を行うという話らしい*4。しかし、現時点で、通信相手を完全に自律的に発見して通信を行うプログラムや、それを作る方法は知られていない*5。むしろ相互接続されたソフトウェアシステムという意味では、AIとみなせるか否かは問題の発現に関係ないのではないか。有名な事例ではFlash Crashと呼ばれる自動トレードにともなう株式市場の瞬間的な騰落などが存在し、こういった相互関係の予測が困難である、という意味において現実的な問題である。

土井は、「AI(という特性を備えるソフトウェア)は全く脅威にあたらない」という立場に立つつもりはない。検討が必要な脅威は確かに存在する。だが、国内で声のおおきい人々の雑な議論にはそろそろうんざりしている。

*1:ソフトウェアでない「AI」については論点にないとして

*2:学習には重みの更新という高負荷処理が必要であるため -- もしかしたら充電中などにログからヒヤリハットだけ学習する、とかはできるかもしれない。

*3:宇宙線によるメモリ化けなどの特殊な場合を除いて

*4:正直よくわかっていない

*5:いわゆるP2Pネットワークがそれにあたる、という意見もあるかもしれないが、P2Pネットワークは一定のルールに従って構造をトラバースしているだけであり、ルールやAPIの発見の観点からは完全に人間が設計した範囲であり、この文脈においては自律的とはいえない。