深層学習の企業内研究開発は「科学」なのか

問題設定:深層学習の企業内研究開発は「科学」なのか

様々な研究機関で取り扱われている「深層学習(Deep Learning)」は、一般的には「科学(science)」の産物として観察されている。だが、企業が深層学習の研究開発を遂行する場合、しばしばこの深層学習の「科学」的な性質が損なわれることがある。例えば研究開発のプロジェクトメンバーの多くが既存の「最先端(state-of-the-art)」のモデルに追従するだけの教条主義者たちである場合や、ソースコードのコピーアンドペーストだけが取り柄のエンジニアたちがモデルを実装する場合には、統計学の方法やニューラルネットワーク最適化の理論のような「科学」的な要素が度外視される傾向にある。

「科学」の要素を度外視しているエンジニアやそのマネージャーたちを批判するのは、不可能ではない。しかし、そうした批判的な意識がより良き研究開発を実現するというのは、全くの見当違いである。何故なら、「科学」に徹しただけでは、深層学習の研究開発が成立する訳ではないためだ。深層学習の研究開発は、常に非「科学」の要素と関連しているのである。

深層学習の先駆的存在として知られているイアン・グッドフェロー、ヨシュア・ベンジオ、アーロン・クールヴィルは、1950年代から2016年までの間の人工ニューラルネットワークの歴史を俯瞰した上で、深層学習に関して次のようにコメントしている。

「人工ニューラルネットワークを利用した最初の実験は1950年代に実施されている。だが、最近になって深層学習が重要な技術として認識されるようになったのは何故なのかと疑問に思われるかもしれない。深層学習は、1990年代から商用アプリケーションとしての利用が功を奏していた。しかし最近まで深層学習は、技術と専門家だけが利用できるものであるというよりは、一つの芸術(art)であると見做されていた。深層学習のアルゴリズムから優れたパフォーマンスを得るためには、ある程度の技術力(skill)が必要になるというのは事実ではある。尤も幸いなことに、訓練データの量が増えれば、必要な技術力の量は減ることになる。今日の複合的なタスクで人間のパフォーマンスに達する学習アルゴリズムは、1980年代に玩具の問題を解決するために苦労していた学習アルゴリズムとほぼ同じである。だがこれらのアルゴリズムで訓練するモデルには、非常に深いアーキテクチャの訓練を簡素化する変更が加えられている。最も重要な新しい進展は、今日、これらのアルゴリズムの成功に必要となるリソースを提供できるようになったことである。」

Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press., p19., 強調は筆者。

この文面だけでは、彼ら先駆者たちが何を以って「芸術(art)」という概念を用いているのかがはっきりしない。しかしより実務的な問題が主題となる文脈まで読み進めていくと、彼らの「芸術」に関する概念規定が徐々に明確化してくる。と言うのも、この三人の先駆者たちは、ハイパーパラメタのチューニングを主題とした別の文脈でも、「芸術(art)」という概念を用いているのである。

「学習率(learning rate)は試行錯誤によって選択されるかもしれない。だが通常最善となるのは、時間の関数として目的関数をプロットする学習曲線を看視することによって選択することである。これは科学(science)というより芸術(art)である。そして、この主題に関するガイダンスの大多数は、幾分懐疑的に見做されるべきである。」

Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press., p295., 強調は筆者。

この引用文を前提とすれば、彼らが論じる「芸術(art)」とは、まず「科学(science)」ではないということが明確化する。学習率の「決定」は、「科学」ではなく「芸術」として成り立つというのである。しかしこのように読み進めて観ても、まだ不明確さが残っている。まず問われるべきなのは、この「科学」と「芸術」の区別が、学習率以外のハイパーパラメタについても該当するのか否かである。そしてそれどころか、深層学習の研究開発の様々な事柄が、既に「科学」ではなく「芸術」の性質を有しているのか否かだ。

問題解決策:「複合的なシステム」としての深層学習

まずはグッドフェローらの深層学習に対する認識を観察してみよう。

