具有线性激活的层和没有激活的层有什么区别?

T.P*_*Poe 11 neural-network keras activation-function keras-layer

我在玩 Keras 一点,我在想线性激活层和根本没有激活层之间有什么区别?它没有相同的行为吗?如果是这样,那么线性激活的意义何在?

我的意思是这两个代码片段之间的区别:

 model.add(Dense(1500))
 model.add(Activation('linear'))
 model.add(Dense(1500))
Run Code Online (Sandbox Code Playgroud)

 model.add(Dense(1500))
 model.add(Dense(1500))
Run Code Online (Sandbox Code Playgroud)

小智 16

如果您不在 Dense 层中分配,则它是线性激活。这是来自 keras文档

激活:要使用的激活函数(参见激活)。如果您不指定任何内容,则不会应用任何激活(即“线性”激活:a(x) = x)

Activation当您想使用'linear'.

model.add(Dense(1500))
model.add(Activation('relu'))
model.add(Dense(1500))
Run Code Online (Sandbox Code Playgroud)


小智 5

你是对的,你的片段之间没有区别:两者都使用线性激活。

激活函数确定它是否是非线性的(例如 sigmoid 是非线性激活函数):

model.add(Dense(1500))
model.add(Dense(1500, activation='sigmoid'))
Run Code Online (Sandbox Code Playgroud)

7 种常见的非线性激活函数以及如何选择激活函数