質問: 誤差逆伝播法について、曖昧な点があります。 たとえば、入力層に10個、中間層に5個、出力層に1個のニューロンがあるニューラルネットワークを考えます。 このとき、誤差逆伝播法で更新する重みとしきい値は、出力層の1個、中間層の5個のニューロンだけでよいのでしょうか? 入力層のニューロンの重みとしきい値は更新するのでしょうか? そもそも、入力層のニューロンにも、重みとしきい値は設けられているのでしょうか? 基本的なことかもしれませんが、よくわからないので、ご教授頂けたら幸いです。
回答: > > たとえば、入力層に10個、中間層に5個、出力層に1個のニューロンがあるニューラルネットワークを考えます。 > > このとき、誤差逆伝播法で更新する重みとしきい値は、出力層の1個、中間層の5個のニューロンだけでよいのでしょうか? > > > モデルを構成するパラメータを考えると、 入力層と中間層の結合の本数: 10 * 5 = 50個 中間層のバイアスの数: 5個 中間層層と出力層の結合の本数: 5 * 1 = 5個 出力層のバイアスの数: 1個 なので、合計は 50 + 5 + 5 + 1 = 61 となります。 ``` from tensorflow.keras.layers import Input, Dense from tensorflow.keras.models import Sequential model = Sequential(Input(10), Dense(5), Dense(1)]) model.summary() # Model: "sequential" # _________________________________________________________________ # Layer (type) Output Shape Param # # ================================================================= # dense (Dense) (None, 5) 55 # _________________________________________________________________ # dense_1 (Dense) (None, 1) 6 # ================================================================= # Total params: 61 # Trainable params: 61 # Non-trainable params: 0 # _________________________________________________________________ ``` > > もそも、入力層のニューロンにも、重みとしきい値は設けられているのでしょうか? > > > 入力層はデータをそのまま次の層に渡すだけなので、パラメータはありません。 以下、入力層5個、中間層5個、出力層1個の場合の図です。 パラメータは 入力層と中間層の結合の本数: 5 * 5 = 25個 中間層のバイアスの数: 5個 中間層層と出力層の結合の本数: 5 * 1 = 5個 出力層のバイアスの数: 1個 の合計36個になります。 ![イメージ説明