襖からキリン

読んだ論文まとめ。

予測の不確実性(Predictive Uncertainty)の原因を整理してみた。

このブログでは、機械学習における不確実性の原因を紹介します。 紹介していく中で、予測の不確実性の定量化に関する研究の背景の一部を自分の言葉で説明していきます。

想定読者:仕事、研究でAI関連に携わる方々のうち、予測の不確実性をふんわりしか知らない人。 このブログではMCMCキャリブレーションやアンサンブル、分布外検知など、出てきません。

現在、AIの研究では、予測の不確実性を定量化する研究が盛んに取り組まれています。 この研究背景には、XAIの観点で、モデルはいつ自信を持って予測できるのか、予測に自信がない場合の理由は何かを知りたいからだと考えています。 広く言うと、AIシステムの出力結果をもとに意思決定者を支援したいから、だと思っています。

f:id:masamasa59:20220404204609p:plain
不確実性の定量化の必要性

なぜ不確実性の定量化おこなうのか、のお気持ちをもう少し紐解いていくと、 予測の不確実性の生成過程を整理することにつながったため、自分の理解も含めて文字起こししました。

予測の不確実性の定量化の技術動向は、別の資料を参照してください。

不確実性とは

「不確実性」は、ある結果に対する知識の欠如を指して使われます。 知識の欠如は、結果に至るまでで、何かしらがわからない、知らない、理解できていないことを伴っている状態とします。 知識の欠如がもとで、結果にばらつきが生まれます。

結果に対する知識の欠如はどうして生まれるのでしょうか。

[Gershon 98]の知識の欠如の原因をもとに考えると、データ収集時でいくつか考えられます。

  • 例えば、データに欠損があり、欠損部分が何かわからないから、結果に不確実性が伴う。
  • データが少なく、現象の一部分しか見えていないから。
  • 複雑な要因をもとにデータが集まり、データの生成過程が不明だから。
  • 元から一貫性のない情報からデータ収集され、真実がわからず再現性がないから。
  • 収集方法に人間の主観が含まれているから。

と様々です。 さらに、機械学習モデルを構築する中で、アノテーションや、モデル選択を含め、様々な過程で不確実性が生まれます。

つまり、データ収集時でさえ、予測結果に対する不確実性の原因は様々あり、別のシーンでも不確実性の原因は眠っています。 それらが組み合わさって予測の不確実性が定量化されているということです。 このブログでは、不確実性が生まれるタイミングを分け、それぞれでどうして生まれるのかを説明します。

不確実性を定量化したい背景

不確実性が現れる原因は多数あるとわかりました。 では、不確実性を定量化したいモチベーションはどこにあるのでしょうか。 よくある例を題材に説明します。

不確実性は既に定量化されているのでは?

AutoMLの分類タスクでも、ソフトマックス関数を使っていると確信度が出力されるので、それを可視化すればいいじゃないかと思う方もいるかもしれません。

それは正しいですが、確信度の値を持って、人は何をどう意思決定すればいいのでしょうか。 例えば、あるテキストに対して、あるクラスの確信度(0~1)が0.5でした。

確信度0.5と言われると、AIの結果を重視するのを躊躇いますか。

これは、誰がAIの結果をもとに意思決定するのかで変わると思います。 もしあなたがテキストの知識がある程度ある人であった場合、自分と答えが同じか確認するでしょう。 確信度が0.5と出力され、自分と同じ答えであれば、確信度の原因が気にはなりますが意思決定は変えないでしょう。 ただ、自分と違う答えであれば、自分のミスを疑いつつ、AIの結果に疑問を持つと思います。 そして、AIシステムから予測の不確かさの背後にある原因をフィードバックされないと、AIシステムへの信頼が失われていくと思いませんか。

このように確信度だけでは、不確実性の原因を特定することができず、利用者の意思決定の支援に役立てるのが難しいケースがあります。 もちろん、確信度を目安に使うだけで意思決定に影響なく、問題ないケースもあります。リスクの観点がポイントです。

このような背景もあり、不確実性の原因を特定するために、予測の不確実性を分解する形でOOの不確実性の定量化といった個別ケースの不確実性の定量化が取り組まれています。例えば、データの不確実性、モデルの不確実性があります。 このブログでは、OOの不確実性のOOに入る個別ケースを整理します。 中には定量化できていないもの。定量化方法が難しいものがあります。 しかし、大雑把に不確実性の原因がわかれば、後はデータ分析である程度の原因が明らかにでき、AIシステム提供者として利用者にフィードバックができると考えています。 また、不確実性の原因を解決するためにデータを収集するなど、モデル改善の意思決定にもつなげることができます。

似たような話で、ICML2021 Workshop "Uncertainty and Robustness in Deep Learning"のチュートリアルでは、予測モデルがまず間違っていることを知ることが役立つという話がありました。

f:id:masamasa59:20220404205331p:plain
ICML2021 Workshopの資料から抜粋

不確実性の原因を3つの観点で整理

ここまで、不確実性の原因を知りたい背景を説明しました。 ここから、本記事のテーマである不確実性の原因について整理していきます。 不確実性の原因を[Thomson 05]や[Skeels 2009]や[Gawlikowski 21] をもとに、3つの観点で順番に説明します。

  • データ収集の観点
  • AIモデル構築の観点
  • 総合的な観点

ここで紹介するものだけが不確実性の原因とは限りません。 気づいていないだけで別の原因は存在するものです。

データ収集時の観点

データ収集は、物理量をセンサーで計測するのか、人の意見・行動をアンケートや利用履歴で集めるのか、 または組合わせるのかで不確実性の原因が変わります。

両方を加味して、[Thomson 05] はデータ収集時の不確実性の原因を大きく3つ(Accuracy、Precisionとtrustworthiness)としています。 [Thomson 05] は、trustworthinessをさらに細かく7種類に分類し、計9種類としました。

ここで出てくる”情報” は、入出力 (x,y)の入力 xが得られる前の現象・真実と読み替えて問題ないです。 9つの分類と言葉の定義は以下です。

  • 精度/誤差 (Accuracy/ error):データ観測と真実の差
  • 正確性 (Precision):測定/推定の正確さ
  • 完全性 (Completeness):観測されたデータがどの程度、現象を包括しているか
  • 一貫性 (Consistency):情報の要素が一致している度合い
  • 系統(Lineage):情報の受け渡し経路による情報の損失
  • タイミング (Currency/ timing):情報の発生から収集・加工を経て利用されるまでの期間
  • 信憑性 (Credibility):データの信憑性
  • 主観性 (Subjectivity):データの構築に人間の解釈や判断がどの程度関与しているか
  • 相互関連性 (Interrelatedness):他の情報からの独立性

個別具体的な例を[Thomson 05]から引用して説明します。

カテゴリ サブカテゴリ
Accuracy Collection Accuracy(データ収集時の精度)
Processing errors(処理エラー)
Deception(ごまかし)
・英語に翻訳された文書には、翻訳エラーが含まれることがある。
・戦車50台が観測されたが、実際にはダミー戦車であったという報告書がある。
Precision Precision of collection capability(データ収集能力の精度) 衛星画像の解像度の問題
Completeness Composite completeness(構成の完全性)
Information completeness(情報の完全性)
Incomplete sequence(不完全な系列)
悪天候のため、特定の日に現地の衛星画像が得られないことがある。
・盗聴された音声には、はっきりしない言葉が含まれていることがある。
・確証のない情報は、不完全であるかもしれません。
Consistency Multi-INT Conflict
Model/observation Consistency
・複数の情報が衝突することがある。
・繰り返した観測値が異なる場合がある。
Lineage Translation(翻訳)
Transformation(変換)
Interpretation(解釈性)
機械翻訳は、言語学者による翻訳よりも不確実性が高い。
・測定値や信号が変換されている可能性がある。
・現実のデータ生成過程と、分析者が解釈した報告書とは異なる系譜を持つ 。
Currency/ timing Temporal gaps (時間的なギャップ)
Versioning
・新しいオブジェクトを示す画像は、そのオブジェクトが最初に出現した時期を示さない。
・イベントが発生してから、分析者が情報を利用できるようになるまで時間がかかる。
・報告書には複数のバージョンがあり、時には大きな変更が加えられることがある。
Credibility
Reliability(信頼性)
Proximity
Appropriateness
Motivation (of the source)
・意図的な偽情報の可能性がある。
・情報提供者がテーマに関する専門知識を持たない可能性がある。
・情報が二次的なものである可能性がある。
Subjectivity Analytic judgment(分析の判断) ・純粋な事実よりも付加された推測の量が多い。
Interrelatedness Source independence ・情報が他の報道された情報(繰り返されるニュース記事など)に由来する可能性が高い。

感覚的な部分も多く理解しにくい方向けに、[Thomson 05]が各不確実性の定量化の簡単化した例を紹介しています。

