テクノロジー

機械学習をする人は知っておこう!ノーフリーランチ定理の意味とは

機械学習をする人は知っておこう!ノーフリーランチ定理の意味とは

お掃除ロボットのルンバや検索エンジンのGoogleのような限定的な機能に特化したAI(人工知能)は身近に見られる一方で、ドラえもんや鉄腕アトムみたいな人間のようになんでもできるAI(人工知能)というのはまだ見かけませんよね。それはAI(人工知能)がまだまだ技術的に未熟な段階であることも考えられますが、AI(人工知能)を支える機械学習がノーフリーランチ定理を乗り越えられないからそもそも難しいというのもあるかもしれません。

しかしながら、今の説明でノーフリーランチ定理なんて初めて聞いた、聞いたことがあるだけでよく知らない、という人も多いはず。機械学習を勉強したり、開発に携わったりする人にとってノーフリーランチ定理は重要な定理なので、ぜひとも知っておきましょう。そこで今回は、ノーフリーランチ定理がどういうもので、機械学習とどういった関連性を持つのか解説します。

まずは、ノーフリーランチ定理とはなにか、その意味について解説します。

ノーフリーランチ定理とはどういう意味か

コストのイメージ
ノーフリーランチ定理とはコスト関数の最適化問題(関数の最大値・最小値を探す問題)に関して、米国の物理学者David H. Wolpert氏とWilliam G. Macready氏が提唱した定理です。1995年に発表した論文にて「コスト関数の極値を探索するあらゆるアルゴリズムは、全ての可能なコスト関数に適用した結果を平均すると同じ性能となる」(訳文引用元:アヒルと “TANSTAAFL”)と説明しています。

・・・といわれても、この説明ではどうにもややこしく理解が難しいですよね。まずは「コスト関数」や「探索」といった専門用語について解説しましょう。

コスト関数:入力値に対して出した結果と実際の答えの差、つまり誤差を計算する関数
探索:機械学習などの基盤技術で、データ群から定められた条件にマッチするものを見つけ出す手法。データの数が多くなったり、条件がややこしくなったりすると、たくさん工夫する必要がある

そして、補足を入れつつ先ほどの説明を言い換えると「コスト関数の極値の計算をおこなういずれのアルゴリズムも、考えられるすべてのコスト関数の極値を計算させた性能の平均値を取ると、どれも同じ性能である」、となるでしょう。これはすなわち、特定のコスト関数にはとても高い性能を示すアルゴリズムでも、とくに工夫をほどこしていないアルゴリズムでも、あらゆるコスト関数に適応をさせて平均をとると、同じ性能となってしまう、といえます。

ノーフリーランチ定理について解説したところで、次に“ノーフリーランチ”定理という言葉はどこから取ってきたものなのか紹介します。

「ノーフリーランチ定理」という言葉が生まれたきっかけ

ランチのイメージ
「ノーフリーランチ」という語を聞いて、もしかして英語ではno free lunchと書くのかな?と気になっていた人もいるでしょう。実はそれは大正解で、実際にno free lunch、すなわち「無料のランチなんてない」という話から取ってきた言葉です。no free lunchという言い回しは昔からあり、それは米国のどこかの酒場の出来事が由来だとか。

かつてとある酒場で「お酒を頼んだお客様にはランチを無料で振舞います」という宣伝がありました。一見、これはお客にとってとてもお得で、うれしいサービスですよね。しかし実はランチの代金を酒代に含ませているというからくりが背後にはあったのです。

このことから「無料のランチなんてない(There ain’t no such thing as a free lunch)」という言葉が生まれたとのこと。すなわち「酒を頼むだけで無料のランチが食べられるわけがない」=「うまい話なんてない」という意味です。ちなみに、単語それぞれの頭文字を取って、TANSTAAFLとも呼ばれています。

つまり、ノーフリーランチ定理というのは、「うまい話なんてない定理」で、例えある部分で最高の探索をするアルゴリズムを開発しても、それひとつで他の多くのことをカバーできるような探索のアルゴリズムとはならない、という意味です。こういった格言から定理の名前をつけるのはわかりやすくもあり、とてもユニークですよね。

このような面白い背景で言葉が生まれたノーフリーランチ定理ですが、一体何を伝えたいのか気になりますよね。続いて、ノーフリーランチで言いたいことについて解説します。

「ノーフリーランチ定理」が言おうとしていること

アルゴリズムのイメージ
結論からいうと、解決したい問題の前提条件や前提知識を前もって知ってからアルゴリズムを工夫して組まないと、性能の良いアルゴリズムを組むことは難しい、ということを伝える定理です。どのアルゴリズムよりも性能が常に良い万能なアルゴリズムは存在せず、高性能に処理をおこないたいならば、1つ1つの問題に対して、前提条件や前提知識をもとにそれぞれアルゴリズムを組んでいく必要があることを指します。

