Gan Training Algorithm