An overview of gradient descent optimization algorithms | Synapse