understanding deep learning simon jd prince