人工物の科学 – ハイエクのデータサイエンスへの適用 –

ノーベル賞

ハーバートサイモン(ノーベル賞)という学者がある時考えた。

「我々はエアコン環境下で暮らしており、食べる料理も、思考に使う記号も、あらゆる身の回りのものが人工物である。
どうして科学は自然法則のみを探求してきたのだろうか?」

そしてそういう内容を突き詰めて本を書いた。

一般大衆が自然の中で暮らさなくて良くなり、文字を覚え始めたのは、1900年以降だろう。しかし、科学のスキームが定まったのは1600年ごろだと思う。(デカルト以前の文献は自然科学と呼ぶには苦しいもので、デカルトが生まれたのが1594年であることからこう考えた。デカルトでさえ明証主義であるから自然科学とは言えないかもしれない。)科学のスキームとは、「観察対象のパターンを反証可能な命題に落とし込んでそれを証明し、法則と呼んで応用する」という考え方である。

つまり、1900年以降も、1600年に作られた古い科学の概念が使われ続けているのがまずいのではないか。そうサイモンは考えたのではないだろうか。

1900年以降も、自然科学は人の暮らしを豊かにし続けた。

問題は、1969年の初版の時点で、人工物科学が始まってすらいないことだ。そうサイモンは考えたのではないだろうか。

データサイエンス

HBRで「データサイエンス」という言葉がバズったのが2012年。

データサイエンスに携わって7年目となった(機械学習との出会いは大学時代から数えるからもっと長い)。大学院は1ヶ月で音を上げてしまった自分が、よくもまぁ続いたものだ。

データサイエンスの主戦場は何と言ってもWebサービスである。ユーザーの行動ログがデータ空間として容易に得られるからだ。

データサイエンスを「科学」というとき、これは自然科学ではないのではないだろうか。と私は思った。データ空間を自然と思うかどうかだが、なんとなく私は海とか星とか昆虫といった自然とは違うものに思えるのである。そして、何よりもデータサイエンスは「データのパターンを反証可能な命題に落とし込んでそれを証明し、法則と呼んで応用」しない点で自然科学ではない。accuracyが高ければ法則など見つからなくてもそれで満足なのだ。

しかし、完全な人工物科学でもない。データサイエンスは、自然科学の成果を流用した、できかけの、中途半端な人工物科学なのではないだろうか。私はそう思った。

人工物科学に課せられる条件

ではデータサイエンスには人工物科学として何が足りないのか。

サイモンの考える人工物は2つ特徴を持つ。目的と接面である。例えばナイフを例にとる。

  1. 目的 = 容易に切断すること
  2. 接面(interface) = 内部は刃の硬度や研ぎ方、外部環境は対象の硬度。どちらの硬度が高いかで目的が達成されるかが決まる。

「機械学習システム」はサイモンの考える人工物である。それは

  1. 目的 = accuracyを高め利益を産むこと
  2. 接面(interface) = 内部は学習モデル、外部環境は”ユーザー”。ユーザー行動が学習モデルの「表現力」に含まれるかどうかで目的が達成されるかが決まる。

人工物科学に課せられるのは

  1. 接面において問いを立てる
  2. シミュレーションを行い心理学の「要求水準」で効用を計測する
  3. 帰納的知識を得る

というプロセスの確立である。

自然科学は”Quest for Truth”である。人工物科学は”Truth”には関心がない。“How can it be designed?”(どのようにしてかくも見事なものが作られうるのか!?)が問いである。

受動態にしているのには意味がある。主語は人ではないからだ。人工物の科学は、直感に反して、「デザイナー」のためのHow toではないのだ。

接面(interface)とは?

プログラミング言語でいうインターフェースは、仕様である。色々なクラスがその仕様を満たすということを、implements interfaceという。

サイモン用語の接面とは、それと全く同じ意味である。

例えばコンピューターのインターフェースは「二進数のあらゆる計算ができること」なので、その実装がノイマンであれ、電磁石リレーであれ、マッカロックピッツニューロンであれ、南雲ヒッツヒューニューロンであれ、コンデンサを使ったアナログコンピューターであれ関係ない。例えば、ノイマン型のコンピューターのメモリーボードが1枚壊れていても仕様を満たすからコンピューターである。

これはチューリング完全性とは違う話である。仕様は有限桁でよいし、有限個数の課題数式リストでもよい。接面と内部実装の独立性の主張である。

