『pytorch & 深層学習プログラミング』 備忘録4章
0以下は0にするReLU関数(p144)
活性化関数についての説明があり、一次関数しか生まれない線形関数の壁をReLU関数を挟むだけで打ち破ることができると、グラフを交えて説明してある。
なんて画期的なんだろうと思い、その先の章のReLU関数の説明を見てみた。すると、ReLU関数とは0以下は0に、0以上の数はそのまま返すという単純なものであった。
それだけで次元の壁を超えられるんだなあと感心しつつ、ふとひっかっかる。「今回の入力値は負の値を含む平均0、標準偏差1の乱数なのに、負の値を0なんかにして正しく予想できるのだろうか」と。
▪出力層を見よ
この疑問は、今回使用しているモデルの構造について考えが浅いために生じていることが判明した。なんと、1つの入力から10の中間層を作っていたのである。
正直、1つの入力値から10の中間層を作るというイメージは湧かない。湧かないが、1つのものを細かく分解して見ているのかなと、1人の人間にも色々な臓器が入っているよねと、その程度の理解をしておく。まあ、人間ならまだしもただの数値1つとなるとやはりイメージが湧かないが仕方ない。