#What
Chainerを利用して機械学習を学ぶにあたり、私自身が、気がついた点、リサーチした内容をまとめる記事になります。今回は、ニューラルネットワークの基礎を勉強します。
私の理解に基づいて記述しているため、間違っている場合があります。間違いは都度修正するつもりです、ご容赦ください。
#Content
###ニューラルネットワークとは
ニューラルネットワークは、微分可能な変換を繋げて作られた計算グラフ (computational graph) を指す。
ここでは、他にセットで知っておくべき用語を紹介する。
ノード・・・入力または(最終)出力 途中途中の演算結果もノードになる(と思われる)
エッジ・・・ノード間を結ぶ線。状態遷移をみやすくするだけ?
このノードが非常に多いニューラルネットワークを用いた機械学習をディープラーニングというらしい。(やっと出てきました)
Layer
入力層→中間層or隠れ層(演算過程)→出力層のことを指す。
###構造
中間層のノード数は任意性がある。設計者のセンスが問われる。自分で決めるパラメータをハイパーパラメータという。ニューラルネットワークにはいくつか種類がある。(全結合、畳み込み、再帰型など)
###ニューラルネットワークの計算
入力が与えられたとき、ニューラルネットワークの各層を順番に計算していき、出力まで計算を行うことを、順伝播 (forward propagation) と言います。
####線形変換
入出力の関係式を行列を用いて表現できる場合、線形変換可能
####非線形変換
非線形な入出力も扱いたい場合、線形変換した結果を非線形変換する過程を一個挟むことでニューラルネットワークを非線形なものとして取り扱う。線形→非線形化する関数を活性化関数という。活性化関数はいろいろあるよう。
今回はここまで、次回続きをやります
#Comment
よく実験系、理論系と区別することがありますが、そう遠くない未来に両方理解できる人が絶対必要になると思うから
機械学習独自に勉強して使いこなすと言ってみたら、応援してもらえました。
頑張ろう