無限不可能性ドライブ

『ニューラルネットワーク自作入門』に刺激されてExcelVBAでニューラルネットワークを作ってみたものの、やっぱり数学やらなきゃと思い少しずつやってきたのもあって、自分の知識の整理とかそういった感じです。

ニューラルネットワーク

【数式編】(逆伝播)2つめの隠れ層の重みとバイアスを更新する 2-(2)

前回のおさらい 前回求めた の更新式は以下の通りです。 今回はその他の重み とバイアス の更新部分の式(勾配)を求めていきます。 それぞれの更新式 それぞれの更新式を並べてみます。 ・・・(1) ・・・(2) ・・・(3) それぞれで の部分は同じこ…

【数式編】(逆伝播)2つめの隠れ層の重みとバイアスを更新する 2-(1)

重みの更新式 大まかなところは1つめのユニットと変わりません。 今回は2つめのユニット(ユニットh22)なので、 が になっていることに注意してください。 連鎖率(チェインルール) ユニットh21 と同様の考え方で、 を求める式を立ててみます。 (再掲)…

【数式編】(逆伝播)2つめの隠れ層の重みとバイアスを更新する 1-(2)

前回のおさらい 前回求めた の更新式は以下の通りです。 今回はその他の重み とバイアス の更新部分の式(勾配)を求めていきます。 まずは2つめの重み について については以下の式を求めます。 ただ、 の式と見比べると、 の部分は同じことがわかります。…

【数式編】(逆伝播)2つめの隠れ層の重みとバイアスを更新する 1-(1)

隠れ層の重みの更新式 今回から、隠れ層の重みとバイアスの更新式についてみていきます。 今回は、2層目の隠れ層の1つめのユニット ユニットh21 の重み についてみていきましょう。 隠れ層でも重みの更新式は以下のようにあらわすことができます。 連鎖率…

【数式編】(逆伝播)出力層の重みとバイアスを更新する 3

前回までのおさらい 前回までで、ユニットo11 と ユニットo12 の更新部分の式(勾配)を求めました。 ユニットo11 の重みとバイアスの勾配() ユニットo12 の重みとバイアスの勾配() 見比べてみると、(そのユニットの出力 - 該当する教師データ(ラベル…

【数式編】(逆伝播)出力層の重みとバイアスを更新する 2-(2)

前回のおさらい 前回求めた の更新式はこのようなものでした。 今回はその他の重み とバイアス の更新式を求めていきます。 まずは2つめの重み については以下の式を求めます。 の式と見比べると の部分は同じことがわかります。なので、 についてのみ考え…

【数式編】(逆伝播)出力層の重みとバイアスを更新する 2-(1)

ユニットo12 の重みの更新式 今回は ユニットo12 の重み の更新式を見ていきます。 以前求めた の更新式を参考にすると… となることがわかると思います。 今回は ユニットo12 を対象としているので、 となっていることに注意してください。 計算手順は ユニ…

【数式編】(逆伝播)出力層の重みとバイアスを更新する 1-(2)

前回のおさらい 前回求めた の更新式はこのようなものでした。 今回はその他の重み とバイアス の更新式を求めていきます。 まずは2つめの重み まずは について見ていきましょう。 更新式は次のようになります。 の式と見比べると の部分は同じことがわかり…

【数式編】(逆伝播)出力層の重みとバイアスを更新する 1-(1)

誤差逆伝播(バックプロパゲーション) ニューラルネットワークが正しい出力を得るようになるには、重みやバイアスなどのパラメータを調整する必要があります。 誤差逆伝播(バックプロパゲーション)という手法を使うことで、パラメータを調整することがで…

【数式編】(損失関数)クロスエントロピー誤差

損失関数 前回の最終出力で がわかりました。 これらの値がそれぞれ、教師データの と同じ(か、ひじょうに近い値)であれば、期待した出力といえます。 しかし、重みやバイアスの初期値はいいかげん(ランダム)な値になっているため、初めから期待した出力…

【数式編】(順伝播)出力層のユニットの出力を求める

出力値の求め方 出力層のユニットの出力値の求め方は、隠れ層のユニットの出力値の求め方とほぼ同じですが、活性化関数を にしているため、その部分が異なります。 例として ユニットo11 の出力を求めてみます。 を求める ユニットo11 の出力値 を求めるには…

【数式編】(順伝播)隠れ層2層めのユニットの出力を求める

出力値の求め方 隠れ層2層めのユニットの出力値の求め方は、1層めのユニットとほぼ同じです。 ただし、入力値は1層めの該当するユニットの出力値()となります。 例として ユニットh21 の出力を求めてみます。 を求める ユニットh21 の出力値 を求めるに…

【数式編】(順伝播)隠れ層1層めのユニットの出力を求める

出力値の求め方 順伝播でのユニットの出力値は、そのユニットへの入力に対し、それぞれ対応する重みを掛けて足しあげたものにバイアス値を加え、その値に活性化関数を適用することで求めることができます。 図の ユニットh11 を例にとると、入力層の各ユニッ…

今回扱うニューラルネットワーク

何をやるつもりか 数式ベースに順伝播、逆伝播の計算式を見ていく その後で、ExcelVBAでニューラルネットワークをフルスクラッチ 題材はよくあるアヤメの分類問題 何をやらないつもりか 汎用化の追求 精度の追求 今回扱うニューラルネットワーク 入力:4 出…

はじめに

このブログの目的めいたもの ニューラルネットワークの順伝播、逆伝播についてはじめは数式を中心に、その後でExcelVBAでの実装を目標に進めていきたいと思っています。 ただし、ニューラルネットワークの基本的な内容についてはあちこちで目にされていると…