エキスパート・コラム

No Free Lunch 定理 ― 激変の時代をどう戦うか

No Free Lunch 定理 ― 激変の時代をどう戦うか

ハローワールド! データサイエンス VTuber のアイシア=ソリッドです。

この連載では、この大 AI 時代、AI 活用・開発において重要な考え方・知識をお届けしていくよ!

第3回のテーマは、この激変の時代に輝く古典的な名概念と、それが指し示す指針を紹介します!

データサイエンス VTuber アイシア=ソリッド

本記事の執筆者

アイシア=ソリッド(杉山 聡) Aicia Solid

データサイエンスVTuber

  • 一般社団法人データサイエンティスト協会 スキル定義委員(データサイエンティストのスキル定義および検定プログラムの策定に従事)
  • 大阪大学 D3センター 招へい研究員
  • 慶應義塾大学 総合政策学部 島津明人研究室 上席所員(SFC上席所員)
  • 株式会社アトラエ シニアデータサイエンティスト

学位:東京大学大学院数理科学研究科 博士課程修了。博士(数理科学)

受賞歴:第35回世界コンピュータ将棋選手権 優勝・独創賞特別賞(水匠チーム)

著書:『妥協しないデータ分析のための 微積分+線形代数入門』(2024年、ソシム)/『本質を捉えたデータ分析のための分析モデル入門』(2022年、ソシム)

TL;DR

  • No Free Lunch(NFL)定理のもともとの主張は、「どんな最適化手法であっても、ありうる全ての課題について性能を合計したら、全く差が見いだせない」
  • 言い換えると、「すべての課題に対して良い手法は存在せず、状況に応じて手法を選択するべき」
  • 「他社事例をそのままマネてもダメ」という空間的 NFL のみならず、最近は「去年の手法はもう今はダメ」という時間的 NFL も台頭
  • 技術的負債とは、当時の理解と制約で構築したものが、現在の最適解とズレ、そのズレが変更コストとして残った状態を指す。これは時間的 NFL と同じ構造を持つ
  • 大激変の今、技術的負債への標準的対応である「制約の中で最善を尽くす」「定期的にやり方を更新する」こそが指針である

No Free Lunch 定理とは

No Free Lunch 定理とは

No Free Lunch 定理を聞いたことはあるでしょうか?

聞いたことがある人は、「他社の事例をそのままもってきても自社ではうまくいかないよ」という警句に添えられているのをよく見たのではないかと思います。

しかし、この定理の実際の内容を知っている人はどれほどいるでしょうか? 名前に「定理」とあるとおり、オリジナル版は数式で書かれています。

せっかくなので、一番よく引用されている最適化版の No Free Lunch 定理を紹介しましょう。大まかに言えば、以下のとおりです。

No Free Lunch 定理(最適化版)

最適化問題 f に対して、最適化アルゴリズム A を用いた時の、性能の指標を Φ(f, A) と書くことにする。この時、任意の最適化アルゴリズム A1, A2 に対して、「全最適化問題での性能の合計」は等しい。つまり、

Σf Φ(f, A1) = Σf Φ(f, A2)

である。

▶ 出典:David H. Wolpert and William G. Macready, “No Free Lunch Theorems for Optimization,” IEEE Transactions on Evolutionary Computation, Vol. 1, No. 1, pp. 67–82, 1997.

いかがでしょうか。見たことはありましたか?

次の章で、この No Free Lunch 定理が、どうして「他社の事例をそのままもってきても自社ではうまくいかないよ」といういつもの警句になるのかを見ていきます。

No Free Lunch 定理の意味合い

No Free Lunch 定理の意味合い

No Free Lunch 定理の意味を読み解くため、問題をぐっと単純化してみます。最適化問題は世の中に2つしかないとしてみましょう。

この状況で、以下の表に登場するアルゴリズム A, B, C について考えてみます。表の中の数値は、各アルゴリズムの、各最適化問題についての性能の値です。

2つの最適化問題に対するアルゴリズムA・B・Cの性能と、その合計値
図1:2つの最適化問題に対するアルゴリズム A・B・C の性能(合計値はいずれも一定)

性能の合計が一定なので、問題1が得意なアルゴリズムAは問題2では性能が悪く、逆に問題1が苦手なアルゴリズムBは問題2での性能が良いです。バランス型のアルゴリズムCは、どちらでも中途半端な性能しか出せていません。

このように、性能の合計が一定という条件下では、全ての問題に対して万能な解決策はありません。そのため、問題に応じて解法を選択しなければならないという学びが得られるのです。

空間的 No Free Lunch と、時間的 No Free Lunch

空間的 No Free Lunch と、時間的 No Free Lunch

No Free Lunch 定理から得られる学びは、旧来は、このように使われていました。

旧来の使われ方 ― 空間的 No Free Lunch

  • 他社でうまくいった事例をそのまま自社に当てはめてもうまくいかない
  • 画像分析でうまくいった手法をそのまま言語処理に当てはめてもうまくいかない
  • 仮に同じ画像分析であっても、データセットAでうまくいった手法をそのままデータセットBに当てはめても最適ではない

