Allow dropout, initialize weights randomly, and fix adagrad