[STATUS: ONLINE] 当サイトは要約付きのエンジニア向けFeedです。

TechDistill.dev

[DISCLAIMER] 当サイトの要約は正確性を保証しません。気になる記事は必ず原文を確認してください。
cd ..

【要約】CNNのDense層をreluからeluに変えたら精度が上がった話【Keras×CIFAR-10】 [Zenn_Python] | Summary by TechDistill

> Source: Zenn_Python
Execute Primary Source

// Problem

  • ReLU使用時に発生する「死んだReLU問題」。
  • 負の入力に対して勾配がゼロになり、ニューロンが学習不能になる。
  • CIFAR-10のような複雑なタスクにおいて、表現力が制限されるリスク。

// Approach

以下の条件で、Dense層のactivation関数のみを切り替えて比較した。

1.モデル構成:Conv2D×2層(relu固定)+GAP+Dropout(0.2)
2.検証対象:Dense層のactivation関数
3.比較関数:

- relu

- gelu

- elu

4.データセット:CIFAR-10(30エポック)

// Result

  • ELUが最高精度(68.72%)を記録。
  • ReLU(67.52%)に対し、約1.2%の精度向上。
  • 学習時間はGELU/ELUが約123秒。ReLU(133.1秒)より高速。
  • タスクが難しくなるほど、関数選択の重要性が増す。

Senior Engineer Insight

>

「なんとなくReLU」という設計慣習への警鐘である。本実験ではDense層の変更のみで1.2%の精度差が出た。これは実戦において無視できない差だ。また、学習時間の短縮も確認されており、計算リソースの観点からも合理的である。ただし、本件はDense層のみの検証に留まっている。実戦投入時には、Conv2D層を含む全層への適用による相乗効果を検証すべきだ。タスクの複雑度を見極め、適切な関数を選択する審美眼が求められる。

[ RELATED_KERNELS_DETECTED ]

cd ..

> System.About()

TechDistillは、膨大な技術記事から情報の真髄(Kernel)のみを抽出・提示します。