посторонние люди... ;)

исал ванильный автоэнкодер, используя толькоDense слой. Ниже мой код:

iLayer = Input ((784,))
layer1 = Dense(128, activation='relu' ) (iLayer)
layer2 = Dense(64, activation='relu') (layer1)
layer3 = Dense(28, activation ='relu') (layer2)
layer4 = Dense(64, activation='relu') (layer3)
layer5 = Dense(128, activation='relu' ) (layer4)
layer6 = Dense(784, activation='softmax' ) (layer5)
model = Model (iLayer, layer6)
model.compile(loss='binary_crossentropy', optimizer='adam')

(trainX, trainY), (testX, testY) =  mnist.load_data()
print ("shape of the trainX", trainX.shape)
trainX = trainX.reshape(trainX.shape[0], trainX.shape[1]* trainX.shape[2])
print ("shape of the trainX", trainX.shape)
model.fit (trainX, trainX, epochs=5, batch_size=100)
Вопросов:

1)softmax обеспечивает распределение вероятностей. Понял. Это означает, что у меня будет вектор из 784 значений с вероятностью от 0 до 1. Например, [0,02, 0,03 ..... до 784 пунктов], суммирование всех 784 элементов дает 1.

2) Я не понимаю, как двоичная кроссентропия работает с этими значениями. Двоичная кросс-энтропия для двух значений выхода, верно?

Ответы на вопрос(1)

Ваш ответ на вопрос