Skip to content

人工智能

考核要求:

课程考核分为签到+编程作业+期末,分别所占比例为5+25(35)+70(60)。

作业内容:

编程作业在mo.zju.edu.cn上完成,共有5个左右,内容包括八皇后问题、黑白棋、K-means异常检测、手写数字识别与垃圾分类、机器人自动走迷宫等,当然每届可能不一样。可以看出作业内容涵盖了无监督学习、监督学习、强化学习、优先搜索等多类知识,如果事先没有相关知识储备可能有些难以上手,但是整体难度并不高,具体得分会由系统评分和助教给出。

以下简要给出作业心得:

1)八皇后问题,经典回溯法,教程众多,可以自行搜索学习;

2)黑白棋,应用蒙特卡洛树搜索下黑白棋,战胜系统和其他同学的算法。理论和编程有些难度,相关资源也相对较少,b站和CSDN有一些资源,但印象中可能有误,需要甄别,建议能看伪代码的同学按照伪代码敲。要想得高分,需要在基础的实现上考虑剪枝等操作;

3)K-means异常检测,基础的K-means,要求分类准确,印象中满分是5类,但是基本大家只能分4类;

4)手写数字识别与垃圾分类,一个简单的深度学习任务,识别准确即可,我最后的准确率大概是90%多,需要做一些原始数据的调整和增强;

5)机器人自动走迷宫,用深度强化学习,难度不大。Github上有部分类似的作业被开源,也可以参考人家的优化思路。作业虽按照准确率打分,但不建议过分追求,整体分数差距不会很大。

教学内容:

教学以理论为主,内容广泛,包括逻辑、搜索、监督/无监督学习、强化学习、博弈论等。如果是小白听起来可能有些无聊,但如果是有实践经验的同学,相信听一些理论知识是会有帮助的。建议在上课时按照自己的需求听,例如我对Transformer的网络架构有一些疑惑,则可以重点关注深度学习这部分内容,其余的例如逻辑部分,如果自己暂时用不太到,大致了解即可。我上的是范鹤鹤老师的课,老师人很好,课间也有很多同学交流自己科研中碰到的一些问题,课上回答问题也会有小零食。

考试内容:

考试闭卷,考一些理论知识,内容广而细,所以需要对部分内容进行一些背诵。复习时间因自身的基础情况而异,但是一两天基本足够了。复习时需要重点关注书中提到的算法,要十分清楚这些算法的流程,会考大题让你计算,比如卷积神经网络卷积后的数据维度,Q学习迭代几步后的结果,A*算法是怎么搜索的等等。其他的比如算法的性质等大多是填空题,眼熟即可。考试历年卷98上有一些回忆可以参考,搜索时注意课程名称和开课学院。考试的分数对绩点起非常大的影响。

其他建议:

人工智能个人建议大家从实践中学习,代码从来不是重点,重点是判断这个任务需要采取什么方法比较合适,如何进行调参提高算法的能力,这些都需要一定的经验。同时理论也是非常重要的,忽视理论很难做有价值的创新,这部分需要时常翻看教材或者相关论文,也建议大家亲自从零开始手写一些算法,或者推导数学公式。