8
8

More than 3 years have passed since last update.

ディープラーニングまとめ(これから学習する人向け)

Last updated at Posted at 2021-01-23

はじめに

今回はディープラーニングの基本をまとめました。
※これからディープラーニングを学習する人向けの記事です。

🌟「ディープラーニングの実装及び過学習対策」
https://qiita.com/hara_tatsu/items/b7423e90574cf7730978

🌟「畳み込みニューラルネットワーク(CNN)まとめ」
https://qiita.com/hara_tatsu/items/8dcd0a339ad2f67932e7

🌟畳み込みニューラルネットワーク(CNN)の実装
https://qiita.com/hara_tatsu/items/d2c6536ae35cca5e97ab

ニューラルネットワークについて

まずはディープラーニングの前身となるニューラルネットワークについて。

ニューラルネットワークとは、簡単にいうと人間の脳の中をマネしたアルゴリズム。
脳の中にはニューロンと呼ばれる神経細胞が何十億個とあり、それらが互いに結びつくことで神経回路という巨大なネットワークのようなものを作り上げている。

76238686.jpg

一つの情報が脳内に入ってくると、ニューロンに電気信号で伝わる。この電気信号が脳内の神経回路を駆け巡り、脳内のどの部分にどれだけの電気信号を伝えるかによって、情報を処理している。

この神経回路の仕組みを再現すれば、最高の機械学習ができるのではないか?
と考えて生まれたのがニューラルネットワークです。

単純パーセプトロン

単純なニューラルネットワークのモデル。

※参考図
Qiita用-1.jpg

複数の入力を受け取り、一つの出力を行う。
入力を受け取る部分を入力層、出力する部分を出力層と言う。
入力層と出力層とのつながりは「重み」というもので調整され、どれだけの特徴を出力層に伝えるかを調整している。

※入力層と出力層のみでは回路が単純すぎるため、線形分類しか行うことしかできない。

多層パーセプトロン

単純パーセプトロンの線形分類しかできないという弱点を解決するために、入力層と出力層の間に更に層を追加するというアプローチをとったものを多層パーセプトロンと言います。

※参考図

Qiita用-2.jpg

入力層と出力層の間の層のことを中間層(隠れ層)と言います。層が追加させただけで、単純パーセプトロンと仕組みは変わりません。
しかし、層が追加されたことでネットワーク全体の表現が向上し、非線形分類も行うことができるようになりました。

ディープラーニング

ディープラーニングとは、多層パーセプトロンの中間層(隠れ層)をより増やしたモデルになります。(一般的に中間層2つ以上)

※層が「深い」から、ディープラーニング(深層学習)と言われている。

ディープラーニングの学習の流れ

図で表すと以下のとおり
Qiita用-2.jpg

①順伝播
与えられた入力を重みで調整し、予測値を出力する。
(一般的に初期値の重みはランダムで設定される)

②誤差の計算(損失関数)
予測値と教師データである正解値の誤差を計算する。

具体的な計算方法は以下のとおり。
回帰:平均2乗誤差
分類:交差エントロピー誤差

③逆伝播(誤差逆伝播法)
損失関数(誤差)を最小化するために逆向きに学習し、パラメーター(重み等)を更新する。

④ ①〜③を繰り返すことでディープラーニングの予測精度を高めていきます。

誤差逆伝播法(バックプロパゲーション)とは

損失関数(誤差)を最小化するために逆向きに学習し、パラメーター(重み等)を更新する作業。

パラメーターの更新の際に重要なことは大きく2つ!
○パラメーターを増やすか減らすか決める。
(勾配降下法)
○どれくらい増減させるか
(学習率)

※ディープラーニングの実装の際にはオプティマイザー(optimizer)と言われる。
ADam,RMSPropなどが使われる。

ディープラーニングの特徴まとめ

メリット
・予測精度が圧倒的に高い
・パラメーターの数が多い
・特徴エンジニアリングが不要(学習に影響を与えそうなデータを抽出する作業)

デメリット
・単純な問題の場合は単純なモデル(重回帰分析)の方が性能が良い
・計算コストが非常に高い
・大量の学習データが必要

おわりに

以上です。
ディープラーニングの基本をまとめました。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8