选课类别:基础 | 教学类型:理论实验课 |
课程类别:研究生课程 | 开课单位:人工智能与数据科学学院 |
课程层次:硕士 | 学分:4.0 |
3.17 update:都不回邮件,我放弃了。研究生课确实是草菅人命,没处说理。不建议认真写这门课的实验,毕竟实验文档说不定都是 ai 随便写的,既无设计也无引导。不建议像我那样感觉有小问题就重新训练,反正写的东西又没人看,估计实验报告就拉到最后看下页数。精力还是拿去做做国外的实验或者科研比较好。
3.13 update:和副院长发了邮件。
重新出分了,本科大三后我便再也没有因为“给分不如意”在评课社区喷过什么课程,很不想研究生还干这种事。但这门课的操作太下头了,我决定实名重新编辑我的回答。
实验内容:
可见,其实实验内容很单纯,但有一点很讨人厌的地方:每次必有一句“并研究 xxx,xxx,xxx,xxx,xxx 对实验结果的影响”。第一次 MLP 拟合 sin x 倒是很好弄,写个脚本网格搜索就行了,反正搜得快。后面就不这么容易了,本身要训练也不是马上就好,而你若想比较好地分析这么多变量的影响,跑个 20 组我都觉得不够多(为了更好地调参,我搜了下自动调参工具,使用 NNI 调的来着。其实也没有什么技术含量,但我认为比起随便写几组网格搜索感觉更用心更有说服力点吧)。而且有时候这些变量的影响并不那么明显、还不如随机数带来的影响大。有时候又不那样单纯。还有些变量在实验内容上并不好调:RNN 实验中要求调 residual 和 normalize,但 nn.GRU() 和 nn.LSTM() 中⽆法直接配置 residual 和 normalize,所以我学习 Residual LSTM in Keras,使⽤⼀个循环,⽤多个单层的 nn.GRU() 堆叠起来⽹络,⼿动在后⾯添加 residual 和 normalize。但又觉得跑出来效果不够好,怀疑自己哪里写错了,又查到了 pytorch 中多层 GRU() 和 LSTM() 的 hidden 连接方式是把所有层的 hidden concat 起来,而在我手动堆叠的模型中只用了最后一层的。但其实这样改后效果相差也并不大。
说了这么多,总之就是实验如果关注正确性,其实并不那么容易正确达成,而且不明显。超参的影响也并不单纯。较真的话真实难度没有大家想得那么简单(也有可能是我菜?)。
大作业内容就不评价了,但从结果而言我这组打得还行,第三个赛题,分数0.86几。
然后让我非常意外的事情出现了:这门课既没有考试,也没有出平时分,我的作业全部认真实现了所有要求且按时提交,大作业也打得还行——系统上直接给我出了一个 77 的总评。
我觉得很奇怪,出分的早晨询问一位助教这件事,没有收到回复。傍晚又问了另一位助教,也没得到回复。晚上和老师写了邮件。
虽然老师并未回复我,但第一位助教在老师已读后的 20 分钟后回复我了:说我是大作业成绩太低。我说我打得还行啊,也有认识低一点点的同学总评挺高啊。然后才发现真相是:
但是真的是我们组实验报告写得不明显、导致助教看错了吗?我认为这锅不是我的。首先这个比赛是有榜的,正确的做法应该是从网上下载一份排名,而不是从实验报告里找。那如果我缺德,f12 改了个很高的分数,助教也就信实验报告里的数字咯?其次大多数课程正常的做法都是会先出一部分成绩,让大家核实是否有误,这门课不出分不核实,甚至出分后也差点不回复我。最重要的一点是,我认为助教可能并未读大家的实验报告。我们的实验报告有目录有小标题,逻辑上也是清晰的,他为什么偏偏会把最后一个数字当作最优分数呢?显然是直接拉到最后看了个数字就走了:
然后重新出分,又给了我一个 84,更难绷了。你这是没考试的研究生课诶,又不是什么本科课没考赢同学、被优秀率卡了。在硬性指标,大作业成绩,还行的基础上,也说不出平时实验扣分的理由,一句“核查后没问题”、“是和其他同学的对比着给的”,不具有任何说服力。只让我怀疑你们是不是真的看了大家的作业。
这助教感觉也太容易当了,不用改试卷,随便看看实验报告长度给分,也不用写学习反馈,还不一定要回私聊消息。这种事情就应该被写入“助教培训”中,作为反面教材。
给分巨低,慎选,老师讲课没毛病,怀疑是助教的问题
不签到,没有期末考试,四个平时作业和一个大作业,耗时相比数据科学基础、组合数学等算少,4学分,从省时拿学分角度看优质课