要点まとめ・第4章 ディープラーニングの概要
ニューラルネットワークとディープラーニング(シラバス 技術11)
学習目標
ニューラルネットワークを形づくる入力層・隠れ層・出力層の役割を理解し、単純パーセプトロンの限界が隠れ層を加えた多層パーセプトロン、さらにディープラーニングへとつながった流れと、深い層の計算を支えるCPU・GPU・TPUの役割の違いを説明できるようにします。
要点
ニューラルネットワークの骨組み
ニューラルネットワークは、脳の神経細胞のつながりを単純化した計算の仕組みです。小さな計算単位(ユニット)を層状に並べ、層から層へ値を渡します。
- 入力層:データを受け取る層です。画像なら画素の値が入ります。
- 隠れ層:入力層と出力層の間にある層で、データの特徴を段階的に取り出します。
- 出力層:最終的な答えを出す層です。分類なら各クラスの確率、回帰なら予測値を出します。
各ユニットは、前の層からの値に重みを掛けて足し、バイアスを加えて活性化関数に通し、次の層へ渡します。学習とは、この重みとバイアスを調整することです。
単純パーセプトロンとその限界
単純パーセプトロンは、1958年にローゼンブラットが発表したモデルです。入力層と出力層だけからなり、隠れ層をもちません。入力の重み付き和がしきい値を超えれば1、超えなければ0を出力します。
できるのは、データを1本の直線(高次元では超平面)で2つに分けることだけです。直線で分けられる問題を線形分離可能といいます。
| 入力A | 入力B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
ANDとORは直線1本で0と1を分けられます。XOR(排他的論理和)で1になる2点は対角に並ぶため、直線1本では分けられません。1969年にミンスキーとパパートがこうした限界を示したことは、ニューラルネットワーク研究が停滞する一因になったとされます。
多層パーセプトロンからディープラーニングへ
入力層と出力層の間に隠れ層を加えたものが多層パーセプトロンです。隠れ層で入力を別の表現に変えてから出力層で分けるため、XORのような線形分離できない問題も扱えます。ただし、隠れ層の活性化関数が非線形であることが前提です。
1986年には、ラメルハートらが隠れ層の重みも誤差逆伝播法で学習できることを示しました。隠れ層をさらに何層も重ねたものがディープニューラルネットワークで、これを使う機械学習がディープラーニングです。層を深くすると表現力が増す一方、学習が難しくなり、計算量も増えます。
計算を支えるハードウェア
ニューラルネットワークの計算の大半は、「重み×入力」を大量に足し合わせる行列の計算です。1つ1つの掛け算は単純で互いに独立なので、並列処理で速くなります。
| 特徴 | 向いている処理 | |
|---|---|---|
| CPU | 少数の高性能なコアをもつ汎用の演算装置 | 全体の制御、複雑な分岐を含む処理を順にこなすこと |
| GPU | 単純なコアを大量にもつ。もとは画像描画用 | 同じ計算の大量の並列処理。ディープラーニングの学習で広く使われる |
| TPU | Googleがテンソル(多次元配列)の計算向けに開発した専用プロセッサ。2016年に公表 | ニューラルネットワークの大量の行列計算 |
GPUを画像描画以外の汎用計算に使うことをGPGPUと呼びます。GPUやTPUを使う場合も、データの読み込みや全体の制御はCPUが担います。
つまずきやすい点
- 単純パーセプトロンは隠れ層をもたず、直線(高次元では超平面)で分けられる線形分離可能な問題しか解けないため、XORを表せない点
- 隠れ層を加えても、活性化関数がすべて線形なら全体は1つの線形変換と同じになり、XORのような問題は解けない点
- GPUはもともと画像描画用のプロセッサがのちに汎用の並列計算にも使われるようになったもので、TPUは最初からニューラルネットワークの計算向けにGoogleが開発した専用プロセッサである、という出自の違い
- GPUやTPUを使っても、プログラム全体の制御や複雑な分岐を含む処理はCPUが担い、役割を分担している点
シラバスのキーワード
シラバス第1.4版に載っている語をすべて並べています。色のついた語は用語集で解説しています。「2問」などの数字は、その語を扱う練習問題の数です。
- CPU 練習問題1問
- GPU 練習問題2問
- TPU 練習問題1問
- 隠れ層・入力層・出力層 練習問題4問
- 多層パーセプトロン 練習問題4問
- 単純パーセプトロン 練習問題3問
練習問題
- #0033 隠れ層と非線形性の役割 難易度 標準・単一選択 未回答 付箋
- #0034 学習に使う計算資源の役割分担 難易度 基礎・単一選択 未回答 付箋
- #0163 パーセプトロンのバイアスの働き 難易度 標準・単一選択 未回答 付箋
- #0164 各層のユニット数の決め方 難易度 基礎・単一選択 未回答 付箋
- #0349 パーセプトロンの学習規則 難易度 標準・単一選択 未回答 付箋
- #0350 万能近似定理と深さの意義 難易度 応用・単一選択 未回答 付箋
- #0351 ディープラーニングと特徴量設計 難易度 基礎・単一選択 未回答 付箋
復習の時期が来た問題と、まだ解いていない問題から順に出題します。
混同しやすい用語
この項目の関連用語
この項目を読み終えたら
読んだ項目にチェックをつけると、学習ガイドの目次に記録されます。
前後の項目
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目11 ニューラルネットワークとディープラーニング)
- Frank Rosenblatt, The perceptron: A probabilistic model for information storage and organization in the brain, Psychological Review 65(6), 386–408 (1958)
- Marvin Minsky, Seymour Papert, Perceptrons: An Introduction to Computational Geometry, MIT Press (1969)
- David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, Learning representations by back-propagating errors, Nature 323, 533–536 (1986)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (6.1 Example: Learning XOR)
- Norman P. Jouppi et al., In-Datacenter Performance Analysis of a Tensor Processing Unit (2017)