Add Adam optimizer which usually provides better results compared to SGD.
Add a unit test for Adam optimizer.