G検定 › Web参考書 › 第4章

ニューラルネットワークとディープラーニング(パーセプトロン、多層化、CPU・GPU・TPU)

第4章 ディープラーニングの概要 / 節 1

シラバスのキーワード: 単純パーセプトロン多層パーセプトロン隠れ層・入力層・出力層CPUGPUTPU

本文を読んだあと、覚えているか確認してください。

パーセプトロン

単純パーセプトロンは、入力に重みを掛けて足し合わせ、閾値を超えたら1を出力する最も単純なニューラルネットワークです。1本の直線(超平面)でデータを分ける線形分離しかできず、XOR(排他的論理和)のように直線で分けられない問題は解けません。この限界は1969年にミンスキーらが指摘しました。

隠れ層を挟んだ多層パーセプトロンは非線形な境界を表現でき、XORも解けます。誤差逆伝播法によって多層の重みを学習できるようになりました。

層の構成

層 役割 ノード数
入力層 データを受け取る 入力の次元数(28×28画像なら784)
隠れ層 特徴を変換・抽出する 設計者が決めるハイパーパラメータ
出力層 予測を出す 分類ならクラス数、回帰なら1

ディープラーニングとは、隠れ層を多数重ねたニューラルネットワークによる学習を指します。

必要なデータ量と計算資源

深いネットワークはパラメータが多く、少ないデータでは過学習します。大量のデータと計算資源が必要なため、データが数十件しかない表形式データや、説明責任が重くルールを明示すべき場面では線形モデルや決定木の方が適しています。

CPU・GPU・TPU

試験で問われる観点

