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は、サプライチェーン管理に差分プログラミングを適用する際の最大の課題の1つは、業界に適した一連の構造とプログラミングのビルディングブロックを確立することです。自動微分は任意のプログラムを微分することができますが、良い結果だけでなく、本番に適した安定した信頼性のある結果を生み出す問題の作成方法を見つけることが重要です。目標は、致命的な障害なしで一貫した結果を得ることであり、これはまだ課題です。

フルトランスクリプト

Kieran Chandler: 今日は、私たちのミニシリーズを続けて、その起源を見ていきます。では、ジョアネス、差分プログラミングは、テクノロジーの世界でさらにもう一つのバズワードです。本当にもう一つ必要なのでしょうか?

Joannes Vermorel: そうですね。非常に興味深いです。なぜなら、人々が問題に対して機能する解決策を持つと、それはもはやAIではなくなるからです。それは別の名前を持つようになります。AIは、それらの問題のクラスを解決する方法を知らないことを示すための一般的な用語です。解決策があると、その解決策には名前が付きます。そして、通常、それは多くの反復を伴う比較的反復的な突破口のシリーズでした。そして、その名前は、この解決策の数値レシピの中で支配的なものを反映しています。

Kieran Chandler: では、次に差分プログラミングに移りましょう。その背後にはどんなストーリーがありますか?その名前はどこから来て、どのようにしてそこにたどり着いたのですか?

Joannes Vermorel: その名前は、ディープラーニングのパワーを支える要素の1つである勾配ベースの最適化のアイデアから来ています。それはどういう意味ですか?勾配ベースの最適化とは、数百万ものパラメータを持つモデルがあるということです。これらのパラメータをトレーニングする方法は、結果が良いか悪いかを示す目的関数、つまり方程式を持つことです。アイデアは、データポイントを見るたびに、この関数を通じて情報が後方に流れ、勾配を計算できるということです。勾配は、パラメータをこの方向に少し変更すると、目的関数が局所的に少し改善されることを示します。これは、確率的勾配降下法の核心であり、現代の機械学習アルゴリズムとディープラーニングの最適化に使用されるアルゴリズムです。

したがって、多くのパラメータを持つこの勾配ベースのアプローチでは、データポイントを観測するたびにパラメータを少しずつ移動させることで、徐々に改善することができます。その問題は、この勾配をどのように計算するかということです。ちなみに、勾配は多次元の導関数の大きな名前です。高校の代数学で、1次元の曲線の傾きを見ます。多次元の場合は、それらを勾配と呼びます。多くのパラメータがあるため、それらのパラメータの傾きを計算したいのです。

歴史的には、おそらくディープラーニングよりも前に存在したニューラルネットワークには、勾配の逆伝播と呼ばれる非常に複雑なテクニックがありました。実装の複雑さとパフォーマンスの観点からは、それは複雑でかなり遅かったです。遅いわけではないですが、今日のものよりも遅かったです。差分プログラミングを解き放つための突破口の1つは、約10年前に人々が気付いたことでした。それは自動微分と呼ばれる技術を使用できるということです。ちなみに、自動微分は50年前に発見されました。それは1960年代半ばに最初に発見され、かなりの時間が経ちました。しかし、科学界ではほとんど無視されていました。それは何度も再発見されましたが、どういうわけかそれらの発見は広く注目されませんでした。

異なる分野のものを組み合わせることに取り組んでいる人々ではなく、それらの突破口はほとんど無視されたと言えるでしょう。そのため、非常に複雑で実装が煩雑なバックプロパゲーションの技術に取り組んでいた機械学習コミュニティが、自動微分の技術を使ってどんなプログラムでも勾配を計算できることに気付き始めたのです。そして、それは実装の面で完全にゲームチェンジングなものでした。突然、単にレイヤーを積み重ねるだけでなく、完全に任意のプログラムを持つ計算ネットワークを作成し、同じ勾配降下法の技術を適用することができるようになりました。それが「差分プログラミング」という用語の由来です。プログラムの導関数を計算するという意味での微分を行うというアイデアからきており、機械学習の最新の進歩の野心を反映しています。計算ネットワークのための非常に複雑なアーキテクチャを、任意のプログラムのように考えるという名前です。

