bonotakeの日記

元・ソフトウェア工学系研究者、今・AI系エンジニア

記事『計算機科学から見たディープラーニング』とHagiya triple

本日(というかついさっき)刊行された雑誌『n月刊ラムダノート vol.1, No.2』に記事を寄稿しました。ということで宣伝エントリーです。

www.lambdanote.com

この中で、『計算機科学から見たディープラーニングという記事を書かせていただきました。

この記事を書くことになったきっかけは2つありました。
まず、ラムダノート社長の@golden_luckyさんと雑談している間にこういう話題で盛り上がり、勢いで執筆を依頼された、というのが1つ。
そしてそれと同時期に、ちょうどMLSE夏合宿2019での企画を考えなきゃいけなくて、そのネタ帳代わりに書いたという側面もあります。東大の萩谷昌己先生をお招きすることは先に決まっていて、先生のご専門である理論計算機科学の観点でディープラーニングを捉え直すとどうなるか、みたいなのを、私なりに考えて記事の形式にまとめました。

で、初稿ができたタイミングで、萩谷先生と、あと共同で企画をしたPreferred Networksの丸山宏さんとで原稿を共有したところ、丸山さんが「3人で座談会をしよう」というとんでもない提案をされ、『鼎談:新しいプログラミングパラダイムとしての深層学習』として実現しました。いやぁ、お2人のお相手を務めるのが私でいいのか、とも思いつつ、精一杯やらせていただきました。

で、その鼎談の中で、萩谷先生が発表されたのがこのスライド。私の記事を元に、さらに考察を重ねておられます。

www.slideshare.net

私の記事のキーポイントも、この記事の中で極めて抽象的ですが説明されているので、数学的な抽象論が平気な方はこちらを見ていただければ記事読まなくても大丈夫です。
これじゃわからん、という人は記事買ってください(ニガワラ

まぁこのスライドだけだと当日の参加者以外には不親切すぎるかもしれないので、以降、先生のスライドをかいつまんで、簡単な解説を試みようかと思います。 (繰り返しですが、この説明で難しいと思う人は記事買ってください)
まず、これは一般的なホーアの三つ組(Hoare triple)の説明です。 https://image.slidesharecdn.com/mlse2019hagiya-190709072155/95/-4-638.jpg?cb=1562657137

事前条件P・プログラムc・事後条件Qで構成される三つ組に対し、(i, o) なる二つ組が出てきますが、これはテストケースです。
iが入力、oが対応するテストオラクル。iPを満たし、(i, o)はQを満たします。

これは今までのソフトウェアだったんですが、ディープラーニング、あるいはディープラーニングを元にした新たなプログラミングの世界Software 2.0はこの枠組みを拡張します。それがこれ。

https://image.slidesharecdn.com/mlse2019hagiya-190709072155/95/-5-638.jpg?cb=1562657137

私が記事の中で書いたのがこの構図です。(なので Imai triple なんて名前がついている。恥ずかしい……)
{P}c{Q}ではなく{P}[c]{Q}となっているのがミソで、真ん中にある[c]はプログラムではなく、プログラムスキーマ(≒特定の要件を満たすプログラムの集合)です。ディープラーニングでは、ニューラルネットワークアーキテクチャがこれに相当します。
そして更に学習器tが存在していて、tはテストの集合{(i, o)}を与えると、一番良さそうなプログラムcを自動探索して出力します。

これを更に拡張して、{P}[c]{Q}, {(i, o)}, t の3つを定めるメタ戦略mが存在するよね、というのが萩谷先生の考察。

https://image.slidesharecdn.com/mlse2019hagiya-190709072155/95/-6-638.jpg?cb=1562657137

ちゅーことで、このメタ戦略を規定するのが新たな枠組みである Hagiya triple です。

https://image.slidesharecdn.com/mlse2019hagiya-190709072155/95/-7-638.jpg?cb=1562657137

そして現状、このメタ戦略には機械学習エンジニアEの存在も含まれるのでは、という考察。

https://image.slidesharecdn.com/mlse2019hagiya-190709072155/95/-8-638.jpg?cb=1562657137

本来的には、メタ戦略はm(P, Q, {E})と3つのパラメータを持つ関数になるんですが、現状はメタ戦略m(P, Q)とは腕のいいエンジニアの集合{E}を集めることで、この腕のいいエンジニアE達が良さげなネットワークを設計するという、大変属人的でおおよそ科学とは言えないものになっているのでは?というのが萩谷先生の問いかけです。
ディープラーニングを科学にするには、いかにこの{E}を理論的な枠組みで制御可能にしていくべきかが問われます。

いかがでしょう。小難しい話を駆け足で説明したので、どこまで理解していただけたかわかりませんが。
私が書いた記事は、この Imai triple までをかなり平易に説明したつもりのものです。なので詳細はぜひ記事を読んでください(3回目)。

あと誰か、この続きを研究してみませんか?
(お前がやれ? ごもっとも……)

注:bonotakeは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。