ディープラーニングの基本・応用③

ディープラーニングの概要と学習の仕組みについて。

目次

AI・ディープラーニングの全体像

  • 人工知能
  • 機械学習
  • ディープラーニングの基本・応用
  • ディープラーニングの研究
  • AIプロジェクト
  • AI社会実装に伴う法律・倫理

ニューラルネットワークの技術的課題と対策①

ニューラルネットワークの技術的課題

  • 単純パーセプトロンでは線形分離可能な問題しか学習できず、非線形問題を解くためには多層化する必要がある
  • 多層化した場合、モデルの最適化問題が複雑になり、技術的課題が生じる
  • ニューラルネットワークをディープにするためには課題を乗り越える必要がある
勾配消失問題ネットワークが深くなるにつれ、重みの更新に必要な情報がうまく伝播できなくなる問題
誤差逆伝播の仕組みに起因)
局所最適化問題勾配降下法を用いた最適化において、局所最適解に陥ってしまう問題

勾配消失問題

概要

  • ニューラルネットワークの学習においては、損失関数が小さくなる方向を目指して重みを更新する
  • 損失関数の勾配の情報を、ネットワーク内で正しく伝播させることが重要
  • 勾配消失問題「ネットワークの途中で勾配の値が消失し、伝播できなくなり、学習が進まなくなる問題」
  • 誤差逆伝播法の性質上、ネットワークを深くすると、入力層に近い層では誤差を正しく反映されなくなり、最適化がうまくいかなくなる
  • 逆伝播していくうちに、勾配(重み値の更新に使われる誤差情報)がどんどん小さくなっていく
  • 勾配消失問題の主な原因→「活性化関数」にあり
  • 「活性化関数」として採用されてきた「シグモイド関数」などを、「ReLU関数」切り替えることで軽減されていった
活性化関数シグモイド関数
(Sigmoid関数)
データのスケールを、一定範囲内に収めるように備える
Tanh関数
(ハイパボリックタンジェント関数;双曲線関数)
ReLU関数
(Rectified Linear Unit関数;正規化線形関数)
重要な特徴を際立たせ、ノイズを落とす

シグモイド関数

  • 入力値が小さいほど出力値が0に漸近し、入力値が大きいほど出力値が1に漸近するという性質
  • 入力値が比較的大きい場合・小さい場合シグモイド関数は平らになってしまう(=関数の勾配が0に近づく)→勾配消失の原因となる

Tanh関数

  • シグモイド関数を線形変換した関数
  • 漸近する形状、データ値を一定範囲の中に収まるように変換している
  • Tanh関数の場合、入力が大きい場合は1に漸近し、入力が小さい場合は-1に漸近する

ReLU関数

  • ReLU関数は入力値が負の場合は0、入力値が正の場合は入力値そのものを返す
  • 入力値が正であれば、微分は必ず1になり、学習を妨げない
  • 非常に深く複雑なネットワークでは、ReLU関数が十分に効力が発揮できず、依然として勾配消失問題が起きるケースもあり
  • 画像データの特徴量を形成する画素値には負の値がないため、ReLU関数との相性がよい
  • 負の値があり、それらをなしにすると情報損失が発生するようなデータ→
    シグモイド関数やTanh関数を採用したほうがよい

Leaky ReLU関数

  • ReLU関数の派生版
  • 入力値が負の領域でもわずかな傾きを持ち、全領域で微分がゼロになることはない
  • 入力値Xが負の場合の傾きが通常0.01に固定されている
  • 「Parametric ReLU関数」→f(x)=axとし、aをパラメータとして決定する場合
    ※Leaky ReLU関数を一般化したものと解釈できる

この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
目次