[レイヤーごとに異なる活性化関数を持つ] が実際的な選択なのか、それともネットごとに 1 つの活性化関数を使用するだけでよいのか疑問に思っていました。
短い答え: それは依存します
より長い答え:複数のアクティベーション機能が必要な理由を考えようとしています。あなたはあなたの質問で言わないので、より理論的なレベルで答えます。
一般的なアドバイス/ガイダンス
ニューラル ネットワークは数学関数の単なる近似値であり、正しい設計は次の質問/回答への回答に基づいています。
- 近似はどのくらい近くする必要がありますか?また、関数を近似するためにネットワークをどれだけ近づけることができますか?
- ネットワークは、トレーニングされていないデータセットにどの程度一般化されていますか? どれだけ一般化する必要がありますか?
これは、あなたの質問に関連すると思われる追加のものです
- ネットワークはどのくらいの速度で実行する必要がありますか? アクティベーション関数の選択はパフォーマンスをどのように妨げますか?
これらの質問に答えると、特定のケースについてよりよく理解できるようになります。
私の意見
複数の活性化関数を備えたニューラル ネットワークを構築することは、実際には状況を混乱させ、システムを必要以上に複雑にしています。優れたソフトウェアを構築することを考えるとき、最初に思いつくことの 1 つは、まとまりのある設計です。言い換えれば、システムは全体として理にかなっていますか、それともやりすぎですか?
プロのヒント: ソフトウェアRube Goldburg Machinesをビルドしないでください。
同じネットワークで複数のアクティベーション機能が必要な場合、私の意見では、これはまとまりがありません。なんらかの理由で問題が本当にこれを必要とする場合は、問題を再考し、複数の個別のニューラル ネットワークを備えたシステムを設計すると、これらのネットワークはそれぞれのアーキテクチャ (活性化関数の選択を含む) でそれぞれの目的を果たします。