¿Por qué un binario Keras CNN siempre predice 1?

Quiero construir un clasificador binario usando un Keras CNN. Tengo alrededor de 6000 filas de datos de entrada que se ven así:

>> print(X_train[0]) 
[[[-1.06405307 -1.06685851 -1.05989663 -1.06273152]
  [-1.06295958 -1.06655996 -1.05969803 -1.06382503]
  [-1.06415248 -1.06735609 -1.05999593 -1.06302975]
  [-1.06295958 -1.06755513 -1.05949944 -1.06362621]
  [-1.06355603 -1.06636092 -1.05959873 -1.06173742]
  [-1.0619655  -1.06655996 -1.06039312 -1.06412326]
  [-1.06415248 -1.06725658 -1.05940014 -1.06322857]
  [-1.06345662 -1.06377347 -1.05890365 -1.06034568]
  [-1.06027557 -1.06019084 -1.05592469 -1.05537518]
  [-1.05550398 -1.06038988 -1.05225064 -1.05676692]]]
>>> print(y_train[0])
[1]

Y luego he creado una CNN de esta manera:

model = Sequential()
model.add(Convolution1D(input_shape = (10, 4),
                        nb_filter=16,
                        filter_length=4,
                        border_mode='same'))
model.add(BatchNormalization())
model.add(LeakyReLU())
model.add(Dropout(0.2))

model.add(Convolution1D(nb_filter=8,
                        filter_length=4,
                        border_mode='same'))
model.add(BatchNormalization())
model.add(LeakyReLU())
model.add(Dropout(0.2))

model.add(Flatten())

model.add(Dense(64))
model.add(BatchNormalization())
model.add(LeakyReLU())

model.add(Dense(1))
model.add(Activation('softmax'))

reduce_lr    = ReduceLROnPlateau(monitor='val_acc', factor=0.9, patience=30, min_lr=0.000001, verbose=0)

model.compile(optimizer='adam', 
              loss='binary_crossentropy',
              metrics=['accuracy'])

history = model.fit(X_train, y_train, 
          nb_epoch = 100, 
          batch_size = 128, 
          verbose=0, 
          validation_data=(X_test, y_test),
          callbacks=[reduce_lr],
          shuffle=True)

y_pred = model.predict(X_test)

Pero devuelve lo siguiente:

>> print(confusion_matrix(y_test, y_pred))
[[  0 362]
 [  0 608]]

¿Por qué todas las predicciones son unas? ¿Por qué la CNN funciona tan mal? Aquí están las tablas de pérdidas y acc:

Respuestas a la pregunta(1)

Su respuesta a la pregunta