ディープラーニングとは

  • 人間の力なしに機械が自動的にデータから特徴を抽出してくれるディープニューラルネットワーク (DNN) を用いた学習
  • ニューラルネットワーク (NN) というパターン認識をするように設計された人間や動物の脳神経回路をモデルとしたアルゴリズムを多層構造化したもの
deep leaning conceptual diagram

学習とは

  • (あくまで「教師あり学習」における学習について)
  • 入力データから正解データを算出できるようにすること
leaning conceptual diagram

ワークフロー

workflow

ディープラーニングの仕組み

CNN (Convolutional Neural Network)モデルの構造

deep leaning system conceptual diagram

畳み込み層とプーリング層と全結合層から構成されるニューラルネットワークをCNN(Convolutional Neural Network)と呼ぶ。

大きいモデルであれば、畳み込み層とプーリング層を何重にも重ねることがある。

畳み込み層(Convolution Layer)とは

  • 特徴の抽出を行う
  • 特徴とは、人間が硬貨を識別する際に色や模様、穴の有無を見ているのと同様、対象を認識するのにディープラーニングが着目する要素
  • 特徴の抽出にはフィルタと呼ばれるものを入力データにかける
  • どのような特徴を抽出しているかは基本的に理解不能(これを人間でも理解できるようにするのがXAIと呼ばれる)
convolution layer conceptual diagram

畳み込み層(Convolution Layer)の計算

convolution_layer_calculation

プーリング層(Pooling Layer)とは

  • 特徴のまとめを行う
  • n×n の領域を参照し、その領域の特徴を1つの数値にする
pooling layer

ドロップアウト(Dropout)とは

  • 特徴の間引きを行う
  • 指定された値の割合だけノード(データ)を残す
  • 過学習を抑制するために使用する
dropout

全結合層(Fully Connected Layer/Dense)とは

  • 入力されたデータ全てを使用して計算する
  • 入力データは一次元にする必要があるため、Flattenを直前に入れておく
  • 下記は全結合層の出力を3つにしており、ここで各硬貨の確率を算出する(出力をどの硬貨であるかの確率にするには活性化関数にsoftmaxを指定する)

Flattenとは

  • 入力されたデータを一次元データに変換する
flatten