Category 確率的な表現 パラメータの例 具体的な定量
Accuracy/error Distribution of measurement error(測定誤差の分布) source variace \displaystyle{\sigma _ x^ 2 = \sigma _ s^ 2 }
Precision Measurement device limitations(データ計測装置の制限) Root mean square deviation \displaystyle{ \sigma _ x^ 2 = E[ (x _ {s}- \bar{x} _ {s})^ 2 ] }
Completeness Sampling error(サンプリングエラー) Variance and bias due to sampling error \displaystyle{\sigma _ x^ 2 = \frac{\sigma _ s^ 2}{\gamma} }
Consistency Repeatability across multiple sources(複数のソースにまたがる再現性) Inter-source variance \displaystyle{\sigma _ x^ 2 = \sigma _ k^ 2 + \sigma _ s^ 2 }
Lineage Change due to transformation stages(データ変換による変化) Additional variance and/or bias due to channel noise \displaystyle{\sigma _ x^ 2 = \sigma _ c^ 2 + \sigma _ s^ 2 }
Currency/ timing Dependence of accuracy on time of collection(時間的なギャップ) Dependence on collection time \displaystyle{ \sigma _ x^ 2(t, t _ s)= \sigma _ s^ 2 e^ {\frac {(t-t _ {s})}{\tau}}}
Credibility Dependence of accuracy on source (of the source) Additional variance due to source lack of knowledge \displaystyle{\sigma _ x^ 2 = \frac{\sigma _ s^ 2}{\alpha} }
Subjectivity Distribution of data depends on the analyst Variance of the analyst \displaystyle{\sigma _ x^ 2 = \sigma _ a^ 2 + \sigma _ s^ 2 }
Interrelatedness Lack of independence Source Correlation \displaystyle{r _ {1,2}^ {2}=E [\tilde{x} _ {1} \tilde{x} _ {2}] \geq 0}

数式の説明として、 \displaystyle{\sigma _ s^ 2 }は情報が与えられたもとで観測値の分散です。 \displaystyle{\sigma _ x^ 2 } はデータセットとして手元に入手した時のデータの分散です。データセットになるまでに、様々なバイアスが入り、元の分散より大きくなることが多いです。

\displaystyle{ \sigma _ k^ 2 }は別の情報による影響の分散です。 \displaystyle{ \sigma _ c^ 2 }は情報の伝達の中で生まれる分散です。  \gamma \in[0,1 ] は完全性を、 \alpha \in[0,1 ] は信憑性を表すパラメータです。 各分散が正しく推定できるかは、別問題です。

ここでは、データ収集時の知識の欠如として、情報の信憑性のなさ計測・入手の正確性の低さ観測データの網羅性の低さを説明しました。 不確実性の9つの分類の定義は、後の説明でも同じ意味で使います。

AIモデル構築時の観点

データ収集後も人間のAIモデル構築までの選択次第で、不確実性となる知識の欠如を引き起こしていきます。

アノテーションミスは、サンプルに誤ラベルをつけてしまうことです。 原因は、ワーカーのやる気やドメイン知識量による信頼性の問題なのか、データ収集ミスによるサンプルが識別困難な問題なのかに分かれます。 そもそも、アノテーションの考え方の違いで複数人でラベル付けが変わる場合もあります。

f:id:masamasa59:20220407180455p:plain:w500
アノテーションの個人差の例(MLOps: From Model-centric to Data-centric AIから引用)

データセット作成において、運用時とのデータの違いを考慮しておらず、訓練時との特徴量の違いから不確実性につながることがあります。 例えば、衛星画像の地物分類をおこなうとき、訓練データには春夏の青茂った森林が多く、期間的に短い秋の紅葉が少なくなる場合があります。

f:id:masamasa59:20220212125423p:plain:w500
訓練時と推論時で特徴が変化している例([Qin 22]]から引用)

学習時では、ニューラルネットワークのモデルパラメータの初期値依存性による局所解の違いから、予測の不一致が生まれます。 その原因は、サンプル不足や関数近似誤差とも考えられます。

f:id:masamasa59:20220407182444p:plain:w500
局所解の違いによる予測の不一致([Gawlikowski 21] から引用)

ここでは、AIモデル構築時の不確実性の原因として、データセットの現象の網羅性の低さアノテーションの質の低さモデルの近似誤差を説明しました。

総合的な観点

不確実性は、様々な箇所で発生することがわかりました。 これらを[Skeels 09] がまとめた結果、以下に分類され、レベルごとに不確実性は伝達されていきます。 レベル1ではデータ収集、レベル2ではデータ整形、レベル3ではAIモデル構築の不確実性の原因に該当し、全ての階層で不一致(inconsistency)と信憑性(Credibility)の原因がつきまといます。

f:id:masamasa59:20220403143550p:plain:w400
不確実性の階層構造([Skeels 09]から引用)
各階層については、触れてきたので、最後に全ての階層を横断する原因を説明します。

  • Approximation(近似)

図に書かれていませんが、全ての階層に横断する不確実性の原因です。 科学やその他の領域では、近似が必要な場合が多く、近似が不確実性につながります。 この不確実性は、測定される現象が持つランダムな変動によるもの、モデル化するために必要な単純化された仮定によるもの、センサーの計測機器の限界によるものがあります。また、母集団全体ではなく、サンプリングする場合にも近似が発生します。

  • Disagreement or inconsistency(不一致)

専門家同士の意見の不一致は、不確実性を示していると考えています。 測定精度の不一致は、同じものを複数回または異なるセンサーによって測定され、測定値が同じでない場合に発生します(系統誤差と偶然誤差)。 完全性の不一致は、データセットは部分的に重複しているが同一でない場合に予測で不一致が生じます。 推論の不一致は、同じデータから2つ(またはそれ以上)の異なる結論が導き出されることによって不一致が生じます。 これは、2人(またはそれ以上)の専門家がデータセットを見て異なる結論に達した場合や、2つの異なる数理モデルをデータセットに適用して推論を行った場合などが考えられます。

  • Credibility(信憑性)

不確実性の一種である信憑性は、データの出所に起因することもあります。 信頼できない情報源から得たデータは、信頼できる情報源から得たデータよりも不確実性が高いとみなされます。 信頼できる情報源とみなされない理由は、データ収集方法、またはデータの作成者の偏見や利益相反を取り巻く懸念に関連する可能性があります。 この不確実性は簡単に測定することはできません。 他のデータと矛盾するデータを作成する情報源、過去に信頼できないデータを作成した情報源、または何らかの理由で疑わしい情報源は、不確実性につながります。 しかし、何をもって信頼できる情報源とするかは、個人によって判断が異なる場合があります。

基準としては、過去の行動の関連性があげられています。 人からの情報源は、過去の行動や関連性から信頼できるとみなされることがあります。 専門医からの情報は、専門医の知識と専門性を信頼しているため、一般医からの情報よりも不確実性が低いかもしれません。

不確実性が伝達される例

これらの総合的な原因も理解した上で、不確実性の伝達の様子を[Skeels 09] の例を訳して説明します。

f:id:masamasa59:20220403145353p:plain
不確実性の伝達の例([Skeels 09]から引用)

ロボット犬がサッカーをするプロジェクトを例に、不確実性のレベルの違いとその相互作用について説明します。
犬がサッカーをするとき、問題の1つはサッカーボールの位置を特定することです。
各犬はボールの位置を把握するために複数のセンサーを持っています。
個々の犬のレベルでは、センサーデータのノイズにより計測の不確実性があります。
この計測の不確実性に加えて、理論的には連続であるが、実際にはサンプリングされているため、データの不完全性による不確実性も存在します。
また、センサデータをボールの位置に変換するモデルが近似であるため、不確実な測定値の不完全なサンプルをボールの位置の推定に使用する場合、推論レベルでも不確実性が存在します。
これは、1頭の犬であれば、ボール位置の不一致に基づく不確実性は存在しません。
しかしチームであるため、複数の犬によるボール推定位置の集合ができ、ボールの位置の確率を特定するための推論がおこなわれます。
結果的に、ボールがその時どこにあるかは、何重もの不確実性が混ざっています。
推論は他の推論の上におこなわれ、その推論は不完全なデータの集合の上でおこなわれています。

深層学習における予測の不確実性との繋がり

ここまで、不確実性の原因をデータ収集からAIモデル構築までの間で、分類しつつ説明してきました。 深層学習における予測の不確実性の定量化では、今まで上げた不確実性の何を定量化しているのか最後にまとめます。

[Gawlikowski 2021]のサーベイ論文からは、大きく2つの不確実性が定量化されています。 予測の不確実性において、データに内在する問題なのか、データの不足による問題なのかを区別することです。

  • データに内在する問題(データの不確実性)

データ収集の計測機器の制限の可能性(Precision)、データノイズの可能性(Accuracy)、類似データとの混同の可能性( Information completeness)、アノテーションミスの可能性(Credibility)であり、これらを区別せず、データの不確実性として定量化しています。

  • データ不足による問題(モデルの不確実性)

データ収集方法の欠陥による情報不足の可能性(Composite completeness)データ選択時の情報欠落の可能性(Completeness)、帰納バイアスによる分類境界の変動の可能性(Approximation)があり、これらを区別せず、モデルの不確実性として定量化しています。

