00:00:07 微分可能プログラミングという新しい用語。
00:01:38 ディープラーニングにおける勾配ベース最適化の基本的考え方。
00:03:48 勾配計算における自動微分の突破口。
00:06:00 微分可能プログラミングの起源と機械学習への影響。
00:07:43 一見単純なタスクの複雑さとAIにおける反復的進歩。
00:09:33 ニューラルネットワークからディープラーニング、そして微分可能プログラミングへの移行。
00:11:22 サプライチェーン最適化における微分可能プログラミングの利点。
00:13:26 サプライチェーン管理における価格設定、需要予測、在庫配分の連携。
00:15:00 機械学習における微分可能プログラミングと不確実性への対処。
00:16:00 サプライチェーンにおける微分可能プログラミングと大手テック企業との比較。
00:18:19 他分野のAI技術をサプライチェーンの問題に応用する。
00:20:15 サプライチェーンにおける予測モデリングと最適化のための微分可能プログラミングの利点。
00:22:01 サプライチェーン管理における微分可能プログラミングが抱える今後の課題。
00:24:16 結びの考察。

要約

Kieran Chandlerは、Lokadの創設者であるJoannes Vermorelに、微分可能プログラミングとそれがAIおよびサプライチェーン最適化において持つ意義についてインタビューしました。微分可能プログラミングは自動微分技術の突破口から生まれ、ニューラルネットワークやディープラーニングから発展してきました。微分可能プログラミングのモジュール性は、柔軟かつ多用途なモデル構築を可能にし、サプライチェーン最適化に有用です。信頼性に関して懸念はありますが、Vermorelは機械学習技術の効果を強調しています。限られた予算ながらも、Lokadは大手テック企業の研究成果をサプライチェーンのアプリケーションに適用することで競争力を維持しています。微分可能プログラミングは、ビジネスの問題に合わせた数値レシピを作成するための、より表現力豊かな解決策を提供しますが、失敗なく一貫した成果を上げることはまだ課題です。

詳細な要約

インタビューのホストであるKieran Chandlerは、サプライチェーン最適化に特化したソフトウェア会社Lokadの創設者Joannes Vermorelと、微分可能プログラミングのテーマについて議論しました。Vermorelは、この概念の起源とAIやディープラーニングとの関係について洞察を提供しました。

FacebookのAI研究部ディレクターであるYann Lecunは、最近『ディープラーニング』という用語はその有用性を使い果たしたと示唆し、より新しい進展を反映するために『微分可能プログラミング』の使用を提案しました。Vermorelは、AI分野における用語の絶え間ない進化について述べ、問題の解決策が見つかるとそれはもはやAIとは見なされず、新たな名称が与えられると指摘し、微分可能プログラミングがその最新の例であると述べています。

微分可能プログラミングの起源は、ディープラーニングの核心概念である勾配ベース最適化にさかのぼります。勾配ベース最適化とは、何百万ものパラメータを持つモデルを、モデルの出力の質を評価する目的関数を使って訓練する手法です。新たなデータポイントが観測されるたびに、多次元の微分である勾配が計算され、その勾配に基づいてパラメータが少しずつ改善され、モデルが向上していきます。

歴史的に、ディープラーニング以前のニューラルネットワークは、勾配の逆伝播法といった複雑な技術を用いて勾配を計算していました。これらの手法は実装が困難で、性能も現在の方法と比べると遅かったのです。約10年前、研究者たちは当初1960年代に発見された自動微分という技術に気づき、これが大きな突破口となりました。自動微分は勾配計算を簡素化しますが、その潜在能力が認識されるまで、科学界ではほとんど注目されていませんでした。

議論は、微分可能プログラミングという概念の発展とそのサプライチェーン最適化への応用に焦点を当てています。

微分可能プログラミングは、自動微分技術の突破口により、任意のプログラム―関数に限らず―に対して勾配が計算できるようになったことから生まれました。このアプローチにより、より複雑な計算ネットワークが構築され、幅広い問題に応用できるようになりました。『微分可能プログラミング』という用語は、プログラムの微分、すなわちプログラムの導関数を計算するという考えに由来しています。

