又是一年高考时。
回想起来,离自己当年高考已是过去整整二十年了。作为一个机器学习和人工智能的研究员,每天沉浸其中,自然会对三观产生潜移默化的影响。用这几年机器学习的进展,反过来看看教育的过程和人生的前进脚步,找找对应,是很有意思的事,也是一个比较有趣的视角。
小时候大家坐在课堂里,都在进行有监督学习,任务是训练自己(过)拟合现成答案,学校考试则看答题正确率,则是挑出正确率高的模型重点培养,如此一层一层,从小学,到初中,高中,直到高考。
等到长大了开始直面真实世界,社会就露出了凶残的獠牙,虽然目标仍然明确,但再也没有按部就班的学习资源,学习任务变成了半监督、自监督和强化学习,得要自己给自己找事做,自我评判,主动探索,自我总结,找高手请教帮忙,等等。
既然最终的目标并非有监督学习,那么小时候的教育还是要集中在有监督学习呢?我想这是因为它的可靠性和标准化。就像我们在做任何一件新任务的时候,一开始永远是拿现成数据做一做模仿学习看看效果的。我们几乎可以确认,它不会产生特别好的结果,也不会是最后结稿方案的主力,但却是最有把握,风险也最小的方案。
虽然这个方案及其可靠,但它作为一种预训练的手段而非目的,最终还是通过这种方案学到更好的神经表示,为以后的下游实际任务作出贡献。这一点还是要记得清楚的。如果天真地以为整个人生都是“给什么答案就学习什么”,坐等答案和指示上门,那以后发展的路子就窄了,而且随着人工智能的进展,这部分给一说一的有监督学习技能,是最有可能被淘汰的。
这可能是为什么随着时间流逝,年岁见长,人和人的差距会变得越来越大的一方面原因。
接下来,像半监督、自监督或者强化学习之流都不能概括日常人类的学习任务了。人生需要自己规划,目标函数需要自己斟酌,什么时候给奖励要自己定,不太在意别人目光,主次要分明,有舍有得,有进有退。这就到了元学习的层次。经常会有人问,究竟看多少文章,写多少代码,才可以做好研究。其实这些都只是一些具体的量化指标,一个比较成熟的研究者,知道什么时候用这些指标约束自己来为下一个小目标开辟道路,什么时候忽略这些指标,以更重要的东西为准绳。对此,老师最多给点具体例子,是否能做到足够灵活,就要看自己。
再往上走,能用来训练的数据点越来越少并且存在对抗样本,从别人手上获得的信息大多无用,建立目标函数进行误差反传的机会要自己去寻找,最后连梯度应该传给谁,都是不知道的。比如说一个项目失败了,究竟是谁的责任?老板可以选择下罪己诏,把失败的责任全都揽在自己身上然后活活累死;或者选择完全关掉自己的梯度,把误差反传的“机会”一股脑儿塞给认真干活的人,让他们背黑锅。显然这两种极端情况都是不对的,那么怎样才是正确的梯度分配方案,就是一种艺术。
这时候的学习过程就更加艰难漫长,是长期的水磨功夫,没有外界明确的指导,靠与自身较劲,不断地总结体会,超越普遍经验,于细微之处发现问题,来找到更好的解决方案。其它人看不见也不会去替主事者思考,更不会有“正确答案”的存在。
最后总结一下。这样看来,以小时候的试卷成绩来预测将来的成就,其实是会存有很大的误差的。以目前机器学习积累的知识来看,为了学到一个有泛化能力的神经网络,最好不要追求过拟合,不要死记硬背,尽量透过习题看到本质,多用将来会出现的任务来训练自身,可能对长远发展更有帮助。
当然,现实还是残酷的,先得过这一关。