title: Building a model on Keras correctly
body: <p>I'm new to neural networks and Keras, and I want to build a CNN that predicts certain values of an image. (the three values predict the size, length, and width of a blur put on top of the image). All 3 values can range from 0 to 1, and I have a large data set. </p>
  
  <p>I am not exactly sure how to build the CNN to do this though, as all the prototype codes that I have built so far give me predictions of the format <code>[1.,0.,0.]</code> instead of ranges between 0 and 1 for each value. On top of that, despite changing the number of epochs and decay value in the SGD optimizer, I don't get any change in my loss function at all. Can you please tell me where I am going wrong? Here is what I have so far:</p>
  
  <pre><code>images, labels = load_dataset("images")   # function that loads images
  images = np.asarray(images) # images are flattened 424*424 arrays (grayscale)
  labels = np.asarray(labels) # Lables are 3-arrays, each value is float from 0-1
  
  # I won't write this part but here I split into train_imgs and test_imgs
  
  model = keras.Sequential()
  # explicitly define SGD so that I can change the decay rate
  sgd = keras.optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
  
  model.add(keras.layers.Dense(32, input_shape=(424*424,) ))
  model.add(keras.layers.Activation('relu'))
  model.add(keras.layers.Dense(3, activation='softmax'))
  
  model.compile(loss='mean_squared_error',optimizer=sgd)
  # note: I also tried defining a weighted binary crossentropy but it changed nothing
  
  checkpoint_name = 'Weights-{epoch:03d}--{val_loss:.5f}.hdf5' 
  checkpoint = ModelCheckpoint(checkpoint_name, monitor='val_loss', verbose = 0, save_best_only = True, mode ='auto')
  callbacks_list = [checkpoint]
  
  model.fit(train_imgs, train_labls, epochs=20, batch_size=32, validation_split = 0.2, callbacks=callbacks_list)
  
  predictions = model.predict(test_imgs) # make predictions on same test set!
  </code></pre>
  
  <p>Now I know that I am leaving out dropout layers, but I WANT the CNN to overfit my data, at this point I just want it to do anything. When I predict on the same set of images, I would hopefully get exact results, no? I'm not quite sure what I'm missing. Thanks for the help! </p>