ここで取り上げられている「学習率(learning rate)」は、確率的勾配降下法をはじめとした最適化のアルゴリズムにおけるパラメタ更新のステップ幅である。このハイパーパラメタは、機械学習のモデルを利用するエンドユーザーにとっても馴染み深い最も単純なパラメタの一つとして知られている。問題となるのは、このパラメタの初期値を如何にして「決定」するのかだ。初期値が高過ぎれば、学習曲線は激しい振動を示す。この場合、コスト関数は大幅に増加することが間々ある。特に、正則化(regularization)の一つであるドロップアウト(dropout)を利用することで生じるコスト関数などの確率的なコスト関数を用いて訓練する場合、緩やかな振動は問題にならない。一方、学習率が低過ぎる場合、学習の進行は遅くなる。この場合、学習は高いコストのまま低迷する可能性がある。

学習率をはじめとしたハイパーパラメタは、その初期値の「決定」が困難な――あるいは、ややもすれば「決定」不可能な――パラメタである。このことは、実際のモデルの設計やチューニングで参照することになるハイパーパラメタが無数に存在するということを念頭に置けば、よくわかることだ。あるハイパーパラメタの設定は、別のハイパーパラメタの設定に作用することで、競合する場合がある。一つのハイパーパラメタを変更した場合には、それに応じて他の複数のハイパーパラメタを調節しなければならなくなる場合もあるだろう。関数型言語の用語で言えば、深層学習のモデルは「参照透過(Referential transparency)」ではあり得ない。ハイパーパラメタは、モデルに「副作用(Side effects)」を派生させる。

深層学習のモデルをある種の「システム(System)」として記述する場合、ハイパーパラメタの副作用で塗れたこのシステムは、「複合的」であると見做せる。「複合性(Complexity)」とは、システムを構成する諸要素とその諸関連によって規定される。あるシステムに含まれる諸要素の数が増大するに連れて、それらの間に成立し得る関連の数も飛躍的に増大する。したがって、それらの全ての関連の組み合わせパターンを同時に実現することは不可能となる。このように、諸要素間の諸関連を選択的に実現しなければならないシステムを、我々は「複合的なシステム」として観察する。

深層学習のモデルが、統計的なサンプリング方法の選定、モデルの技術選定、アルゴリズムの設計、そしてハイパーパラメタの初期値設定の組み合わせによって成り立つとすれば、やはりこのモデルは「複合的なシステム」に該当する。理論武装も実務経験も怠らない者ならば、設計時にせよ、チューニング時にせよ、我々は全ての組み合わせのパターンを検証している余裕を持たないことが直ぐにわかる。

実際、学習率やエポック数のようなハイパーパラメタの初期値は、何回かのテストを経て、最終的には「経験則」や「暗黙知」によって「決定」される場合もあるだろう。また近年では、ハイパーパラメタ最適化問題や「ニューラル・アーキテクチャ・サーチ(Neural Architecture Search: NAS)」などのように、モデリングやハイパーパラメタのチューニングそのものを最適化の対象とする研究も増えている。尤もこれらの研究は、複合性からの逃避を実現しているというよりは、「どの最適化やNASを選択すべきか」という選択肢を設けることで、別種の複合性を派生させているだけである。いずれにしても深層学習の研究開発は、全ての関連の組み合わせパターンを同時に実現することを放棄するか、あるいはそうする必要が無い状況を設定している。こうして観ると、深層学習のモデルが「複合的なシステム」であるということは、間違いないようだ。

「複合的なシステム」としての研究開発

「複合的なシステム」としての深層学習を主題とする研究開発は、それ自体として「複合的なシステム」となる。「研究開発(Research and Development: R&D)」とは「研究(Research)」と「開発(Development)」によって構成されている。Research AND Developmentなのであって、Research OR Developmentなのではない。「研究(Research)」か「開発(Development)」かのいずれか一方さえできれば良いという訳ではないのだ。

