いちおう大学院の専攻は人工知能なので、人工知能の基本である予測モデルについて考えることも多い。昼下がり、微妙にエアコンの効いていない教室でノートパソコンに向かってColaboratoryでPythonのコードを書いているとき、ふと予測モデルを作ることって何なんだろうか?との疑問がどこからともなく湧いてきた。
モデルの精度を向上させるためにハイパーパラメータ(決定木ならDepth、正則化回帰ならAlphaなど)をひたすら調整するのは、数理というより職人技だ。モデルのアルゴリズム自体を作ることはまあ学問だとしても、それを使って実際にモデルを作成することはとても学問的とは思えなかった。
それらはステップを追って一個ずつ記述していけば学問的手法ですべて表すことができるのだろうが、それをして一体何になるというのか?という虚しさも覚える。
そもそも考えてみると、モデルを作るとは一体なんだろうか?モデルとは何だろうか?意外なことにちゃんと学校で教わった記憶がない。
僕の認識が正しければ、あらゆる学問はモデルを作ることを主な仕事としている。歴史学であれば、歴史上の出来事とその前後の関係を記述するようなモデルを自然言語を使って構築する。物理学であれば、現象の数理的説明として方程式を使ってモデルを構築する。このような取り組みが諸学問の基本的な活動内容だ。それにもかかわらず、この事実を直接的に教えてくれる媒体は驚くほど少ない。
「学問とはモデリングである」ということがハッキリすると、自分がするべきことが明確になる。例えば、自分の研究成果が良いかどうかは、「自分が構築したモデルが良いかどうか」に言い換えることができる。ロバスト(頑健?)なモデルを構築すればそれは良い研究を行ったと見ることができるだろうし、同じ基準で自分の研究の方向性を修正すこともできるだろう。
例えば、「ヒトラーが〇〇という命令をしたから、ドイツは戦争に負けた。」という歴史認識(=モデル)を作ったとする。ここで思考実験として、「〇〇という命令」の部分に現場の将軍か誰かが「b」というちょっとした文言を追加したとしよう。つまり「〇〇+bという命令」をしたことにしてみる。この場合、ドイツはやはり負けたのだろうか。もしこの追加された「b」という些細な因子のおかげで結果が大きく変わりドイツが勝ってしまうようなことがあれば、そもそも「ヒトラーの〇〇という命令」は、実はそんなに大した要因じゃ無かったんじゃないかということになってくる。あるいは「b」が、その前の「〇〇」を打ち消すような文言だった場合、「ヒトラーの〇〇という命令」が打ち消されたことによって結果が変わったのだから、「〇〇」の部分はむしろ非常に重要な要因であると考えることもできる。
このように学問をモデリングとして捉えれば、そのモデルの妥当性を検証することで自分の研究が合っているのか判断できるようになるわけだ。今回の例ではロバストネスを基準に自分のモデルの妥当性を検証したけど、他にもやり方があるのかもしれない。時間がある時にまた考えてみたい。
しかし「学問とはモデリングである」という考え方には問題もある。なにより、この考え方自体が一種のモデルなのだ。自己言及のパラドックスみたいだ。学問とは〇〇であるという他の考え方もある中で、僕は学問とはモデリングであるというモデルを採用したことになる。つまり、僕はこれがロバストかどうか判定しなければならないし、さらにロバストネスを基準とすることもまた一種のモデルであるという複雑な入れ子構造を有している。これを入れ子構造だと捉えるのもまたモデリングである。モデルは無限に生み出されてしまう。
まるで、ミュンヒハウゼンのトリレンマに出てくる「無限後退」のモデリングバージョンである。学問がモデリングであると誰も教えてくれないのは、その言及自体がモデリングだからなのだろうか。しかしそれでは、ミュンヒハウゼンのトリレンマは許されてるのになんでこっちはダメなのかの説明になっていない。
予測モデルの話題に戻ると、予測が合ってさえいれば何でもいいのだろうか?
例えばこんな思考実験がある。
サイコロを投げて明日の売上を予測する。サイコロを削って重心とか空気抵抗を調整して実際の売上とよく一致するようなモデルが仮に作れたとする。もちろんサイコロと売上の間には何の因果関係も無い。
①果たしてこのようなモデルを作って意味はあるのか?②予測ができていればそれでいいのか?③そもそもそのようなモデルは実際にあり得るのか?という具合に、疑問が次々と湧いてきてしまう。
①について言えば、現象を理解する目的で作るならこのモデルは適切では無いだろう。直感的には因果関係を説明するようなモデルの方が良さそうな気がする。しかし予測という一点で見ればアリなのかもしれない。それが②で、予測値と実測値の誤差を小さくすることが目的なら、それさえ果たせればぶっちゃけ中身は何でもいいという話になる。しかしそんなモデルを実際の運用で使用していいのかという倫理的な問題も発生するだろう。それに、できればもっと汎用的なモデルであってほしい。特定の店だけじゃなくて、いろんなお店で使えるような売上予想モデルの方が便利だ。そうしたモデルは往々にして因果関係をベースに構築されると思う。
③は何の因果関係も無いものから十分な精度のモデルを作り出すことが実際にできるのかという問題だ。これはたぶん過小決定の話になると思う。すべての証拠が出揃っていない場合、それはあり得るということだ。根拠となるデータが少ない状況で因果を推論しても上手く行くとは限らないため、因果関係の無いモデルとほぼ精度が変わらないなんてことが発生する可能性はある。しかし、冗長さが含まれるモデルはオッカムの剃刀によって除外され、シンプルなものが最終的に残るのだとも言われている。因果関係の無い無理やりなモデルはシンプルでは無いだろう。ただしこれはあくまで傾向なので、原理的に必ずそうするべきなのかどうかはよく分からない。
今のところそんな感じの認識でいるけど、これ自体も僕が考えたモデルにすぎないし、大きく間違っている可能性もある。学問は解決する以上に分からないことを増やしてしまった。
というわけで、今日も世界の裏側に隠された幻影に悩まされ続けている。分野は違うけど院生時代のオッペンハイマーの気分がちょっとだけ分かった気がする。そんな感じで今日はこの辺で。そろそろ寝ないと明日の授業に影響しちゃう。ちなみに明日じゃなくてもう今日っていう・・・
結局自分でも何を書きたかったのかよく分からない。