【发布时间】:2019-07-31 01:08:58
【问题描述】:
Keras 中的 GaussianNoise 似乎只是在训练期间添加噪声。我需要在测试时为激活添加噪音。我的架构是在 imagenet 上预训练 resnet50,所有层都冻结,除了需要将高斯噪声添加到 FC 层之前的最后一个激活层。
这怎么可能!?我在最后添加的高斯噪声层没有产生任何效果,因为文档说它仅用于训练期间。在测试期间该层的替代方案是什么?
__________________________________________________________________________________________________
bn5c_branch2c (BatchNormalizati (None, 7, 7, 2048) 8192 res5c_branch2c[0][0]
__________________________________________________________________________________________________
add_80 (Add) (None, 7, 7, 2048) 0 bn5c_branch2c[0][0]
activation_242[0][0]
__________________________________________________________________________________________________
activation_245 (Activation) (None, 7, 7, 2048) 0 add_80[0][0]
__________________________________________________________________________________________________
gaussian_noise_1519 (GaussianNo (None, 7, 7, 2048) 0 activation_245[0][0]
__________________________________________________________________________________________________
avg_pool (GlobalAveragePooling2 (None, 2048) 0 gaussian_noise_1519[0][0]
__________________________________________________________________________________________________
fc1000 (Dense) (None, 1000) 2049000 avg_pool[19][0]
==================================================================================================
Total params: 25,636,712
Trainable params: 0
Non-trainable params: 25,636,712
【问题讨论】:
-
不知道你这样做的目的是什么?
-
正在运行一些特定的稳健性测试并实施一些研究思路
-
你不能用做以下吗? 1. 为训练定义一个模型(有/无噪声) 2. 定义一个使用
Lambda层添加噪声的推理模型 3. 将训练后的权重从训练模型复制到推理模型 -
我是 keras 的新手。您能否在答案中提供详细的代码?
-
我正在寻找类似的代码。有什么解决方案吗?
标签: machine-learning keras deep-learning noise activation-function