ディープラーニングを利用した成果が多く登場し、様々な問題で人間を超える結果が出てきている。ディープラーニングと言ってもCNNやRNNやGANなど様々な方法が存在し、全てをまとめて議論することに異論もあろう。しかし、シンギュラリティと結びつけて語るような「ディープラーニング万能説」には疑問がある。
第一に「ノーフリーランチ定理」がある。ノーフリーランチと言えば小説が元になった言葉で経済学での「うまい話は無い」という例えでよく使われるが、組合せ最適化問題を中心に機械学習・探索アルゴリズムの分野でもよく言われる。
機械学習の手法は様々だが、現代的な方法では基本的に「評価関数の最大化(誤差関数の最小化)」でアルゴリズムの精度を判断する。
例えば、機械学習を始めるなら最初は直線にプロットできそうなデータを用いて1次関数を単回帰分析するところから始めるケースが多いが、この時に使われるのは最小二乗法である。
最小二乗法は簡単に言えば、「実測データ」と「予測データ」の誤差を二乗して足し合わせた誤差自乗和を最小化するのが最小二乗法の基本である。詳しいことは統計学などの基本書にあたってほしい。
機械学習を単回帰分析に即して言えば、
$$y=ax$$という1次関数があれば、様々なaの値を取って計算した誤差自乗和を計算すれば、下に凸の二次関数になる。この関数の極値がaの最適解であり、これは最急降下法などの方法で探していく。これには偏微分などの知識が必要なのでこれ以上は掘り下げない。
ここで重要なのは「極値を見つける」ということであり、最小二乗法の他にも様々な手法が存在するが、最終的に評価関数の極値を見つけるというものが多く、その誤差でアルゴリズムの良し悪しを比較する。
この時、ある汎用アルゴリズムについて、あらゆる問題の誤差を計算したとしよう。勿論、あらゆる問題の誤差を計算することは現実的にはできないが、数学的には成立可能な問題である。
この時、必ず汎用アルゴリズムを上回るパフォーマンスを見せるアルゴリズムが存在するというのがノーフリーランチ定理である。
直感的には簡単である。ある特定の問題に特化したアルゴリズムを開発し、それが汎用アルゴリズムでのパフォーマンスを少しでも上回れば良いのである。これなら直感的に正しいと分かるだろう。
ディープラーニングを万能視してしまうのは、特定の問題についてより優れたアルゴリズムが存在するかもしれないのに、その開発や利用を検討せずに、思考停止状態でディープラーニングを採用してしまうことと等しい。
実は、過去にも遺伝的アルゴリズムや焼きなまし法といった汎用アルゴリズムで同様の事が言われた時期があった。厳密にはノーフリーランチ定理は遺伝的アルゴリズムなどを批判するために証明された定理である。
無論、画像処理はCNNが優れており、時系列データはRNN、画像生成ならGANなど個別の問題群で優れたものが存在する。現実の人工知能研究においては、ディープラーニングの一部が何らかの問題に特化しているので、多くの研究者はディープラーニングを絶対視しているわけではない。
しかし、企業レベルや一般レベルの言論やビジネス分野ではディープラーニングを過剰評価する傾向が強く見られるが、それは大いに疑問である。
もっとも、ディープラーニングの平均レベルが「様々な問題について大多数の人間を上回る可能性」は存在する。それとて現在のディープラーニングは力任せの要因があり、何でもかんでもディープラーニングを採用するのは資源の無駄である。