こんにちはtatsyです。非常に長くなったNormalizing Flow入門も今回が最終回です。 今回はNeurIPS 2018でベストペーパーを獲得した論文であるNeural Ordinary Differential Equations (Neural ODE)[1]と、それを利用したNormalizing Flowの位置手法であるFree-form Jacobian Of Reversible Dynamics (FFJORD)[2]についてご紹介したいと思います。 Neural Ordinary Differential Equation Neural ODEはその名前にもある通り、ニューラルネットワーク ...
こんにちはtatsyです。Normalizing Flow入門(?)の第6回です。 今回はNormalizing Flowの中でも逆関数が計算可能なニューラルネットワークのレイヤーを使うInvertible Residual Network[1]と、その発展系であるResidual Flow[2]について見ていきたいと思います。 個人的に、この論文は論理の運び方に無駄がなく、学部生レベル+αくらいの線形代数の知識があれば全体 ...
こんにちはtatsyです。Normalizing Flow入門の第5回です。だんだん、入門なのかどうか分からなくなってきました。 今回は、Bijective Couplingの考え方を改良したAutoregressive Flowについてご紹介したいと思います。 今回の記事の中で紹介する2つの手法、Inverse Autoregressive Flow (IAF)[1]とMasked Autoregressive Flow (MAF)[2]は考え方はほとんど同じであるにも関わらず、 ...
こんにちはtatsyです。Normalizing Flow入門の第4回です。 今回は前回紹介したBijective Couplingに基づく手法でありながらも、いくつかの工夫により表現力を向上させたGlow[1]についてご紹介したいと思います。 Glow 今回紹介するGlowはReal NVPをベースにしており、スケーリングと平行移動を組み合わせた変数変換 (Affine Coupling)に加えてActnormとInvertib ...
こんにちはtatsyです。Normalizing Flow入門の第3回です。 今回はNormalizing Flowの代表格であるReal NVP[1]などで使われており、その表現力を上げる上で重要なアイディアの一つであるBijective Couplingについてご紹介したいと思います。 ニューラルネットのヤコビアン 前回の記事では、Planar Flowを例にとって、最尤推定によって正規分布を目的の確率分布に ...
こんにちはtatsyです。今回も前回に引き続きNormalizing Flowの技術について紹介します。 前回はNormalizing Flowの応用例の一つである変分推論を取り上げて、Normalizing Flowがどのように応用しうるのかについて紹介しました。 今回はこのような応用で用いるためにNormalizing Flowが満たすべき条件について議論し、最も基礎的なNormalizing Flowの一 ...
こんにちはtatsyです。今回は最近興味をもっているNormalizing Flowの技術について紹介したいと思います。 Normalizing Flowという言葉はRezendeらによって2015年に発表された以下の論文で一般的に使われるようになった言葉です。 Rezende et al. 2015, “Variational Inference with Normalizing Flows”, ICLR 2015. [arXiv] この論文のタイトルにある通り、Normalizing Flowという技術はVariational Inference、すなわち変分推論の技術の一 ...
こんにちはtatsyです。 私はDeep Learningのフレームワークは主にTensorFlowを使っているのですが、今回GoogLeNetのInception-v3というモデルをImageNet以外のデータで学習させた時に少しハマったので、解決策を共有しておきます。 ここで有名モデルと言っているのはAlexNetやVGG, GoogLeNet, ResNetといったILSVRCという画像認識コンテストで良い成績を獲得し ...
こんにちはtatsyです。 本日の研究室での会話です。 後輩: 重点サンプリングをするときの提案分布はどうして被積分関数に近い方が良いのですか? 私: 定性的には、被積分関数の値が大きい部分により多くのサンプルを配する方が全体の誤差が抑えれるからかな… (ん、定量的にはどうなんだっけ?) となりまして、定量的にはどうなるのかが気になったので、調べてこちらにまとめておきます。 重点サンプリング 関数$ \chi $ 全体での積分 ...
2022年1月に加筆を行って記事を書き直しました! こんにちはtatsyです。 畳みこみニューラルネットを0から実装する記事の第2回です。前回の第1回ではMNISTから画像とラベルのデータを読み込みました。第1回の記事のご確認は以下のリンクからお願いします。 畳みこみニューラルネットを0から実装する (第1回) 第2回の記事の内容 第2回となる今回はシグモイド関数を使った通常のニューラルネットを対象に、学習パ ...