間違えてはいけないのが、ノーフリーランチ定理はどのような場合でも、アルゴリズムをいくら工夫したところで性能に差が出ない、といいたいのではありません。また、1つの問題に対して最高性能のアルゴリズムが作れないことをノーフリーランチ定理では述べてはいません。主張したいことは「前提条件も前提知識もないけど、とにかく高性能で汎用性の高いアルゴリズムを組みたい!」ということは無謀、そして無駄ということです。

逆に言えば、前提条件や前提知識をもとにアルゴリズムを開発すれば、性能向上が見込まれるという意味です。すなわち、ノーフリーランチ定理の文脈では、コスト関数や解決したい問題領域の知識、問題設定条件などを考慮してアルゴリズムを開発すべきで、闇雲に性能向上だけを求めて開発するものではない、ということでしょう。

ところで、ノーフリーランチ定理に似た定理に「みにくいアヒルの子定理」というものが存在します。次に、みにくいアヒルの子定理について解説します。

ノーフリーランチ定理と似た「みにくいアヒルの子定理」とは

みにくいアヒルのこのイメージ
みにくいアヒルの子定理とは、日本の物理学者の渡辺慧氏が提唱・証明した定理で、「すべての特徴を同等に重要とみなしてアヒルの子同士を比較したとき、みにくいアヒルの子と普通のアヒルの子は、普通のアヒルの子2匹と同じだけ似ている、または似ていない」というものになります。一見不可思議な定理ですが、きちんと筋の通った、証明もなされている定理です。

体毛の色と体の大きさから比較すれば、灰色で小さいアヒルの子は、他の黄色い通常サイズのアヒルの子とは違う、「みにくいアヒルの子」と一見分類できそうですよね。しかし、羽や足の形、くちばしの色、毛の模様など、アヒルの子には無数の特徴があります。そのため、例えば他のアヒルの子と比べた時、足が小さく、くちばしがオレンジならば、そのアヒルの子も「みにくいアヒルの子」と同程度に他のアヒルと異ってしまい、最終的に「みにくいアヒルの子」と決定づけるような分類はできなくなってしまいます。

この定理の大事な部分は、すべての特徴を同等の重要度みなす、という点です。これはすなわち主観を抜いた客観的で形式的に分類をおこなう、ということに他なりません。先ほどの例のように、客観的で形式的な分類では、対象を思い通りに分類することは難しく、一部の特徴を無視したり、重要視したりするような価値観が分類という処理をおこなう重要になる、というのがみにくいアヒルの子定理です。

このことから、客観的な、つまり汎用的な分類というのはできないという問題が生まれます。よって、ノーフリーランチ定理と同様に、解決したい分類問題に合わせてアルゴリズムを組む必要がある、ということになるでしょう。

ここまでノーフリーランチ定理の意味やそれに関連する定理について解説してきました。しかし、結局のところノーフリーランチ定理は機械学習ってどう関連してくるの?が一番気になりますよね。最後にノーフリーランチ定理と機械学習の関連性について解説します。

ノーフリーランチ定理と機械学習の関連性とは

機械学習のイメージ
David H. Wolpert氏とWilliam G. Macready氏はノーフリーランチ定理は探索だけではなく、機械学習でも成立することを示しました。そのため、機械学習を作るには「作る」ことに特化するだけで足らず、事前知識についても必要になります。なのでノーフリーランチ定理の文脈では、例えば日本語の自然言語処理に関する機械学習の開発をしたいならば、事前に日本語の文法や多言語との違いについて知っていないと、高性能なものを作ることはできません。

また、ドラえもんや鉄腕アトムのような、さまざまなこと(処理)ができる汎用AI(人工知能)を実現する機械学習の開発への影響もあります。汎用AI(人工知能)を実現するための機械学習を開発することが可能かどうか、ノーフリーランチ定理からは完全には判断できません。しかし、どんな問題でも処理できるアルゴリズムを考えるという手段で汎用AI(人工知能)を実現することは難しく、仮にできたとしても中途半端な機能しか持たない、ということは十分考えられるでしょう。

まとめ
さて、今回はノーフリーランチ定理がどういうもので、機械学習とどういった関連性を持つのか解説しました。ノーフリーランチ定理をかみ砕いていうと、「コスト関数の極値の計算をおこなういずれのアルゴリズムも、考えられるすべてのコスト関数の極値を計算させた性能の平均値を取ると、どれも同じ性能である」ということ。機械学習にも当てはまる定理です。

ノーフリーランチ定理のノーフリーランチ(no free lunch)は、「無料のランチなんてない(There ain’t no such thing as a free lunch)」という米国の格言から来ています。「うまい話なんてない」ということを意味し、ノーフリーランチ定理は都合よく高性能なアルゴリズムは組めないことを示唆しました。

ノーフリーランチ定理で主張したいのは、解決したい問題の前提条件や前提知識をもとに工夫して開発してと高性能なものとならないということです。逆にいうと、十分な前提知識などを持てば、性能向上は見込まれます。

機械学習をする以上、ノーフリーランチ定理は避けて通れません。機械学習開発の際には、入念に前提条件や前提知識などを検討し、勉強しましょう。

トップへ戻る
タイトルとURLをコピーしました