情報の信頼性(信憑性)に関わる不確実性の定量化は、まだ研究レベルであり、取り組みが少ない認識です。

情報の信頼性に最も近い文脈だと、ワーカーのアノテーションの品質を情報の信頼性と捉えるのが近いかもしれません。 ただ、例えば、推論時に予測の不確実性が低く、その理由が ”推論データに最も近いデータをアノテーションしたワーカーは品質が高く信頼できるから。”と出力する説明は見たことはありません。

コラム

本筋とは関係ないですが、不確実性の原因をより広げた考え方と今日出てきた話と関連する概念を紹介します。

意思決定までの不確実性の伝達

今までの議論をより俯瞰的に見ると、不確実性は可視化と意思決定にまで広がっています[Kamal 2021] 。

f:id:masamasa59:20220403221416p:plain
人が意思決定するまでの不確実性の伝達の図([Kamal 2021] から引用)

Visualization uncertainty

可視化プロセスそのものが不確実性をもたらします。 例えば、データが多すぎると、可視化が乱雑になり、情報の整理ができず、人の知識の欠如(不確実性)が増大する可能性があります。

不確実性の可視化は、95%信頼区間に色つけるか、エラーバーか、テキストをカラー強調するのか、ぼかすか、%表記するのか様々です。 ユーザーの個々の能力や理解度によって、可視化される不確実性の種類が異なる可能性があります。 例えば、分数で不確実性を表現すると、分母を過小評価することがあります(比率バイアス)。例えば、9/11は10/13より小さいと考える人がいます。

f:id:masamasa59:20220403224305p:plain
不確実性の可視化方法([Bhatt 2021]から引用)

Decision uncertainty

まだ説明できるほどわかっていません。

不確実性の意識(Awareness)

最後にデータ分布外検知に関連する部分で完全性と近い概念の不確実性の意識(Awareness)があります[Sacha 16]。 手元のデータ情報から、自分が知っている情報(known knowns)と、存在は知っているが調べないとわからない情報(known unknowns)、自分が知らない情報(unidentified unknowns)を区別する概念です。

f:id:masamasa59:20220403162146p:plain:w300
不確実性の意識
予測の不確実性に対応させると、データの不確実性とモデルの不確実性は、known knowns とknown unknowns になります。 モデルの不確実性とは別に定量化してほしいunidentified unknowns に該当する不確実性として、ドメイン外の不確実性(Out-of-domain uncertainty )があります。 ドメイン外の不確実性は、訓練データに見たことあるなしに関係ないレベルの未知のデータに対して、不確実性を高めることが期待されています。 例えば、犬猫分類に猿の画像を入力された時を想定すると良いです。

まとめ

  • 不確実性の定量化の研究が盛んな動機は、AIシステムの出力結果をもとに意思決定する者を支援したいからだと考えています。
  • 不確実性の定量化を意思決定者に役立てるためには、不確実性の原因ごとに定量化する必要があることを説明しました。
  • 不確実性の原因をデータ収集時の観点、予測モデル構築時の観点、総合的な観点で整理しました。
  • 総合的な観点では、不確実性の原因は段階的に伝達されていき、最後は予測の不確実性として表現されることを例を用いて説明しました。
  • 深層学習では、不確実性の原因をデータに内在する問題、データ不足による問題と大きく抽象化し、定量化していることを説明しました。
  • 抽象化された不確実性から個別の原因を特定するには、不確実性の高いサンプルをより分析することで明らかになると思っています。

超個人的には、不確実性の定量化が、人とAIが協調する際の接着剤になればいいなと思っています。 人は、AIを過度/過小に信頼せず、AIも予測の不確実性を適切に定量化することで相互にバランスを取り、人とAIが適材適所する協調システムが実現できればと考えています。

興味が出た方は、私のGithubに不確実性に関する論文をまとめてあるので覗いてみてください。

github.com

参考文献

衛星画像を用いた地物分類の課題整理

こんにちは、スマートシティや公共インフラに関するAIが好きな一面もある@ottamm_190 です。

衛星画像の地物分類のサーベイ A Review of Landcover Classification with Very-High Resolution Remotely Sensed Optical Images—Analysis Unit, Model Scalability and Transferabilityを読んで、学んだことをまとめます。

この論文は、2022年2月時点で、高解像度な衛星画像の地物分類問題を、3つの観点で課題と解決手法をまとめています。

対象者:これから何かしらの社会課題を解決するときに、衛星画像を使いそうな人

数分で読めます。

高解像な衛星画像の定義

この論文では、高解像な衛星画像 (Very-High Resolution Remotely Sensed images) は、1ピクセルが地表の2m 以下としてます。

地物分類(Landcover Classification)タスク分類

  • scene classification:画像パッチを入力とし、シーンタイプを分類
  • semantic segmentation :画像パッチを入力とし、画像パッチ内の各ピクセルについて地物タイプを分類
  • object detection:画像パッチを入力とし、物体の種類を検出し、検出した物体ごとにバウンディングボックスを生成
  • instance detection: 物体検出で行ったバウンディングボックスを提供するだけでなく、バウンディングボックス内の物体の境界を定義
    f:id:masamasa59:20220212115935p:plain
    地物分類のタスク分類。Hoeserら[2] から引用

地物分類の3つの課題

チャレンジングな課題として以下3つを挙げていました。

  1. 分類精度に影響を与えるクラス内変動とクラス間類似性
  2. 学習データの不均衡、不整合、不足
  3. 異なるシーンや地域間で大きなドメインギャップの発生

(1) 分類精度に影響を与えるクラス内変動とクラス間類似性

地物分類は、クラス内変動が大きく、クラス間類似性が高い。 したがって、クラス間の違いを学習するのも難しく、各クラスにおいても、そのクラスたらしめる特徴を学習するのも難しいタスクです。

クラス内変動が大きい例

クラス内変動が大きい例を3種類(スケールの違い、オブジェクトの多様性、エリア:複数オブジェクトで定義されるクラス)示してました。

スケールの違い:大きさが撮影角度、高さにより種類が多い。

f:id:masamasa59:20220212114353p:plain
スケールの違い。Chengら[3]から引用
オブジェクトの多様性:駅のホームや教会など地域に依存することが多い。
f:id:masamasa59:20220212115249p:plain
オブジェクトの多様性。Chengら[3]から引用
エリア:商業、製造工場など、複数のオブジェクトをまとめると、多様性が増す。
f:id:masamasa59:20220212115557p:plain
複数オブジェクトで定義されるクラス。Chengら[3]から引用

クラス間類似性が高い例

道路と屋根、芝生と森などがクラス間で似ている。

f:id:masamasa59:20220212114319p:plain
陸橋と橋クラスが似ている。Chengら[3]から引用

(2) 学習データの不均衡、不整合、不足

データ収集やデータセット作成時に生まれる課題。

不均衡 クラスごとの学習サンプルの数は必ずしも同じとは限らず、シーンに依存することもあるため、学習サンプルのバランスが悪い。

不整合 クラウドソーシングデータセットや公開されたベンチマークデータセットは、クラス定義や詳細レベルに一貫性がない。 あるデータセットでは、広く都市エリアと定義し、別データセットでは、建物や道路と細かく定義している。

f:id:masamasa59:20220212120840p:plain
左図の方がクラスの粒度が荒い。Qinら[1]から引用
f:id:masamasa59:20220212121100p:plain
右図の方がクラスの粒度が荒い。Qinら[1]から引用

品質の欠陥

  • Incomplete Samples:テスト集合の分布をカバーできていない訓練集合。

  ex) 高解像度による詳細化にのため、データ不足・バイアス

  • Inexact Samples:訓練集合がテスト集合の不一致。

  ex) ラベルの解像度や詳細が運用時で異なるなど。

  • Inaccurate Samples:訓練集合、特にラベルが信頼できない。

  ex) クラウドソーシングによるアノテーションミス

(3) 異なるシーンや地域間で大きなドメインギャップの発生

地物分類の抱える時系列性、空間依存性による課題。特定のタスクで学習した分類モデルの汎用性が低い。

一般的な地表から撮影した画像

  • 下部が地面、左右が建物、画像の上部はほとんど空というシーンの構造が多い。

衛生画像

  • 画像の各部分に映り込むもの、その角度が大きく変化し、全く構造化されていない。
  • 大気の影響により物体の見え方が大きく変化する。
  • 地域によって土地柄が大きく異なる(都市と郊外、熱帯地方と寒帯地方など)。

実際に、訓練集合とテスト集合の特徴量のずれを以下で示していました。

f:id:masamasa59:20220212125423p:plain
左図:特徴量のクラス周辺分布のずれ、右図:各クラスの特徴量の分布のずれ。Qinら[1]から引用
結果を見ると、GrassやWaterクラスの特徴がソースとターゲットで大きくずれていることがわかります。 ずれが大きいほど、ターゲットタスクで分類が間違う可能性が高いです。 この結果からは、buildingは重なっていますが、都会や田舎、国の違いで大きくずれることが想定されます。

機械学習アプローチによる解決策

