あなたのモデルの限界を知り、その行動を解釈し、可変長セットから学ぶ。

あなたのモデルの限界を知り、その行動を解釈し、可変長セットから学ぶ。

NIPS 2017では、群衆の数(人が多かった)、贅沢なパーティー(私は早く眠ます)、または厳しい警備の論争(それは面白かった)の私にとって最大の驚きではなく、私が一番驚いたのは、(会話とポスターを組み合わせた)ときに見た論文の数が、比較的理解しやすく、即座に実用的であったことです。

この記事では、お気に入り3つを簡単に説明します:

1.あなたのモデルの限界を知る(Knowing your model’s limits)
深いアンサンブルを用いた単純かつスケーラブルな予測不確実性推定 (Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles)
Lakshminarayanan et。 al 2017、論文ビデオ(1:00:10)

2.モデルの動作の解釈(Interpreting model behavior)
モデル予測の統一的アプローチ(A Unified Approach to Interpreting Model Predictions)
Lundberg et al。 2017年、論文ビデオ (17:45) と github

3.可変長セットから学ぶ(Learning from variable length sets)
ディープセット(Deep Sets)
Zaheer et al。 2017年、論文ビデオ(16:00)

私はBalaji Lakshminarayanan、Scott Lundberg、Manzil Zaheerと共同研究者(作者)がこの仕事をしてNIPSで発表してくれたことに感謝します。 ポスターセッションで私の多くの質問に対する彼らの説得力のあるプレゼンテーションと詳細な答えは、このポストを有益にし、インスピレーションを与えてくれました。

あなたのモデルの限界を知る

あなたのモデルの限界を知る

Lakshminarayanan et. al 2017, paper & video (1:00:10)

ディープランニングモデルは、驚くほど脆弱です。 それらはわずかに異なる分布から引き出されたデータを一般化することができず、学習アルゴリズムまたは初期化においてわずかな変更が与えられても、非常に異なる予測を与えることもあります。

これに対して、私たちが知りたいのはディープランニングモデルがいつ予測に対し不確かなのかを知ることができますか?

もしそうなら、これはInstacartの多くのアプリケーションで解決できます:

•店舗に在庫があることについてどの程度不確実であるか?

•食料品の配達に遅れが生じるリスクはどれくらいあるか?

•検索のために稀なアイテムを表示することを検討する必要がありますか?

•店舗ではどのくらいの配送需要が予想されますか?

特に、多くのノイズの多い予測に基づいて決定を下すと、大きなノイズ値(検索や広告のランク付けや価格設定やロジスティクスアプリケーションの最適化などでよく見られます)の観測を優先する危険性があります。 この影響を避けるために予測不確実性をコントロールすることが重要になります。

他の方法を用いて不確実性を定量化することができるが、欠点がある。 例えば、ベイジアン法では、プリオリヤについての仮定が必要であり、計算上高価である。

このペーパーは、ディープラーニングモデルの不確実性を定量化するためのエレガントな方法について説明します。

Lakshminarayanan et. al 2017

Lakshminarayanan et. al 2017 (video)

実際には:
•アウトプットの分布を選択します(MSE、カウントのポアソンなどを最適化する場合はガウス分布)
•ディープネットワークの最終層を変更して、平均値の推定値に加えて分散推定値(またはその他の分布パラメータ)をアウトプットする
•アウトプット分布の負の対数尤度を最小化する(例えば、Kerasのカスタム損失関数を使用)
•Mネットワークをこのようにトレーニングします。それぞれランダムな初期化を行います
•最終的な予測分布を、Mネットワークからの分布の均等に重み付けされた混合とする

この論文では、敵対的学習(個別のインプットには実装が難しい)も加えられていますが、実験の一部ではこれがあまり重要でないことが示されています。
重要なことは、ネットワークが平均と分散の推定値を生成してから、負の対数尤度損失関数を最適化する必要があることです。 エラーがガウス(gaussian)分布であると仮定すると、損失関数(定式)は次のようになります。

Lakshminarayanan et. al 2017

Lakshminarayanan et. al 2017 (paper)

ここで、μは平均のネットワーク推定値(weightsθとinput 𝒙を条件とする)であり、σ2はネットワークの分散の推定値である。 定数σを仮定すると、これはMSEを用いたクラシカル的な回帰に単純化することができます。
Kerasで同様の損失関数を実装する例については、WTTEパッケージを参照してください.WTTEパッケージは、ガウス分布ではなくワイブル(Weibull)分布を使用します。

