AI技術の最前線これからのAIを読み解く先端技術73のメモ
-
AI技術発展の特徴
-
なぜディープラーニングがうまく学習できるのか 2017/2
- 最適化の問題には、ノーフリーランチ定理がある
- あらゆる問題で性能の良い機械学習モデルは理論上不可能であり、あるモデルが他のモデルより性能が良いのは、解こうとしている特定の問題に対して専門化または特化されている場合のみである
- 帰納バイアス: 学習データ以外に最初から持っている知識または仮説
- 世の中に見られる実用上興味のある問題が持っている特徴(物理学者 Henry W.Lin)
-
低次の多項式: 世の中の一見複雑そうに見える問題の多くは低い次数の多項式モデルで説明することができる。
- ニューラルネットワークは低次の多項式を近似することが得意
- 局所性: 世の中の多くの現象として、近くの物体同士しか影響し合わない。
-
対称性: 世の中の問題には対称性が多く見られ、見かけ上の複雑さを下げることに大きく役に立つ
- 時間同変性、平行移動同変性、置換同変性
- CNNやRNN、Transformerで学習に必要なパラメータを減らすために利用されている。
- ニューラルネットワークの階層的な構造の役割
- データの生成過程がマルコフ性を持っているとすれば、ニューラルネットワークはそれを逆向きに辿ることで、そのデータ生成の因子を推定することができると考えられている。
- 世の中のデータ生成がニューラルネットワークと同様であれば、その生成過程自体を再現していることになる。
- 階層性はニューラルネットワークの各層でうまくモデル化できる
- 人や動物が非常に少ない経験から学習できることは、まだ見つかっていない帰納バイアスがあることを示している。
-
多様体仮説: 現実世界のデータをどうモデル化するか 2017/6
- 画像の各素値を一様分布からサンプリングし、ランダムに生成した場合、そのほとんど全ての画像が砂嵐のような意味のない画像となる。一方、実際に観察される画像は人の顔画像や風景画像のような構造化されたデータであり、画素間が強い相関を持った画像である。
- 多様体: 各点の周りがn次元的に拡がっているような空間
- 多様体仮説: 現実世界で観測される多くのデータの分布がこのような低次元多様体として捉えられるという仮説
- データ中に埋め込まれている多様体をどのように推定するか
- 線形: PCA
- 非線形: Isomap, LLE, Laplacian Eigenmaps, SDE
-
深層生成モデルでは、データの低次元多様体をその潜在表現として獲得できることがわかっている。
- VAE, GAN, 正規化フロー: ランダムに生成したノイズベクトルzから、生成関数Genを用いて入力xをx=GEN(z)として生成する。
- GENに多層のニューラルネットワークを利用することで、複雑なデータのモデル化に成功
- 最尤推定は低次元多様体の表現に不向き
- KLダイバージェンス: 2つの確率分布間の距離を測る代表的な手法
-
最尤推定の問題点
- モデルが間違ったデータxを生成しても直接ペナルティが課されない
- 目標の確率分布と学習対象の確率分布の領域が重なっている部分の体積がほぼ0となる
- 最尤推定の問題を回避したGAN
-
GANの学習は最尤推定ではなく、Jensen-Shannonダイバージェンスの最小化をしていることがわかっている。
- Jensen-Shannonダイバージェンス: JS(P||Q) = KL(P||M)/2 + KL(Q||M)
- M = (P + Q) / 2
- MはPとQのサポートの和集合をサポートとして持つため、PやQが低次元多様体であっても値が存在する
-
Wasserstein GAN(WGAN): 分布間の距離として、Wasserstein距離(Earth Mover)を使って学習する。
- GANの改良版
- Wasserstein距離: 異なる確率密度関数間が定める確率分布を返還するためのコスト
- カントロヴィチとルビンスタインの双体定理を使うと、Wasserstein距離の下限がGANの学習とよく似た式として導出される。
- Wasserstein距離を小さくすることで目標分布を精緻にモデル化することができる。
- 生成モデルの学習を通じて低次元多様体を捉える
- 高忠実なデータを生成できると共に、データの隠れた特徴や因子を推定できるようになってきた。
-
なぜディープニューラルネットは汎化するのか 2017/8
- 汎化能力: 有限の訓練データからルールや知識を獲得し、(同じ分布からサンプリングされる)訓練データには含まれないが、訓練データと同様の性質をもつ未知のデータに対してもうまく推論できるようなモデルを獲得する能力
- 訓練誤差と汎化誤差
- 一般的に、訓練誤差は汎化誤差よりも小さくなる
-
訓練誤差が小さく、汎化誤差が大きい場合が過学習
- 過学習: モデルの表現力が高く訓練誤差が小さいが、汎化誤差が大きくなっている状態
- 未学習: モデルの表現力が足りず、訓練誤差が大きい状態
-
両者はトレードオフの関係にある
- 訓練誤差と汎化誤差の和が最小になるような適度な表現力を持つ関数を探す必要がある
- DNNは同じネットワークと学習方法を使って可能な場合は汎化するように学習し、汎化できない場合は丸暗記するような仕組みが備わっている
- DNNは表現力が高いため、容易に過学習するはず。だが、他の機械学習手法と比べても高い汎化能力を持つ。
-
SGD(確率的勾配降下法)が訓練誤差を下げるだけでなく汎化誤差を下げることにも役立っている。
- SGDによって見つかる解はそのパラメータのノルムが最小となるような解であり、モデルの表現力を抑える強い正則化となっている
- SGDによって見つかる解はベイズ推定に対応することがわかっている
- Flat Minima: 汎化能力の獲得に関係している。
- SDGは最適化の際、サンプリングの選び方によって勾配にノイズが乗るが、これが局所最適解からの脱出に役立っていただけではなく、その周辺も値が小さいようなFlat Minimaを 見つけるのに貢献していることがわかった。