この時点で、研究開発の要素は「複合的」であることがわかる。研究開発とは、構成要素となる「研究」と「開発」の関連によって規定される「システム」となる。それだけではない。「研究」と「開発」には、それぞれ固有の構成要素が挙げられる。「研究」は、例えば概念実証や先行研究のサーベイ、検証方法の規定、プロトタイピング、検証結果のレポーティングなど、様々な要素の関連によって規定される。「開発」もまた、機能要求定義や品質特性の分析、アーキテクチャ設計から実装やテストなど、様々な要素で構成されている。もし「研究」時に制作したプロトタイプにバグが潜んでいれば、それは「開発」時のテストに影響を及ぼす副作用となる。プロジェクトのメンバーは、こうした様々な要素の一つ一つに真摯に向き合うことができない。それこそ<選択と集中>が必要だ。研究開発は、「研究」と「開発」のそれぞれの諸要素間の諸関連を選択的に実現しなければならない「複合的なシステム」なのである。

これを前提とすれば、深層学習の企業内研究開発は、深層学習と研究開発という二つの「複合的なシステム」によって構成されていることになる。この二つの「複合的なシステム」の関連は、専らシステム間の「観察(observation)」として把握できる。例えば研究開発が深層学習を調整して制御(control)する場合、それは前者のシステムが後者のシステムを観察していることを表す。

しかし、「複合的なシステム」同士の関連は、やはり複合的となる。故にシステム間のあらゆる「観察」も、選択的にしか実現され得ない。つまり、システムとしての研究開発は、システムとしての深層学習の全体をいちどきに観察することができない。細分化するか、粒度を分けるか、観点を切り替えるか、とにかく選択しなければ、深層学習の観察は成り立たない。「複合的なシステム」は、その観察者に選択を強いるのである。

問題解決策:深層学習の「偶発性」

この「複合的なシステム」という概念は、もう一つの重要な性質を含意していることを見過ごしてはならない。観察者は、諸要素の諸関連の組み合わせパターンの中から、一つのパターンを選択し、「決定」することが「可能」だ。しかしそれは「必然」ではない。何故なら、「複合的なシステム」の観察者が、あるパターンを選択して「決定」した途端、そのパターンと「機能的に等価(Functionally equivalent)」な他の可能性が視野に入り込んでくるためである。「今はこのパターンが実現しているが、あのパターンでも良かったはずだ」と、観察者はいつでも再考できてしまう。一つのパターンを選択して「決定」するということは、他のあらゆる可能性を否定することを意味する。

こうして、「複合的なシステム」が有するもう一つの性質が浮き彫りとなってくる。一言で言えば、それは「偶発性(Kontingenz)」である。「偶発的である」というのは、「偶然である」という意味ではない。これは様相論理学の用語で、「可能であるものの必然ではない」という意味を持つ。「偶然」の対概念は単に「必然」であると考えられる。「偶然」は単に「必然」の否定形だ。しかしこれに対し、「偶発性」とは「不可能性」と「必然性」を同時に否定した概念となる。この意味でも「偶発性」は「偶然性」から区別される。

深層学習のモデルを観察する者は、「偶発的である」という状況から逃れられない。統計的なサンプリング方法の選定も、モデルの技術選定も、アルゴリズムの設計も、そしてハイパーパラメタの初期値設定も、全てが別の「決定」でも「可能」なのである。「決定」が困難な状況や不可能な状況というのは、実は現に実施された「決定」と機能的に等価な可能性が過剰であるという状況、それ故に「複合的」であるという状況に起因している。

問題解決策:「科学」と非「科学」の区別

「科学というより芸術である」という上述したグッドフェローらの不案内な記述を、一先ずはこの「複合的なシステム」としての深層学習の幾つかの要素に対する認識であると仮定して観るなら、深層学習というシステムは、とりあえずは「科学」的な諸要素と「芸術」的な諸要素によって構成されているということになる。