課題に対して、それぞれ解決策がまとまっていました。 記事のボリュームが増すので、アプローチだけ載せて、割愛します。

(1) 分類精度に影響を与えるクラス内変動とクラス間類似性

特徴量設計と、深層モデルのアーキテクチャ改善。

(2) 質の高い学習データの不均衡、不整合、不足の解決策

  • 弱・半教師あり学習
  • Open StreetMap、低解像度画像、部分的なラベル付けされたデータを使用
  • LiDAR、夜間光、SARデータなど multi-modality や multi-view dataの統合

(3) 異なるシーンや地域間で大きなドメインギャップの発生

ドメイン適応・転移学習

感想

高解像度な衛星画像の地物分類の課題感が大きくわかった。 特に、衛星画像のデータセット作成と別課題にデータセットの転用は以下の観点で難しいと感じました。

  • 分類手法がピクセルかボックスレベルかの違いによって、アノテーション方法が異なる。
  • 地物分類から解決したい課題によって、分類粒度のクラス定義が異なる。

また、高解像度されるほど、アノテーションコストが高く、自己教師あり学習と半教師あり学習の期待は高まると思いました。

参考文献

[1] Qin, R.; Liu, T. A Review of Landcover Classification with Very-High Resolution Remotely Sensed Optical Images—Analysis Unit, Model Scalability and Transferability. Remote Sens. 2022, 14, 646. https://doi.org/10.3390/rs14030646

[2] Hoeser, T.; Kuenzer, C. Object Detection and Image Segmentation with Deep Learning on Earth Observation Data: A Review-Part I: Evolution and Recent Trends. Remote Sens. 2020, 12, 1667. https://doi.org/10.3390/rs12101667

[3] Cheng, Gong, et al. "Remote sensing image scene classification meets deep learning: Challenges, methods, benchmarks, and opportunities." IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing 13 (2020): 3735-3756.

ICML 2021 論文要約 (2/2)

でかいおーたです. 知識の更新と新しいジャンルを開拓するべく,ICML2021の論文で興味のあった論文を読みました. 自分のメモでもありますが,背景と課題とアプローチ方法を簡潔にまとめました. 各要約の最初の数行を読んで,面白そうと思ったら,論文の方を読んでみてください. 少しでも,皆さんのためになれば幸いです.

Explaining Time Series Predictions With Dynamic Masks

Keyword:時系列データ,解釈性,マスク

学習済み多変量時系列予測・分類モデルの解釈性としてダイナミックマスクの学習方法を提案.入力データが多変量時系列の場合,時間依存性や多変量間の依存関係が複雑であり,一期先予測において,予測に重要な特徴とその時刻を解釈するのが困難.画像の分野で,モデル予測時に需要な特徴を強調する,saliency手法から着想を得ている.提案手法は,入力行列(多変量×系列長)と同サイズの[0,1]をとるマスク行列を学習させる.マスクの要素値が1に近いほど,その変量のその時刻の情報が需要だと解釈できる.マスクの学習方法は,3つの項からなる損失関数の最小化で実現.1項目は,マスクをかける前とかけた後の予測結果の誤差を小さくする項,2項目はマスクの各要素が0に近づくようにする正則化項.最後に隣接時刻間で似たマスクの要素をとるようにする正則化項である.実験では既存手法より需要な特徴に強調がなされている. f:id:masamasa59:20210710095721p:plain

Strategic Classification Made Practical

Keyword:戦略的分類,効用関数,トレードオフ分析

戦略的分類における学習アルゴリズムの実用的な一般化を提案.戦略的分類の設定は,利用者が公開された分類器に対して,予測された結果を改善するために,(ある程度のコストをかけて)戦略的に特徴を修正することで,利用者は望ましい結果を得ること(ゲーミング)ができる.この修正は,モデルの予測を無下にする可能性があり,戦略的分類の目標は,モデル設計者がゲーミングに頑健な学習アルゴリズムを設計することである.提案手法は,先行研究にならい,ユーザーが特徴の修正に対するコストが少ない中で,最も望ましい分類結果を得る戦略を取ると仮定し,効用関数のモデル化をおこなう.モデル設計者は,そんな修正が加えられた下でも,正しい分類結果が得られるようにロバストにモデルを学習する.ただし,トレードオフになるが,モデルの学習時に利用者全員の効用最大化も正則化項として加えることで,利用者全員の社会的に望ましい結果も優先できるようにした.

Multiscale Invertible Generative Networks for High-Dimensional Bayesian Inference

Keyword:高次元のベイズ推論,Flow,多段階解像度スケーリング

高次元のベイズ推論問題は,事後分布が複数のモードを持つ場合に,サンプル生成が長年の課題となっている.そこで,可逆可能な変換を利用し,低次元の事後分布から高次元の事後分布まで,反復的にアップサンプリングとサンプルの精密化を行うことにより,どの粒度でも(低次元から高次元まで)サンプル生成可能なMsIGN(Multiscale Invertible Generative Network)を提案.MsIGNはFlowベースの生成ネットワークであり,サンプルの生成と密度評価の両方を行うことができる.MsIGNの異なる解像度は別々に学習することができるため,その中間層の特徴は,最終的な高解像度出力の低解像度近似として解釈することができる.また,異なる解像度のネットワークを橋渡しするように設計されており,粗いものから細かいものへの多段階の学習を可能にしている.2つの高次元ベイズ逆問題において,MsIGNは事後分布を高精度に近似し,複数のモードを明確に捉えることができ,従来の深層生成ネットワークアプローチと比較して優れた性能を示した. f:id:masamasa59:20210711131552p:plainf:id:masamasa59:20210711131635p:plain:w500

What Are Bayesian Neural Network Posteriors Really Like?

Keyword:ベイジアンニューラルネットワーク,事後分布,HMC

ベイジアンニューラルネットワークは,ニューラルネットワークのモデルパラメータを確率変数とし,データが与えられたもとでのモデルパラメータの事後分布をもとに,予測分布を計算する.ただし,事後分布が高次元の非凸の多峰性の分布であるため,解析的に計算することができない.計算上の理由から,研究者は,平均場変分推論法や確率勾配マルコフ連鎖モンテカルロ法(SGMCMC)などのミニバッチ法を用いて,事後分布を近似している.そこで,この研究では,多くの計算資源と時間を費やして,フルバッチのハミルトンモンテカルロ法(HMC)を用いてなるべく正確に事後分布を近似し,最近の論文で指摘されている事項を調査している. その結果, (1) BNNは標準的な学習やアンサンブルよりも大幅に性能が向上すること, (2) 1本の長いHMCチェーンで, 複数の短いチェーンと同等の事後表現が可能であること,(3) 最近の研究とは対照的に, 最適に近い性能を得るためには事後テンパリングは不要であり,「cold posterior」効果を示す証拠はほとんどないことがわかったが,これは主にデータ拡張の結果であることを示した.(4) ベイジアンモデル平均の性能は,事前分布のスケールの選択に頑健であり, 対角線ガウス, ガウスの混合, ロジスティックの各事前分布で比較的類似している.(5) ベイジアンニューラルネットワークは,ドメインシフトのもとで驚くほど一般化しない.特に,アンサンブルの予測分布は,標準的なSGLDと同様にHMCに近く,標準的な変分推論よりも近いことである.

Active Testing: Sample-Efficient Model Evaluation

Keyword : 能動学習,テストサンプル,ベイジアンニューラルネットワークガウス過程

ラベル付けが高コストな問題に対して,どのデータにラベル付けをするかを能動的に選択する能動学習がある. しかし,テストデータに対しては能動学習をせず,大量のデータで評価することが多いが現実はラベル付けが高コスト. そこで,テストデータの効率的なラベル付けのために,テストサンプルを能動的に選択するフレームワークをActive Testingとして提案. 具体的には,経験的リスク推定値の精度を最大化(分散最小化)するためにテストサンプルを選択する獲得関数を導出する. 回帰問題のテストサンプルに対する獲得関数は,二つの項の和で表現される. 1項目が,テストサンプルのラベルを予測する代理モデルの予測平均と学習モデルの予測の二乗和誤差,2項目が,代理モデルの予測分散. 代理モデルは,訓練データとテストデータで学習され,予測の不確実性を必要とするため,ベイジアンニューラルネットワークガウス過程を用いる. 1項目を最大化する意味合いは,学習モデルの予測平均とテストデータも含めた代理モデルで誤差が大きいテストサンプルを選びやすくなる. 2項目を最大化する意味合いは,ラベルノイズである偶然誤差と今まで観測したことがない認識の誤差が大きいテストサンプルを選びやすくなる. 実験では,ランダムにテストデータを用意する方法より,テスト損失の分散を大幅に抑えた偏りのない推定値が得られた.

f:id:masamasa59:20210711131307p:plain:w400 f:id:masamasa59:20210711130511p:plain:w500

Learning Fair Policies in Decentralized Cooperative Multi-Agent Reinforcement Learning

Keyword:公平性,MARL

