Generalization Guarantees of Gradient Descent for Multi-Layer Neural Networks