これらは全て、「別の場所に同じ手法を持っていってもダメ」という主張なので、空間的 No Free Lunch と呼ぶことにしましょう。

これに加えて、最近急速に課題として立ち現れているのが、時間的 No Free Lunch です。

全く同じ課題に対してであっても、1年前の手法ではもう最適ではないこと、よくありますよね。もっといえば、3か月前の手法ですら最適ではないことも多々あるでしょう。これは、時間的 No Free Lunch と言えるでしょう。

もっと具体的に言えば、こういうものです。

いま起きていること ― 時間的 No Free Lunch

  • Coding Agent の性能がどんどん上がるので、3か月前の prompt じゃ性能を引き出せない
  • 3か月前の harness では今の Coding Agent の失敗モードを捉えきれない
  • アウトプットがどんどん増えるから、3か月前に変えたレビュー体制ですらもうボトルネックを生んでいる

などです。これは、No Free Lunch の時間的な現れだったのです。

技術的負債のオリジナルの意味

技術的負債のオリジナルの意味

今後もどんどん勢いを増す時間的 No Free Lunch に対して、私たちはどう備えるべきでしょうか。そのヒントになるのが、技術的負債です。

技術的負債は、手垢がつきすぎてしまった概念ですが、大本の含意は以下のとおりです。

技術的負債が生まれるまで

  • STEP.1
    今ある理解と制約の中でベストを尽くし、コードを書き、リリースする
  • STEP.2
    リリースされ、顧客との接点が生まれた結果、学びが深まり、理解がアップデートされる
  • STEP.3
    状況の変化によって、制約が増減する
  • STEP.4
    そうして理解と制約に変化があり、当時のベストと今考えられるベストとの間にズレが生じる
  • 正体
    このズレが、以後の変更や改善に追加コストを生む状態こそが、技術的負債と呼ばれるものの正体

技術的負債とは、本来、単なる能力不足や速度優先のための品質犠牲を指す言葉ではありません。自分たちが前進した、または、環境が変わったことで生じた最適解の変化が、変更コストとして残ったものなのです。

▶ 出典:Cunningham, W. (1992). The WyCash portfolio management system. Addendum to the Proceedings on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA ’92), 29–30.

激動の時代にどう向き合うか

激動の時代にどう向き合うか

先ほど確認した技術的負債は、時間的 No Free Lunch と同じ構造をもっています。

技術的負債は自分たちの成長によって、時間的 No Free Lunch は新 AI の登場によって、過去の手段が最適ではなくなってしまうことに根源があります。

であれば、逆に見ると、この大激変の時代への対処の指針は、技術的負債への対処法から見出すことができます。それは、何も真新しいことではありません。

大激変の時代への指針

  • 今の自分の理解と制約の中でベストを尽くす。
  • 定期的に前提を見直し、やり方を更新する。

この2つだけです。生成 AI や Coding Agent の発展に合わせて言い直せば、

今は今で、今の生成 AI を使いこなしてベストを尽くす。

生成 AI が進化して過去の手法が最適でなくなったら、新しい使い方を学んで取り入れ、やり方をアップデートする。

これだけです。

まとめ

本記事の要約は以下のとおりです。

  • No Free Lunch(NFL)定理のもともとの主張は、「どんな最適化手法であっても、ありうる全ての課題について性能を合計したら、全く差が見いだせない」
  • 言い換えると、「すべての課題に対して良い手法は存在せず、状況に応じて手法を選択するべき」
  • 「他社事例をそのままマネてもダメ」という空間的 NFL のみならず、最近は「去年の手法はもう今はダメ」という時間的 NFL も台頭
  • 技術的負債とは、当時の理解と制約で構築したものが、現在の最適解とズレ、そのズレが変更コストとして残った状態を指す。これは時間的 NFL と同じ構造を持つ
  • 大激変の今、技術的負債への標準的対応である「制約の中で最善を尽くす」「定期的にやり方を更新する」こそが指針である

とはいえ、実際には問題は何も解決していなくて、、、。

リファクタリングが難しい(限られた人数で事業を成長させながらやる場合)のと同様に、変化に適応し続けることはそれはまた大変なのですが、、、。

少なくとも、解かねばならない問題の種類は変わっていないはずです。

私も結局現場では苦労しているのですが、この苦労をともに乗り切っていければと思います!

以上。データサイエンスVTuberの、アイシア=ソリッドでした!

次回もお楽しみに!

AI drops 編集部より:変化し続ける現場で、あなたの技術を活かしませんか?

BIGDATA NAVIでは、最先端のAI開発やデータサイエンス領域で腕を振るいたいフリーランスエンジニアを支援しています。「今のスキルでどんな案件に挑戦できるか知りたい」「より良い環境や条件を探している」とお考えの方は、ぜひ一度当社の無料サポートをご活用ください。

BIGDATA NAVIでフリーランス案件を探す エージェントに無料相談する

関連記事Related Posts