しかし彼らがこの「芸術」的な諸要素の具体的な定義を示さなかったのは、恐らくこの用語が、深層学習に含まれている非「科学」的な「何か」を消極的に定義するために使用されているためなのかもしれない。だとすれば我々は、彼らが導入した「科学」と「芸術」の区別を気に掛けるのではなく、「科学」と非「科学」の区別を導入することで、「複合的なシステム」としての深層学習をより形式的に観察するべきであろう。

実際、非「科学」としての性格を持つ諸要素は、「芸術」の他にも無数に存在しているようにも考えられる。例えばGPUサーバは、深層学習を成立させる重要な要因だ。だがその費用対効果は、「科学」でもなければ「芸術」でもなく、「経済」の問題であろう。またソフトウェアには知的財産権が関連してくる。それは「法」の問題だ。一方、研究開発のプロジェクトには様々なメンバーが加わる。専門分野次第では、情報や知識に落差が生じる場合もある。するとメンバー間には教え合う関係が生じる。そうなると「教育」の問題もまた無縁ではなくなっていく。「経済」、「法」、「教育」のような諸問題を「芸術」という概念で一括りにすることは、経験的に妥当しないように思われる。

「真」と「偽」の形式

深層学習が「科学」的であり得ているのは、このシステムを生み出す研究開発のプロジェクトが、比較的初期の段階で、誤差やコストに関する性能指標を決定しておかなければならないという都合に依存している。その後の研究開発の意思決定過程は、こうした性能指標に依存して方向付けられていく。深層学習のモデル性能を評価するには、その精度を定量化しなければならない。分類や予測の精度は、その分析結果に対して「真偽」の区別を導入することで、一見容易に判断できるように思える。「真の結果」が出れば精度は高く、「偽の結果」が出れば精度は低いという訳だ。この時、「精度」という概念は分類器や予測モデルが「真の結果」を指し示す割合を意味する。

$$精度 = \frac{真の結果を出力した回数}{出力回数の総和}$$

いわゆる「誤差率(error rate)」は、1からこの精度の値を減算することで得られると考えられる。

$$誤差率 = 1 – \frac{真の結果を出力した回数}{出力回数の総和} =\frac{偽の結果を出力した回数}{出力回数の総和}$$

「精度」と「誤差率」の比較は単純明快なモデル性能を表すために、様々な現場で流用されている。しかし、真偽の区別を導入した場合の盲点となるのは、この区別が指し示す対象の範囲だ。一口に「真の結果」と述べても、その「真」が分類器やモデルの全般的な「真」なのか、あるいはある一定の結果だけについての「真」なのかがわからない。分類器にせよモデルにせよ、凡そアルゴリズムはデータに依存しながら作動する。そしてその作動の実態は目指すべき出力値にも左右される。「真」という概念だけでは、別のあり方でもあり得るデータや目指すべき出力値にどの程度汎用的に耐久し得るのかが不透明に終わる。このことは、「真」のみならず「偽」についても言えるだろう。こうした真と偽の区別を適切に導入するには、「科学」を構造化している機械学習やニューラルネットワーク最適化問題の理論や方法に準拠しなければならない。

形式としての混同行列

データサイエンスの分野では、分類器やモデルの評価に関する方法が形式化されている。多くの場合、精度の評価には「混同行列(confusion matrix)」が利用される。混同行列は、実際のクラスを列に、分類器やモデルが予測したクラスを行に表した行列を意味する。n個のクラスを含む分類問題に対しては、n×nの混同行列が割り当てられる。

混同行列の「混同」とは、あるクラスの列に誤って分類された別のクラスがどの程度の行数分混同して割り当てられているのかを言い表している。この行列を参照すれば、分類器やモデルの「偽の結果」をそれ自体分類することが可能になる。

2 × 2の混合行列で表現可能な2クラスの分類問題を設定する。2クラスをそれぞれpositiveとnegativeと置く。この時、予測されたクラスと実際上のクラスに差異が生じるはずなので、混同行列は次のようになる。

positive(予測) negative(予測)
positive(実際) 真陽性(true positive) 偽陰性(false negative)
negative(実際) 偽陽性(false positive) 真陰性(true negative)