微分可能プログラミングの発展は、ニューラルネットワークやディープラーニングの初期の概念に基づき、反復的に進展してきました。過去50~60年にわたり着実な進歩が見られましたが、当初は犬の識別が対数の計算よりも容易であるという誤解がありました。実際には、物体認識やバランス維持といった一見単純な問題の方が、現代の計算機アーキテクチャにおいては複雑であり、計算自体は容易になっていることが分かりました。

ニューラルネットワークからディープラーニングへの移行では、生物学的な着想を捨て、コンピュータハードウェアで実現可能な手法に重点が置かれました。次の段階である微分可能プログラミングは、ディープラーニングのモジュール性を活かし、機械学習モデルの構成、積み重ね、連結、混合を可能にしました。このモジュール性は、価格、製品、顧客、ロケーション、コンテナといった多様な要素を含むサプライチェーン最適化にとって極めて重要です。

人々がプログラミング言語に似たディープラーニングツールキットの構築を始める中で、微分可能プログラミングという考えは自然な拡張として浮上しました。自動微分技術のおかげで、必要なツールキットの設計やエンジニアリングが容易になったのです。実際、微分可能プログラミングは、レゴブロックのように様々なモデルやブロックを組み合わせるアプローチですが、ディープラーニングと比べると、より柔軟で多用途なモデル構築が可能です。

Vermorelは、微分可能プログラミングがプログラム的な表現力を提供し、ユーザーが問題に再挑戦し、より正確で効率的な解決策を表現できるようになると説明しています。彼は、微分可能プログラミングが価格設定、需要予測、そして在庫配分の最適化にどのように利用できるかを例示しています。これらの要因は互いに連関しており、価格戦略の変更は需要に影響を与え、ひいては必要な生産量や在庫レベルに影響を与えます。

微分可能プログラミングにより、ユーザーは最適化されるべきパラメータのための空白を残したプログラムを書くことができます。サプライチェーン・サイエンティストは、こうしたプログラムを作成し、最適化のための適切な技術を利用することが可能です。Chandlerは、空白を残すことや機械学習に依存するため、微分可能プログラミングによって得られる解の信頼性に懸念を示しています。Vermorelはその限界を認めつつ、囲碁やチェスなどで機械学習技術が人間を凌駕した実績から、その効果が実証されていると指摘します。

Lokadにおける微分可能プログラミングの研究開発の取り組みについて、Facebookなどの大手テック企業と比較された際、Vermorelは自社の予算がかなり小さいことを認めました。しかし、彼は大手テック企業の研究成果が公開されているおかげで、Lokadのような小規模企業でもその研究から学び、インスピレーションを得ることができると強調しています。Lokadにとっての鍵は、これらの公開された研究に常に目を光らせ、その成果をサプライチェーンの視点に合わせて適用することです。

Vermorelは、大手テック企業の主要な焦点が、コンピュータービジョン、音声認識、音声合成、自然言語処理といった大規模なAI問題に向けられていると指摘します。これらの分野はサプライチェーン管理とは直接関係がないため、Lokadの専門分野とは異なります。大手企業の研究成果を注意深く観察し、それをサプライチェーンの応用に再構築することで、Lokadはサプライチェーン最適化のための微分可能プログラミング分野で競争力を維持しようとしています。

Vermorelは、AI研究から得られる多くの洞察は、画像や音声に特有のものではなく、データから学ぶという基本的な原理に根ざしていると強調しています。これらの洞察は、サプライチェーン管理を含む他の問題に応用することで、むしろ優れた成果を発揮する可能性があります。

Vermorelによれば、サプライチェーン管理における微分可能プログラミングの最大の利点は、未知数や予測モデリングに対処しつつ、ビジネスの軌道を外さない点にあります。課題は、数値的解決策を特定のビジネスドライバーに合わせながら、柔軟かつ表現力豊かにすることです。微分可能プログラミングは、より表現力豊かな解決策を提供し、ビジネス課題に合った数値レシピの作成を容易にします。

