本文へスキップ

ニューラルネットワークと深層学習

標準約 31 分5 用語過去問 10 題

この単元の目標

  • ニューラルネットワークが層と重みでできた学習モデルであることを説明できる。
  • 学習の方法であるバックプロパゲーションと、ニューロンの出力を決める活性関数を区別できる。
  • 過学習が起きた状態を精度の違いから見分け、ニューラルネットワークとディープラーニングの関係を含めて全体像を語れる。
用語総表(5 語)
用語ひとことで単元内での位置づけ
ニューラルネットワーク脳の神経細胞のつながりをまね、層状につないだ学習モデル。モデルの構造
バックプロパゲーション出力の誤差を逆向きにたどって重みを直す学習の方法。学習の進め方
活性関数ニューロンが受け取った値を、次の層へ送る値に変える関数。ニューロンの中の部品
過学習訓練データに合わせすぎ、未知のデータで精度が落ちる状態。学習で起きる問題
ディープラーニング中間層を何層も重ねたニューラルネットワークで学ぶ手法。構造を深くした発展形

用語

脳の神経細胞(ニューロン)どうしのつながりをまねて、計算の単位を層状につないだ学習モデルをニューラルネットワークという。

  1. 入力層(データを受け取る)
  2. 中間層(隠れ層)
  3. 出力層(結果を出す)

データは入力層から入り、中間層(隠れ層)を通って出力層から結果として出てくる。層と層をつなぐ線にはそれぞれ重みという数値があり、どの入力をどれだけ強く次へ伝えるかを表す。学習とは、データに合った結果が出るようにこの重みを調整していくことである。

たとえ伝言ゲームの列で、一人一人が前の人の話をどのくらい重く受け止めて次へ伝えるかを、正しい答えが最後に出るよう少しずつ変えていくようなもの。

覚え方ニューラルは英語の neural(神経の)。ネットワークは網なので、そのまま「神経の網」と読める。

出題のポイント

  • 出題ニューラルネットワークは、脳の神経回路の働きを数式のモデルにしてコンピュータで再現したもので、ディープラーニングの土台となる技術である。

この用語の過去問 3 題 ニューラルネットワーク

出力と正解の誤差を出力層の側から入力層の側へ逆向きにたどり、各つながりの重みを直していく学習の方法をバックプロパゲーション(誤差逆伝播法)という。

  1. 入力から出力まで順に計算
  2. 出力と正解の差を求める
  3. 差を出力側から逆向きに伝える
  4. 各つながりの重みを修正

ずれが小さくなる向きに重みを直し、これを何度も繰り返す。

4 / 4

計算そのものは入力層から出力層へ前向きに進むが、直すための情報は後ろから前へ戻っていく。どのつながりがずれにどれだけ影響したかを層ごとに割り出し、影響の大きい重みほど大きく直す。この手順を多くのデータで繰り返すことで、出力が正解に近づいていく。

たとえ料理の味見をして塩辛すぎたら、最後に入れた調味料から順にさかのぼって、どれをどれだけ減らすかを決め直すようなもの。

覚え方バックは「後ろへ」、プロパゲーションは「伝わっていくこと」。ずれが後ろへ伝わる、と名前を分解すれば向きを間違えない。

出題のポイント

  • 出題バックプロパゲーションで更新されるのはつながりの重みで、その目的は出力と正解のずれを減らすことにある。

この用語の過去問 1 題 バックプロパゲーション

一つのニューロンが受け取った値の合計を、次の層へ送る値に変える関数を活性関数(活性化関数)という。

活性関数の例変換のしかた
ステップ関数基準の値以上なら 1、未満なら 0 を送る
シグモイド関数0 から 1 の間のなめらかな値に変えて送る
ReLU0 以下は 0、正の値はそのまま送る

ニューロンは前の層から届いた値に重みを掛けて足し合わせ、その合計を活性関数に通してから次へ渡す。例えば、合計が基準に達したときだけ信号を送る関数や、0 から 1 の間のなめらかな値に変える関数がある。活性関数が直線的でない変換をするおかげで、層を重ねたネットワークが複雑な関係を表せる。

たとえ受け取った知らせの強さを見て、次の人へ伝えるか、どのくらいの強さで伝えるかを決める、一人一人の判断のくせのようなもの。

