【まえがき公開】新しいアルゴリズムデザイン――近刊『モデルベース深層学習と深層展開』
2023年6月下旬発行予定の新刊書籍、『モデルベース深層学習と深層展開』のご紹介です。
同書の「まえがき」を、発行に先駆けて公開します。
***
まえがき
■モデルベース深層学習・深層展開とは
画像認識や自然言語処理分野における深層学習の活用がますます広がりつつある。深層ニューラルネットワークモデルは多くの種類のタスクに対して非常に優れた性能を発揮するが、学習に大量のラベル付き学習データが必要である点や学習結果の解釈が難しい点が課題として指摘されている。
一方、対象とする系の数理モデルに基礎を置いたモデルベース深層学習技術が最近注目されている。モデルベース深層学習技術は、興味の対象となる系のモデルに学習可能パラメータを埋め込むことで、データからの学習を可能とする新たなモデリング技法である。ミニバッチ学習法や誤差逆伝播法を利用することで、効率的にデータからモデルの内部パラメータを調整することが可能である。深層ニューラルネットワークと比較して、モデルベース深層学習技術では少量のデータからの学習が可能であり、分野固有の知識を有効に活用できる点、ならびに高い解釈可能性をもつ点が長所として挙げられる。
近年、信号処理アルゴリズムの分野で、反復アルゴリズムに対してモデルベース深層学習技術の適用を検討する研究が活発化してきている。多くの信号処理タスクは最適化問題として定式化される。それを解く反復最適化アルゴリズムについては少数の反復で良質の解が得られることが望ましいが、そのためには多くの場合、予備実験や経験に基づくヒューリスティック手法による内部パラメータ調整が必要であった。
深層展開(deep unfolding)は、反復アルゴリズムに対してモデルベース深層学習技術の考え方を適用した、アルゴリズム構成のための方法論である。反復アルゴリズムの信号処理プロセスを時間方向に展開(unfold)することで、深層ニューラルネットワークモデルに類似したネットワークモデル(信号流グラフ)が得られる。アルゴリズムに含まれる部分処理が微分可能であれば、ミニバッチ学習法などの標準的な深層学習技術を適用することで、反復アルゴリズムの内部の学習可能パラメータを調整することが可能となる。深層展開を利用したアルゴリズムに関する研究事例はこの数年で大幅に増加しつつあり、多くの報告において、反復アルゴリズムの収束特性や解の品質を大幅に向上できることが示されている。たとえば、スパース信号再構成アルゴリズムの収束特性の向上はその一例である。今後、さらに広い分野において、深層展開を利用したアルゴリズムが登場してくるものと予想される。
深層展開の考え方は、微分方程式の求解のために用いる数値解法(たとえばオイラー法やルンゲ–クッタ法)にも自然に適用できる。対象とする系の微分方程式モデルについて未知の部分を学習パラメータやニューラルネットワークで置き換えたうえで、データに基づく学習プロセスを実行することにより、未知部分のより詳細な知識を得ることができる。
このようにモデルベース深層学習技術・深層展開は、工学にとどまらずデータから科学的知見を抽出することを目指す自然科学分野や実験科学分野においても有用な方法論であり、その適用可能範囲は広い。また、パラメータ付きの微分方程式のダイナミクスを所望のとおりに制御したいという制御工学的な問題においても、深層展開は有効な手段となり得る。
■本書の対象読者・読み方
深層展開やモデルベース深層学習を使うためには機械学習・深層学習に関する多量の知識は必要ではなく、機械学習や深層学習を専門としない研究者にとっても十分に使いこなせる技術であり、方法論である。昨今の強力な自動微分機構を備えた深層ニューラルネットワークのフレームワーク(TensorFlow、PyTorch、JAX、Julia+Flux.jlなど)の進展と普及により、モデルベース深層学習・深層展開の活用は以前と比較して格段に容易になりつつある。その意味では、機械学習を専門としない研究者が深層学習技術を利用するためのハードルは非常に下がってきている。
本書が対象として想定する読者は、無線通信工学・信号処理・画像処理・最適化・制御工学などの工学分野の大学院生・研究者、ならびに微分方程式を数理モデルとして利用する諸分野の大学院生・研究者である。
本書では、モデルベース深層学習と深層展開の考え方と技法を詳細に解説する。また、本書の内容に沿ったJulia言語により書かれた参考コードを公開している。
本文による解説に加えて具体的な実装を見ることで、容易に深層展開の考え方と実装技法が習得できるものと考えている。また、機械学習を専門としない読者がモデルベース深層学習への第一歩をスムーズに踏み出せるよう、本書で必要とされる深層学習技術について簡潔な説明も加えた。さらに、深層展開の適用事例を通して深層展開によるアルゴリズム設計の考え方に触れるとともに、最近の研究動向を見ることで、分野横断的研究を模索しているベテラン研究者の方にとっても有益な情報が得られるものと考えている。
本書の各章は比較的独立度が高いので、さまざまな順に読み進めることが可能である。ここでは本書を読み進める際のロードマップを示す。
深層学習に馴染みのない読者は、まず第1・2章で深層学習に関する基本概念を得た後に3.1節を丁寧に読むことで、本書を読み進めるうえで必要とされる基本的な考え方を短期で得ることができる。その際には、参考コードを動かしながら読むと、深層展開の実装の側面も含めてより理解が深まるものと思われる。初読の際には2.5節はスキップしてもよい。一方、深層学習に親しんでいる読者は第2章をスキップして第3章と第4章をまず読むと、本書全体に通底する考え方を会得できると考える。その後は各人の興味に従い、残りの部分を読み進めていただければよい。モデルベース深層学習と深層展開の研究動向に興味がある方は第5章を、動的システムのモデリングなど微分方程式と深層展開の関わりに興味がある方は第6章をまずご覧いただければ、本書のほかの部分を読み進めるモチベーションが高まると思われる。深層展開の実装に興味がある方には、本書の参考コードを中心に読んでいき、必要に応じて本文を参照するという読み方もある。
(以下略)
***
「モデルベース深層学習」は、アルゴリズムの性能を改善する技術として、無線通信や微分方程式モデリングの分野において注目されています。この技術は、推論器を構成するという観点から見た微分可能プログラミングともいえます。
従来の深層ニューラルネットワークに基づくアプローチと比べて少量のデータからの学習が可能、分野固有の知識を有効に活用できる、高い解釈可能性をもつ、といった長所があり、その応用分野は信号処理、画像処理、最適化、制御系などにも広がっています。
本書はモデルベース深層学習と、それを反復アルゴリズムに適用した「深層展開」について、考え方と技法を詳しく解説。読者のバックグラウンドによらずスムーズに入門できるよう、深層学習のまとめから始めています。
また、Julia言語による参考コードを示し、技法を体感しながら読み進められるよう配慮しています。さらに、幅広い研究に役立つよう、アルゴリズム設計の考え方や多数の応用事例を紹介しています。