協調的マルチエージェント強化学習(MARL)における公平な方策の学習方法を提案.公平性には,平等性や比例性,パレート効率性,envy-freeなどがある.例えば,平等性は,全エージェントの総報酬和が均等となる.しかし,公平性は効率性とトレードオフである場合が多い.そこで,この研究では効率性と公平性を明示的に組み込んだ社会福祉関数(SWF)を最適化する問題として定式化する.エージェントは2段階のネットワークを通して公平な方策を学習する.最初に,自己関心の効率性を高める方策を学習する(効率性),そして次に社会福祉関数を最大化する(公平性).なぜなら,各エージェントは,自身に関する良い/悪い結果と,社会福祉に関する良い/悪い結果が,自分自身によるものか,他者の行動によるものなのかを知ることができなくなるため(非定常性を伴う信用割り当て問題).実験では,Matthew Effect: パックマン(公平性:すべてのパックマンが同じ大きさ)・分散型交通信号制御 (公平性:すべての交差点で待ち時間が少ない)・分散型データセンター制御(各ホストのネットワークスイッチのキュー長が同じ)で実施し,既存手法より総報酬も多く,公平な結果を実現した. f:id:masamasa59:20210710110242p:plain

Dash: Semi-Supervised Learning with Dynamic Thresholding

Keyword:半教師あり学習,動的な閾値,FixMatch

教師あり学習には,ラベルなしデータに疑似ラベルをつけて学習するアプローチがある.ラベルなしデータに間違った疑似ラベルをつけると通常の教師あり学習と比べ予測性能が劣化することが知られている.したがって,どのラベルなしデータにいつ疑似ラベルをどうつけるかが重要な問題となる.既存のFixMatchは,交差エントロピー損失を用いた分類タスクにおいて,予測確率の高い(例:0.95)ラベルなしデータに疑似ラベルをつけて学習している.しかし,固定の閾値では,モデル学習時に誤った疑似ラベルをつけてしまうこともある.そこで,提案手法は,各イテレーションおきに疑似ラベルをつけるサンプル数を動的に決定する閾値を導入した.最初は,閾値が高く徐々に減少する.既存手法に比べて,汎化性能が僅かに高かった. f:id:masamasa59:20210711132520p:plain:w600

Temporally Correlated Task Scheduling for Sequence Learning

Keyword:系列データ,方策,補助タスク(ハイパラ,データ)選択

この研究は,レイテンシー制約付き系列予測タスク(入力文の終わりを待たずに各単語を翻訳する同時翻訳,話者が発した各単語をリアルタイムに認識するストリーミング音声認識)や通常の系列データの将来予測(株価予測,行動予測,天気予報)を対象とする.系列データの学習タスクにおいて,時間的に相関のある別系列データを補助タスクとして用いると精度が向上する可能性がある.しかし,時間的に相関のある補助タスクが複数ある場合,学習過程でどのタスクをいつ使用するかが重要な課題である.そこで,系列データ学習のための学習可能なタスクスケジューラを導入し,学習過程において時間的に相関のある補助タスクを適応的に選択する.タスクスケジューラは,方策ネットワークとみなすことができ,現時刻のデータと予測モデルのパラメータをもとに,どの補助タスクかを選択.状態は,現時刻のデータと予測モデルのパラメータを低次元表現したベクトル,行動は補助タスクの選択,報酬は,選んだ補助タスクをもとに学習した予測モデルを評価データで評価した予測精度.方策ネットワークは,REINFORCE アルゴリズムで学習する.提案手法は,DDS(Different Data Selection)に近い.主な違いは,DDSがデータセットから訓練データをより良く選択することを目的としているのに対し,提案手法は時間的に相関のあるタスク(およびそれらに対応するデータ)をより良く利用することを目的としている.実験では,エポックが進むにつれ,補助タスクの選定が安定してくることを確認し,性能も既存手法より高いことを示した.

Delving into Deep Imbalanced Regression

Keyword:不均衡データ,回帰,カーネル関数,分布平滑化

不均衡データに対する既存技術は,分類問題が多い中,回帰問題に対して,Deep Imbalanced Regression (DIR)を提案.ラベル空間が連続な不均衡データの例として,CVの顔画像から年齢推定タスクがある.このタスクは,年齢が連続的なターゲットであり,不均衡になる可能性がある.異なる年齢を別々のクラスとして扱うと,年齢が近い人の間の類似性を利用できないため,良い結果が得られない可能性がある.そこでラベル空間がカテゴリと連続で違う,ラベル値の近傍の類似性に着目し,ラベルと低次元特徴量の両方に対して,カーネル関数を用いた分布平滑化を行うことを提案.提案方法は,既存のFocal lossを用いた手法に付け加え拡張することも可能.また欠損のあるラベルに対しても補完することができる.実験では,CV,NLP,ヘルスケアにおける一般的なタスクから大規模なDIRデータセットを作成し実施した.結果,少数ラベルの予測性能(MAE)が既存手法より,0.2~3.0%改善した.

f:id:masamasa59:20210711002609p:plain:w500 f:id:masamasa59:20210711002551p:plain:w500

ICML 2021 論文要約 (1/2)


知識の更新と新しいジャンルを開拓するべく,ICML2021で面白そうな論文を数本読み,要約をまとめました. 特に論文の種類に一貫性があるわけではないですが,問題の背景と課題と手法を端的にまとめました. 各要約の最初の数行を読んで,面白そうと思ったら,論文の方を読んでみてください. 少しでも,皆さんのためになれば幸いです.

Simultaneous Similarity-based Self-Distillation for Deep Metric Learning

Keyword : 深層距離学習,自己蒸留

Deep Metric Learning(DML)の汎化能力は,埋め込み空間の次元数が高次元であるほど高いことが知られている.しかし,高次元の埋め込みは下流タスクの検索コストを増大させる.そのため,埋め込み次元を大きくできないのが現状.そこで,提案手法はDMLに次元ベースの知識蒸留を提案.次元数の異なる高次元の埋め込み関数をそれぞれ持つ教師らを,生徒と一緒のデータで学習しつつ,生徒となる低次元埋め込み関数に知識蒸留をおこなう.高次元でも次元数を変えることで,埋め込まれる特徴がそれぞれ変化し,複数の教師から生徒に複数の特徴情報が蒸留される.肝は,埋め込み次元数の異なる関数に対して,どう蒸留するか.提案手法は,NNの重みをKLDで近づけるのではなく,埋め込みベクトルから内積を用いたグラム行列を作成し,教師と生徒のグラム行列をKLDで近づけ,次元の問題を解決した.既存のDMLタスクの汎化性能を大幅に向上させ,SOTAを達成した. f:id:masamasa59:20210711135654p:plain

Offline Reinforcement Learning with Pseudometric Learning

Keyword : オフライン強化学習, ボーナス, Pseudometric

オフラインRLは,環境との相互作用なしで,過去のログ(状態,行動,報酬,次状態)から方策を学習する.ログは,環境における可能な状態行動ペアのうち一部しか集まっていない.したがって,オフラインRLは,ログに近い状態を維持しつつ,報酬を最大化する方策を学習する必要がある(外挿問題).そこで,提案手法は,報酬と異なるボーナスの概念を用いる.現状態と行動のペアと最も類似度の高い状態と行動を,ログから探し,その類似度が高いほど,正のボーナスを多く与える.これは,過去に似たログがあるならば,積極的にその状態と行動を取るように方策に促し,外挿問題に対処している.アルゴリズムとしては,ActorCriticの目的関数にボーナスを加える.状態行動ペア間の類似度を測るために,Pseudometric Learningの方法として,Siamese netを用いた.ログからボーナスを計算するために行う最近傍探索は計算コストがかかるが,実験では,既存の最先端手法と同等の性能を発揮することを実証した.

Hyperparameter Selection for Imitation Learning

Keyword : 模倣学習, Wasserstein 距離, ハイパーパラメータ選択

Imitation Learningでは,環境との相互作用は可能だが,報酬を見ずに学習率などのハイパーパラメータ(HP)を選択すべきである.しかし,既存手法では,デモンストレーションからエージェントを設計する際に,神のみぞ知る報酬でエージェントを選択している.そこで,HP選択のために,報酬の代わりとなる代理の評価指標を提案.9つの連続制御タスクについて,評価指標を用いてモデル選択とハイパラ選択を評価した.結果,代理指標としては,デモンストレーション時に観測した状態分布と学習エージェントの軌跡からもとまる状態分布とのWasserstein 距離基準が最もHP選択によく,累積報酬が高くなった.また,あるタスクで定めたHPを別のタスクに移植した場合,性能が改善するか確認したが,むしろ悪化した.原因は,各タスクで高性能を発揮するHPの構成が異なると言及.タスクに関しては,OpenAI Gym内で異なるタスクを選定.

GeomCA: Geometric Evaluation of Data Representations

Keyword : 特徴表現,グラフ連結成分