Kieran Chandler: なるほど、たくさんのことがわかりましたね。少し解説してみましょう。あなたはこれらのアイデアのいくつかが50年代や60年代に出てきたと言いましたが、AIなどで見られる急速な発展とは異なり、差分プログラミングに至るまでにはかなりの反復的なアプローチがあったのですか?

Joannes Vermorel: 確かに、しかし、実際には、それ以前のディープラーニングでも非常に反復的であり、それ以前のニューラルネットワークでも非常に反復的でした。つまり、過去50〜60年間の進歩のペースは非常に速かったです。非常に速かったのです。そして興味深いのは、60年代初頭には、「ああ、もしも私たちが乗算、展開、またはその他の難しい計算を解決できれば、犬を識別することは超簡単になるだろう」と人々は考えていたことです。結局のところ、通行人なら誰でもこれは犬だと言えますが、対数を計算するためには超訓練された数学者が必要です。ですから、明らかに対数を計算する方が、目の前に犬がいるかどうかを識別するよりも複雑です。

そして最大の驚きは、実際には逆のことでした。私たちが完全に当然のこととして受け入れている問題、例えば、両足でバランスを保つことができるかどうかを判断することは難しいです。つまり、動的なものです。まっすぐ立っているだけでは、倒れてしまいます。ですから、完全に直立していること、二足歩行のロボットを持つことは、エンジニアリングの悪夢です。車輪で動くもので、設計上完全に安定しているものを持つ方が簡単です。

ですから、立っていること、目の前にあるものが犬か鶏か、または本物の犬の写真があるポスターかどうかなど、非常にシンプルな問題は非常に難しいものです。一方、対数を計算するような問題は、私たちが持っている計算アーキテクチャでは非常に簡単です。それは大きな驚きであり、非常に基本的な問題に取り組むためには、何十年もかかりました。

そのため、AIについて何十年も話してきたわけですが、進歩は非常に現実的で、非常に着実でしたが、最初の段階で誤った期待を抱いてしまったために、外部から見ると少し遅いように感じられたのです。しかし、それは進んでおり、まだ多くの進歩を遂げており、私たちはおそらく

Kieran Chandler: では、差分プログラミングについてはどうですか?その背後にあるインスピレーションは何でしたか?

Joannes Vermorel: 非常に興味深い洞察は、ニューラルネットワークからディープラーニングへの移行でした。アイデアは、すべての生物学的なインスピレーションを完全に捨て去り、コンピュータハードウェアで実際に機能しているものに焦点を当てる必要があるということに気付いたことです。ディープラーニングの鍵となる洞察の1つは、そのモジュラリティです。非常にモジュラーな方法で機械学習モデルを構築することができます。それらを組み合わせたり、積み重ねたり、連結したり、さまざまな方法で混ぜ合わせることができます。

Kieran Chandler: それがサプライチェーンにとってなぜ重要なのですか?

Joannes Vermorel: それは、価格、製品、顧客、場所、コンテナなど、サプライチェーンの問題を解決するために組み合わせる必要がある非常に多様なオブジェクトを混ぜ合わせたいからです。この多様性に対処する必要があります。モデルを多くの方法で組み合わせるようになると、文字通りプログラミング言語になります。興味深いことは、ディープラーニングのツールキットが、実際のプログラミング言語に近づいていくようになったことです。たとえば、Microsoftはディープラーニングのためのドメイン固有のプログラミング言語であるBrainScriptを備えた計算ネットワークツールキットCNTKをリリースしました。次のステージは、完全なプログラミングに移行することでした。

Kieran Chandler: つまり、レゴブロックのようなアプローチで、異なる場所から異なるブロックを組み合わせ、これらのモデルを異なる方法で組み合わせるということですね。実際には、それはどのように機能していますか?それを実装するためのコーディングはどのように行われていますか?

