メインコンテンツへスキップ
見出し画像

書記が数学やるだけ#725 ニューラルネットワークの定式化

    ニューラルネットを組み立てるために,まずは順伝播方向の数式を考える。


    問題

    要点を数式で書けるようになっておくと,自分で組み立てるときにやりやすい。

    画像


    説明

    ニューラルネットワークは線形関数と非線形関数の入れ子で表現できるのだった。歴史的背景はさまざまあるが,1967年に甘利俊一が隠れ層のあるニューラルネットワーク提唱したことは特筆に値する。

    画像


    解答

    ニューラルネットワークを数式として表すと以下のようになる。これより,各々の層と重みを行列やテンソルで表現し,それらを関数で繋ぐことでモデルを組み立てることができる。

    画像


    出力と誤差を決めることで,回帰や分類といったさまざまな問題を定式化することができる。

    画像


    多クラス分類の例としてMNISTがあり,一般的に活性化関数としてソフトマックス関数,誤差をクロスエントロピーとして定式化する(なぜこの組み合わせかは後日解説)。

    画像


    具体例としてPyTorchチュートリアル「PyTorch入門」のモデルを定式化してみる。


    入力は28×28画像を1次元に変換したベクトル,途中いくつかの中間層を経て,最終的に10次元ベクトルとして出力,正解の数字列を1としたラベルと誤差を比較しこれを最小化していく。

    画像


    本記事のもくじはこちら:


    あなたへのおすすめ