生成モデルや自己教師あり学習(対照学習)などで学習した表現の品質を,下流のタスクに頼らずに評価することは,表現学習における課題の一つである.この研究では,表現空間をトポロジー・位相的特性に基づいて評価するGeometric Component Analysis (GeomCA)アルゴリズムを提案.GeomCAは,表現空間のデータの多様体を訓練データ集合と評価データ集合で似た構造になっているかをグラフを利用して評価する.そこで,訓練データ集合と評価データ集合の各データをNNを通し,得た特徴ベクトルをノードとする.エッジは,各ノードのε近傍に存在するノード同士で張る.訓練データ集合と評価データ集合それぞれでグラフを作成し,グラフ間の類似度を測る.類似度は,局所的と大域的な指標がある.局所的には,グラフの連結成分の個数とその連結成分に含まれるノード数の一致度の指標.さらにグラフ間を結ぶエッジの数を元に作成した指標を提案.大域的には,既存研究と類似したPrecision と Recall スコアを用いる.対比学習モデル,生成モデル,教師付き学習モデルなどの様々なシナリオから得られた表現を分析することで,その適用性を評価した.

f:id:masamasa59:20210711140201p:plain:w500f:id:masamasa59:20210711140218p:plain:w500

Differentiable Particle Filtering via Entropy-Regularized Optimal Transport

Keyword : 粒子フィルタ, 最適輸送, Sinkhorn Algorithm

粒子フィルタ(PF)は,非線形状態空間モデルの推論を行う手法の一つである.リサンプリングはPFの重要な要素であり,低分散の尤度と状態の推定値を得るために必要である.しかし,従来のリサンプリング法では,PFに基づく損失関数は,モデルパラメータに対して微分不可である.そこで,提案手法は,完全にEnd2Endで学習する微分可能なPFを提案. 変分推論におけるELBO最大化を行う場合,リサンプリングステップでは,REINFORCE勾配推定値を使用しなければならないため,分散が高くなる.そこで,リサンプリングに最適輸送のSinkhorn Algorithmを利用して,原理的に微分可能なPFを導入した.粒子フィルタのリサンプリングに最適輸送の考えを用いる手法は,既にEnsemble Transform Resamplingがある.それは,粒子フィルタのリサンプリングを分散を抑えるが,線形計画問題で解くため,計算時間がO(N3 logN)かかる,かつ微分不可能だった.そこで,Sinkhorn Algorithmを採用することで,O(N2)になり,微分可能になる.複数の実験設定でSOTA.

REPAINT: Knowledge Transfer in Deep Reinforcement Learning

Keyword: 強化学習, 知識蒸留, 経験再生

要約:強化学習において,別タスクで学習した知識を利用し,複雑なタスクの学習時間を削減する転移学習には,パラメータ,表現,インスタンスの3種類の方法がある.この論文では,方策オフ型のインスタンス転移学習を導入し,それを方策オン型の表現の転移学習と組み合わせる.学習アルゴリズムは知識の転移でほとんど用いられていないActorCriticを採用.方策オン型での転移方法は,方策のパラメータの蒸留をアニーリングしながらおこなう.方策オフ型の転移方法は,教師方策で集めた経験再生をもとにターゲットタスクに合うサンプルの選択方法(advantage-based experience selection )を提案し,Clipped PPOで学習する.総学習時間を大幅に短縮でき,他手法より性能改善.

Inverse Constrained Reinforcement Learning

Keyword : 制約付き強化学習, 確率モデル, 尤度最大化

専門家のデモンストレーションからRLエージェントがしてはいけないこと(制約条件部分)を学習し,それを報酬関数と組み合わせて方策を学習することで,エージェントは,制約部分の状態と行動を取らないようになる.具体的には,通常のシミュレータでは表現しきれない暗黙的な制約条件(報酬関数で定量的に設計するには複雑で難しいこと,常識的なルール,Preferenceとか )があるとき,専門家のデモンストレーションとエージェントの軌跡データの状態・行動のペアに対して,制約条件か否かをNNに学習させる.制約条件が少なくなるような正則化が入っている. f:id:masamasa59:20210711135918p:plain

Differentiable Spatial Planning using Transformers

Keyword : Transformer, 空間経路計画

空間経路計画の問題に対して,新しい計画をゼロから最適化する古典的な解決法とは対照的に,過去のデータから, 微分可能な方法で計画を学習する.空間経路計画とは,環境の障害物地図と地図上のゴールの位置が与えられたとき,地図上の任意の位置からゴールの位置までの最短経路を出力することである.従来のCNNアプローチからTransformerを用いることで,空間上の長距離の情報伝播が可能な空間計画モデルを設計した.提案したSPTは,地図とゴールを入力とし,すべての場所からゴールまでの距離を予測する.古典的な計画問題に比べ,地図が大きくなっても,実行時間を抑えている.またSPTが地図の教師データなしにマッピングを学習することで,未知の地図に対応できることを実証した. f:id:masamasa59:20210711140616p:plain

A Bit More Bayesian: Domain-Invariant Learning with Uncertainty

Keyword : Domain Generalization, ELBO

Domain Invariant Learningは,ドメイン一般化のアプローチのひとつである.ドメイン一般化の例としては,画像の回転角度によらず数字を正しく識別するケースがある.Domain Invariant Learning のドメイン不変予測器とドメイン不変特徴抽出器のモデルパラメータを両方ともELBO最大化をおこない,異なるドメインに対しても予測性能でSOTAを達成した.事前確率もガウス分布と普通だが,両方のモデルをベイズ化したのが初めて.ドメイン不変分類器や特徴抽出器のELBO最大化時に,異なるドメインに対する分類結果をKLDで近づけるように学習することで,ドメインの違いを吸収し,異なるドメインに対しても汎化することを狙っている.

交通のAI研究動向まとめ

こんにちは、関学M1の太田です。ここ半年ぐらい交通×AIを追っかけていたのでまとめておきます。読者層は交通関連の研究したいと思っている人向けです。  

本記事は、交通×AIの研究をするにあたって概要を掴むのに僕自身もお世話になった勉強教材をまとめました。 内容としては、以下の通りで紹介していきます。正直長くなりすぎたのでどっかで分割するかもです。
- 1. 交通×AIの概観を掴むスライド
- 2. サーベイ論文
- 3. 研究動向 様々な交通機関における需要予測
- 4. 研究動向 タクシーの配車と再配置アルゴリズム
- 5. 書籍
春から交通関連の研究したい人は、1. 2. 5.を読むといいかもしれません。

  • 交通✖️AIまとめスライド
    • 交通業界へのAI応用事例を網羅的に紹介
  • サーベイ論文の紹介
    • [1906.04928] Deep Learning for Spatio-Temporal Data Mining: A Survey
    • [1908.10218] Urban flows prediction from spatial-temporal data using machine learning: A survey
    • [1711.04710] Spatio-Temporal Data Mining: A Survey of Problems and Methods
    • Spatial and Spatiotemporal Data Mining
    • Trajectory Data Mining: An Overview
    • [1906.05433] Tackling Climate Change with Machine Learning
    • 交通のための深層強化学習入門
    • Forecasting Big Time Series: Old and New
  • 深層学習による交通の需要予測手法
    • 基礎技術
      • DNN-Based Prediction Model for Spatial-Temporal Data
      • Grids versus Graphs: Partitioning Space for Improved Taxi Demand-Supply Forecasts
    • Bike Sharing
      • Bicycle-Sharing System Analysis and Trip Prediction
      • Traffic Prediction in a Bike-Sharing System
      • Dynamic repositioning strategy in a bike-sharing system; how to prioritize and how to rebalance a bike station
    • Taxi
      • Predicting Taxi Demand Based on 3D Convolutional Neural Network and Multi-task Learning
    • Crowd Flow
      • [1701.02543] Predicting Citywide Crowd Flows Using Deep Spatio-Temporal Residual Networks
      • Estimating People Flow from Spatiotemporal Population Data via Collective Graphical Mixture Models
    • Metro
      • DeepPF: A deep learning based architecture for metro passenger flow prediction
    • Traffic Flow
      • Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting
  • 強化学習による配車・再配置アルゴリズム
    • 近年のDiDiの論文を4本紹介した資料
    • [2002.06723] Reward Design for Driver Repositioning Using Multi-Agent Reinforcement Learning
    • [1911.11260] Deep Reinforcement Learning for Multi-Driver Vehicle Dispatching and Repositioning Problem
    • [1901.11454] Efficient Ridesharing Order Dispatching with Mean Field Multi-Agent Reinforcement Learning
    • [1905.11353] CoRide: Joint Order Dispatching and Fleet Management for Multi-Scale Ride-Hailing Platforms
    • Multi-Agent Reinforcement Learning for Order-dispatching via Order-Vehicle Distribution Matching
    • [1903.03882] DeepPool: Distributed Model-free Algorithm for Ride-sharing using Deep Reinforcement Learning
    • Planning and Scheduling Approaches for Urban Traffic Control
  • 書籍
    • Urban Computing
    • MaaS モビリティ革命の先にある全産業のゲームチェンジ
    • Beyond MaaS 日本から始まる新モビリティ革命 ―移動と都市の未来―
    • スマートモビリティ革命
  • まとめ

続きを読む

変化点検知とメタラーニングの統合論文の紹介(前半)

