ニューラルネットワークでは層を重ねるときに活性化関数としてステップ関数やシグモイド関数など、非線形な関数が用いられる。この理由として最も適切なものはどれか。
① 非線形な関数を用いると、バイアスを用いる必要がなくなるため。
② どんな入力に対しても、0~1の範囲の値を出力するように変換する必要があるため。
③ XOR (排他的論理和) ゲートのような線形分離できない問題に対応するため。
④ 線形な関数を用いると、層を深くすることの意味がなくなってしまうため。
⑤ 線形な関数を用いるものをパーセプトロン、非線形な関数を用いるものをニューラルネットワークと呼んでいるため。
④
① 非線形な関数でもバイアスを用いる。
② 例えばReLU関数は非線形関数であり、1以上の値を出力する。
③ パーセプトロンを多層化する理由である。パーセプトロンは、複数の入力値に重み付けを行い、0か1かを出力するアルゴリズムである。
④ 正しい。活性化関数は、ニューラルネットワークにおいて、複数の入力値に重み付けを行った総和から出力値を決定する関数のことである。
活性化関数にはステップ関数やシグモイド関数の他に、ReLU関数 (Rectified Linear Unit) などがある。なお、ReLU関数はランプ関数とも呼ばれる。
⑤ パーセプトロンでも、非線形関数が用いられる。
Ⅲ-2 | 目次 | Ⅲ-4 |