推动人类社会进步的因素有哪些