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

What is the difference between a layer with a linear activation and a layer without activation?

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

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

 model.add(Dense(1500))
 model.add(Activation('linear'))
 model.add(Dense(1500))

 model.add(Dense(1500))
 model.add(Dense(1500))

你是对的,你的代码片段没有区别:都使用线性激活。

激活函数判断是否为非线性(如sigmoid为非线性激活函数):

model.add(Dense(1500))
model.add(Dense(1500, activation='sigmoid'))

7 Common Nonlinear Activation Functions and How to Choose an Activation Function

如果不在Dense层赋值,就是线性激活。这是来自 keras documentation.

activation: Activation function to use (see activations). If you don't specify anything, no activation is applied (ie. "linear" activation: a(x) = x)

如果您想使用 'linear' 以外的其他内容,则只能添加 Activation

model.add(Dense(1500))
model.add(Activation('relu'))
model.add(Dense(1500))