深度学习和人工智能是本专业相当难得一门课,主要难度在于课程内容覆盖广,练习题的数量有限。
本课共涵盖13章内容,包括常见的CNN,RNN,GNN和强化学习(分了两次课),每周一次课讲一章。其实每一章展开了讲深入了,好几节课都打不住。但是我们讲师的风格是,每章先介绍基础,然后讲每种模型的问题,对应的解决办法以及衍生出来的变种。以RNN为例,从最基础的RNN讲起,然后讲到梯度消失和爆炸,然后介绍到LSTM,再讲到Bi-directional Sequence Learning,TreeRNNs, Seq2Seq等等,除了基础的RNN原理讲的比较仔细以外,其他的都泛泛而谈仅作介绍。
相对应的,每章节的练习可能仅仅就2-3道推导题目,用来理解RNN和LSTM的基本原理和梯度爆炸的原因,再配上一道可选的编程题。
这种上课模式可能对大多数人没有问题, 然而对我这样的分不清主次的中国同学,常常会很痛苦。一来,上课时虽然讲师会多讲基础,但是课件内其他模型的介绍篇幅实在不少,仔细看吧,费时费力又多流于形式(对于一个好几篇paper堆出来的模型,光看介绍能理解什么呢),也事实上不太会用到;若是忽略,心中惴惴不安,总觉得对不起自己,更担心考试考到时傻眼。总是在看课件时纠结,在考试时后悔。
其次,作为一个合格的小镇做题家,获取知识的核心途径并不是上课,而是在于做题,用做题带来的反馈来加强我对知识的理解以及修正错误的认知。然而讲师实在吝啬笔墨,希望学生能够举一反三,做三道题,理解出9道题的能力(真希望有个GAN出题网络啊)。我做完习题问自己,这两道题是否能让我理解这章的主要内容?每每都无语凝噎。就是这样的学习模式,让我在类似课程的考前总是万分慌张,复习无从着落。
毛主席曾说“我们的同志在困难的时候,要看到成绩,要看到光明,要提高我们的勇气”,显然遇到有困难的课就消极学习,这不是我们提倡的一贯态度。
于是,在复习这门课时,我改变了策略。一来着重看课件基础内容,另外听讲课视频,以免漏下课件中没有的内容。其二,忽略讲师展开来用于介绍的内容,这不是重点。第三,多做练习题,重复做,从生疏到熟练,提高的不仅仅是解题速度,还有理解深度,然后重复看题目的参考解答和讲解视频,这里常常会提到一些课程中遗漏的重点。其四,找课外的相似内容(历史考卷,或者比如国内相关内容的面试题),这步我没有落实好。第五,对于相似却又有细微差别的内容(如强化学习中的Model-free/based, on/off-policy等等),多阅读课外资料,自己厘清逻辑。
实际考试中,我复习到的内容也确实大都为重点,内容较为熟悉。虽然由于惰性,部分编程题没做,影响了部分题目,而且考试为开卷网上考试,难度稍有降低。但总的而要,复习和考试策略还是较为成功的。
----记于17日考完这门课来总结