この行列の突き合わせにより、予測されたクラスと実際のクラスとの組み合わせの数は2 × 2となる。場合によっては列と行が逆になる場合もあるが、それは書き手に依る。

この時、positiveと予測して実際にもpositiveである場合を「真陽性(true positive; TP)」、positiveと予測して実際にはnegativeである場合を「真陰性(true negative; TN)」、positiveと予測して実際にはnegativeである場合を「偽陽性(false positive; FP)」、そしてnegativeと予測して実際にはpositiveである場合を「偽陰性(false negative; FN)」と呼ぶ。

TP、TN、FP、FNから、モデル性能を割合で計算することが可能になる。例えば真陽性率と陰陽性率は、それぞれ次のように算出できる。

$$真陽性率 = \frac{TP}{TP + FN}$$

$$陰陽性率 = \frac{FN}{TP + FN}$$

これらはそれぞれ正しい結果を出力した割合と誤った結果を出力した割合を意味する。

ここでいう真陽性率は、テキストマイニングや自然言語処理の文脈で言及される「再現率(recall)」と等価となる。一方、同様に自然言語処理などで言及される「適合率(precision)」は、$$\frac{TP}{TP + FP}$$で計算される。この指標は陽性予測の精度を意味している。

再現率と適合率が高ければ高いほどそのモデル性能は高いと考えられている。だがこれらの分母にあるFNとFPの関係からもわかるように、両者はトレードオフの関係にある。そこで、双方を共に追求する際の指標として、両者の調和平均を意味するF値(F-measure)が参照されることもある。

$$F値 = 2 × \frac{適合率×再現率}{適合率+再現率}$$

「真偽」の外部

このように、深層学習が「科学」足り得ているのは、それが「真」と「偽」の区別に接しているためである。しかし、「複合的なシステム」としての深層学習を構成しているのは、「科学」だけではないのであった。そこには「経済」、「法」、「教育」など、様々な非「科学」が含まれている。例えば「経済」は「真」と「偽」の区別ではなく、稀少な財を「所有するか否か」や貨幣を「支払うか否か」を区別する。GPUサーバをどの程度購入し、どの程度所有し続けるのかという問題は、「科学」的な問題ではなく「経済」的な問題となる。金で真理を買える訳ではない。真理を換金できる訳でもない。たとえ真に最適なアルゴリズムが判明しているとしても、GPUサーバへの投資が無ければ、それを選択することはできない。

「科学というより芸術である」という上述したグッドフェローらの不案内な記述が暗示しているのは、「複合的なシステム」としての深層学習を巡る「科学」と非「科学」の差異である。ここで取り上げた「最適なアルゴリズム」と「GPUサーバの費用対効果」の関連は、「科学」と非「科学」の一つである「経済」の差異を例示している。こうした差異は、しばしば問題領域の断絶をもたらし、問題解決策の競合をもたらしている。と言うのも、「科学」的な問題を「経済」で解決できるとは限らず、「経済」的な問題を「科学」で解決できるとは限らないためである。「科学」の問題は「科学」で解決するしかなく、「経済」の問題は「経済」で解決するしかない。

問題解決策:「芸術」と「設計」の区別

ここでもう一度、「科学というより芸術である」という上述したグッドフェローらの不案内な記述を観察してみよう。彼らがこの「芸術」的な諸要素の具体的な定義を示さなかった理由が深層学習に含まれている非「科学」的な「何か」を消極的に定義するためであるとするなら、彼らはこの非「科学」的な「何か」の複合性に反応していたと考えられる。つまり、「科学」の問題領域には収まらない、「経済」、「法」、「教育」のような様々な問題領域の複合性である。

