Care este diferența dintre un strat cu o activare liniară și un strat fără activare deloc? (Programare, Keras, Rețea Neuronală, Strat Keras, Funcție De Activare)

T.Poe a intrebat.

Mă joc puțin cu Keras și mă gândesc la care este diferența dintre un strat cu activare liniară și un strat fără activare deloc? Nu are același comportament? Dacă da, atunci care este rostul activării liniare?

Mă refer la diferența dintre aceste două fragmente de cod:

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

și

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

2 răspunsuri
kruxx

Dacă nu atribuiți în Dense layer este activare liniară. Aceasta este din keras documentație.

activare: Funcția de activare care trebuie utilizată (a se vedea activări). Dacă nu specificați nimic, nu se aplică nicio activare (de exemplu, activare „liniară”: a(x) = x).

Puteți adăuga doar Activation dacă doriți să utilizați altceva decât 'linear'.

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

RajmondX

Aveți dreptate, nu există nicio diferență între fragmentele dvs: Ambele utilizează activarea liniară.

Funcția de activare determină dacă este neliniară (de exemplu, sigmoid este o funcție de activare neliniară):

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

7 funcții de activare neliniare comune și cum să alegeți o funcție de activare