00:21 イントロダクション
01:53 予測から学習へ
05:32 機械学習 101
09:51 これまでのストーリー
11:49 今日の予測
13:54 データのない状況でも正確に 1/4
16:30 データのない状況でも正確に 2/4
20:03 データのない状況でも正確に 3/4
25:11 データのない状況でも正確に 4/4
31:49 テンプレートマッチャーに栄光あれ
35:36 学習の深み 1/4
39:11 学習の深み 2/4
44:27 学習の深み 3/4
47:29 学習の深み 4/4
51:59 大胆に行こう
56:45 損失の向こう側 1/2
01:00:17 損失の向こう側 2/2
01:04:22 ラベルの向こう側
01:10:24 観測の向こう側
01:14:43 結論
01:16:36 今後の講義と視聴者の質問

説明

予測はサプライチェーンにおいて不可避であり、すべての意思決定(購買、生産、在庫管理など)は将来の出来事の予測を反映しています。統計学習と機械学習は、古典的な「予測」の分野を理論的にも実践的にも大きく上回っています。現代の「学習」の観点から、データ駆動型の将来の予測がどのような意味を持つのかを理解しようと試みます。

フルトランスクリプト

スライド 1

サプライチェーン講義シリーズへようこそ。私はジョアネス・ヴェルモレルです。今日は「サプライチェーンのための機械学習」を紹介します。リアルタイムで商品を3Dプリントすることはできず、商品を配送すべき場所に瞬時に転送することもできません。実際、ほとんどのサプライチェーンの意思決定は将来を見据えて行われる必要があり、将来の需要や価格の変動を予測し、需要側または供給側の将来の市場状況を暗黙的または明示的に反映する必要があります。その結果、予測はサプライチェーンの不可欠であり、削減することはできません。私たちは将来を確実に知ることはできません。ただ、将来についてある程度の確信を持って推測することしかできません。この講義の目的は、機械学習が将来を捉えるという点でどのような貢献をしているのかを理解することです。

スライド 2

この講義では、正確な予測を提供することは、大局的には比較的二次的な関心事であることがわかります。実際、現在のサプライチェーンでは、予測とは時系列予測を意味します。歴史的には、時系列予測は20世紀初頭にアメリカで人気を博しました。実際、アメリカは株式を所有している数百万の中流階級の従業員を最初に持った国でした。人々は投資家として賢くなりたかったため、自分の投資についての洞察を得たいと思いました。そして、時系列と時系列予測がそれらの洞察を伝える直感的で効果的な方法であることがわかりました。将来の市場価格、将来の配当、将来の市場シェアについての時系列予測ができました。

1980年代と1990年代に、サプライチェーンが本質的にデジタル化されると、サプライチェーンエンタープライズソフトウェアも時系列予測の恩恵を受けるようになりました。実際、時系列予測はそのようなエンタープライズソフトウェアで普及しました。しかし、この図を見ると、時系列予測は実際には非常に単純で素朴な将来の見方です。

この写真を見るだけで、次に何が起こるかをすでに予測することができます。おそらくクルーが現れ、この混乱を片付け、おそらくフォークリフトの安全点検を行うでしょう。軽微な修理を行うかもしれませんし、非常に高い確率で、このフォークリフトはまもなく再稼働されるでしょう。この写真を見るだけで、この状況に至った条件の種類も予測することができます。これらの予測は時系列予測の視点には合いませんが、これらの予測は非常に関連性があります。

これらの予測は、厳密には未来自体についてではありません。この写真は以前に撮られたものであり、この写真が撮られた後の出来事さえも現在は過去の一部です。しかし、それにもかかわらず、私たちは確かではないことについての声明をしているので、これらは予測です。直接の測定はありません。したがって、興味のある主要なことは、どのようにしてこれらの予測を行い、これらの声明をすることができるのかということです。

実際、私は人間として生きてきて、出来事を目撃し、それから学んできたのです。それが私がこれらの声明を実際に行うことができる方法です。そして、機械学習はまさにそれです:機械で学習する能力を複製することを目指しており、現在ではコンピュータが最も好ましい種類の機械です。この時点で、機械学習が人工知能、認知技術、または統計学習などの他の用語とどのように異なるのか疑問に思うかもしれません。実際、これらの用語は問題自体よりも使用する人々について多くを語っています。問題の範囲では、これらの分野の境界は非常に曖昧です。

スライド 3

さて、機械学習フレームワークの典型的なレビューを行い、中心となる機械学習の概念の短いシリーズをカバーしましょう。この機械学習の分野で作成されたほとんどの科学論文やソフトウェアは、このフレームワークをかなり大きな範囲で活用しています。フィーチャーは、予測タスクを実行するために利用可能なデータの一部を表します。アイデアは、実行したい予測タスクがあり、フィーチャー(または複数のフィーチャー)がそのタスクを実行するために利用可能なものを表すということです。時系列予測の文脈では、フィーチャーは時系列の過去部分を表し、すべての過去のデータポイントを表すフィーチャーのベクトルがあります。

ラベルは予測タスクの答えを表します。時系列予測の場合、通常は将来の部分であり、未知の部分を表します。フィーチャーとラベルのセットがある場合、それは観測値と呼ばれます。典型的な機械学習のセットアップでは、フィーチャーとラベルの両方を含むデータセットがあり、それがトレーニングデータセットを表します。

ゴールは、フィーチャーを入力として受け取り、所望の予測されたラベルを計算するプログラムであるモデルを作成することです。このモデルは、トレーニングデータセット全体を通過し、モデルを構築する学習プロセスを通じて通常エンジニアリングされます。機械学習の学習は、実際に予測を行うプログラムを構築する部分です。

最後に、損失があります。損失は実際のラベルと予測されたラベルの間の差です。学習プロセスができるだけ真のラベルに近い予測を生成するモデルを生成することが目標です。予測されたラベルをできるだけ真のラベルに近づけるモデルが欲しいです。

機械学習は、時系列予測の広範な一般化と見なすことができます。機械学習の観点から見ると、フィーチャーは過去の時系列のセグメントだけでなく、何でもあり得ます。ラベルも時系列の将来のセグメントだけでなく、何でもあり得ます。モデルも何でもあり得ますし、損失もほぼ何でもあり得ます。したがって、時系列予測よりもはるかに表現力のあるフレームワークがあります。しかし、後ほど見るように、機械学習という研究および実践の分野の主要な成果のほとんどは、私がさきほど簡単に紹介した概念のリストを再評価し、挑戦する要素の発見に由来しています。

スライド4

この講義は、サプライチェーンの講義シリーズの4回目の講義です。補助科学は、サプライチェーンそのものではなく、サプライチェーンにとって基礎的な重要性を持つ要素を表します。第1章では、サプライチェーンについての私の考えを物理的な研究として、そして実践として紹介しました。第2章では、サプライチェーンのようなドメインに取り組むために必要な一連の手法を見直しました。これは、多くの対立的な振る舞いを示し、簡単に分離することができないドメインです。第3章は、サプライチェーンペルソナに完全に捧げられており、解決しようとしている問題に焦点を当てる方法です。

この第4章では、抽象化の段階を徐々に進めてきました。コンピューターから始まり、アルゴリズム、そして前回の数理最適化の講義まで、これは現代の機械学習の基礎層と見なすことができます。今日は、私たちは機械学習に進出しています。これは、私たちが毎日行うすべてのサプライチェーンの意思決定において主要な要素です。

