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

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

目次

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

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

オートエンコーダ

概要

  • 「オートエンコーダ(自己符号化器;Autoencoder)」→ニューラルネットワークの一種
  • 2006年、ジェフリー・ヒントン教授によって提唱される
  • 入力データに「次元削減」を施し、重要な「特徴」を抽出する
  • ニューラルネットワークの隠れ層に潜む勾配消失問題を解消するために設計され、技術の発展に寄与してきた

オートエンコーダの仕組み

  • 入力層→隠れ層→出力層
  • 入力層と出力層をともに「可視層」と呼ぶこともある
  • 入力データ→入力層→「次元削減」により圧縮、重要な情報のみ抽出→出力層(入力層と同じデータになるよう「復元」)→出力
  • 一度データを圧縮しても出力層で復元できるには、重要度の高い特徴量だけを隠れ層で抽出する必要あり
  • 隠れ層の次元(ノードの数)は入力層と出力層よりも少ない
  • 入力と出力が同じデータになるよう、あえて隠れ層の次元を小さくし、データを適切に”情報圧縮”する方法を学習する

オートエンコーダの成果

  • 「事前学習」→ニューラルネットワークの初期値として、オートエンコーダで事前に学習させたパラメータ値を用いることは、勾配消失を防止する効果がある
  • オートエンコーダによる情報圧縮は、過学習の防止にも効果的

オートエンコーダを用いた事前学習

  • 「事前学習」オートエンコーダを用いて、ニューラルネットワークの重みの初期値をあらかじめ推定すること
  • 初期値をランダムに設定するよりも、オートエンコーダによるデータの特徴を捉えるための適切なパラメータ値があったほうが、勾配消失問題が抑えられ、層を深くしたとしても学習が比較的うまく進む
  • 複数のオートエンコーダを積み重ね、順番に学習させる「積層オートエンコーダ(Stacked Autoencoder)」が使われる
  • 「ファインチューニング」→積層エンコーダの終端に、特定のタスクに合った出力をするために層を追加し、その層の重みを学習すること
    ※分類問題に対してはロジスティック回帰層、回帰問題については線形回帰層を追加する

その後のオートエンコーダの使い道

  • 層ごとに事前学習を行う過程は、計算コストが大きい
  • 2010年代に入ってアルゴリズムが継続的に改良されていく→事前学習を行わなくとも問題にならなくなった
  • その後、オートエンコーダはニューラルネットワークの学習には直接使用されなくなっていく
  • 現在では、オートエンコーダは、「画像からノイズを除去」するために使われる
  • ノイズを混ぜた画像を入力し、正解となる元画像を与えて学習させる→ノイズをノイズとして認識
    →データ圧縮時にノイズを除去できるようになる
  • 画像認識モデルなどの学習に使われる
  • 異常検知にも使われる(入力値に異常がある場合、入力値と出力値の誤差が生じ、異常発生を認識する)

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

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