Avoiding a fall after strong collisions between two players is an important capability for an adult-size humanoid robot. Particularly in the RoboCup competitions, matches are really competitive and collisions between players are occurred frequently. In the adult-size humanoid league, robots are tall and heavy. Whenever robots contact each other during moving, several unpredicted non-linear forces are entered to the robots. As a consequence, the stability of robots goes out of control and they fall down. In order to maintain and recover balance of an adult-size humanoid robot against external disturbances, a Neural Network is used for learning from past experiments to reduce the effect of disturbances forces by providing proper step sizes and joint angles to the robot. In our approach, the robot's controller is learned using several empirical experiments and tested on a real adult-size humanoid robot namely Ariana from BehRobot humanoid team. Experiments demonstrate after receiving strong pushes during walking, Ariana can efficiently recover its stability in the real environment.