スライド5

では、この講義の計画は何でしょうか?機械学習は、非常に広範な研究分野であり、この講義では、先に紹介した概念やアイデアに関連する一連の短い質問に基づいて進行します。これらの質問への回答が、学習の非常に概念やデータへのアプローチを再評価することを強制する方法を見ていきます。機械学習の最も素晴らしい成果の1つは、人間の知能を10年以内に再現できると考えていた研究者たちの最初の大きな野心に比べて、実際にはそれ以上の要素が関与していることを私たちに気づかせたことです。

特に、この時点でより高度な知能をエミュレートするための最良の候補とされるディープラーニングを見てみましょう。ディープラーニングは非常に経験的な実践として現れましたが、ディープラーニングを通じて達成された進歩と成果は、観察された現象からの学習の基本的な視点に新たな光を当てました。

スライド6

モデリングにおける最初の問題は、統計的またはその他の方法に関係なく、持っていないデータの正確さです。サプライチェーンの観点から見ると、これは重要です。なぜなら、私たちの関心は将来を捉えることにあるからです。定義上、未来はまだ持っていないデータの集合を表します。バックテストやクロスバリデーションなどの技術を使用すると、持っていないデータの正確さについていくつかの経験的な測定値を得ることができます。しかし、なぜこれらの方法が機能するのかは比較的興味深く、困難な問題です。問題は、持っているデータに適合するモデルを持つことではありません。十分な次数の多項式を使用してデータに適合するモデルを構築することは簡単です。しかし、このモデルは私たちが捉えたいものを捉えていません。

この問題への古典的なアプローチは、バイアス-バリアンスのトレードオフとして知られています。右側にはパラメータが非常に少ないモデルがあり、問題に適合していないため、バイアスが多いと言います。左側にはパラメータが多すぎて過学習し、バリアンスが高いモデルがあります。中央には、バイアスとバリアンスのバランスが取れたモデルがあります。これを適合度が良いと呼びます。20世紀の終わりまで、バイアス-バリアンスのトレードオフを超えてこの問題にどのようにアプローチするかはあまり明確ではありませんでした。

スライド7

未知のデータの正確さに関する最初の真の洞察は、1984年にValiantが発表した学習可能性の理論から得られました。ValiantはPAC理論(Probably Approximately Correct)を紹介しました。このPAC理論では、「probably」の部分は、十分に良い答えを与える確率を持つモデルを指します。「approximately」の部分は、答えが良いまたは有効と見なされるものからあまり遠くないことを意味します。

Valiantは、多くの状況では何も学ぶことができない、またはより正確には、学ぶためには非常に莫大な数のサンプルが必要になるため、実際的ではないことを示しました。これは非常に興味深い結果でした。表示される式はPAC理論から来ており、ほぼ正確なモデルを生成するためには、観測回数nがある量よりも大きくなければならないことを示しています。この量は2つの要素、エラーレート(ほぼ正確な部分)であるイプシロンと失敗の確率(1からイータを引いたもの)であるエータに依存します。

見てわかるように、失敗の確率を小さくしたり、イプシロンを小さくしたりするには、より多くのサンプルが必要です。この式は仮説空間の要素数にも依存します。アイデアは、競合する仮説がより多いほど、それらを整理するためにより多くの観測が必要になるということです。これは非常に興味深いことです。PAC理論は主に否定的な結果を示していますが、より少ないサンプルで証明可能なほぼ正確なモデルを構築することはできないということを教えてくれます。この理論は実際に何をするかを教えてくれるわけではありません。どのようにして任意の予測タスクを解決する能力を向上させるかについては、あまり具体的ではありません。それにもかかわらず、これは画期的なものであり、正確さと持っていないデータの問題に取り組む方法が、クロスバリデーションやバックテストなどの非常に経験的な測定だけではなく、より堅牢なものであることを明確にしました。

スライド8

10年後、Vapnikと他の数人が確立したVapnik-Chervonenkis(VC)理論が現れ、最初の実用的な突破口が開かれました。この理論は、実際には測定することができない真の損失であるリスクを捉えることが可能であることを示しています。数学的に証明可能であることがわかりました。これは非常に困惑する結果です。

基本的に、VC理論から直接取られたこの式は、真のリスクが経験的リスク(私たちが持っているデータで測定できるリスク)に上限があることを示しています。さらに、構造リスクと呼ばれる頻繁に言及される別の項目があります。観測数nと失敗確率であるeta(PAC理論と同様)があります。また、モデルのVC次元を測定するhもあります。VC次元はモデルの学習能力を反映しており、モデルの学習能力が大きいほど、VC次元も大きくなります。

これらの結果から、何でも学習できるモデルについては何も言えないことがわかります。これは非常に困惑することです。モデルが何でも学習できる場合、少なくとも数学的には何も言えません。

1995年のブレークスルーは、CortesとVapnikによるサポートベクターマシン(SVM)として後に知られるものの実装から来ました。これらのSVMは、この数学的理論の直接的な実装です。その洞察は、この不等式を与える理論があるため、エラーの量(経験的リスク)とVC次元をバランスさせるモデルを実装できるということです。これらの2つの要素をできるだけ均衡させ、できるだけ低くするために、数学的なモデルを直接構築できます。それがサポートベクターマシン(SVM)の本質です。これらの結果は、操作的に非常に驚くべきものであり、機械学習コミュニティに大きな影響を与えました。初めて、持っていないデータの正確さは後から考える必要があるものではなく、メソッド自体の数学的な設計によって直接得られました。これは非常に驚くべき力強いものであり、それによって機械学習コミュニティ全体が10年間分散しました。後に見るように、この道はほとんど行き止まりであることがわかりましたが、それには十分な理由がありました:それは絶対に驚くべき結果でした。

実際には、SVMは主に数学的な理論から生まれたため、非常に機械的な共感がありませんでした。私たちが持っているコンピューティングハードウェアには適していませんでした。具体的には、SVMの単純な実装は、観測数に対してメモリフットプリントの二次的なコストを伴います。これは非常に多く、その結果、SVMは非常に遅くなります。後に、メモリ要件を大幅に低下させたいくつかのオンラインバリアントのSVMの改良が行われましたが、それにもかかわらず、SVMは真にスケーラブルなアプローチとしては考慮されませんでした。

スライド9

SVMは、おそらく過学習もしなかった別の優れたモデルのクラスの道を開きました。過学習とは、持っていないデータに対して非常に不正確であることです。最も注目すべき例は、おそらくランダムフォレストと勾配ブースティング木であり、これらはほぼ直接の子孫です。その核心には、弱いモデルを強いモデルに変換するメタアルゴリズムであるブースティングがあります。ブースティングは、この講義で以前に言及したKearnsとValiantの間で提起された質問から生まれました。

ランダムフォレストの動作原理を理解するには、比較的簡単です。トレーニングデータセットを取り、そのデータセットからサンプルを取ります。このサンプルで決定木を構築します。これを繰り返し、初期のトレーニングデータセットから別のサンプルを作成し、別の決定木を構築します。このプロセスを繰り返し、最後に多くの決定木が得られます。決定木は、機械学習モデルとしては比較的弱いですが、これらの木をすべてまとめて結果を平均化すると、初期のトレーニングデータセットのランダムな部分サンプル上に構築された森、つまりランダムフォレストが得られます。ランダムフォレストでは、はるかに強力で優れた機械学習モデルが得られます。