Vermorelは、サプライチェーン管理に微分可能プログラミングを応用する際の最大の課題の一つは、業界に適合した一連の構造体やプログラミングのビルディングブロックを確立することだと指摘します。自動微分は任意のプログラムの微分が可能ですが、実運用に耐えうる、安定した良好な結果を生み出すための問題設定を構築する具体的な方法を見出すことが重要です。目標は、壊滅的な失敗を避けつつ、一貫した結果を達成することであり、これは依然として大きな課題となっています。

完全な書き起こし

Kieran Chandler: 今日は、その起源に焦点を当てたミニシリーズを続けます。では、Joannes、微分可能プログラミングはテクノロジー界のまた一つの流行語ですが、本当にもう一つ必要なのでしょうか?

Joannes Vermorel: そうですね。面白いのは、解決策が見つかると、それがもはやAIとは呼ばれなくなり、別の名前が付くという点です。AIは、未知の領域、つまりその種の問題の解き方が分かっていない状態を指す総称です。解決策が確立されると、それに名前が与えられ、通常は数多くの反復的な突破口を経た上で、数値レシピの中で支配的な要素を反映する名前がつけられるのです。

Kieran Chandler: では、微分可能プログラミングに移りましょう。その背後にある物語とは何ですか?その名前はどこから来たのでしょう、そしてどのようにしてそこまで至ったのですか?

Joannes Vermorel: 名前は、ディープラーニングを支えた要素の一つ、すなわち勾配ベース最適化という考え方に由来します。これは、何百万ものパラメータを持つモデルがあり、そのパラメータを訓練する際に、モデルの成果が良いか悪いかを示す目的関数を用いる、という意味です。データポイントを見るたびに、その情報が目的関数を通じて逆流し、勾配が計算されます。勾配は、パラメータをほんの少しこの方向に調整すれば、局所的に目的関数が若干改善されることを示してくれます。これが、現代の機械学習アルゴリズムやディープラーニング全般で用いられる確率的勾配降下法の核心にある考え方です。

つまり、膨大なパラメータ群の中で、新たなデータポイントが観測されるたびに各パラメータを少しずつ動かし、徐々に改善していくという勾配ベースのアプローチが存在するということです。ここでの問題は、この勾配をどのように計算するかという点にあります。ちなみに、勾配とは多次元の微分の大きな名称に過ぎません。高校数学で学ぶ一次元の曲線の傾きのようなもので、次元が増えるとそれを勾配と呼びます。多数のパラメータが存在するため、各パラメータごとに傾きを計算する必要があるのです。

歴史的に見ると、ディープラーニング以前のニューラルネットワークは、勾配の逆伝播という非常に複雑な手法を用いていました。実装の複雑さや性能面で非常に手間がかかり、現代のものよりも遅かったのです。実際、現代ほど遅くはなかったものの、当時の手法は遥かに遅かったのです。約10年前、研究者たちは自動微分という、実は50年前1960年代に発見された技術を活用できることに気づいたのです。しかし、その当時は科学界でほとんど注目されず、何度も再発見されながらも広く認識されることはありませんでした。

その後、全く異なる分野で活動していた人々がこれらの成果を融合しようとしていましたが、結果的にこれらの突破口は大部分無視されたままでした。そして、複雑で面倒な逆伝播手法に依存していた機械学習コミュニティは、自動微分技術によって、実質的に任意のプログラム―関数に限らず―に対して勾配を計算できることに気づいたのです。これが実装面でのゲームチェンジャーとなり、突然、単に層を積み重ねるだけでなく、完全に任意のプログラム構造の計算ネットワークを構築し、同じ勾配降下法を適用できるようになったのです。

Joannes Vermorel: これが『微分可能プログラミング』という用語の由来です。つまり、プログラムの微分、すなわちその導関数を計算するという考え方から来ています。そして、それは、極めて複雑な計算ネットワーク―任意のプログラム形態にも適用可能な―に対する最新の機械学習の進歩の野望を反映しているのです。 キーレン・チャンドラー: では、たくさんのアイデアがありましたね。少し詳しく紐解いてみましょう。50年代や60年代に生まれたというこれらのアイデアですが、今のAIのような急速な発展とは違います。実際、微分可能プログラミングにたどり着くまでには、かなり反復的なアプローチがあったということですか?