今日紹介する論文は、Continuous Meta-Learning without Tasksです。

要約すると、オンラインタスク変化検知とメタラーニングの統合手法の提案になります。今までのメタラーニングは、タスクを複数に分割して考えていたが、実問題では、環境は変化し続け、タスクを区切ることは難しいです。提案手法は、時系列でタスクが変化したかどうかをオンラインで推論できるようにしています。つまり、複数のタスクに分割する必要がなく、時系列データのまま、直接トレーニングおよびテストすることができます。

提案手法名はMOCA(Meta-learning via Online Changepoint Analysis)だそうです。

f:id:masamasa59:20200114203722p:plain
提案手法のMOCAの概略図。タスクがヨットとナマケモノの分類から、バスとガチョウの分類に切り替わる時に、タスクの継続を表す連長が0を推定すると変化点検知成功になります。

Meta-Learning

メタラーニングは、あるタスクにだけ汎化するような学習はせず、複数のタスクに対して汎化するような学習方法です。用語を説明すると、タスクは、猫犬分類とか猿犬分類とか、回帰のことを指します。汎化はテストデータに対して予測分類が上手くいくかです。K個のタスクで訓練し、テスト時も同じK個と変わらないのであれば、マルチタスク学習になりますが、メタラーニングの場合、K個のタスクで訓練し、テスト時に、訓練で見たことないタスクに対しても汎化することを目的にしています。つまりタスク分布という概念を考え、タスク分布からサンプリングされた複数のタスクで学習したモデルを用いて、テスト時にまたタスク分布からサンプルされた別のタスクに対して汎化することを目指します。

メタラーニングの手法はmeta-training と online adaptationの二段階になっています。 meta-trainingとは、複数のタスクに汎化するための枠組みで必要なパラメータを学習することを言います。このとき、学習するパラメータをメタパラメータ \theta と言います。online adaptationとは、メタパラメータを持つ枠組みから得られる結果を用いて今のタスクのデータに適合する段階を指します。

抽象的で分かりにくいと思うので説明をわかりやすくするため、メタラーニングの手法を区別するポイントを説明します。メタラーニングは、Online Adaptationの最中にコンテクストデータ \mathcal{D} _ {t}=(\boldsymbol{x} _ {1: t}, \boldsymbol{y} _ {1: t})から統計量を作ります。ちなみに、この統計量にそのタスクの情報が詰まっていることが期待され、この統計量の導出方法に違いがあります。先ほどの複数のタスクに汎化するための枠組みが以下の関数 f_{\boldsymbol{\theta}} になります。

 \boldsymbol{\eta}_{t}=f_{\boldsymbol{\theta}}\left(\mathcal{D}_{t}\right)

メタラーニングの代表的な手法MAML, Neural Processes (NPs), recurrent network-based meta-learning algorithmsを統計量の違いで説明すると、MAMLは統計量  {\eta} _ {t} がNNの重みとして表現されます。NPsの場合は、統計量  {\eta} _ {t} がコンテクストデータをNNでエンコードし、集約したパラメータ値になります。集約は合計や平均、最大値、Attention など色々あります。recurrent network-based meta-learning algorithmsの場合、統計量は、そのNNの隠れ状態になります。その感覚を持ってそれぞれの論文を読むと分かりやすいと思います。

話を戻して、メタラーニングのmeta-trainingにより、各タスクの統計量やパラメータを作成するために f_{\boldsymbol{\theta}} のメタパラメータを学習し、Online Adaptationで目的のタスクのデータに汎化するように以下のような予測・分類モデルのパラメータを学習します。

 \boldsymbol{y}\left|\boldsymbol{x}, \mathcal{D}_{t} \sim p_{\boldsymbol{\theta}}\left(\boldsymbol{y} | \boldsymbol{x}, \boldsymbol{\eta}_{t}\right)\right.

ベイズの観点から、上記の式を見ると、タスクの入力とタスクの統計量が与えられたもとで、出力確率を求めることになるので、事後予測分布として見ることができます。この事後予測分布は、その真のタスク分布とどのくらい近いかで評価されます。

 \mathcal{L}\left(\mathcal{D}_{t}, \boldsymbol{\theta}\right)=D\left(p\left(\boldsymbol{y} | \boldsymbol{x}, \mathcal{T}_{i}\right) \| p_{\boldsymbol{\theta}}\left(\boldsymbol{y} | \boldsymbol{x}, f_{\boldsymbol{\theta}}\left(\mathcal{D}_{t}\right)\right)\right)

この近さをKLで測ると負の対数尤度最小化の式とみなせます。
上記の損失関数を含め、メタラーニングの目的関数をかくと、

 \min _{\boldsymbol{\theta}} \mathbb{E}_{\mathcal{T}_{i} \sim p(\mathcal{T})} [ \mathbb{E}_{\mathcal{D}_{t} \sim \mathcal{T}_{i}} [\mathcal{L}(\mathcal{D}_{t}, \boldsymbol{\theta}) ] ]

と表せます。 上式を読み解くと、タスク分布 p(\mathcal{T}) からタスク {\mathcal{T} _ {i}}を複数サンプルし、そのタスクからデータセット {D}_{t} が複数サンプルされていると仮定します。そのデータセットを用いて、誤差関数 \mathcal{L}(\mathcal{D} _ {t}, \boldsymbol{\theta})を計算します。この目的関数が小さくなるように、メタパラメータと予測モデルのパラメータを学習すると複数のタスクに汎化するようになります。
詳しく知りたい人は、Chelsea FinnさんとSergey Levineさんのメタラーニングまとめがあるのでそちらを見てください。 drive.google.com

Bayesian Online Change Point Detection

この手法は、非定常系列データに対してリアルタイムで変化点検出ができます。この手法の肝は、「連長」の事前分布を仮定するところに全てが詰まっている気がします。用語の説明からすると、連長(run length)は時刻ごとに r _ t として定義されます。意味は、変化点から経過したステップ数です。例として、10ステップに対して変化点が5と8であった時、連長 r = \{r_t \} _ {t =1} ^ {10}は、 r = [0, 1, 2, 3, 0, 1, 2, 0, 1, 2 ] となります。肝である「連長」の事前分布の設計によって、どのくらい連長が大きくなるかが決まります。提案手法だと連長は、タスクの長さを意味し、以下のベルヌーイの事前分布を用いています。タスクが切り替わる確率は p\left(r _ {t+1}=0 | r _ {t}\right)=\lambda, タスクが継続する確率は p(r _ {t+1}=k |r _ {t})=(1-\lambda) \mathbb{1}\{r _ {t}=k-1\}で表しています。著者の実験コードを見ると \lambda \approx 0.278ほどでした。つまり各時刻で3割の確率で新しいタスクに切り替わるような事前分布を設計しています。 本題は、オンラインで変化検知を行う方法なので、それは以下の事後予測分布を計算する必要があります。

p\left(\boldsymbol{y}_{t} | \boldsymbol{y}_{1: t-1}\right)=\sum_{r_{t}=0}^{t-1} p\left(\boldsymbol{y}_{t} | \boldsymbol{y}_{1: t-1}, r_{t}\right) b_{t}\left(r_{t}\right)

 p\left(\boldsymbol{y} _ {t} | \boldsymbol{y} _ {1: t-1}, r _ {t}\right) はunderlying predictive model (UPM)と呼ばれ、目的に応じて変わり、事後分布は、  b _ {t}\left(r _ {t}\right)=p\left(r _ {t} | \boldsymbol{y} _ {1: t-1}\right)で表します。連長の事後分布によりタスクが切り替わるか確率的に推定でき、予測分布から変化点を検出できます。具体的な式は、次回の手法の解説か島田直希さんの時系列解析4章を見てください。

まとめ

次回に手法のアルゴリズムと実験についてかきます。 Openreviewを見ると、ICLR2020にrejectされいます。理由は、問題設定の新規性が薄いそうです。確かに、前のブログでも書いたLife-long Learningもありますし、査読者は、他にも似たような問題設定を論文2つあげていました。また、このアプローチの実際的な有用性についての議論とタスクのセグメンテーションが本当に利用できない状況で性能調査があると良いそうでした。

[1] Rahaf et el. "Task-Free Continual Learning".
[2] Riemer et al. "Learning to learn without forgetting by maximizing transfer and minimizing interference".

再帰的な潜在変数モデルの論文を読んだので紹介

NIPS 2015にアクセプトされたA Recurrent Latent Variable Model for Sequential Dataを紹介します。 2015と少し古いですが、基礎を疎かにするとなんたるやと言うように、系列データの深層生成モデルの基礎になる論文だと思います。他の論文の関連研究で結構出てくるVRNNとはこの論文のことを指します。

この論文は、深層生成モデルの定番VAEを音声などの系列データを生成するモデルに拡張しました。ざっくりいうとRNN +VAEといったところです。

お気持ちとしては、RNN(recurrent neural network)では、内部状態が決定論的であり、DBNs (dynamic Bayesian networks, 例:Hidden Markov models (HMMs) , Kalman filters)は時間遷移が確率論的で、その両方のいいとこ取りをするという論文です。