勾配ブースティング木は、この洞察のわずかな変化です。主な変化は、トレーニングデータセットをサンプリングしてランダムにツリーを構築するのではなく、すべてのツリーが独立に構築されるランダムフォレストを最初に構築し、次のツリーは既に存在するフォレストの残差を見て構築されることです。アイデアは、多くのツリーから構成されるモデルの構築を開始し、現実から逸脱する予測を行います。実際と予測値の間の差である残差と呼ばれるこれらのデルタがあります。アイデアは、次のツリーを元のデータセットではなく、残差のサンプルに対してトレーニングすることです。勾配ブースティング木は、ランダムフォレストよりもさらに優れた結果をもたらします。実際には、ランダムフォレストは過学習することがありますが、わずかです。特定の条件の下では、ランダムフォレストは過学習しないことを示す証拠もあります。

興味深いことに、勾配ブースティング木は、ほぼすべての機械学習コンテストで高得点を獲得し続けてきました。Kaggleのコンテストの約80〜90%を見ると、ほとんどの場合、最初にランディングするのは勾配ブースティング木です。しかし、この機械学習コンテストでの驚異的な支配にもかかわらず、勾配ブースティング木をサプライチェーンの問題に適用するためのほとんど進展はありませんでした。主な理由は、勾配ブースティング木が非常に機械的な同情心を持っていないことです。彼らの設計は、私たちが持っているコンピューティングハードウェアにはまったくフレンドリーではありません。

なぜかは理解しやすいです。モデルを一連のツリーで構築し、モデルがデータセットの一部よりも大きくなることがあります。多くの場合、データセットよりも大きいモデルができあがります。したがって、データセットがすでに非常に大きい場合、モデルは巨大になり、それは非常に問題のある問題です。

勾配ブースティング木の歴史には、2007年のGBM(勾配ブースティングマシン)から始まる一連の実装がありました。GBMはこのアプローチをRパッケージで非常に人気がありましたが、スケーラビリティの問題がありました。人々はすぐにPGBRT(並列勾配ブースティング回帰木)で実行を並列化し始めましたが、それでも非常に遅かったです。XGBoostは、スケーラビリティで桁違いの進歩を遂げた画期的なものでした。XGBoostの鍵となる洞察は、ツリーの構築を高速化するためにデータで列指向の設計を採用することでした。その後、LightGBMはXGBoostのすべての洞察を再利用しましたが、ツリーの構築方法を変更しました。XGBoostはレベルごとにツリーを成長させましたが、LightGBMはリーフごとにツリーを成長させることにしました。その結果、LightGBMは、同じコンピューティングハードウェアを考慮すると、GBMよりも桁違いに高速です。しかし、実際のサプライチェーンの観点からは、勾配ブースティング木を使用することは通常非常に遅いため、実用的ではありません。使用することは不可能ではありませんが、それほどのハードルがあるため、通常はそれに値するものではありません。

Slide 10

驚くべきことに、勾配ブースティング木はほぼすべての機械学習コンテストに勝つほど強力ですが、私の謙虚な意見では、これらのモデルは技術的な行き詰まりです。サポートベクターマシン、ランダムフォレスト、勾配ブースティング木は、すべてテンプレートマッチングにすぎません。それらは非常に優れたテンプレートマッチングですが、本当にそれ以上のものではありません。彼らが非常にうまくやっていることは、基本的には変数の選択であり、それに非常に優れていますが、それ以上のことはほとんどありません。特に、入力を直接の選択またはフィルタリング以外のものに変換する能力には表現力がありません。

もし私たちがこの講義の最初に提示したフォークリフトの画像に戻ると、これらのモデルのどれもが私がしたような同じような声明をすることは絶望的です。画像のデータセットがどれだけ大きくても、それらのモデルに何百万もの倉庫から取られた画像を与えても、「ああ、この状況でフォークリフトを見たことがある。クルーが現れて修理をするだろう」というような声明をすることはできません。本当にできません。

実際のところ、これらのモデルが機械学習コンテストに勝っているという事実は欺瞞的です。なぜなら、そのような状況では彼らに有利な要素があるからです。第一に、実世界のデータセットは非常に複雑です。これは、実世界のセットアップで直面する複雑さの一部しか表していないおもちゃのデータセットしかない機械学習コンテストとは異なるものです。第二に、Gradient Boosted Treesのようなモデルを使用して機械学習コンテストに勝つためには、詳細な特徴エンジニアリングが必要です。これらのモデルはテンプレートマッチングの一種であるため、適切な特徴を持っている必要があり、変数の選択だけでモデルがうまく機能するようにする必要があります。データの準備には高いレベルの人間の知性を注入する必要があります。これは大きな問題です。実際の世界では、実際のサプライチェーンの問題を解決しようとすると、問題に費やすことができるエンジニアリング時間は限られています。サプライチェーンの一部の小さな、限られた時間のおもちゃの問題に6ヶ月を費やすことはできません。

第三の問題は、サプライチェーンではデータセットが絶えず変化していることです。データが変化するだけでなく、問題自体も徐々に変化しています。これは特徴エンジニアリングに関する問題を複雑化させます。基本的に、機械学習と予測コンテストに勝つモデルが残りますが、10年先を見ると、これらのモデルは機械学習の未来ではなく、過去です。

Slide 11

ディープラーニングは、これらの浅いテンプレートマッチングに対する応答でした。ディープラーニングはしばしば人工ニューラルネットワークの子孫として紹介されますが、実際には、ディープラーニングは研究者たちが生物学的なメタファーを諦め、代わりに機械的な共感に焦点を当てることを決めた日に本格的に始まりました。再び、機械的な共感、つまり私たちが持っているコンピュータとの相性の良さが重要です。人工ニューラルネットワークに関する問題は、私たちが生物学を模倣しようとしていたことですが、私たちが持っているコンピュータは私たちの脳を支える生物学的な基盤とはまったく異なります。この状況は、初期の航空史に似ています。そこでは、多くの発明家が鳥を模倣して飛行機を作ろうとしました。今日では、最速の鳥よりも何倍も速く飛ぶ飛行機がありますが、これらの機械が飛ぶ方法は鳥が飛ぶ方法とほとんど共通点がありません。

ディープラーニングに関する最初の洞察は、入力データに任意の種類の変換を適用できる深く表現力のあるものが必要であり、モデルからスマートな予測行動が生まれるようにする必要があるということでした。ただし、それは私たちが持っているコンピューティングハードウェアと非常に相性が良いものである必要もありました。アイデアは、コンピューティングハードウェアと非常に相性が良い複雑なモデルがあれば、同じ程度の機械的な共感を持たない方法と比較して、桁違いに複雑な関数を学習できる可能性が高いということでした。

差分可能プログラミングは、前の講義で紹介されたもので、ディープラーニングの基礎レイヤーと考えることができます。この講義では差分可能プログラミングに戻ることはありませんが、前の講義をまだ見ていない場合は、視聴することをお勧めします。前の講義を見ていなくても、以下の内容を理解できるはずです。前の講義では、学習プロセス自体の詳細について説明されています。要約すると、差分可能プログラミングは、特定の形式のモデルを選択した場合に、このモデル内に存在するパラメータの最適な値を特定する方法です。