ヨアネス・ヴェルモレル: その通りです。しかし、実際には、ディープラーニング以前でさえ非常に反復的で、さらにその前のニューラルネットワークも同様でした。つまり、過去50~60年の進歩は非常に速かったのです。本当に驚くべき速さでした。そして、興味深いのは、1960年代初頭、人々が「もし掛け算や展開などの難しい計算を解決できれば、犬を認識するのは超簡単だ」と考えていたことです。結局、通りすがりの誰でも犬だと判断できるのに、対数計算を行うには高度に訓練された数学者が必要だと思われていたのです。つまり、対数の計算は、目の前の犬を認識するよりもはるかに複雑だと考えられていました。

そして最大の驚きは、実はその逆だったという点にあります。当たり前のように思われる、例えば両足で立ってバランスを保つという行為も、実は非常に困難です。動きを止めればすぐに倒れてしまうほど、完全に動的な問題なのです。直立状態を維持すること、二足歩行ロボットを作ることは工学上の悪夢であり、設計上から安定して動く車輪付きのものの方がはるかに容易なのです。

つまり、直立する、目の前の対象が犬か鶏か、あるいは実際の犬ではなく犬の写真が載ったポスターかといった、非常に単純に見える問題が実は非常に難しい一方で、対数計算のような問題は、現代の計算アーキテクチャでは非常に容易に解決できるのです。大きな驚きはここにあり、そもそも超基本的な問題に取り組み始めるための発見には、実際に数十年を要したということです。

それゆえ、何十年もAIについて議論されてきたのは、進歩自体は非常に実感でき、着実であったものの、発見すべきことがあまりにも多かったため、外部から見ると最初の期待値がずれていたせいで、進展が遅いように感じられたのかもしれません。しかし、進展は続いており、依然として大きな前進を遂げ、今ではおそらく…

キーレン・チャンドラー: ところで、微分可能プログラミングについてですが、それに背後する着想は何だったのですか?

ヨアネス・ヴェルモレル: 最大の、そして非常に興味深い洞察は、ニューラルネットワークからディープラーニングへの転換にありました。つまり、生物学的な着想を完全に放棄し、前進するためには、実際にコンピュータハードウェア上で機能するものに集中する必要があったのです。ディープラーニングを推進した主要な洞察の一つは、そのモジュール性でした。機械学習モデルは、非常にモジュール化された方法で構築でき、組み合わせたり積み重ねたり、連結したり、多様な方法でミックスできるのです。

キーレン・チャンドラー: では、なぜそれがサプライチェーンにとって最も重要な関心事となるのでしょうか?

ヨアネス・ヴェルモレル: それは、価格、製品、顧客、拠点、コンテナなど、サプライチェーンの問題解決に必要な非常に多様なオブジェクトを組み合わせなければならないからです。この多様性に対応する必要があります。様々な方法で組み合わせ可能なモデルが登場すると、文字通りプログラミング言語のようになっていきます。興味深いのは、ディープラーニングのツールキットが、次第に実際のプログラミング言語に近づいていったことです。例えば、Microsoftはディープラーニング用のドメイン固有プログラミング言語であるBrainScriptを備えた計算ネットワークツールキット「CNTK」をリリースしました。その次の段階は、完全なプログラミングへの移行でした。

キーレン・チャンドラー: つまり、レゴブロックのアプローチのように、異なる場所からのブロックを組み合わせ、これらのモデルを様々な方法で融合させるということですね。実際にはどのように機能するのでしょうか?その背後にあるコードはどのように実装されているのですか?

ヨアネス・ヴェルモレル: 実際、ディープラーニングにおけるレゴは、人々が用いていた典型的なアプローチでした。つまり、ブロックを組み合わせるというものでしたが、その方法はかなり限られていました。ディープラーニングと微分可能プログラミングの間には、明確な境界線のない連続体が存在します。違いは、単に部品を組み立てるレゴから、よりプログラム的な表現力を持つプログラミングへの移行にあるのです。サプライチェーンにおいては、これにより問題を再検討し、解決策を非常に簡潔かつ的確に表現することが可能となります。

