[minor] cosmetics
[improvement] instead of allocating memory for a sparse2dense, we reuse the same array all the time.
[feature] implemented sparse input RBM, broke DBN... will fix later