significant changes made
fixes multiple random initialization
add @volatile
Use Gaussian
some codes change, to implement STM in next
for atomic operations, just use ; add scala-stm
change dW, db to dW(), db() using atomic
fixes #2