激活()层的Keras功能api解释?

数据挖掘 喀拉斯
2021-10-10 22:57:22

使用 keras 功能 api 可以编写如下内容:

x = Activation('relu')(x)
x = Dense(8, activation='softmax')(x)

我的问题是 Activation() 函数是否是一个单独的层(相当于 Dense(128, activation='relu') 或者如果不是......为什么以及何时使用这个符号?

1个回答

文档中所述,keras 中的激活层等效于具有相同激活作为参数传递的密集层。

这将是等效的

x = Dense(64)(x)
x = Activation('relu')(x)

相当于

x = Dense(8, activation='relu')(x)

根据您的示例,如果将激活层用作层,这将充当前一层输出的转换。

正如您在模型中看到的

inputs = Input(shape=(784,))
x = Dense(32, activation='tanh')(inputs)
x = Activation('relu')(x)
predictions = Dense(8, activation='softmax')(x)

第一层的输出是具有 tanh 函数的密集连接层的结果。然后这些输出将分别由一个 relu 函数转换。您可以看到这只是一种转换,并且没有引入任何新的模型参数

model.summary()

在此处输入图像描述