Joannes Vermorel: ディープラーニングに関しては、実際にはレゴと非常によく似ていました。ブロックを組み合わせることに関しては、かなり制約がありました。ディープラーニングと差分プログラミングの間には明確な区別がないスペクトルがあります。違いは、レゴからプログラミングに移行したことで、同じことをすることができますが、プログラムの表現力を持っています。サプライチェーンにとっては、問題を再評価し、解決策をより簡潔かつ問題の核心になるように表現することができます。

Kieran Chandler: 例を挙げていただけますか?

Joannes Vermorel: では、価格設定、需要予測、在庫割り当てを共同で最適化してみましょう。考えてみると、これらすべてのことは完全に結びついています。需要を予測していますが、価格戦略を微調整すれば需要が変わることを知っています。需要が変わると、生産と在庫をどれだけ行うべきかに影響があります。これらすべてのことは完全に結びついており、文字通り書き留めることができます。

Kieran Chandler: ある意味では複雑ですね。需要が増えれば、需要を満たすために在庫が必要です。それは非常に明らかですし、価格を高く設定すれば、保持する需要に対してより高い利益を得ることができます。完全に具体的な計算のようなものがたくさんありますが、問題は、それらの要素をどのように組み合わせて、予測と最適化の両方を行うことができるかということです。

Joannes Vermorel: その答えは、差分プログラミングと特定の技術を使ったプログラムを書くことです。それにより、最適化したいパラメーターがたくさんあるプログラムを書くことができます。そして、サプライチェーンの科学者がそれを書き、適切な技術で最適化を行います。

Kieran Chandler: つまり、これらの空白のスペースを持つプログラムを実際に書いているということですか?すべての答えを実際には知らないプログラムを書いているということですか?

Joannes Vermorel: はい、その通りです。

Kieran Chandler: それでは、これらの空白のスペースがある場合に正しい答えにたどり着けることをどのように知り、自信を持つことができるのでしょうか?

Joannes Vermorel: 実際には、機械学習の現象と似ています。学習しているので、良い結果が得られる保証はありません。とは言っても、今日ではこれが深層学習や以前の機械学習技術とは異なるわけではないと思います。例えば、機械学習プログラムは現在、囲碁やチェスなどのゲームで人間のプレイヤーをすべて上回っています。したがって、実際に機能しているという明確な兆候がないわけではありません。ただし、これはまだ比較的狭い問題に対してのみであり、散らかった都市環境で犬がどこにいるかを特定するなどのより困難な問題とは異なります。

Kieran Chandler: 差分プログラミングのサプライチェーンの視点について少し触れましたが、Lokadで行っていることは、Facebookや他の大手テック企業が差分プログラミングで行っていることと比べて、どれくらい近いですか?

Joannes Vermorel: Google、Facebook、Microsoftなどの超大手テック企業は、研究開発のための予算がはるかに大きいと考えています。Lokadでは最善を尽くしていますが、現実的には、MicrosoftやFacebookのAI予算の1%さえ持っていません。これは現在のほとんどのB2B企業にとっての現実です。これらの市場はまだ比較的ニッチであり、サプライチェーンにおいて2,000人のAI研究者を抱えている企業はありません。ただし、良いニュースは、Google、Amazon、Facebookなどの巨大企業が実際に多くの研究を公開していることです。つまり、彼らの研究のほとんどは公開されています。これは、Lokadが直近の研究を注視し、着実にそれからインスピレーションを得るという重要な課題の1つです。私たちは彼らが行っていることをサプライチェーンの視点から再構築します。なぜなら、これらの大規模なチームはコンピュータビジョン、音声認識、音声合成、自然言語処理などの大規模なAIの問題に取り組んでおり、サプライチェーンで解決しようとしている問題とはまったく異なるからです。

Kieran Chandler: では、画像認識や音声認識などの大規模なAIの問題からサプライチェーンに移行するにはどうすればよいのでしょうか?それらは全く関連があるのでしょうか?

