Pérdida de NaN cuando se entrena la red de regresión

Tengo una matriz de datos en "codificación única" (todos unos y ceros) con 260,000 filas y 35 columnas. Estoy usando Keras para entrenar una red neuronal simple para predecir una variable continua. El código para hacer la red es el siguiente:

model = Sequential()
model.add(Dense(1024, input_shape=(n_train,)))
model.add(Activation('relu'))
model.add(Dropout(0.1))

model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.1))

model.add(Dense(256))
model.add(Activation('relu'))
model.add(Dropout(0.1))
model.add(Dense(1))

sgd = SGD(lr=0.01, nesterov=True);
#rms = RMSprop()
#model.compile(loss='categorical_crossentropy', optimizer=rms, metrics=['accuracy'])
model.compile(loss='mean_absolute_error', optimizer=sgd)
model.fit(X_train, Y_train, batch_size=32, nb_epoch=3, verbose=1, validation_data=(X_test,Y_test), callbacks=[EarlyStopping(monitor='val_loss', patience=4)] )

Sin embargo, durante el proceso de entrenamiento, veo que la pérdida disminuye muy bien, pero durante la mitad de la segunda época, va a nan:

Train on 260000 samples, validate on 64905 samples
Epoch 1/3
260000/260000 [==============================] - 254s - loss: 16.2775 - val_loss:
 13.4925
Epoch 2/3
 88448/260000 [=========>....................] - ETA: 161s - loss: nan

Traté de usarRMSProp en lugar deSGD, Lo intentétanh en lugar derelu, Intenté con y sin abandono, todo fue en vano. Intenté con un modelo más pequeño, es decir, con una sola capa oculta y el mismo problema (se convierte en nan en un punto diferente). Sin embargo, funciona con menos funciones, es decir, si solo hay 5 columnas, y ofrece predicciones bastante buenas. Parece que hay algún tipo de desbordamiento, pero no puedo imaginar por qué: la pérdida no es irrazonablemente grande en absoluto.

Python versión 2.7.11, ejecutándose en una máquina Linux, solo CPU. Lo probé con la última versión de Theano, y también obtengo Nans, así que intenté ir a Theano 0.8.2 y tengo el mismo problema. Con la última versión de Keras tiene el mismo problema, y también con la versión 0.3.2.

Respuestas a la pregunta(6)

Su respuesta a la pregunta