この節の練習問題(9問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    単純パーセプトロンの限界と、それを克服した構造の説明として最も適切なものを選びなさい。
    1. 1単純パーセプトロンは線形分離可能な問題しか解けず、XORのような問題は解けない。入力層と出力層の間に隠れ層を加えた多層パーセプトロンで非線形な問題を扱えるようになった
    2. 2単純パーセプトロンは非線形分離が必要なXORのような問題も解けるが計算に時間がかかり、入力層と出力層の間の隠れ層を取り除いた多層パーセプトロンによって学習を高速化できるようになった
    3. 3単純パーセプトロンは線形分離可能な問題しか解けず、ANDやORのような問題は解けなかった。入力層と出力層の間に畳み込み層を加えた多層パーセプトロンで線形分離可能な問題を扱えるようになった
    4. 4単純パーセプトロンは教師なし学習しか行えず、正解ラベルを使った分類ができなかった。出力層に誤差を計算する層を加えた多層パーセプトロンで教師あり学習の問題を扱えるようになった
    答えと解説

    正解: 1

    1958年にローゼンブラットが提案した単純パーセプトロンは、入力の重み付き和を閾値で判定する1層のモデルで、直線(超平面)で分けられる線形分離可能な問題しか解けません。ミンスキーらがXOR問題を解けないことを示し、第一次ブームの停滞の一因になりました。入力層と出力層の間に隠れ層を設けた多層パーセプトロンは非線形な境界を表現でき、隠れ層を多数重ねたものがディープラーニングです。

  2. 問2
    GPUがディープラーニングの学習に適している理由として、最も適切なものを選びなさい。
    1. 1多数の演算コアで単純な計算を並列に実行できるうえ、消費電力と発熱がCPUより小さいため、長時間の学習でも冷却が不要だから
    2. 2多数の演算コアで単純な計算を並列に実行でき、ニューラルネットワークの中核である行列演算を高速に処理できるから
    3. 3少数の高性能なコアで複雑な分岐処理を逐次的に実行でき、ニューラルネットワークの中核である条件判定を高速に処理できるから
    4. 4メモリ容量がCPUの主記憶より大きく、学習データ全体を一度に保持できるため、ディスクからの読み込みが不要になるから
    答えと解説

    正解: 2

    GPUはもともと画像処理のために多数の単純な演算コアを並列に動かす設計で、ニューラルネットワークの学習・推論で大量に発生する行列の積和演算を並列処理できるため、ディープラーニングに適しています。CPUは少数の高性能コアで複雑な逐次処理が得意です。TPUはGoogleがディープラーニング専用に開発したプロセッサで、行列演算にさらに特化しています。メモリ容量や消費電力が理由ではありません。

  3. 問3
    ディープラーニングとは、ニューラルネットワークのどの層を多数重ねたものを指すか。最も適切なものを選びなさい。
    1. 1出力層(最終層)
    2. 2畳み込み層のみ
    3. 3隠れ層(中間層)
    4. 4入力層(第1層)
    答えと解説

    正解: 3

    ディープラーニング(深層学習)は、入力層と出力層の間にある隠れ層を多層(深く)重ねたニューラルネットワークによる学習を指します。層を深くすることで、単純な特徴から複雑な特徴へと段階的に表現を獲得できます。入力層と出力層は通常1つずつしかなく重ねるものではありません。畳み込み層は隠れ層の一種でCNNの構成要素ですが、ディープラーニングは畳み込み層だけを重ねたものに限りません。

  4. 問4
    単純パーセプトロンでは解けず、多層パーセプトロンで解けるようになった代表的な問題として最も適切なものを選びなさい。
    1. 12つの入力が両方とも1のときだけ1を出力するAND(論理積)のような、直線で分離できない問題
    2. 2入力の重み付き和が閾値を超えたときに1を出力する、単一の直線で分離できる線形分離可能な問題
    3. 32つの入力の少なくとも一方が1のときに1を出力するOR(論理和)のような、直線で分離できない問題
    4. 42つの入力のどちらか一方だけが1のときに1を出力するXOR(排他的論理和)のような、直線で分離できない問題
    答えと解説

    正解: 4

    単純パーセプトロンは1本の直線(超平面)でデータを分ける線形分離しかできないため、XORのように直線で分けられない問題は解けません。この限界は1969年にミンスキーらが指摘し、第一次ニューラルネットワーク研究の停滞につながりました。隠れ層を持つ多層パーセプトロンは非線形な境界を表現できるためXORを解けます。AND、恒等写像、閾値判定は線形分離可能です。

  5. 問5
    Googleが開発した、ディープラーニングのテンソル計算に特化した専用プロセッサの名称と特徴の組み合わせとして最も適切なものを選びなさい。
    1. 1TPU:行列演算に特化した回路を持ち、GPUよりさらに高い電力効率でニューラルネットワークの学習・推論を行う
    2. 2FPGA:出荷後に回路構成を書き換えられる汎用の半導体で、Googleがテンソル計算専用に設計してクラウドで提供している
    3. 3TPU:少数の高性能なコアで逐次的な処理を得意とし、GPUより高いクロック周波数でニューラルネットワークの学習・推論を行う
    4. 4GPU:もともと画像処理用に開発され、多数のコアで並列計算を行う汎用プロセッサで、Googleがテンソル計算専用に開発した
    答えと解説

    正解: 1

    TPU(Tensor Processing Unit)はGoogleがディープラーニング専用に開発したプロセッサで、ニューラルネットワークの計算の大半を占める行列演算に特化し、電力効率に優れます。FPGAは回路構成を書き換えられる汎用の半導体でGoogleのテンソル計算専用チップではなく、GPUはもともと画像処理用に開発された並列計算に強いプロセッサですがGoogleが開発したものではありません。TPUを「少数の高性能なコアで逐次処理」とする説明はCPUの特徴であり誤りです。

  6. 問6
    28×28ピクセルのグレースケール画像を0〜9の10種類の数字に分類するニューラルネットワークを設計する。入力層と出力層のノード数の組み合わせとして最も適切なものを選びなさい。
    1. 1入力層 784、出力層 1
    2. 2入力層 784、出力層 10
    3. 3入力層 28、出力層 28
    4. 4入力層 10、出力層 784
    答えと解説

    正解: 2

    入力層のノード数は入力データの次元数で、28×28=784ピクセルの各値を1つずつ受け取るため784になります。出力層のノード数は分類したいクラス数で、0〜9の10クラスなら10個のノードにソフトマックス関数を適用して各クラスの確率を出します。出力を1ノードにするのは2値分類や回帰の場合です。

  7. 問7
    ディープラーニングの適用を検討する場面として、最も適しているものを選びなさい。
    1. 1計算資源がほとんどなく、判断根拠を1行のルールで示す必要がある与信の一次審査
    2. 2説明変数が5個、データが100件の表形式データで、各変数の影響を経営会議で説明する必要がある売上予測
    3. 3数十万枚のラベル付き画像があり、GPUを用意できる環境で行う製品の外観検査
    4. 4データが数十件しかなく、ルールも明確に書き下せる在庫の発注判断
    答えと解説

    正解: 3

    ディープラーニングは大量のデータと十分な計算資源(GPUなど)があり、画像や音声のように特徴量を人が設計しにくいデータで威力を発揮します。データが少ない表形式データや、ルールが明確で説明責任が重い場面では、線形モデルや決定木、ルールベースの方が適しています。

  8. 問8
    ニューラルネットワークの隠れ層のノード数の決め方として、最も適切なものを選びなさい。
    1. 1入力の次元数と同じにする必要がある
    2. 2設計者が決めるハイパーパラメータである
    3. 3分類するクラスの数と同じにする必要がある
    4. 4学習中に重みと一緒に自動で決まる
    答えと解説

    正解: 2

    隠れ層のノード数は設計者があらかじめ決めるハイパーパラメータです。入力の次元数で決まるのは入力層、クラス数で決まるのは分類の出力層のノード数です。学習で更新されるのは重みやバイアスで、ノード数は学習中に変わりません。

  9. 問9
    CPU・GPU・TPUに関する記述として、不適切なものを選びなさい。
    1. 1CPUは、少数の高性能なコアで逐次的な処理を得意とする
    2. 2GPUは、多数のコアで単純な計算を並列に実行できる
    3. 3GPUは、もともと画像処理用に開発されたプロセッサである
    4. 4TPUは、逐次的な処理に特化した汎用プロセッサである
    答えと解説

    正解: 4

    TPUはGoogleが開発したディープラーニング専用のプロセッサで、テンソル(行列)演算に特化しています。汎用で逐次的な処理を得意とするのはCPUの特徴です。GPUがもともと画像処理用に開発され、多数のコアで並列計算できるため学習の高速化に使われる点は正しい記述です。