私は次のアーキテクチャを持っています:
Conv1
Relu1
Pooling1
Conv2
Relu2
Pooling3
FullyConnect1
FullyConnect2
私の質問は、バッチ正規化をどこに適用するのですか? そして、TensorFlow でこれを行うのに最適な関数は何でしょうか?
私は次のアーキテクチャを持っています:
Conv1
Relu1
Pooling1
Conv2
Relu2
Pooling3
FullyConnect1
FullyConnect2
私の質問は、バッチ正規化をどこに適用するのですか? そして、TensorFlow でこれを行うのに最適な関数は何でしょうか?
元のバッチノルムの論文では、ReLU をアクティブ化する前にバッチノルムを使用することが規定されています。しかし、アクティベーション後にbatchnorm を使用する方がおそらく良いという証拠があります。Francois Chollet によるKeras GitHubに関するコメントは次のとおりです。
... Christian [Szegedy] によって書かれた最近のコードが BN の前に relu を適用することを保証できます。とはいえ、今でも時折話題になることがあります。
2 番目の質問: tensorflow では、高レベルのtf.layers.batch_normalization
関数または低レベルの関数を使用できますtf.nn.batch_normalization
。