キーレン・チャンドラー: 例を挙げてもらえますか?

ヨアネス・ヴェルモレル: もちろんです。たとえば、価格設定、需要予測、在庫配分を同時に最適化してみましょう。よく考えれば、これらは全て完全に連動しています。需要を予測していますが、価格戦略を調整すれば需要も変わりますし、需要が変動すれば生産量や在庫量にも影響を与える—需要が異なるためです。これらすべては密接に関連しており、その依存関係は文字通り数式に書き下すことができるのです。

キーレン・チャンドラー: ある意味、複雑ですね。需要が増えれば、需要を満たすためにより多くの在庫が必要になるのは明白ですし、価格を高く設定すれば、維持される需要に対してより高いマージンが得られるでしょう。こうした具体的な計算は数多くありますが、問題はこれらすべての要素をどのように組み合わせ、予測と最適化の両方を実現するか、という点にあります。

ヨアネス・ヴェルモレル: 答えは、特定の技法を用いた微分可能プログラミングにあります。この手法では、多くの未定パラメータを残すプログラムを記述し、それらを最適化対象として扱うのです。そして、サプライチェーンの専門家がそのプログラムを書き、適切な技術で最適化を実現します。

キーレン・チャンドラー: ということは、その未定の部分というのは、すべての答えが最初から分かっているわけではないプログラムを書いているということですね?

ヨアネス・ヴェルモレル: その通りです。

キーレン・チャンドラー: では、未定部分がある状態で、どうやって正しい答えにたどり着けると確信できるのでしょうか?

ヨアネス・ヴェルモレル: 確かに、その現象は機械学習における学習過程と似ています。学習中は必ずしも良い結果が得られる保証はありません。とはいえ、現在ではディープラーニングや従来の機械学習手法と大きく変わるわけではありません。例えば、機械学習プログラムは囲碁やチェスのようなゲームで、すでにすべての人間プレイヤーを凌駕しています。ですから、実際にそれが機能している明確な兆候は存在しており、犬が雑然とした都市環境の中でどこにいるかを特定するという、はるかに難しい問題に比べれば、まだ狭い範囲の問題であっても人間の能力を超えて働いているのです。

キーレン・チャンドラー: 微分可能プログラミングのサプライチェーンにおける視点について触れましたが、研究開発の観点から見ると、ロカドで行っていることは、Facebookや他の大手テック企業が実施している微分可能プログラミングと比べてどれほど近いのでしょうか?

ヨアネス・ヴェルモレル: Google、Facebook、Microsoftといった巨大テック企業は、研究開発予算がはるかに大きいのは明らかです。ロカドでは最善を尽くしていますが、現実を見れば、私たちはMicrosoftやFacebookのAI予算のたった1%にも満たないのです。これは、多くのB2B企業にとって現実の問題です。サプライチェーンの市場は依然としてニッチであり、2,000人ものAI研究者を抱えているサプライチェーン関連の企業は存在しません。しかし、良い点として、Google、Amazon、Facebookのような大企業は多くの研究成果を発表しているので、その大部分が公開されています。つまり、ロカドが直面している主な課題の一つは、これらの出版物に常に注目し、そこから着実にインスピレーションを得ることなのです。私たちは、彼らの手法をサプライチェーンの視点から再設計しているわけです。なぜなら、大規模なチームはコンピュータビジョン、音声認識、音声合成、自然言語処理といった大規模なAIの問題に取り組んでいる一方で、サプライチェーンで解決すべき問題は全く異なるからです。

キーレン・チャンドラー: では、画像認識や音声認識といった大規模なAIの問題から、どのようにしてサプライチェーンに応用できるのでしょうか?それらはどう関連しているのですか?

