def RNN_optimization(X, Y, a_prev, parameters, alpha, vocab_size): # 1. Forward propagation loss_now, cache = RNN_forward_prop(X, Y, a_prev, parameters, vocab_size) # 2. Backward propagation grads, a = RNN_back_prop(X, Y, parameters, cache) # 3. Clip gradients grads = clip_grads(grads, 10) # 4. Update parameters parameters = update_parameters(parameters, grads, alpha) return loss_now, parameters, a[len(X)-1]