差分可能プログラミングは最適なパラメータを特定することに焦点を当てていますが、機械学習はデータから学習する能力が最も高いモデルの優れた形式を特定することに焦点を当てています。

スライド12

では、入力データに任意の複雑な変換を反映できる任意の複雑な関数のテンプレートをどのように作成するのでしょうか?まず、浮動小数点値の回路から始めましょう。なぜ浮動小数点値なのでしょうか?それは、前の講義で見たように、勾配降下法を適用できるスケーラブルなものだからです。したがって、浮動小数点数です。入力として浮動小数点数のシーケンスを持つことになります。

では、中間ではどうするのでしょうか?線形代数を行いましょう。具体的には、行列の乗算を行います。なぜ行列の乗算を行うのでしょうか?それについては、この第4章の最初の講義で説明されています。それは、現代のコンピュータが設計されている方法に関連しており、線形代数に従うだけで、処理速度の面で比較的劇的な高速化が可能です。したがって、線形代数です。さて、入力を取り、線形変換を適用すると、行列の乗算である線形変換が行われます(この行列には後で学習したいパラメータが含まれています)。それをより複雑にするにはどうすればよいでしょうか?2つ目の行列の乗算を追加することができます。ただし、線形代数の授業を覚えている場合、線形関数を別の線形関数と乗算すると、線形関数が得られます。したがって、行列の乗算を単に合成するだけでは、行列の乗算のままであり、完全に線形です。

私たちが行うことは、線形操作の間に非線形性を挿入することです。これは、この画面で行ったことです。私は、ディープラーニングの文献で通常Rectified Linear Unit(ReLU)として知られる関数を挿入しました。この名前は、その機能に比べて非常に複雑ですが、非常にシンプルな関数で、数値を取り、その数値が正の場合は同じ数値を返し(つまり、恒等関数)、数値が負の場合は0を返します。値とゼロの最大値としても書くことができます。これは非常に単純な非線形性です。

より洗練された非線形関数を使用することもできます。過去には、人々がニューラルネットワークを作成する際に洗練されたシグモイド関数を使用したかったのは、それが私たちのニューロンで動作している方法だと考えられていたからです。しかし、実際のところ、関係のないことを計算するために処理能力を無駄にする必要はありません。重要な洞察は、非線形性を導入する必要があり、どの非線形関数を使用するかは重要ではないということです。重要なのは、それを非常に高速にすることです。全体をできるだけ速く保ちたいのです。

ここで構築しているものは、密な層と呼ばれます。密な層は、本質的には非線形性(整流線形ユニット)を持つ行列の乗算です。これらを積み重ねることができます。画面上には、通常はマルチレイヤーパーセプトロンと呼ばれるネットワークが表示されており、3つの層があります。これらを積み重ねることができ、20個または2,000個の層を持つこともできます。実際には、どれだけ単純化されているように見えるかもしれませんが、このようなネットワークを異なる可能性のあるプログラミングフレームワークに入れると、パラメータが与えられ、最初にランダムに選択されたパラメータをトレーニングすることができる、異なる可能性のあるプログラミングのベースレイヤーが得られます。初期化する場合は、すべてのパラメータをランダムに初期化するだけです。非常に多様な問題に対してかなり優れた結果が得られます。

これは非常に興味深いことです。なぜなら、この時点で、ディープラーニングの基本的な要素はほぼすべて揃っているからです。ですので、聴衆の皆さん、おめでとうございます!おそらく、履歴書に「ディープラーニングの専門家」と書くことができるようになりました。これはほぼすべてです。実際には、そうではありませんが、良い出発点と言えるでしょう。

Slide 13

実際のところ、ディープラーニングは、テンソル代数以外の理論をほとんど必要としません。テンソル代数は、基本的にはコンピュータ化された線形代数です。ただし、ディープラーニングにはたくさんのトリックがあります。たとえば、入力を正規化する必要がありますし、勾配を安定化する必要があります。そのような操作を多く積み重ねると、勾配はネットワークを逆方向に進むにつれて指数関数的に増加し、ある時点でそれらの数値を表現する能力をオーバーフローさせてしまいます。実世界のコンピュータは、任意の大きな数値を表現することができません。ある時点で、32ビットまたは16ビットの浮動小数点値で数値を表現する能力がオーバーフローします。勾配の安定化のためのトリックはたくさんあります。たとえば、一般的にはバッチ正規化と呼ばれるトリックですが、それ以外のトリックもあります。

もし入力が幾何学的な構造を持っている場合、例えば、時系列(供給チェーンで見られるような過去の売上)のような1次元の場合、2次元の場合(画像と考えてください)、3次元の場合(映画の場合)、4次元の場合など、特殊な層がこの幾何学的な構造を捉えることができます。最も有名なものは、畳み込み層と呼ばれるものです。

また、カテゴリカルな入力を扱うための技術やトリックもあります。ディープラーニングでは、すべての入力が浮動小数点値ですが、カテゴリカル変数をどのように扱うのでしょうか?答えは埋め込みです。また、非常に急な勾配を示し、収束プロセスを容易にする代替損失もあります。これにより、データから学べる内容を拡大することができます。トリックはたくさんあり、それらのトリックは通常、ベースレイヤーとしての異なる可能性のあるプログラミングで使用できます。

ディープラーニングは、異なる可能性のあるプログラミングによって提供されるトレーニングプロセスを通じて実行されるプログラムをどのように構成するかについてです。このプログラムは非常に高い学習能力を持つことができます。画面に表示されているアイテムのほとんども、プログラムの性質です。これは非常に便利です。なぜなら、私たちには異なる可能性のあるプログラミングというプログラミングパラダイムがあるからです。それがすべてをサポートしてくれます。

Slide 14

この時点で、ディープラーニングが従来の機械学習とは異なる理由がより明確になるはずです。ディープラーニングはモデルについてではありません。実際、ほとんどのオープンソースのディープラーニングライブラリにはモデルが含まれていません。ディープラーニングでは、本当に重要なのはモデルアーキテクチャです。モデルアーキテクチャは、特定の状況に合わせて大幅にカスタマイズする必要があるテンプレートと考えることができます。ただし、適切なアーキテクチャを採用すれば、モデルのカスタマイズが学習能力の本質を保持することができると予想できます。ディープラーニングでは、最終的なモデルに興味を持つことはほとんどありません。それはあまり興味深くないものです。研究の真の対象はアーキテクチャです。

画面には、いくつかの注目すべきアーキテクチャの例が表示されています。まず、LSTM(Long Short-Term Memory)は、2007年頃に動作し始めました。LSTMの発表の歴史は少し複雑ですが、基本的には2007年にディープラーニングスタイルで動作し始めました。それはGated Recurrent Units(GRU)に取って代わられました。GRUは基本的にはLSTMと同じものですが、よりシンプルで使いやすくなっています。実際、LSTMの複雑さの多くは生物学的なメタファーに由来しています。生物学的なメタファーを捨てると、同じように機能するよりシンプルなものが得られます。それがGated Recurrent Units(GRU)です。その後、トランスフォーマーが登場し、LSTMとGRUの両方を時代遅れにしました。トランスフォーマーは、より高速で、必要な計算リソースが少なく、さらに学習能力が高いという点で画期的でした。

これらのアーキテクチャのほとんどはメタファーを伴っています。LSTMには認知的なメタファーである長期短期記憶があり、トランスフォーマーには情報検索のメタファーがあります。しかし、これらのメタファーは非常に予測力が低く、実際には混乱や注意散漫の原因になる可能性があります。これらのアーキテクチャが実際に動作する要因は、現時点では完全に理解されていません。