Joannes Vermorel: 過去数十年にわたる進歩の鍵となる洞察を明らかにしてきた人々は、学習の核心メカニズムと効率的かつスケーラブルな数値最適化の核心メカニズムです。非常に興味深いことに、彼らが明らかにしている洞察のほとんどは画像に特化したものではありません。それらはむしろ基本的なレベルでの洞察です。

Kieran Chandler: 画像にしか適用されないトリックというものを聞いたことがありますが、実際にはトリックや明らかにされた洞察は全く特定のものではありません。実験や洞察を検証するためには、解決策をエンジニアリングする必要があり、この解決策は画像向けにエンジニアリングされています。しかし、そのトリックは完全に異なる問題にも適用することができます。完全に異なる問題に対しては同じ効率で自然に機能しないかもしれませんが、時にはより良い結果をもたらすことさえあります。これについて詳しく説明していただけますか?

Joannes Vermorel: はい、その通りです。時には画像に適したテクニックが発見されることもありますが、それは画期的なものではありません。それでも、それは新しいものとして公開され、科学的な進歩に貢献します。ただし、このテクニックをサプライチェーンなどの異なるコンテキストに適用すると、大きな進歩を達成することができます。ですので、両方の方法があります。

Kieran Chandler: Lokadの視点から見て、差分プログラミングの主な利点は何ですか?サプライチェーンにおいて将来起こることが実際にはわからないすべての未知の要素や空白のスペースに対して答えることができるという考え方ですか?

Joannes Vermorel: サプライチェーンにおいて私たちが直面している大きな課題は、ビジネスを裏切らない予測モデリングと予測最適化をどのように実現するかです。これは簡単ではありません。一般的な答えを得ることではなく、非常に具体的な意思決定のクラスを持ち、ビジネスを最適化する方法を持つことが重要です。これは、定義したビジネスドライバーと一致するものです。私たちはAI技術にビジネスの目標を明らかにさせることを試みません。ビジネスの目標は、戦略と視点を定義するために人間レベルの知識を持って確立されます。この問題には多くの構造があり、最も大きな課題は、数値レシピがこれらのビジネスドライバーと一致するようにすることです。非常に困難です。通常、丸い穴と四角いペグが合わない状況になります。差分プログラミングは、この問題に対処する方法の一つです。

Kieran Chandler: より表現力豊かになり、目の前のビジネスの問題に合った数値レシピを作成するための鍵です。プログラミング言語にアクセスできる場合、より表現力豊かで柔軟性があります。突然、実際には、ものを合わせることがはるかに簡単になります。では、まとめましょう。差分プログラミングは、まだ多くの課題がある長い道のりの始まりであるとおっしゃっていました。

Joannes Vermorel: はい、私たちがその道のりでどこにいて、直面する最大の課題は何か…最大の課題はおそらく、サプライチェーンに非常に適した一連の構造とビルディングブロックを確立することです。自動微分は任意のプログラムを微分できるということは確かですが、あなたが指摘しているように、プログラムにパラメータを注入して「パラメータを最適化できるので、何でもうまくいく」と言うわけではありません。いいえ、現実はそうではありません。どんな種類のプログラムでも動作するわけではありません。はい、パラメータを持つプログラムならどんなプログラムでも微分できますが、実際には、ランダムにパラメータを持つプログラムを書いて、最適化をトリガーした場合、自動微分の結果は完全なクソになります。ですので、特定の方法で問題を作成する必要があります。それによって、良い結果だけでなく、非常に安定した信頼性のある結果が得られるようにします。私たちは、平均的に優れているだけではなく、非常に信頼性の高いものを持ちたいのです。一度だけの奇跡的な結果ではなく、致命的な問題を引き起こさない結果を望んでいます。それはまだ私たちの前にある課題の一部です。

Kieran Chandler: 素晴らしいですね。それでは、今日はここで終わりにしましょう。お時間をいただき、ありがとうございました、Joannesさん。

Joannes Vermorel: ありがとうございました。

Kieran Chandler: ご視聴いただき、ありがとうございました。来週は、差分プログラミングに関するこのミニシリーズの最後のエピソードでお会いしましょう。それまで、ご視聴ありがとうございました。