質問: 『ゼロから作るDeep Learning』という本を本でいるのですが、その中に、下記のような記載があります。 P96 シグモイド関数の微分は値が連続的に変化し、さらに、曲線の傾きも連続的に変化します。つまり、シグモイド関数の微分はどの場所でも0にならないのです。これはニューラルネットワークの「学習」において重要な性質になります。 文書の前半の微分の値が0にならないのはわかりますが、後半の理由がわからないです。細かいのですが、ステップ関数と形が似た関数としてシグモイド関数を設定したのはわかるのですが、「機械学習」をするのに、なぜ微分値(傾き)が0になってはいけないのでしょうか?
回答: 重みを修正するとき、誤差を重みで微分して、その値を使って修正量を得る。と単純に考えます。 誤差は当然活性関数から作られているので、 活性関数の微分値が0であるということは 重みを微調整しても誤差が変化しないということに相当します。 つまり、学習が進みづらくなります。 多分そういうことを言っているのではないかなと。 (ReLU関数については突っ込まないでください)