トランスフォーマーは、サプライチェーンにとって非常に興味深いものです。それは最も多目的なアーキテクチャの1つです。現在では、自動運転から自動翻訳まで、ほとんどすべてのことに使用されています。これは、適切なアーキテクチャを選ぶ力の証です。そして、それを使用してさまざまな問題に対応できます。サプライチェーンに関しては、機械学習で何かを行う上での主な困難の1つは、解決すべき非常に多様な問題があることです。私たちは、次の問題を解決するために研究に5年間費やすようなチームを持つ余裕はありません。次の問題を解決するために機械学習の半分を再発明する必要はありません。

Slide 15

ディープラーニングの非常に驚くべき側面の1つは、パラメータの膨大な数です。数分前に紹介した多層パーセプトロンでは、行列の乗算を含む密な層には非常に多くのパラメータがあります。実際、トレーニングデータセットのデータポイントや観測値と同じ数のパラメータを持つことは非常に難しくありません。私たちの講義の最初で見たように、パラメータが非常に多いモデルを持つ場合、過学習の問題が深刻になるはずです。

ディープラーニングの現実はさらに困惑しています。観測値よりもはるかに多くのパラメータを持つ状況が多くありますが、過学習の問題はほとんど発生しません。さらに困惑することに、ディープラーニングモデルはトレーニングデータセットを完全にフィットさせる傾向があります。つまり、トレーニングデータセットでほぼゼロのエラーが発生し、それらは持っていないデータに対しても予測能力を保持します。

2年前、OpenAIによって公開されたDeep Double Descent論文は、この状況に非常に興味深い光を当てました。チームは、機械学習の領域において本質的に不思議な谷を持っていることを示しました。アイデアは、モデルを取り、わずかなパラメータを持つと、バイアスが非常に多くなり、未知のデータに対する結果の品質があまり良くないということです。これは、古典的な機械学習のビジョンと古典的な統計的なビジョンに合致しています。パラメータの数を増やすと、モデルの品質が向上しますが、ある時点で過学習が始まります。これは、過学習と適合不足に関する以前の議論で見たとおりです。バランスを見つける必要があります。

しかし、彼らが示したのは、パラメータの数を増やし続けると、非常に奇妙なことが起こるということです。つまり、過学習がますます少なくなるということであり、これは古典的な統計的学習理論が予測するのとはまったく逆のことです。この振る舞いは偶然ではありません。著者たちは、この振る舞いが非常に堅牢で広範囲に起こることを示しました。さまざまな状況でほぼ常に起こります。まだなぜそうなるのかはよくわかっていませんが、この時点で非常によく理解されているのは、深い二重降下が非常に現実的で広範囲に存在するということです。

これはまた、なぜ深層学習が比較的遅れて機械学習のパーティーに参加したのかを理解するのに役立ちます。深層学習が成功するためには、まずこの不思議な谷を超えるために数万、あるいは数十万のパラメータを処理できるモデルを構築する必要がありました。80年代や90年代では、この不思議な谷を超えるためのハードウェアの計算リソースがなかったため、深層学習の突破は不可能でした。

幸いなことに、現在のコンピューティングハードウェアでは、数百万、あるいは数十億のパラメータを持つモデルを簡単にトレーニングすることができます。前の講義で指摘したように、Facebookのような企業では、1兆以上のパラメータを持つモデルをトレーニングしています。だから、非常に遠くまで行くことができます。

Slide 16

ここまでは、損失関数が既知であると仮定してきました。しかし、なぜそうでなければならないのでしょうか?実際には、サプライチェーンの観点からファッションストアの状況を考えてみましょう。ファッションストアは、すべての単一のSKUに対して在庫レベルを持っており、将来の需要を予測したいと考えています。この1つのストアに対して将来の需要について信じられる可能性のあるシナリオを予測したいのです。特定のSKUが在庫切れになると、通常、需要の一部は類似の製品に戻ってくるはずです。

しかし、Mean Absolute Percentage Error (MAPE)、Mean Absolute Error (MAE)、Mean Square Error (MSE)などの古典的な予測指標をSKUごと、日ごと、週ごとに適用しようとすると、これらの振る舞いを捉えることはできません。私たちが本当に望んでいるのは、これらの食い込みや代替効果をすべて捉えることができる指標です。しかし、この損失関数はどのようにすれば良いのでしょうか?非常に明確ではなく、かなり洗練された振る舞いを必要とするようです。深層学習の主要なブレークスルーの1つは、損失関数を学習する必要があるという洞察を得たことです。これが画面上の画像が生成された方法です。これは完全に機械生成された画像です。これらの人々は実在しません。生成された問題は、画像が人間の写真としてのリアルな肖像画であるかどうかを判断する損失関数または指標をどのように構築するかということでした。

実際のところ、Mean Absolute Percentage Error (MAPE)スタイルで考え始めると、ピクセルごとに操作する指標になってしまいます。問題は、ピクセルごとに操作する指標では、画像全体が人間の顔のように見えるかどうかについて何も教えてくれないということです。ファッションストアのSKUと需要の予測でも同じ問題があります。SKUレベルでの指標は簡単に作成できますが、それはストア全体の全体像について何も教えてくれません。しかし、サプライチェーンの観点からは、SKUレベルの正確さではなく、ストアレベルの正確さに興味があります。ストアの在庫レベルが全体として適切かどうかを知りたいのです。一つのSKUが良いか、別のSKUが良いかということではありません。では、深層学習コミュニティはこの問題にどのように対処したのでしょうか?

Slide 17

この非常に印象的な成果は、Generative Adversarial Networks (GANs)と呼ばれる美しくシンプルな技術によって達成されました。報道では、これらの技術をdeepfakesとして聞いたことがあるかもしれません。Deepfakesは、このGAN技術で生成された画像です。では、どのように機能するのでしょうか?

まず、ジェネレーターから始めます。ジェネレーターは、入力としていくつかのノイズ(ランダムな値)を受け取り、現在の場合は画像を生成します。サプライチェーンの場合に戻ると、このジェネレーターは、このファッションストアの次の3ヶ月間におけるすべてのSKUの需要点の軌跡を生成します。このジェネレーター自体が深層学習ネットワークです。

次に、ディスクリミネーターを用意します。ディスクリミネーターも深層学習ネットワークであり、その目的は、生成されたものが本物か合成かを予測することを学ぶことです。ディスクリミネーターは、本物か合成かを正しく予測できればいいだけのバイナリ分類器です。ディスクリミネーターがサンプルが偽物であると正しく予測できた場合、勾配をジェネレーターに戻し、ジェネレーターがそれから学ぶことができます。

