change the W's init
add gradient decent learning for single thread