假设我们有一个如下结构的神经网络
input = layers.Input(shape=(num_inputs,))out = layers.Dense(1028, activation="relu")(input)out = layers.Dense(512, activation="relu")(out)out = layers.Dense(256, activation="relu")(out)output = layers.Dense(4, activation="softmax")(out)
如果我想对任何隐藏层的结果加上一个随机数,代码应该如何修改?
回答:
你可以按以下方式对任何隐藏层的结果加上一个随机数。参考和更多详情。
from tensorflow.keras.layers import *from tensorflow.keras.models import Modelfrom tensorflow.keras import backend as K ins = Input((1,))out = Dense(1028, activation="relu")(ins)out = Lambda(lambda x: K.random_uniform((1,))*x)(out)out = Dense(512, activation="relu")(out)out = Lambda(lambda x: K.random_uniform((1,))*x)(out)out = Dense(256, activation="relu")(out)out = Lambda(lambda x: K.random_uniform((1,))*x)(out)outs = Dense(256, activation="softmax")(out)model = Model(ins, outs)