この設定から起こることは、ジェネレーターがディスクリミネーターを本当に騙し混むようなサンプルを生成する方法を学び始めることです。同時に、ディスクリミネーターは本物のサンプルと合成のサンプルを区別する能力を向上させる方法を学びます。このプロセスを取ると、非常に高品質なジェネレーターと、それが本物かどうかを判断できる非常に優れたディスクリミネーターの両方を持つ状態に収束することを期待できます。これがGANを使用してこれらの写真を生成するために行われていることです。サプライチェーンに戻ると、特定の状況において最適な指標はMAPEや加重MAPEなどだと言うサプライチェーンの専門家がいます。彼らは、特定の状況ではこの指標を使用する必要があるというレシピを提案します。しかし、深層学習は予測指標が時代遅れの概念であることを示しています。高次元の正確さを実現したいのであれば、単に点ごとの正確さではなく、指標を学習する必要があります。現時点では、これらの技術を活用しているサプライチェーンはほとんど存在しないと思われますが、将来的には存在するでしょう。ジェネレーティブアドバーサリーネットワークやその派生技術を使用して予測指標を学習することが一般的になるでしょう。なぜなら、それは興味深い高次元の振る舞いを捉える方法であり、単に点ごとの正確さだけではないからです。

Slide 18

これまでのところ、すべての観測値にはラベルが付いており、そのラベルは予測したい出力です。しかし、入出力問題としてフレーム化できない状況もあります。ラベルが単に利用できない場合です。サプライチェーンの例を挙げると、それはハイパーマーケットです。ハイパーマーケットでは、在庫レベルは完全に正確ではありません。商品は破損したり、盗まれたり、期限切れになったりすることがあり、お客様が感じる棚にあるものとシステム内の電子レコードが真実を正確に反映していない理由はたくさんあります。在庫管理はリアルタイムの正確な在庫データソースには高すぎます。在庫管理はできますが、毎日ハイパーマーケット全体を走り回ることはできません。結果として、わずかに正確でない在庫が大量に発生します。どれが正確でどれが正確でないかはわかりません。

これは本質的には教師なし学習が本当に意味を持つような状況です。何かを学びたいのですが、正しい答えは利用できません。私たちにはただたくさんのデータがあります。教師なし学習は、機械学習コミュニティにとって長い間聖杯と考えられてきました。長い間、それは未来であり、遠い未来でした。しかし、最近、この分野でいくつかの信じられないほどの突破口がありました。その突破口の1つは、例えばFacebookチームによって達成されたもので、タイトルが「Unsupervised Machine Translation Using Monolingual Corpora Only」という論文でした。

この論文でFacebookチームが行ったことは、英語のテキストのコーパスとフランス語のテキストのコーパスだけを使用して翻訳システムを構築したことです。これらの2つのコーパスには何の共通点もありません。同じテキストでもありません。ただ英語のテキストとフランス語のテキストです。そして、システムに実際の翻訳を与えることなく、英語からフランス語へ翻訳するシステムを学習しました。これはまさに驚くべき結果です。ちなみに、これを達成する方法は、ちょうど先ほど紹介した生成的対抗ネットワークに非常に似た技術を使用しています。同様に、Googleのチームも2年前にBERT(Bidirectional Encoder Representations from Transformers)を公開しました。BERTは、主に教師なしで訓練されるモデルです。再びテキストについて話しています。BERTでは、膨大なテキストデータベースから単語をランダムにマスキングしてモデルを訓練し、全体のコーパスに対して繰り返し行います。一部の人々はこの技術を自己教師ありと呼んでいますが、BERTの興味深い点、そしてサプライチェーンに関連する点は、データに対して一部を隠すことができる機械を構築し、その機械がデータを再補完できるという点です。

これがサプライチェーンにとって非常に重要な理由は、自然言語処理の文脈でBERTと共に行われていることが、他の多くの領域に拡張できるからです。これは究極の「もしもし」応答機です。例えば、もしもう1つの店舗があったらどうなるでしょうか?この「もしもし」に答えることができます。なぜなら、データを変更して、店舗を追加し、構築した機械学習モデルにクエリを投げることができるからです。もしもう1つの商品があったらどうなるでしょうか?もしもう1人の顧客がいたらどうなるでしょうか?この商品に対して異なる価格を設定したらどうなるでしょうか?などなど。教師なし学習は、データを単なるペアのリストではなく、全体として扱うために非常に興味深いものです。データにいくらか存在する要素に対して予測を行うことができる完全に一般的なメカニズムが得られます。これは非常に強力です。

スライド19

さて、最後に、観察の全体的な概念を再考する必要があります。最初に、観察は特徴のペアとラベルであると言いました。ラベルを削除する方法を見てきましたが、特徴自体と観察についてはどうでしょうか?サプライチェーンの問題は、実際には観察が存在しないことです。サプライチェーンを独立または均質な観察のリストに分解できるかどうかさえ明確ではありません。前の講義で議論したように、サプライチェーンを観察するために直接的な科学的観察はありません。私たちが持っているのは、企業ソフトウェアの一連のデータです。サプライチェーンを観察する唯一の方法は、それらの企業ソフトウェアに収集されたレコードを通じて間接的に行うことです。それはERP、WMS、ポイントオブセールなどが該当します。しかし、要点は、私たちが持っているのは本質的にトランザクション性のある電子レコードであり、それらのシステムは通常、トランザクション性のあるデータベースの上に実装されているためです。したがって、観察は独立していません。私たちが持っているレコードは関係性があり、文字通り関係性データベースに存在します。私が関係性を持っていると言うと、例えば忠誠カードを持つ顧客を見ると、彼らは購入したすべての製品に接続されていることを意味します。すべての製品は、製品がアソートメントの一部であるすべての店舗に接続されています。すべての店舗は、対象の店舗にサービスを提供する能力を持つすべての倉庫に接続されています。したがって、独立した観察はありません。私たちが持っているのは、相互に関連する構造が重ねられたデータです。これらの要素は他の要素と真に独立していません。

このような相互接続されたデータを扱うための深層学習の関連するブレークスルーは、グラフ学習として知られています。グラフ学習は、ファッションにおける代替とカニバリゼーションのような振る舞いに対処するために必要なものです。カニバリゼーションを見る最良の方法は、すべての製品が同じ顧客を競合相手としていると考えることであり、顧客と製品を接続するデータを分析することでカニバリゼーションを分析できます。ただし、グラフ学習は、まったく異なるものであるグラフデータベースとは何の関係もありません。グラフデータベースは、学習を伴わないグラフのクエリに使用されるデータベースです。グラフ学習は、グラフ自体に関するいくつかの追加の特性を学習することに関するものです。それは、観察できるまたは完全に観察できない関係を学習すること、または行動可能な知識のオーバーレイで関係の種類を装飾することに関するものです。

私の考えでは、設計上、サプライチェーンはすべての部分が相互に接続されているシステムであるため(それがサプライチェーンの呪いです)、ローカルに最適化することなく問題を解決するためのアプローチとして、グラフ学習がますます一般的になるでしょう。基本的に、グラフニューラルネットワークは、グラフを扱うために設計された深層学習の技術です。

スライド20

結論として、機械学習がより正確な予測を提供することについて考えることは、穏やかに言ってもかなり単純化された考え方です。それはまるで自動車の主な目的がより速い馬にアクセスすることであるかのようです。はい、おそらく機械学習を通じてより正確な予測を達成できるでしょう。ただし、これは非常に大きな画像の一部であり、機械学習コミュニティでのブレークスルーがあるたびにますます大きくなっています。私たちは、特徴、ラベル、観察、モデル、損失という一連の概念を含む機械学習フレームワークから始めました。この小さな初歩的なフレームワークは、時系列予測の視点よりもはるかに一般的でした。機械学習の最近の発展により、これらの概念さえも徐々に無関係になっていることがわかります。サプライチェーンにとって、このパラダイムシフトは非常に重要です。なぜなら、予測に取り組む際にも同じようなパラダイムシフトを適用する必要があるからです。機械学習は、データへのアプローチ方法とデータを活用できることを完全に再考させるものです。機械学習は、非常に最近まで堅く閉ざされていた扉を開くのです。