この「複合的なシステム」としての深層学習を巡る複合的な諸問題の差異を前提とするなら、もはや何か一つの「タスク」や「目標」を達成すれば深層学習が出来上がるなどという認識は、ほとんどまやかしに等しい幻想となる。深層学習を巡る諸問題は、いちどきに解決できるものではなく、細分化して対処していくしかない。そうした諸問題は、問題解決策を考察するための前提条件や枠組みにはなっても、その解決策から別の問題が派生する。「科学」的に最適なアルゴリズムを選択すれば、GPUサーバの費用対効果という「経済」的な問題が派生するように、あらゆる問題解決策は別の問題を派生させる。つまり、問題解決とは、実は問題を再設定することなのである。我々は、我々の外部に解決すべき問題を発見するのではない。我々は、問題を如何に設定するのかを選択しているに過ぎない。

そうなるとむしろ重要となるのは、様々にあり得る問題領域を橋渡しする「インターフェイス(interface)」の「設計(design)」であろう。ここにおいて「科学というより芸術である」という上述したグッドフェローらの記述は、認識の甘さを露呈することになる。諸問題の複合性を前にすれば、有用となるのは「芸術」ではなく「設計」であるためだ。

芸術は、外部的効用無しに存在する。芸術に関わる者は、三次元空間を知覚しているという自明性を追放しようとしたパブロ・ピカソのキュビズムにせよ、現実そのものの自明性すら覆そうとしたシュールレアリスムにせよ、潜在的なものを観察して暴露するという知覚力を養おうとする。芸術は、自明性を覆す「脱構築」の意味での観察を実践するのである。

これに対して設計(design)は、概念の形式やその意味を構成する。設計者はインターフェイスの表面に関わることで、外部のユーザーに親切(user friendly)でなくてはならない。設計者は、事柄の裏側に潜む何かを知覚しようとするのではなく、表面的であることが求められる。

芸術家は、芸術作品そのものの社会的な効果を無視しても良い。これに対して設計者は、外部からインターフェイスの表面に対して要求される機能を問題視しなければならない。芸術が<芸術のための芸術(L’Art pour l’art)>に特化できるのに対して、設計は「科学」、「経済」、「法」、「教育」、そして「芸術」をはじめとする様々な問題領域の結合を可能にしていく。

したがって我々は、「科学というより芸術である」という上述したグッドフェローらの主張に対して反駁することとしよう。深層学習の研究開発に潜む非「科学」的な「何か」とは、「設計」に他ならない。しかもそれは、ソフトウェアのインターフェイス設計に留まらない、「経済」や「法」、「教育」をはじめとする様々な問題領域ごとに機能している様々な社会システムの「設計」である。

問題解決策:「進歩」なき研究開発

この「複合的なシステム」としての深層学習の「設計」を前提とするなら、既に述べたように、何か一つの「タスク」や「目標」を達成すれば深層学習が出来上がるなどという認識は、幻想となる。何か「最終的な目標」を達成すればハッピーエンドになるのではない。ウォーターフォール型のプロジェクトが想定するような「段階的に発展」していく保証がある訳でもない。我々は決して「右肩上がり」で「成長」していく訳でもなければ、より良き「最先端(state-of-the-art)」」へと「進歩」していく訳でもない。確実であると言えるのは、不確実であるということだけだ。

あらゆる問題解決策は様々な派生問題を生む。こうして、問題解決が別の問題を派生させるという事態が「原理的に」解決されることはあり得ず、「進化」によって解消されなければならないのは明らかだ。まさに設計において、チャールズ・ダーウィンのいう「適者生存の原理(survival of the fittest)」が当て嵌まる。様々な問題解決策のモデルやアルゴリズムが利用されるゲームにおいて生き残ったもの、上手く機能したものが、合目的的なのである。

設計の進化における「選択」の原理は、利用されることによる実証という形式を採る。機能することが進化の原因なのである。それは、「強いモデルが勝つのでなく、勝ったモデルが強い」ということだ。尤も、ここでいう「勝利」には、ただ機能し続け、利用され続け、生き残り続けていること以上の意味は無い。

