我不明白为什么下面的代码既有激活层又有激活参数?使用线性激活然后再使用LeakyReLU有什么意义?最后,损失函数是作用于最后一层还是在最后一层激活之后?
fashion_model = Sequential()fashion_model.add(Conv2D(32, kernel_size=(3, 3),activation='linear',input_shape=(28,28,1),padding='same'))model.add(LeakyReLU(alpha=0.1))model.add(MaxPooling2D((2, 2),padding='same'))...more code...model.add(Dense(num_classes, activation='softmax'))model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(),metrics=['accuracy'])
回答:
“线性”激活意味着没有激活(它只是一个恒等映射)。损失函数应用于模型的输出,在本例中,模型的输出是softmax激活的结果。