「機械学習システム」のインターフェースが「大人数のユーザー行動を予測すること」であるとすれば、中身が確率分布学習であれ、統計的推定であれ、決定的深層学習であれ関係ない。

先程は独立性と言ったが、陰に拘束条件がある。複雑性対応原理というべきものである。インターフェースが複雑である場合、外部環境も内部実装も両方複雑になるという原理である。例えば同じWebシステムであっても、掲示板は単純であり、年末調整システムは複雑な法律と複雑な例外ケースと複雑なifコードを持っている。

つまり、接面は内部実装ではなく複雑性を規定する。複雑性はなんらかの方法で数値化されると考えられており、Kolmogorov-Sinai Complexityなどの試みがある。サイモンはこのアプローチを「部品についてではなく仕様のデザインについて問いを立てる」と呼んでいる。

データサイエンスでは、接面は学習タスクの難易度を表す。この難易度は近年、データの情報量次元に比例すると言われており、それはKolmogorov-Sinai Complexityに比例する。

機械学習システムではデータ複雑性以外に、データのロジスティックスに気を使わなければいけない。欠損ログ・遅延ログ・アドブロッカーなどなど、理論外の要素が日々外界で進化している。

つまり、機械学習システムに対し、人工物の科学は、対象のデータ複雑性を、環境の条件下で、内部実装のリソース制約下で、学習出来る機械システムはどうあるべきか?というデザインへの問いを立てている。

そして押さえておかなければいけないのは、接面仕様は上にあげた単純な例で示したような自明なものではなく、未知の、「(個人の)人智を超えたもの」だという認識だ。ここを解説する。

問いへのアプローチ

人工物の科学においてはコンピューターシミュレーションアプローチが重要視される。そしてそれは数学的な最適解ではない。これを、手続き的合理性と呼ぶ。もっとくだけた言い方だと、最適化ではなく満足化、ともいわれる。

最適化への不信は、1994年に出版された、ノイマンの「ゲーム理論」の影響が色濃い。多人数ゲームにおける最適解の不安定性が、囚人のジレンマなどのゲームによって証明されたからである。(システムの科学第3版の出版年は1996年のため実際に追記がある)

コンピューターアプローチは、コンピューターがソフトウェアによって人間を模倣することを前提として、複数のソフトウェア実装が「人間を満足させるタスクの代替を満たす様々なシミュレーションを行う」と考える。

そして、シミュレーション結果が、「最適な内部デザイン」を導くと考える。なぜなら、

  1. 各内部デザインは、作ってみたらうまくいかないかもしれない。シミュレーションでこれがわかる。
  2. そもそも仕様の理解が漠然としている場合、作ってみないと仕様自体が明らかにならない。

よって、シミュレーションを行うことで接面の解像度が上がり、近似解が得られることを目標とする。

人工物科学では、人間社会、より具体的には「組織は分散コンピューター」であり、「シミュレーションを判定する計算」だと考えることも多い。サイモン自身は、このアイディアを1945年のハイエクの論文「The use of knowledge in society.」から借りたと書いている。この意味は次の章で明らかになる。

アフォーダンス効用

では無数のシミュレーションから生まれたデザインからどれを選ぶのか。

デザインに対しては効用を数値化できない。結局人間の心の動かされ方は無数だからだ。なので、人工物科学では心理学の「要求水準」理論が使われる。

しかし、その後のUI/UX理論の発展をみると、私にはもし人間がデザインするならば、心理学よりも芸術の方が寄与するところが大きいのではないかと考えるに至った。

芸術とはなんとも曖昧だが、ノーマンドアを例に採ろう。

pullかpushか間違えるという話

ノーマンドアが教えてくれるのは、良いデザインは人の行動を変えるということだ。アフォーダンスはその一例である。ノブの形によって、人はそれを引っ張りたくなり、押したくなり、回したくなる。デザインが情報量を持つので、接面の複雑性を軽減すると考えられる。

1969年の段階で、すでにアジャイル開発とA/Bテストとユーザーテストを先取りした思想であった。

ドアのデザインは個人が生んだものだろうか?私は、集団がシミュレーションを行なった結果、ドアのデザインが落ち着いたと考えているから、個人ではなく集合知から生まれた接面だという立場をとる。だが、ドアのデザインは1人で可能ではあり、確かにデザイナーの功績であると主張できなくもない。では機械学習システムもそうなのだろうか?