こうして設計の営みは、「サイバネティクス(cybernetics)」となる。サーボ機構に由来する制御の循環システムが、右肩上がりの線形的な進歩史観に取って代わる。既存の「最先端(state-of-the-art)」に追従するだけの教条主義者たちや、コピーアンドペーストだけが取り得のエンジニアたちは、皆この進化的淘汰の圧に屈しざるを得ない。生き残り続けられるのは、何度も反復的に情報を「探索」し続け、それによって観察できた「誤差」、つまり新たに派生した諸問題からより最適な、あるいは満足し得る解決策を「学習」し続けられる者だけである。

結局、学習し続けられない者が淘汰される――これについては、人工知能と人間を区別する必要は無いであろう。

問題解決策:機能の比較、比較の機能

以上のようなシステム理論的な概念は、テクノロジードリブンな夢物語を信じるシンギュラリタリアニズムの理念に比べれば、あまりにも徹底して冷徹であるが故に、「情が無い」とか「シニカルだ」とかいう印象を与えがちである。それは恐らく、システム理論の前提となる分析方法が常に「機能」の概念と密接に関連していたことが背景にある。

「機能する(function)」というのは、システム理論的に観れば、何らかの問題を解決すること以上の意味を持たない。つまり「機能(function)」概念とは、特定の問題設定を前提とした場合の問題解決策を意味する。機能分析の方法の特徴となるのは、こうした「機能」が「偶発的な」選択肢であると想定する点にある。つまり、選択可能な「機能」はあり得ても、「必然」的に選択される「機能」はあり得ないと想定するのが、機能分析の始まりである。

だからこそ、「機能的に等価な」問題解決策の探索が、機能分析の鍵となる。機能的に等価であるというのは、ある特定の問題設定を前提とした場合に、既知の問題解決策と同等程度に最適な、あるいは満足できる利点を有した別の問題解決策であるということである。だから「機能する問題解決策」というのは、別の「機能的に等価な」問題解決策と代替することが可能となる。それは、同じ入出力関係でインターフェイス仕様が維持されるならば交換されて構わない「関数(function)」と同じだ。

「機能」概念を前提とすれば、如何に教条主義的に崇拝されている「最先端(state-of-the-art)」の深層学習であっても、別の機能的等価物との代替可能性に曝されることになる。機能的に等価な問題解決策は相互に代替可能である。ただし、各問題解決策にはそれ固有の副作用やリスクが伴う。機能分析者は、機能的等価性を前提とした上で、こうした副作用やリスクを比較する。こうして「最先端」のモデルすらも機能的等価物との比較によって相対化し、一定の比較の観点から観察してしまうのが、機能分析の特徴なのだ。だがそれは、必ずしも相対主義的になる訳ではない。何故なら機能分析者は、相対主義にも機能的等価物があり得ると考えるからだ。そうして機能分析者は、遂には機能分析それ自体にもまた機能的等価物があり得ると想定する。

機能分析の方法に準拠したシステム理論は、こうして不愛想に振る舞うにも拘わらず、そこには一つのパトスが見出される。それは徹底的に抽象的であろうとする性格だ。ここでいう抽象化の技術は、「オブジェクト指向分析」や「オブジェクト指向設計」で用いられるジム・コプリエンの「共通性/可変性分析(commonality / variability analysis)」の技術と極めてよく似ている。問題領域の流動的諸要素から共通部分と可変部分を区別するのは、その後の汎化やカプセル化の分析に必要な情報を得るためである。これと同じように、機能分析では、複数の問題解決策となり得る選択肢を抽象化することによって、共通の問題設定の枠組みの中で、それらの可変部分を比較可能にしていく。

この意味で「理論(theory)」は、論理、公理、定理、定式を活用することで、諸概念の抽象化を可能にする思考のフレームワークのようなものとして機能する。こうした抽象化の技術としての理論は、「科学」的な「仮説(hypothesis)」とは異なり、証明や根拠付けのために用いるのではない。一定の問題設定を前提とした場合に、新たな機能的等価物の探索とその発見に資するものでさえあれば、「何でも構わない(anything goes)」ためである。

問題再設定:深層学習の「設計」は「科学」なのか