スライド21

さて、いくつかの質問を見てみましょう。

質問: ランダムフォレストはバギングを使用しないのですか?

私のポイントは、はい、それらはそれの拡張ですし、バギング以上のものです。バギングは興味深い技術ですが、機械学習の技術を見るときには、自分自身に問いかけなければなりません。この技術は、カニバリゼーションや代替などの本当に難しい問題を学ぶ能力に進歩させるのに役立つのでしょうか?また、このような技術は、お持ちのコンピューティングハードウェアとうまく動作するのでしょうか?これは、この講義から得るべき重要なポイントの一つです。

質問: 企業がロボットによる自動化をすべて導入することを推進している中で、物流倉庫の労働者の将来はどうなるのでしょうか?近い将来、彼らはロボットに置き換えられるのでしょうか?

この質問は機械学習とは直接関係ありませんが、非常に良い質問です。工場はロボット化に向けて大規模な変革を遂げており、ロボットを使用する場合もあれば使用しない場合もあります。工場の生産性は向上しており、中国でも現在、工場のほとんどが自動化されています。倉庫は遅れていましたが、最近ではますます機械化と自動化が進んでいる倉庫の開発が見られます。必ずしもロボットではなく、より高度な自動化を実現するための競合する技術は多数あります。結論として、トレンドは明確です。倉庫や物流センターは、既に生産で目撃した大規模な生産性向上を経験することになります。

あなたの質問に答えると、私は人々がロボットに置き換えられるのではなく、自動化によって置き換えられると言っています。自動化はロボットのようなものになることもありますが、多くの他の形態を取ることもあります。これらの形態のいくつかは、ロボットと直感的に関連付けられるような技術を使用せずに生産性を大幅に向上させる賢いセットアップです。ただし、私は供給チェーン全体の物流部分が縮小すると考えています。現在、昇進し続けている唯一の理由は、電子商取引の台頭により、最後の一マイルをケアする必要があるからです。最後の一マイルも、近い将来自動化されるでしょう。自動運転車はすぐそこにあります。この10年に約束されていましたが、少し遅れて到着するかもしれませんが、やってきます。

質問: サプライチェーンで働くために機械学習を学ぶ価値はあると思いますか?

絶対にです。私の意見では、機械学習はサプライチェーンの補助科学です。現代の医師が化学との関係を持つのと同じように考えてください。もし現代の医師であるなら、化学について何も知らないと言ったら、人々はあなたが現代の医師になるために必要なものを持っていないと思うでしょう。機械学習は、医学を学ぶ人々が化学に取り組む方法と同じようにアプローチするべきです。それは目的ではなく手段です。サプライチェーンで真剣に取り組みたいのであれば、機械学習の堅固な基盤を持つ必要があります。

質問: 機械学習を適用した例を教えていただけますか?そのツールは運用に移行しましたか?

Lokadの起業家兼CEOであるJoannes Vermorelとして話すと、現在、様々なタスクに機械学習を使用している100以上の企業があります。これらのタスクには、リードタイムの予測、需要の確率的予測、返品の予測、品質問題の予測、予定外の修理間隔の見積もりの修正、競合価格が正しいかどうかの検出などが含まれます。自動車のアフターマーケットでの車と部品の互換性行列の再評価など、多くの応用があります。機械学習を使用することで、データベースのエラーの大部分を自動的に修正することができます。Lokadでは、これらの100以上の企業が実際に運用されており、それは10年近くの間続いています。未来はすでにここにあります。ただし、均等に分布しているわけではありません。

質問: 自分の時間で機械学習を学ぶための最良の方法は何ですか?UdemyやCourseraなどのサイトをお勧めしますか?

私の提案は、Wikipediaと論文の読書の組み合わせです。この講義で見たように、基礎を理解し、分野の最新の動向について常に最新情報を把握することが重要です。この講義でも実際の研究論文を引用しています。二次情報を信じず、公開されたものに直接アクセスしてください。これらの情報はすべてオンラインで直接利用できます。機械学習の論文には書き方が悪く解読困難なものもありますが、優れた文章で透明な洞察を提供する論文もあります。私の提案は、まずWikipediaで分野の概要を把握し、全体像を把握した後に論文を読むことです。最初は不透明に思えるかもしれませんが、しばらくすると慣れてきます。UdemyやCourseraに参加することもできますが、個人的にはそうしたことはしませんでした。私がこれらの講義を行う目的は、大まかな直感をいくつか提供し、全体像を把握してもらうことです。詳細に入りたい場合は、数年または数十年前に公開された実際の論文に直接飛び込んでください。第一手の情報を求め、自分自身の知識を信じてください。

ディープラーニングは非常に経験主義的な研究分野です。ほとんどのことは数学的には非常に複雑ではありません。高校の最後で学ぶ内容を超えることはほとんどありませんので、比較的アクセスしやすいです。

質問: CodeXやCo-Pilotのようなノーコードツールの台頭により、供給チェーンの実務者がプレーンな英語でモデルを作成することが将来的に可能になると思いますか?

短い答えは、全くそうではありません。コーディングをバイパスできるという考えは長い間存在しています。例えば、マイクロソフトのVisual Basicは、人々がもはやプログラムを書かなくても、ビジュアルにレゴのようなものを組み立てることができるようにするためのツールでした。しかし、現在では、このアプローチは効果的ではないことが証明されており、次のトレンドは言葉で表現することです。

ただし、私がこれらの講義で数学の式を使用する理由は、何を言いたいのかを明確に伝えるために数学の式を使用する場合が多いからです。英語や他の自然言語の問題は、しばしば不正確で誤解を招きやすいという問題があります。対照的に、数学の式は正確で明確です。プレーンな言語の問題は非常に曖昧であり、使用法はあるものの、数式を使用する理由は、言われていることに明確な意味を与えるためです。私は数式の使用を制限しようと努めていますが、使用するのはアイデアを明確に伝えるために数式が唯一の方法だと感じる場合です。その際には、口頭で言うよりも明確なレベルの明瞭さを提供するためです。

ローコードプラットフォームに関しては、これまでに何度も試みられてきましたが、あまり成功していません。私の個人的な意見としては、コーディングを供給チェーン管理に適したものにするために、なぜコーディングが難しいのかを特定し、偶発的な複雑さを取り除くべきです。残るものは、供給チェーンに適した正しいコーディングです。それがLokadの目指すものです。

質問: 機械学習は季節性や定期的な販売履歴データの需要予測をより正確にするのでしょうか?

このプレゼンテーションで述べたように、機械学習は正確さの概念を無効にします。最後の大規模な時系列予測コンテストであるM5コンテストを見ると、上位10モデルはすべてある程度の機械学習モデルでした。ですので、機械学習は予測をより正確にするのでしょうか?予測コンテストに基づいて言えば、事実です。しかし、他の手法と比較してわずかに正確性が向上するだけであり、画期的な追加の正確性ではありません。