彼らの論文の次のおもちゃの例は、各赤点がy = x3 +εから引かれたときの影響を示しています。ここでε〜N(0,32)、青い線はy = x3、灰色の範囲は方法の分散の推定値です オンx:

Lakshminarayanan et. al 2017

Lakshminarayanan et. al 2017 (paper)

左端のプロットは、平均を出力し、MSEに最適化されたトレーニングM = 5のシンプルなネットワークの分散を示す。 各モデルは点推定値を生成し、アンサンブル上ではほとんど変化が見られません。

2番目のプロットは上記のレシピに従った結果を示していますが、M = 1です。 この場合、ネットワークはディストリビューションを生み出しますが、ドメイン外に一般化しても不確実性のレベルは一定です。

3つ目のプロットは、M = 1で最終的なプロットがすべて(平均と分散のアウトプット、敵対的な学習、M = 5)を行う敵対的な学習を含む(それはわずかな差があることに注意してください)。最終プロットだけトレーニングデータの範囲外で不確実性を推定することをします。

著者らは、このようにMNISTデータを用いて桁区切りで練り上げされたネットワークのアンサンブルが、モンテカルロ・ドロップアウト(monte-carlo dropout)のような他の技術よりもはるかに優れた不確実性を推定していることを示しています。

Lakshminarayanan et. al 2017

Lakshminarayanan et. al 2017 (paper)

上の表では、アンサンブル内のネットワークの数を変え、モンテカルロドロップアウト(緑色)と単純なアンサンブル(赤色)とを敵対的学習(青色)のアンサンブルと比較します。 灰色のカーブは、(敵対的ではなく)ランダムデータ増強を使用し、単純なアンサンブルに増分値を加える対立的アプローチを使用することを示しています。

最後に、おそらく最も印象的なのは、著者が完全に異なるドメイン(数字ではなく文字)からのデータを提示すると、そのメソッドが適切に応答することを示しています。

Lakshminarayanan et. al 2017

Lakshminarayanan et. al 2017 (video)

青色のプロットは、数字で表示された場合の桁の分類の不確実性(これは分類問題であるとして、エントロピーで測定)を示しています。 下の赤いプロットは、文字が表示されたときの不確実性を示しています。

アンサンブルでネットワークを1つだけ使用すると(最も深い学習モデルがどのようにデプロイされているか)、数字のみを訓練したモデルは、文字の分類結果が同じ(確かに間違っています)になります! しかし、わずか5つのネットワークだけでも、予測が大幅に低下します。

モデルの動作の解釈

モデルの動作の解釈

最も複雑な機械学習モデルはブラックボックスです。単にその仕組みが完全に理解できません。 しかし、われわれは、モデルが行う予測についてより深い洞察を得ることができ、この洞察によってデータとモデルをよりよく理解することができる。

この理解は、次の目的に使用できます。

•アルゴリズムがどのように動作するかの直感を構築する

•エンドユーザーエクスペリエンス(経験)を変更して、予測のコンテキストをさらに提供する

•データ品質、モデル適合または汎化(一般化)能力から生じるモデル構築の問題をデバッグする

•モデル内のさまざまな機能のバリューを測定し、将来のデータ収集とエンジニアリングのための決定を通知する

Instacartでは、以下のようなモデルを深く理解したいと思っています。
•ユーザーが過去の注文、配送、サイト、および評価の動作に応じて、次の注文を行うまでの予想時間

•顧客が元々要求したものが見つからない場合は、どの製品ペアが適切な替わりとなるか

•顧客が限られた配送可用性オプションやビジーな値段(busy pricing)設定にどのように反応するか

SHAP(Shapley Additive exPlanations)ペーパーとパッケージは、モデルの予測を相加的なエフェクトに分解するエレガントな方法を提供し、簡単に視覚化する(ビジュアライズ)ことができます。たとえば、世帯がUCIセンサスデータセットから50,000ドル以上を稼ぎ可能性についてLight GBM予測を説明するビジュアライゼーションを次に示します。

Lundberg et al. 2017 (github)

Lundberg et al. 2017 (github)