ここで今一度、当初の問題設定となる深層学習の企業内研究開発に立ち戻ろう。深層学習の企業内研究開発は、「科学」でもあれば非「科学」でもある。この非「科学」に該当するのは、とりわけ様々な問題領域を結合させて橋渡しするインターフェイスのための「設計」だ。そして、深層学習の研究開発における「設計」は、「複合的なシステム」としての深層学習に対する機能分析として着手される。

しかし以上の記述は、「科学」的な営みとしての企業内研究開発の可能性を排除している訳ではない。また、排除しようと思っても、できる訳でもない。と言うのも、進化概念やシステム理論、機能分析などのような諸概念は、皆「科学」によって記述されている諸概念であるためだ。非「科学」としての「設計」を成り立たせているのは、「科学」そのものなのである。設計者は、如何に各種問題領域の「ブリッジ」を気取っていても、進化概念や機能概念、システム概念と接している限りは、「科学」の問題領域の枠組みの内部に位置する。メタレベルの「ブリッジ」など初めから存在しない。このことは、後述する「参考文献」の大多数が「科学」との関連から記述されていることからもよくわかるであろう。

深層学習の企業内研究開発の「設計」に関与する我々が未だ「科学」の問題領域の枠組みの内部に位置するということは、「ブリッジ」を気取る者たちの認識に反して、我々にはまだ見ぬ「外部」が非「科学」として潜在化しているということである。その非「科学」は、「経済」かもしれないし「法」かもしれない。

この意味で、それぞれの問題領域の橋渡しを試みる設計者は、全体最適化を目指したとしても、その影響は部分最適化に留まる。設計者が観察し得る「全体」とは、実は「科学」の問題領域における「部分」的な「全体」に過ぎない。設計者は、「全体最適化はあり得ない」という前提の下で、全体最適化にアプローチせざるを得ない。だがこの事柄を記述するや否や、「全体があり得ない」という状況それ自体が事の<全体像>なのではないかという疑念が生じてしまう。クレタ人のパラドックスの如く、この主張が自己自身に適用されてしまえば、この主張は自己自身に反論する形になる。私が正しいなら、私は間違っており、私が間違っているなら、私は正しい、という訳だ。同様に、深層学習の設計者もまた、「部分」と「全体」の間で振動することになる。深層学習の設計者は、「全体」の設計者を自称する「部分」の設計者を自称する「全体」の設計者を自称する……設計者として、「科学」と非「科学」の間を振動していくのである。

参考文献

  • Coplien, J., Hoffman, D., & Weiss, D. (1998). Commonality and variability in software engineering. Software, IEEE, 15(6), 37-45.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press.
  • Günter, G. (1962) Cybernetic Ontology and Transjunctional Operations. In G. T. Yovits & G. D. Jacobi Goldstein (Eds.), Self Organizing Systems. Washington D. C: Spartan Books, pp.313-392. Downloaded from www.vordenker.de (Edition:February 2004), J. Paul (ed.) at: http://www.vordenker.de/ggphilosophy/gg_cyb_ontology.pdf.
  • Foerster, Heinz von. (1984) Observing Systems, 2d ed. Salinas, Calif. Intersystems Publications.
  • Hofstadter, D. R. (1980) Godel, Escher, Bach. New Society.
  • Luhmann, Niklas. (1990) Essays on self-reference, New York : Columbia University Press.
  • Luhmann, Niklas. (1991) “Funktion und Kausalität.” Soziologische Aufklärung 1. VS Verlag für Sozialwissenschaften, S.9-30.
  • Simon, Herbert Alexander. (1969) The sciences of the artificial, Cambridge, MA.
  • Simon, Herbert Alexander. (1976) Administrative behavior: a study of decision-making processes in administrative organization, 3th Edition, Free Press.
  • Simon, Herbert Alexander. (1977) The new science of management decision, revised edition, Englewood Cliffs.
  • Simon, Herbert Alexander. (1996) The sciences of the artificial, 3rd, MIT press.
  • Wiener, Norbert. (1961). Cybernetics or Control and Communication in the Animal and the Machine (Vol. 25). MIT press.