RNNとDBNsの共通点と相違点

共通点は:(1)内部の隠れ状態の発展を決める遷移関数、および(2)状態から出力へのマッピングがあること。
相違点は:(1)DBNsは内部状態の遷移が線形などシンプル、RNNは非線形で複雑であること。(2)内部状態が確率論的と決定論的。

相違点の(2)にこの論文は、着目しています。 自然な音声などに含まれる変動を確率的に捉えたいが、既存のRNNのモデルだとランダム性は、出力の条件付き確率分布の分散で捉えることになるが、それでは捉えきれない。そこで、内部状態に高次元の潜在変数を使い、自然な音声に含まれる変動をモデル化することが狙いです。

ノーテーション

系列データは、 \mathbf{x}=\left(\mathbf{x} _ {1}, \mathbf{x} _ {2}, \dots, \mathbf{x} _ {T}\right)と表します。また、時刻に依存する隠れ状態を \mathbf{h} _ {t}とするとき、RNNは再帰非線形関数 \mathbf{h} _ {t}=f _ {\theta}\left(\mathbf{x} _ {t}, \mathbf{h} _ {t-1}\right)として表せます。さらに系列データ \mathbf{x} の潜在変数は、 \mathbf{z}=\left(\mathbf{z} _ {1}, \dots, \mathbf{z} _ {T}\right)と定義します。

Variational Recurrent Neural Network

同時確率から各分布の構成を説明していき、最後に推論時の変分事後確率を説明します。 以下の式が同時確率分布になります。

f:id:masamasa59:20191231112402p:plain:w500

尤度関数は、前時刻の隠れ状態 \mathbf{h} _ {t-1}と現時刻の潜在変数の非線形変換 \varphi _ {\tau}^ {\mathbf{z}}(\mathbf{z} _ {t}) に基づいてデータ \mathbf{x} _ {t} は生成されると仮定しています。

\mathbf{x} _ {t} | \mathbf{z} _ {t} \sim \mathcal{N}\left(\boldsymbol{\mu} _ {x, t}, \operatorname{diag}\left(\boldsymbol{\sigma} _ {x, t}^ {2}\right)\right), \text { where }\left[\boldsymbol{\mu} _ {x, t}, \boldsymbol{\sigma} _ {x, t}\right]=\varphi _ {\tau}^ {\operatorname{dec}}\left(\varphi _ {\tau}^ {\mathbf{z}}\left(\mathbf{z} _ {t}\right), \mathbf{h} _ {t-1}\right)

事前確率は、各時刻ごとにガウス分布に従いますが、標準ガウス分布ではなく一時刻前の隠れ状態 \mathbf{h} _ {t-1} に依存して平均と分散が決まります。

 \mathbf{z} _ {t} \sim \mathcal{N} (\boldsymbol{\mu} _ {0, t}, \operatorname{diag}(\boldsymbol{\sigma} _ {0, t}^ {2})), \text { where }[\boldsymbol{\mu} _ {0, t}, \boldsymbol{\sigma} _ {0, t} ]= \varphi _ {\tau}^ {\text {prior }}(\mathbf{h} _ {t-1})

 \varphi _ {\tau}^ {\text {prior }},  \varphi _ {\tau}^ {\text {dec }}はNNです。  \varphi _ {\tau}^ {\mathrm{x}} , \varphi _ {\tau}^ {\mathrm{z}}は特徴抽出器にあたるNNです。普通のRNNは、特徴抽出器 \varphi _ {\tau}^ {\mathrm{x}}と全結合NNの生成器 \varphi _ {\tau}^ {\text {dec }}だけを用いています。ちなみにVAEは、 \varphi _ {\tau}^ {\text {enc }},  \varphi _ {\tau}^ {\text {dec }}を使用したモデルに対応します。それに比べ、VRNNは、 \varphi _ {\tau}^ {\text {prior }},  \varphi _ {\tau}^ {\text {dec }},  \varphi _ {\tau}^ {\text {enc }},  \varphi _ {\tau}^ {\mathrm{x}} , \varphi _ {\tau}^ {\mathrm{z}}と多いですね。また、VRNNは通常のRNNと違い、再帰非線形関数 f _ {\theta} に潜在変数の特徴  \varphi _ {\tau}^ {\mathbf{z}}\left(\mathbf{z} _ {t}\right) が加わり、再帰非線形関数は \mathbf{h} _ {t}=f _ {\theta}\left(\varphi _ {\tau}^ {\mathbf{x}}\left(\mathbf{x} _ {t}\right), \varphi _ {\tau}^ {\mathbf{z}}\left(\mathbf{z} _ {t}\right), \mathbf{h} _ {t-1}\right)で定義されます。 なぜ潜在変数そのまま使わず、潜在変数の特徴  \varphi _ {\tau}^ {\mathbf{z}}\left(\mathbf{z} _ {t}\right) にするのか分かりません。RNNに入力するのに、次元を揃える必要があるからなんでしょうかね。ちなみに \mathbf{h} _ {t}に含まれる情報は、 \mathbf{x} _ {\leq t} ,\mathbf{z} _ {\leq t}が込められています。

Inference

ここで、潜在変数の変分事後分布は、以下のガウス分布で定義します。

 \mathbf{z} _ {t} | \mathbf{x} _ {t} \sim \mathcal{N}\left(\boldsymbol{\mu} _ {z, t}, \operatorname{diag}\left(\boldsymbol{\sigma} _ {z, t}^ {2}\right)\right), \text { where }\left[\boldsymbol{\mu} _ {z, t}, \boldsymbol{\sigma} _ {z, t}\right]=\varphi _ {\tau}^ {\mathrm{enc}}\left(\varphi _ {\tau}^ {\mathbf{x}}\left(\mathbf{x} _ {t}\right), \mathbf{h} _ {t-1}\right)

この潜在変数の事後分布は、 \mathbf{h} _ {t-1}, \mathbf{x} _ {t}に基づいているので、 \mathbf{x} _ {\leq t}, \mathbf{z} _ {\leq t-1}が与えられたもとでの事後分布ということになります。

 q\left(\mathbf{z} _ {\leq T} | \mathbf{x} _ {\leq T}\right)=\prod _ {t=1}^ {T} q\left(\mathbf{z} _ {t} | \mathbf{x} _ {\leq t}, \mathbf{z} _ {\leq t-1}\right)
時系列になると添字を注意深く見ないと依存関係が分かりづらいですが、論文中の以下の図を見ると依存関係が整理しやすいですね。
f:id:masamasa59:20191231142251p:plain
グラフィカルモデル

Learning

パラメータの学習はELBOの最大化でおこないます。

 \mathbb{E} _ {q\left(\mathbf{z} _ {\leq T} | \mathbf{x} _ {\leq T}\right)}\left[\sum _ {t=1}^{T}\left(-\operatorname{KL}\left(q\left(\mathbf{z} _ {t} | \mathbf{x} _ {\leq t}, \mathbf{z}_{\leq t-1}\right) | p\left(\mathbf{z} _ {t} | \mathbf{x} _ {\leq  t-1}, \mathbf{z} _ {\leq  t-1}\right)\right)+\log p\left(\mathbf{x} _ {t} | \mathbf{z} _ {\leq t}, \mathbf{x} _ {\leq t -1 }\right)\right)\right]

実験

音声モデリング(Speech modelling)と手書き文字生成(Handwriting generation)で実験をしていました。音声モデリング(Speech modelling)の方だけ紹介します。音声モデリングのデータセットは4つ(Blizzard、TIMIT、Onomatopoeia、Accent)です。例えば、TIMITは、生の音声シグナル(話者:630, 英語の文章:6300 )のデータセットになります。他については興味があれば論文の方を見てください。そのデータを訓練とテストで分け、テストデータに対する対数周辺尤度の平均で生成のよさを定量的に評価しています。

f:id:masamasa59:20191231152936p:plain
テストデータに対する対数周辺尤度の平均。(大きい値ほど良い) \leq はELBOの値。 \approx は、importance sampling(40 サンプル)による対数周辺尤度の近似値。

また、Blizzardの訓練データに対するモデルの当てはまりの良さを、学習させたモデルから2秒間音声波形を生成させて定性的に評価しています。マクロとミクロ両方ともに比較手法に比べ、提案手法は高周波なノイズが少なく、データセットの信号に近い波形を生成できていることが分かります。

f:id:masamasa59:20191231152947p:plain
訓練データのマクロな音声波形3種類。左列から、訓練データ、RNN-GMM、VRNN-Gauss(提案)。
f:id:masamasa59:20191231152953p:plain
訓練データのミクロな音声波形三種類。

まとめ

自然な音声生成を応用に見据えつつ、RNNの再帰関数に時刻に依存する潜在変数も加えた深層生成モデルの紹介でした。事前確率がすでに、学習中の隠れ状態に依存させるのは、不思議な感覚です。この論文は、その後色々な論文に引用され変化を遂げています。強化学習の方ともつながりがあるので、いずれブログに書きたいです。