Чем отличается слой с линейной активацией от слоя без активации?

Я немного играю с Keras и думаю о том, в чем разница между линейным слоем активации и отсутствием слоя активации вообще? Разве у него не такое же поведение? Если да, то какой смысл в линейной активации?

Я имею в виду разницу между этими двумя фрагментами кода:

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

и

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

person T.Poe    schedule 03.05.2019    source источник


Ответы (2)


Если вы не назначите в плотном слое, это будет линейная активация. Это из документации keras.

активация: функция активации для использования (см. активации). Если вы ничего не укажете, активация не применяется (т.е. линейная активация: a(x) = x)

Вы можете добавить Activation только в том случае, если хотите использовать что-то другое, кроме 'linear'.

model.add(Dense(1500))
model.add(Activation('relu'))
model.add(Dense(1500))
person Krunal V    schedule 03.05.2019

Вы правы, между вашими фрагментами нет разницы: оба используют линейную активацию.

Функция активации определяет, является ли она нелинейной (например, сигмоид является нелинейной функцией активации):

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

7 общих функций нелинейной активации и способы Выберите функцию активации

person RajmondX    schedule 03.05.2019