ヨアネス・ヴェルモレル: この数十年で、学習の核心メカニズムや効率的かつスケーラブルな数値最適化の根底にある仕組みが明らかになってきています。興味深いのは、彼らが明らかにしている洞察のほとんどが、画像に特化したものではなく、より根本的なレベルのものであるという点です。

キーレン・チャンドラー: つまり、画像にしか通用しないトリックがあると聞いたことがありますが、実際には、そのトリックや洞察は特定の分野に限定されず、検証のために画像向けのソリューションとして実装されるに過ぎない場合も多い。しかし、そのトリックは全く異なる問題にも応用可能で、必ずしも同じ効率で動作するとは限らないものの、場合によってはむしろ優れていることさえあるということです。この点について詳しく説明していただけますか?

ヨアネス・ヴェルモレル: はい、その通りです。画像に適しているが革新的とは言えない技法が発見されることもありますが、それでも新規性があり科学的進歩に寄与するとして発表されます。しかし、その技法をサプライチェーンのような別の文脈に応用すれば、著しい飛躍が可能となるのです。つまり、どちらの方向にも応用できるということです。

キーレン・チャンドラー: ロカドの視点から見た場合、微分可能プログラミングの主な利点は何でしょうか?つまり、サプライチェーンに存在する未知数や、将来何が起こるか不明な部分すべてに対して答えを見いだせるという考え方なのでしょうか?

ヨアネス・ヴェルモレル: サプライチェーンで直面する大きな課題は、ビジネスを裏切らない予測モデリングと予測最適化を如何に実現するかということです。これは単に一般的な答えを求めるのではなく、設定されたビジネスドライバーに沿って、非常に具体的な意思決定を最適化する必要があるため、決して容易ではありません。私たちは、AI技術が自動的にビジネスゴールを見出すことを期待しているのではなく、ビジネスゴールは人間の知性によって戦略や視点として定められるものです。問題には多くの構造があり、最も重要なのは、構築する数値的レシピがそのビジネスドライバーと一致しているかどうかを確認することです。これは非常に困難で、通常は丸い穴に角杭という、どうしても合わない組み合わせになってしまいます。微分可能プログラミングは、この問題に対応する一つの方法なのです。

キーレン・チャンドラー: それにより、はるかに表現力豊かになり、目の前のビジネス課題に適合する数値的レシピを構築できるわけですね。プログラミング言語を使えるということは、非常に表現力と多様性に富むということで、実際に物事を適合させるのがずっと容易になるということです。さて、締めくくりに入りましょう。最初に、微分可能プログラミングは多くの課題が待つ長い道のりの始まりに過ぎないと述べられていましたね。

ヨアネス・ヴェルモレル: はい、この道のどこにいるのか、そして直面する最大の課題は何かというと… おそらく最大の課題は、サプライチェーンに適した一連の構造、すなわち効果的なプログラミングのビルディングブロックを確立する、もしくは特定することにあると思います。ご存知の通り、自動微分は任意のプログラムを微分可能にしますが、パラメータを投入すれば何でも最適化できるというわけではありません。現実には、どんなプログラムでも機能するわけではないのです。確かにパラメータを含むプログラムは微分可能ですが、無作為にパラメータを埋め込んだプログラムを書いて自動微分を実行すれば、得られる結果は全くのゴミになってしまいます。ですから、単に良い結果を出すだけではなく、非常に安定して信頼できる結果を生み出すように、問題の設計方法を特定する必要があるのです。結局のところ、実運用に移せるものでなければ意味がなく、平均で少し良いだけでは十分ではありません。より良いだけでなく、非常に信頼性が高く、一時的な奇跡や、年に一度の深刻な失敗を引き起こさない結果が求められるのです。そして、その実現はまだ部分的には先の課題と言えるでしょう。

キーレン・チャンドラー: 素晴らしい。では、今日はここまでにしましょう。お時間いただき、ありがとうございました、ヨアネス。

ヨアネス・ヴェルモレル: ありがとうございました。

キーレン・チャンドラー: ご視聴いただき本当にありがとうございました。来週、この微分可能プログラミングに関するミニシリーズの最終回でまたお会いしましょう。それでは、また次回まで。