ニューラルネットワークでは入力層から出力層の間に複数の中間層を設ける事ができ、各層を入力層から順番に1層目、2層目、、、と数えていきます。各層のノードは次の層のノードにつながっていて、次の層のノードは前の層の全ノードと重みとの内積を取り、それに活性化関数をかけてノードの値を決定していきます(全結合型)。
この内積を取る部分や活性化関数で処理する部分をレイヤと呼びます。
ニューラルネットワークでは重みを更新する必要があり、誤差逆伝播法を用いるため、各レイヤはそれぞれ順方向と逆方向の関数を含みます。
内積を取る部分はAffineレイヤ、活性化関数はReLUやSigmoidなどを使いますので、これらをクラスとして実装していきます。