覚え方生物の神経細胞は刺激が一定を超えると「活性化(発火)」して信号を出す。その振る舞いをまねる関数なので活性関数と呼ぶ。

出題のポイント

  • 出題活性関数は一つ一つのニューロンの中で働き、そのニューロンが受け取った値から次へ送る値を計算する。
  • 混同注意活性関数はニューロンごとの変換の規則であり、バックプロパゲーションは学習のたびに重みを直す手順である。

この用語の過去問 1 題 活性関数

「バックプロパゲーション」と「活性関数」の違い

観点バックプロパゲーション活性関数
決め手種類学習の手順ニューロンの中の変換規則
働く場所ネットワーク全体の重み一つ一つのニューロン
働くとき学習で重みを直すとき値が層を通るたび

学習に使った訓練データに合わせすぎた結果、まだ見ていない未知のデータに対する予測の精度が下がる状態を過学習(オーバーフィッティング)という。

学習の状態訓練データでの精度未知のデータでの精度
学習不足低い低い
ちょうどよい高い高い
過学習とても高い低い

モデルが訓練データの偶然の癖や雑音まで覚え込むと、新しいデータに通用する一般的な規則(汎化の力)が弱くなる。訓練データでは高い精度なのに、学習に使っていないデータで精度が落ちることで気づける。抑える方法には、例えば訓練データを増やす、モデルを単純にする、といったものがある。

たとえ一人の体に合わせすぎて仕立てた服が、本人にはぴったりでも、ほかの人にはまったく合わないようなもの。

覚え方「過」は度を越すこと。学習が足りない失敗ではなく、やりすぎによる失敗だと字が教えてくれる。

出題のポイント

  • 混同注意過学習では訓練データでの精度はむしろ高く、低くなるのは未知のデータでの精度である。両方とも低い状態は学習不足という。

中間層を何層にも深く重ねたニューラルネットワークを使い、データの特徴をコンピュータ自身に見つけさせる機械学習の手法をディープラーニング(深層学習)という。

  1. 入力層(画像の画素)
  2. 浅い中間層(線や点)
  3. 深い中間層(形の部品)
  4. 出力層(何の画像かを判定)

出力層は集まった特徴から、何が写っているかを判定する。

4 / 4

層を深くすると、浅い層は単純な特徴を、深い層はそれらを組み合わせた複雑な特徴をとらえるという分担が生まれる。そのため、どこに注目すべきかを人が細かく決めなくても、大量のデータから特徴を自動で取り出せる。画像認識や音声認識、翻訳などで高い性能を出している。

たとえ文字を覚えるとき、まず線の引き方、次に部首、最後に字全体というように、段を踏んで見分ける力を積み上げていくようなもの。

覚え方ディープは「深い」。賢さの深さではなく、層の重なりが深い(多い)ことを指す。

出題のポイント

  • 出題ディープラーニングは、多層のニューラルネットワークにより、データの特徴を人が指定しなくてもコンピュータ自身が取り出して学習するAI技術である。
  • 出題ディープラーニングは、蓄積された大量のデータから規則性を見つけ出し、将来の予測や判断に生かせる。
  • 混同注意ニューラルネットワークは脳を模したモデルの構造を指し、ディープラーニングはその中間層を深く重ねて学習させる手法を指す。

この用語の過去問 2 題 ディープラーニング

「ニューラルネットワーク」と「ディープラーニング」の違い

観点ニューラルネットワークディープラーニング
決め手何を指すか脳の神経回路を模した学習モデルの構造そのモデルを多層にして学習させる手法
中間層の数1 層でもよい何層も重ねる
関係土台となる技術土台を深くした発展形

要点

  • ニューラルネットワークは入力層・中間層・出力層を重み付きのつながりで結んだモデルで、学習とは重みの調整である。
  • バックプロパゲーションは、出力のずれを後ろから前へ伝えて重みを直す学習の方法である。
  • 活性関数は各ニューロンが次へ送る値を決め、ネットワークに複雑な関係を表す力を与える。
  • 過学習は訓練データでは精度が高いのに未知のデータで精度が落ちる状態で、汎化の力の低下を意味する。
  • ディープラーニングは中間層を深く重ね、特徴を自動で取り出して学ぶ手法である。

確認問題

この単元の過去問から 3 題

確認問題を解く

この分野の過去問をすべて見る