ディープラーニングで笑顔を自動検知したい

ディープラーニングで笑顔を自動検知するまでの学習過程を綴っていきます。

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

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

これからディープラーニングの仕組みについて分かったことを書いていこうと思います。

ニューラルネットワーク

ディープラーニングは人の脳をモデルとしたニューラルネットワークが原型であり、脳の神経ネットワークには神経細胞であるニューロンと、隣接するニューロンを結合する部分のシナプスがあります。

ニューロンからの電気信号が一定以上の信号になると、シナプスを経由して次のニューロンに信号が伝達されます。 ニューラルネットワークでは、ニューロンノードシナプスエッジと呼び、ノード間が接続されてネットワークを形成しています。

ニューラルネットワークの構造

ニューラルネットワークの構造

図の〇がノード、〇と〇を繋ぐ線がエッジとなります。
そして、ディープラーニングでは隠れ層が多段になっています。

活性化関数

エッジで繋がれた前のノードからの出力値にエッジの重みをかけて合算し、その合算値を活性化関数に通すと、そのノードの出力値になる。
活性化関数にはシグモイド関数ReLU(ランプ)関数などがある。

活性化関数とは入力値がある閾値を超えると大きな値を返すもので、電気信号が一定以上になると次のニューロンに信号が伝播されるという事を模したものだと思われます。

ディープラーニングの計算

ディープラーニングの計算

上図のn1の出力を計算する方法は、
・活性化関数(x1 * w1 + x2 * w2 + x3 * w3)
という事になる。

誤差逆伝播

ニューラルネットワークでは、出力値と正解値の誤差を出力から入力に向かって逆に伝播して誤差を減らすようにでき、この方法を誤差逆伝播法(バックプロパゲーションというようです。

バックプロパゲーション

バックプロパゲーション

誤差の算出と重みの更新を繰り返して、理想的な重みに近づけるようにしていきます。このような計算方法を勾配降下法と言うようです。