G検定(JDLA) 練習問題 4:活性化関数
ニューラルネットワークの活性化関数について述べた文として、正しいものはどれか。
- A: ReLU関数は入力が0以上のとき入力値をそのまま出力し、0未満のとき0を出力する活性化関数である。
- B: ReLU関数はシグモイド関数と比べて勾配消失問題を完全に解決しており、常に最適な選択である。
- C: シグモイド関数の出力は−1から1の範囲に収まるため、二値分類の出力層によく使われる。
- D: ソフトマックス関数は二値分類専用の活性化関数であり、多クラス分類には使用できない。
- E: シグモイド関数は入力の絶対値が大きくなっても勾配が0に近づくことはなく、常に一定の勾配を保つ。
Qraftユーザーの成績:難易度 Aランク(レーティング1306)・正答率 44%(18/41回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)
正解と解説を見る
正解は「ReLU関数は入力が0以上のとき入力値をそのまま出力し、0未満のとき0を出力する活性化関数である」です。
【正解の理由】
ReLU(Rectified Linear Unit)は、入力が0以上のときはその値をそのまま出力し、0未満のときは0を出力するシンプルな活性化関数(=ニューラルネットワークに非線形性を加える関数)です。計算が単純で勾配消失を起こしにくいことから、多くのニューラルネットワークで標準的に使われています。
【不正解の理由】
• 「ReLU関数はシグモイド関数と比べて勾配消失問題を完全に解決しており、常に最適な選択である」という説明は誤りです。ReLUは勾配消失を緩和しますが、入力が負のとき常に勾配が0になる「Dying ReLU」という別の問題があり、「常に最適」とは言えません。
• 「シグモイド関数の出力は−1から1の範囲に収まるため、二値分類の出力層によく使われる」という説明は誤りです。−1から1の範囲に収まるのはtanh(双曲線正接関数)であり、シグモイド関数の出力は0から1の範囲です。
• 「ソフトマックス関数は二値分類専用の活性化関数であり、多クラス分類には使用できない」という説明は誤りです。ソフトマックス関数はむしろ多クラス分類の出力層で使われ、各クラスに属する確率の合計が1になるよう設計された関数です。
• 「シグモイド関数は入力の絶対値が大きくなっても勾配が0に近づくことはなく、常に一定の勾配を保つ」という説明は誤りです。シグモイド関数は出力が0または1に近づくにつれて微分値がほぼ0になるため、勾配消失の原因になりやすいことが知られています。