パーセプトロン
単純パーセプトロンは、入力に重みを掛けて足し合わせ、閾値を超えたら1を出力する最も単純なニューラルネットワークです。1本の直線(超平面)でデータを分ける線形分離しかできず、XOR(排他的論理和)のように直線で分けられない問題は解けません。この限界は1969年にミンスキーらが指摘しました。
隠れ層を挟んだ多層パーセプトロンは非線形な境界を表現でき、XORも解けます。誤差逆伝播法によって多層の重みを学習できるようになりました。
層の構成
| 層 | 役割 | ノード数 |
|---|---|---|
| 入力層 | データを受け取る | 入力の次元数(28×28画像なら784) |
| 隠れ層 | 特徴を変換・抽出する | 設計者が決めるハイパーパラメータ |
| 出力層 | 予測を出す | 分類ならクラス数、回帰なら1 |
ディープラーニングとは、隠れ層を多数重ねたニューラルネットワークによる学習を指します。
必要なデータ量と計算資源
深いネットワークはパラメータが多く、少ないデータでは過学習します。大量のデータと計算資源が必要なため、データが数十件しかない表形式データや、説明責任が重くルールを明示すべき場面では線形モデルや決定木の方が適しています。
CPU・GPU・TPU
- CPU: 少数の高性能なコアで逐次的な処理を得意とする汎用プロセッサ
- GPU: もともと画像処理用に開発され、多数のコアで単純な計算を並列に実行できる。ニューラルネットワークの計算は行列演算の繰り返しなので並列化と相性が良く、学習の高速化に広く使われる
- TPU: Googleが開発したディープラーニング専用プロセッサ。テンソル(行列)演算に特化し、GPUよりさらに高い電力効率
試験で問われる観点
- 単純パーセプトロンの限界(XOR)と多層化による解決
- 入力層・出力層のノード数の決め方
- GPUが学習に向く理由(並列計算)、TPUはGoogleの専用チップ