この場合、高所得の対立確率は-1.94であり、このチャンスを押し下げる最大の要因は若年(青)であり、収入を増加させる最大要因は婚姻状態(赤)である。

さらに、フィーチャの集計された影響を、次のような視覚化を伴うデータセット全体にわたるモデル予測に視覚化することができます。

Lundberg et al. 2017 (github)

Lundberg et al. 2017 (github)

ここで年齢が最も予測的であることを知っていますが、実際には分離されており、低収入のグループ(若い)が存在するためです。 キャピタルゲイン(Capital Gain)は、次の最も予測的なものです。その理由の一部は、非常に高い貢献度と非常に低い貢献度の両方があるためです。

これは、XGBoostやLightGBMなどのパッケージで一般的に使用される典型的な情報利得に基づく可変重要度視覚化(variable importance visualizations)よりも大幅に改善されており、各機能の相対的重要性のみを示しています。

R XGBoost Vignette

R XGBoost Vignette

このパッケージでは、トレーニングデータセットの人口全体にあるフィーチャの影響範囲を示す豊富な部分依存プロットも提供されます。

Lundberg et al. 2017 (github)

上のプロットの値の垂直方向の広がりは、年齢と他の変数(他の変数との年齢変更の影響)との相互作用の影響を表していることに注意してください。 これは、変化する年齢の影響のみを単独で示す伝統的な部分依存グラフとは対照的になります。

SHAPアルゴリズムがどのように機能するかを理解するには、次の例を1回の観察で検討してください。

Lundberg et al. 2017 (github)

Lundberg et al. 2017 (video)

これらのモデルは、高所得の可能性を予測しており、E [f(x)]で表される母集団全体の平均20%の確率を予測している。 この具体的な例(話をしてるのJohnという名前を付ける)では、f(x)で表される55%の確率を予測します。
SHAPの値から、私たちはJohnが20%から50%にどのように得たかということが分かります。

Lundberg et al. 2017 (video)

Lundberg et al. 2017 (video)

まず、年齢から始まる機能をランダムに並べ替え、Johnと同じ年齢のユーザーの平均予測値20%がE [f(x)| x1]である。 これは、トレーニングデータセット(ツリーで効率的に実行できるプロセス)のx1以外のすべてのフィーチャにf(x)を統合することで見つけることができます。

予測が35%まで上昇することがわかったとすると、これにより、年齢の影響の推定値φ1= 15%が得られます。 次に、このプロセスを反復して残りの変数(婚姻状態で結論する)を繰り返し、この例の他の3つの特徴のそれぞれについてφ2、φ3およびφ4を推定する:

Lundberg et al. 2017 (video)

Lundberg et al. 2017 (video)

ただし、モデルが純粋に加算的でない限り、φの推定値は選択されたフィーチャの順序によって異なります。 SHAPアルゴリズムは、可能なすべての2桁(2ᴺ)の順序で平均化することでこれを解決します。 このような順序付けをすべて計算する計算負荷は、それらのMをサンプリングし、回帰モデルを使用してサンプルから各フィーチャへの影響を属性付けすることによって緩和されます。

この論文はゲーム理論を用いて上記のアプローチを正当化し、さらにこの理論がLIMEやDeepLIFTなどの他の解釈方法論を統一することを示しています:

Lundberg et al. 2017 (video)

Lundberg et al. 2017 (video)

最後に、MNISTの例がないとNIPS論文は完成できないので、SHAPアルゴリズムは8のどの部分が8の本質を表すかをちゃんと説明しました(3とは対照的に):

Lundberg et al. 2017 (paper)

Lundberg et al. 2017 (paper)

これは、ディープラーニングモデルでもアプローチがうまくいくことを示しています。

可変長セットから学ぶ

Zaheer et al. 2017, paper & video (16:00)

Zaheer et al. 2017, paper & video (16:00)

包括的なカテゴリデータ(embeddings)、シーケンスデータ(LSTM)および画像データ(CNN)をモデル化するために確立された深い学習アーキテクチャが存在する。 しかし、あなたのモデルが可変長の順序付けられていない入力セットに依存するようにするにはどうしますか?

これは私たちが1年前にInstacartで尋ねた疑問でしたが、ちょうどEmojisを使ったディープラーニング(数学ではない)という記事のために買い物リストを並べ替える作業を熟考した頃でした。
私は水曜日の夜、NIPSのポスターセッションでこの論文を見るのに大変喜んで(そして謙虚に)、レイチェル・トーマスがこのツイートをすぐに思い出しました:

Tweet by Rachael Thomas

Tweet by Rachael Thomas

Deep Setsの論文では、著者は、集合に基づくモデリングの問題が2つのクラスに分類されることを説明しています:

Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

(順列)置換不変の場合、予測に影響を与えずに入力をモデルに並べ替えることができるようにしたいと考えています(入力とは異なる次元の空間にしばしばあります)。

たとえばInstacartでは、次のことを予測できます。

•店舗で食料品を選ぶ(買い物をする)のにどれくらいの時間がかかるか

•ユーザーがクエリと一連の製品検索結果を与えられたアイテムをカートに追加するか

•配達とその場所と期限と一連のshopperとその場所と現在の状況を考慮して、都市内でどのくらい効率的になるか(順列)置換等価の場合、セットのすべての入力に対して予測値が生成され、入力を並べ替えることができ、それに応じてアウトプットの順序が変更されるようにする必要があります。

たとえばInstacartでは、次のことを予測できます。

•セット内の各アイテムが、前のアイテムとストア(Emojisを使ったディープラーニング(数学ではない)を指定した店舗内のshopperによって選択される確率

•ユーザーが過去に購入した製品のうち、次の注文で再購入するもの(当社の300万件のInstacart注文、Open Sourcedユースケース)この論文は、このようなセットベースのアーキテクチャは、次の形式を取らなければならないことを証明(示)しています。

Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

置換不変の場合、アーキテクチャは次のようになります。

Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

ここで、φは任意のニューラルネットワークアーキテクチャで、すべてのelement 𝒙に対して繰り返し適用されます(たとえば、Keras TimeDistributed layer wrapperを使用します)。 φの出力は、次に、設定された次元に沿って合計されなければならず、最終的な出力予測を生成することができるさらに別の任意のニューラルネットワークに渡すことができる。

置換等価の場合、アーキテクチャは上記と同じですが、を代わりにDeepSetsレイヤーを使用します。

Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

ここで、アウトプットが重み付けの対称性を考慮してインプットの順序に対して不変であることが分かります。
この論文は、手書きの数字を加算することができるアーキテクチャを学ぶことを求めている義務的なMNISTの例を提供しています。

Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

この場合、(1、2)= sum(2,1)、sum(1,2,7)などの可変長インプットを処理するように、アーキテクチャは順列不変でなければなりません。
2つの簡単な代替アプローチが失敗する:

Zaheer et al. 2017 (video)
Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

左側では、数字を連結して隠れたレイヤーに渡しますが、可変長シーケンスのインプットを処理できません。 右側では、それらを反復レイヤーに渡しますが、結果は順序不変ではありません。
この問題はどれくらい厳しいですか? 実際には、GRU層とLSTM層の両方が、10よりも長いシーケンス長さに一般化するのに劇的に失敗したことがわかりました。

Zaheer et al. 2017 (video)

Zaheer et al. 2017 (video)

このペーパーでは、画像タギングからアウトライア検出、ポイントクラウド分類までのアプリケーション例が特に豊富です:

Zaheer et al. 2017 (paper)

Zaheer et al. 2017 (paper)

概要

すべての誇大宣伝のほかに、NIPS 2017はすばらしいイベントでした。これらの3つの論文は、これらの会議がAIや機械学習の応用にどのように役立つかを実証しています。 いずれの場合も、Instacartで熟考してきた質問に対して、数学的な厳密さ、実用的なアドバイス、実験的な検証が提供されました。
私たちは今あなたが私たち同じくらいこれらのアイデアに興奮していることを願っています! Instacartで抱えている多くの困難な問題の1つに取り組むことに興味がある場合は、careers.instacart.comのキャリアページをご覧ください。

また、Balaji Lakshminarayanan、Scott Lundberg、Manzil Zaheerとその共同研究者、そしてNIPS 2017の組織に携わった全員に感謝したいと思います。この記事に対する彼のフィードバックに感謝したいと思います。

Reference:

タイトル: 3 NIPS Papers We Loved

作者:Jeremy Stanley

原文URL: https://tech.instacart.com/3-nips-papers-we-loved-befb39a75ec2

今すぐシェアしよう!
今すぐシェアしよう!