さらに、予測を一次元的な視点で考えるべきではありません。季節性についての正確性を尋ねる場合、1つの製品を考慮していますが、それは正しいアプローチではありません。真の正確性は、新しい製品の導入が他のすべての製品にどのように影響するかを評価することです。ある程度のカニバリゼーションが発生するでしょう。重要なのは、このカニバリゼーションをモデルにどのように反映させるかが正確かどうかを評価することです。突然、これは多次元の問題になります。生成ネットワークを使用した講義で示したように、正確性のメトリックは学習する必要があります。数学的な式、例えば平均絶対誤差、平均絶対パーセンテージ誤差、平均二乗誤差などは、数学的な基準に過ぎません。私たちが実際に必要とするメトリックではありません。それらは非常に単純なメトリックに過ぎません。

質問: 予測者の日常的な仕事は自動モードでの予測に置き換えられるのでしょうか?

未来はもうここにあると言えるでしょうが、均等には分布していません。Lokadでは、既に毎日何千万ものSKUの予測を行っており、誰も予測を調整していません。ですので、既に実現されていますが、これは全体像の一部に過ぎません。予測を調整したり予測モデルを調整する必要がある場合、それは機能不全のアプローチを示しています。予測を調整する必要性はバグとして考え、そのプロセスの一部を自動化することで対処するべきです。

再び、Lokadの経験から言えば、これらのことは完全に排除されます。なぜなら、私たちは既にそれを行っているからです。私たちだけがこの方法で行っているわけではありませんので、私たちにとってはほぼ10年前の話です。

質問: サプライチェーンの意思決定において、機械学習はどの程度活用されていますか?

それは企業によります。Lokadでは、あらゆる場面で活用されています。もちろん、「Lokad」と言うときは、Lokadが提供する企業においてのことを指します。しかし、市場の大多数はまだエクセルを使っており、機械学習は一切使用していません。Lokadは既に数十億ユーロまたはドル相当の在庫を管理しており、それは既に現実となっており、かなり長い間そうでした。しかし、Lokadは市場の0.1%にも満たない存在ですので、まだ例外的な存在です。私たちは急速に成長しており、競合他社も同様です。私の疑念は、まだサプライチェーン市場全体ではフリンジなセットアップであるということですが、二桁の成長率を持っています。長期間にわたる指数関数的な成長の力を過小評価してはいけません。最終的には非常に大きくなるでしょう。Lokadであれば、と願っていますが、それは別の話です。

質問: サプライチェーンには多くの未知数がありますが、モデルの入力を仮定するための戦略は何ですか?

アイデアは、はい、たくさんの未知数があるということですが、モデルの入力は実際には選択肢ではありません。それは、企業のシステムに存在するデータに依存します。例えば、ERPに過去の在庫レベルがある場合、それを機械学習モデルの一部として使用することができます。ERPが現在の在庫レベルのみを保持している場合、このデータは利用できません。在庫レベルを追加の入力として使用したい場合は、在庫レベルのスナップショットを開始することができますが、核心のメッセージは、入力として使用できるものには非常に少ない選択肢があるということです。それは文字通り、システムに存在するものです。

私の典型的なアプローチは、新しいデータソースを作成する必要がある場合、それは遅くて苦痛なものになるでしょうし、機械学習をサプライチェーンで使用するための出発点にはならないでしょう。大企業は数十年前からデジタル化されてきたため、ERPやWMSなどのトランザクションシステムにはすでに優れた出発点があります。将来的に競争情報や承認済み在庫レベル、またはサプライヤーからの予定到着日など、さらに多くの情報を持ちたいと思う場合、それらはモデルの入力として有用な追加要素となります。通常、入力として使用するものは、最初に予測しようとしているものと相関関係があると直感的に思われるものであり、高いレベルの直感は通常十分です。定義が難しい常識は、非常に十分です。これはエンジニアリングのボトルネックではありません。

質問: 価格決定の影響は将来の需要の推定にどのような確率的な視点であり、機械学習の視点からはどのように扱うべきですか?

これは非常に良い質問です。LokadTVでこの問題に取り組んだエピソードがありました。アイデアは、学んだことが通常「ポリシー」として知られるものになるということです。これは、さまざまなイベントに対して反応する方法を制御するオブジェクトです。予測方法は、モンテカルロスタイルのような一種のランドスケープを生成することです。軌跡を生成しますが、予測は静的なデータポイントではありません。予測プロセスの各段階で、観測可能な需要を生成し、行った決定を生成し、それに対する市場の反応を再生成する必要があります。

あなたの需要応答生成プロセスの正確さを評価するのは非常に複雑になります。そのため、実際に予測メトリックスを学習する必要があります。これは非常にトリッキーですが、予測メトリックス、正確性メトリックスを1次元の問題として考えることはできません。要約すると、需要予測はジェネレーターになるため、基本的には静的ではなく、動的です。これは生成的なものです。このジェネレーターはポリシーとして実装されるエージェントに反応します。ジェネレーターとポリシー作成システムの両方を学習する必要があります。また、損失関数も学習する必要があります。学ぶべきことはたくさんありますが、幸いにも、ディープラーニングは非常にモジュラーでプログラム可能なアプローチであり、これらのすべての技術の組み合わせに適しています。

質問: 特に中小企業からデータを収集するのは難しいですか?

はい、非常に難しいです。その理由は、売上高が1000万ドル未満の会社を扱っている場合、IT部門のようなものは存在しないからです。小さなERPが導入されているかもしれませんが、ツールが良くてまともで最新であっても、データを抽出するためのSQLクエリを実行する能力を持った人材はクライアント企業に存在しません。

質問を正しく理解しているかどうかはわかりませんが、問題はデータの収集そのものではありません。データの収集は、会計ソフトウェアや導入されているERPを通じて自然に行われますし、現在では比較的小規模な企業でもアクセス可能なERPがあります。問題は、それらの企業ソフトウェアからデータを抽出することです。売上高が2000万ドル未満で、電子商取引企業ではない会社と一緒にいる場合、IT部門は存在しません。小さなIT部門がある場合でも、通常は全員のためにマシンとWindowsデスクトップをセットアップする責任を持つ1人の人物です。データベースやより高度な管理タスクに精通しているわけではありません。

はい、これで終わりです。次のセッションは数週間後に行われます。10月13日(水曜日)に行われます。また次回お会いしましょう!

参考文献

  • A theory of the learnable, L. G. Valiant, November 1984
  • Support-vector networks, Corinna Cortes, Vladimir Vapnik, September 1995
  • Random Forests, Leo Breiman, October 2001
  • LightGBM: A Highly Efficient Gradient Boosting Decision Tree, Guolin Ke, Qi Meng, Thomas Finley, Taifeng Wang, Wei Chen, Weidong Ma, Qiwei Ye, Tie-Yan Liu, 2017
  • Attention Is All You Need, Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, last revised December 2017
  • Deep Double Descent: Where Bigger Models and More Data Hurt, Preetum Nakkiran, Gal Kaplun, Yamini Bansal, Tristan Yang, Boaz Barak, Ilya Sutskever, December 2019
  • Analyzing and Improving the Image Quality of StyleGAN, Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, Timo Aila, last revised March 2020
  • Generative Adversarial Networks, Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, June 2014
  • Unsupervised Machine Translation Using Monolingual Corpora Only, Guillaume Lample, Alexis Conneau, Ludovic Denoyer, Marc’Aurelio Ranzato, last revised April 2018
  • BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, last revised May 2019
  • A Gentle Introduction to Graph Neural Networks, Benjamin Sanchez-Lengeling, Emily Reif, Adam Pearce, Alexander B. Wiltschko, September 2021