My first machine learning experiment , model not converging , tips?
You may try Stochastic Gradient Descent optimizer with a learning rate decay and nesterov momentum. You can also try a different batch_size. Also you are missing drop out layers between the fully connected layers which the authors used.

Try

...
# flatten the conv layers
model.add(Flatten())
model.add(Dropout(0.5))

# fully connected 512
model.add(Dense(output_dim=512)) 
model.add(Activation("relu"))
model.add(Dropout(0.5))

# fully connected output layer
model.add(Dense(output_dim=2))
model.add(Activation("softmax")) 

# compile
model.compile(loss='categorical_crossentropy', 
              optimizer=SGD(lr=10e-4, 
                            decay=10e-6, 
                            momentum=0.99, 
                            nesterov=True), 
              metrics=['accuracy'])

# train
model.fit(x_train, y_train, 
          nb_epoch=70, 
          batch_size=64,
          verbose=1)


In my experience this usually helps a lot. If you get this setting to converge, you may try rmsprop and adam.