創発デザイン

だがしかし、サイモンは複雑系論者なのである。

サイモンはデザイナーを個人だと考えなかった。むしろ、ハイエクの自由競争のように、多数の人間と最低限のルールの組み合わせから自発的に創発するものだと考えた。

つまり、「簡単なルールで、みんなが受け入れるので、予想外のデザインが生まれてしまう」ということを考えたのである。

この考え方の正しさは、twitterを見ればわかるだろう。140文字・いいね・リツイート。これだけで、twitterのデザインは良くも悪くも創発してしまったのだから。

サイモンが考えたのは中世ヨーロッパの都市の生成モデルを使って、「計画者なき秩序」を再現するような研究だった。同様の思想は、1999年のポール・クルーグマンの空間経済学シミュレーションに引き継がれている。(2人は友達である)

コンピューターとしての市場と組織の違い

サイモンが大衆をコンピューターとみなした時、それはもちろんデザインが大衆に受け入れられるかを見ているわけだが、組織のほうが市場よりも処理能力が高いと考えている。

全員が勝手にやっているのが市場である。例えばtwitterである。この時、「全員が不完全情報の下、局所最適化を行い、全体としては最適化されず、各個人の満足化が達成される」と考える。

これに対し、大衆がいくつかの集合に分かれ、集合内でルールによるリスクコントロールが行われ、個人が組織所属を選好しているのが組織である。例えば社内システム(各社に満足化される)などである。家族向けクレジットカードというのもある(この場合、データサイエンスチームは個人年収の代わりに”世帯年収”という特徴量を使う)。この時、「全員が不完全情報ではあるが、組織の他の成員を真似することで実質的に市場下よりも多くの情報量を得ている状態の下で、局所最適化を行い、組織全体としては最適化されず、組織全員の満足化が達成される」と考える。

この違いがデータサイエンスにおいて効用計算をどう捉えるかを大きく左右する。

人工物科学としてのデータサイエンス

よく考えてみると、データサイエンスは「AIありき」で始まることが多い。つまり、だれも仕様を理解していない状態である。実務を考えると、A/Bテスティングによって仕様の解像度が上がっていくことが多い。人工物科学の3つのアプローチ

  1. 接面において問いを立てる
  2. シミュレーションを行い心理学の「要求水準」で効用を計測する
  3. 帰納的知識を得る

はどうなるかというと、

  1. 問題の複雑さを計測し、内部モデルの複雑性を向上させ、外部環境=顧客行動理解の解像度を上げる
  2. A/Bテスティングを多数行い、真の問題の描写の解像度が上がって見えてくる
  3. 創発が完了する

ということになる。データサイエンスが内部モデル実装の科学でしかない以上、データサイエンスは人工物科学ではない。データサイエンスの実務こそが人工物科学が定義する「シミュレーション」という概念そのものであり、「シミュレーションからの帰納的知識抽出によって接面の解像度を上げる」営み、「絶妙なルールの設定により大衆が創発させるシステム」が人工物科学である。

ε貪欲性

最初にWebにこの考えを持ち込んだのはε貪欲性だろうと思う。このシステムは、確率1-εで仕様通りの動作をし、確率εでそうではない動作をする。

強化学習用語の環境は以下のように定義される。

(…)

結論

つまり人工物科学とは探索的実践であり、データサイエンスを机上の学問として習得すること自体は人工物科学から見れば問題設定がずれている。

人工物科学としてのデータサイエンスは人間社会という分散コンピューターを利用した接面デザインの創発の方法論であって、内部理解(データサイエンスの勉強・ビッグデータシステムの設計)でも、外部環境理解(業務や顧客の理解)でもないのである。

補遺

システム理論に詳しい方向けの補遺

  • 私は物理学を専攻し大学院で複雑系カオス科学に入門し、サイモン・フラー・センゲ・ウィーナーらの著書と出会い私淑した者です(自己紹介)。本書出版の12年後、2008年のことでした。
  • 接面についてのサイモンのホッキョクグマの例は説得的だが、集合知を重視しているため適応システムについては割愛しました。

「人工物の科学 – ハイエクのデータサイエンスへの適用 –」への1件のフィードバック

  1. ピンバック: Statistical Rethinking 日本語版 | The Big Computing

コメントは受け付けていません。