Deep Learning(An MIT Press book) の要点メモシリーズ。
なんで deep にするとつよいの?って話です。
Chapter 6 Deep Feedforward Networks
6.4 Architecture Design
- chain-based architectures
- 層が直前の層の関数になっているネットワーク
- 構造で考えるポイント:ネットワークの深さと層の幅
- 層を増やすことで、層ごとのユニット数や全体のパラメータ数を減らすことができ、汎化もしやすくなる
- ただし最適化が難しくなる
- 理想的なネットワーク構造は実験を通して得られる
6.4.1 Universal Approximation Properties and Depth
- universal approximation theorem
- 線形出力ユニットと最低1層の隠れ層(+logistic sigmoid のような squashing な活性化関数)を持つFFNは任意のボレル可測関数を任意の精度で近似できる
- n次元実数空間の有界な閉部分集合上の連続関数はボレル可測
- 離散関数も近似できる
- 線形出力ユニットと最低1層の隠れ層(+logistic sigmoid のような squashing な活性化関数)を持つFFNは任意のボレル可測関数を任意の精度で近似できる
- 十分に大きなMLPは任意の関数を表現できるが、それを学習できることは保証されていない
- 1層のネットワークは最悪の場合、指数的な数のユニットが必要になる
- 入力がn次元のバイナリで出力がバイナリの場合、取りうる入出力の組み合わせは 4n なので最悪 2n 個ユニットが必要
- 各ユニットをビットと捉えると
- 入力がn次元のバイナリで出力がバイナリの場合、取りうる入出力の組み合わせは 4n なので最悪 2n 個ユニットが必要
- 区間線形なネットワークはネットワークの深さに対して指数的な数の領域を持つ関数を表現できる