编者按:ICFO机器学习工程师Mehmet Alican Noyan提出,我们教育和学习的方式,可以借鉴AI领域机器学习的一些经验.
人工智能(AI)和人类智能的比较,一直以来引起各种激烈的争论。
机器有可能像人类一样思考吗?
离智能机器统治世界还有多远?
人工神经网络借鉴了大脑吗?
这类问题的焦点是塑造AI的未来。但我们为什么不想象如何借鉴AI改进人类智能呢?我知道你的怀疑,别担心,这不是一篇关于编辑基因升级大脑的文章。
人类智能不仅关乎大脑,教育也是我们的智能的基本部分。我们可以通过更好的教育改进人类智能。但是看起来我们在训练机器方面要比训练人类成功得多。
这一现象有多种可能的解释。AI是一种数学构造,大部分情况下我们都能得出一种定义更好的表现测度,而教育包含经济、社会、政治、宗教成分,更好的定义变得主观。此外,在AI中,我们可以更加自由地进行试验,以找出效果最好的学习方法。另一方面,教育领域的试验却有诸多限制(经济、时间,等等)。最后,我们有基准数据集帮助世界各地的人比较他们的机器学习方法。而教育方面很难做这种普适的比较。
这些挑战并不意味着我们走投无路。Asimov说过:“当下最可悲的事情是,科学积累知识的速度超过社会积累智慧的速度。”为了做出改变,让我们使用AI方面的知识来改进人类智能。
基于规则和自行学习
AI有两种方法:基于规则的系统,硬编码算法遵循的规则;自行学习(即机器学习),给算法提供数据,算法自行学习模式、关系、变换。在视觉任务上,大家公认机器学习表现优于基于规则的算法。换句话说,我们偏向于展示数据,而不是告诉机器怎么做。
但在人类教育上我们的做法不同。我们告知、强行灌输所谓的真理,而不是向学生展示数据让他们自己学到真理。这阻止学生内化概念。对重复性任务等一些有限的问题而言,这可能已经足够。然而,要处理新问题,需要习惯变通、混合不同的想法。这只有在理解概念的本质,而不是仅仅死记硬背的情况下才能发生。
不要求学生知道,只要求学生记忆老师讲授的内容。
—— Paulo Freire
如同在机器学习中所做的,我们应该信赖自行学习,也就是自我教育。学校应该创建一个可以激励自我教育的环境。
我坚信,自我教育是唯一的教育形式。学校的唯一功能是让自我教育更容易;做不到这一点,那它就什么也没做。
—— Isaac Asimov
如何激励自行学习?
即使我们同意自行学习是前进的方向,我们如何执行呢?AI研究者投入了大量的精力,研究机器学习,我们有广泛的知识可供借鉴。
在许多机器学习任务中,我们使用一种称为梯度下降的优化算法。这是机器实际学习的方式。理解这一算法的基础很容易。它是一个迭代算法,逐步逼近答案。它从做出一个预测开始,然后得到一个离真相有多远的反馈,然后做出一个略微改善的预测。这一序列不断继续,直到我们满意于预测和真相的差距。换句话说,学习是一个主动的一步一步的过程,其中算法在每一步重新考虑它的假定,并逐渐改进。
我无法替别人思考,也无法不借助于别人而思考,别人也无法替我思考。即使人们的想法是迷信,或者很幼稚,只有当他们在行动中重新思考他们的假定时,他们才能做出改变。在这一过程中,必须生产自己的想法,并据此行动,而不是消费其他人的想法。
—— Paulo Freire
(这不是很像梯度下降吗?还是说我读了太多关于AI的东西走火入魔了?)
如你所见,梯度下降可能帮助我们理解如何执行自行学习。我们也可以从测试阶段得到一些经验。
每个从事ML的人都牢记的一点是训练算法时使用一个数据集(称为训练数据),然后使用另一个数据集测试(称为测试数据),以确保算法并不是在记忆(过拟合),确实在学习。当然,训练数据和测试数据必须来自同一分布。你不能教授数学,然后期望算法能够很好地回答历史问题。
例如,如果我们创建猫分类器,我们通过展示加菲猫、Hello Kitty、跳跳虎等图片训练算法,然后使用不同种类的猫:菲力猫、Cosmo猫、费加罗……如果算法能够说菲力猫是猫,那么它学习了什么是“猫性”。如果算法说加菲猫是猫,那它也许学习了“猫性”,但也可能只是记住了加菲猫是猫这一事实而已。因此,这一领域的每个从业者都赞同我们不应该使用训练数据来测试。你觉得人类学习也适用这一原则吗?
教育小孩的时候,我们常常使用特定的一组问题训练和测试。然而,生活中的问题没有预定义的严格结构。它们不断演化。我们只有内化概念而不是死记硬背才能应对生活中的问题。因此我们应该用开放的问题挑战学生,让他们面对不确定性,让他们在领域中自己猜测和探索。
例子:如何教授导数?
我们来举一个具体的例子,比较下基于规则的方法和自行学习的方法在教授导数上有什么不一样。如果你愿意,可以跳过这一部分。这里的目标是展示如何激励自行学习导数,而不是教你导数是什么。
传统上,导数的教学是通过介绍求导公式以及展示几种常见函数的导数。接着,学生通过求解一些问题记忆公式。这和基于规则的AI一样,硬编码算法需要遵循的规则。
下面让我们看下另一种方法,也就是自行学习的方法。和我们在机器学习中做的一样,这里的目标是创建一个可以激励自行学习的环境。我们不会灌输任何东西,学生会自己学习。
导数的本质是瞬间变化,但改变是在整个时间段发生的,瞬间仅仅是其中的一个时刻。为了捕捉导数的思想,人们应该自己察觉其中的矛盾。我们怎么能做到这一点呢?
我们可以讨论下芝诺悖论中的一个:“假设你希望到达离你1米远的一面墙。为了到达目标,你首先需要通过一半的路程,到达中点(1/2米)。剩下的路程同理。要通过剩下的1/2米,你首先需要到达1/2的中点(1/4米)。以此类推,你和墙之间总是剩下一段极小的距离。你可以逼近这面墙,但永远也到不了——或者也许你可以在无穷次之后到达。但在现实生活中,我们知道我们确实可以到达墙。让我们讨论下这里发生了什么……”
希望这样的讨论能引导学生掌握无穷小和无限的概念,或者至少给他们带来一点感觉。否则我们就迭代这一步骤,直到他们掌握概念或者至少有些感性认识为止,就像我们在梯度下降中做的一样。具备了对无穷小和无限的理解之后,我们可以让学生讨论瞬时速度:
“平均速度是在特定时间段中的位移。但我们如何测量瞬时速度呢?瞬时意味着时间段是零,而如果时间停止,我们无法移动。看起来瞬时速度应该是0/0=未定义。你怎么看?”
同样,经过几次迭代后(5个epoch应该够了:) ),他们大概能够得出结论,时间段逼近零,平均速度就逼近瞬时速度,正像我们在芝诺悖论中逼近墙一样。实际上这就是导数(位移-时间函数的导数是速度),当学生尝试为某些问题找出答案时,他们自己就能领会这一点。我们甚至可以基于这一理解得到上面的公式。我并不建议在教学中省略公式,但学生应该理解公式背后的动机。
我并不是教人导数的专家,所以这里我尝试给出自行学习导数的粗略轮廓。重点在于方法,而不是导数。你可以将这一概念应用于任何主题。例如,教摄影时,不要提供好照片的规则,而是引导学生去看优秀的网站、书籍,让他们在看各种照片的过程中形成他们自己对摄影的理解。同时,你可以为他们组织展览,让他们展示自己拍的照片,并在建设性的讨论中迭代地改进摄影技术。
如果你对学习导数感兴趣,可以看下Grant Sanderson的这个视频。它是一个最好的恰当教学的例子。在某些时间点,他会问一些问题,然后说“停下来反思一下”。这是关键,需要停顿和反思才能真正学到东西。
他还说:“如果你感到古怪和矛盾,很好!你正努力对付微积分之父同样面对过的冲突……”某种意义上,他正帮助你成为牛顿,这正是自行学习。
结论
可以说人工智能是模拟人类智能。如果我们不去利用它的结果,那将是巨大的浪费:
我们应该推广自行学习而不是基于规则的学习。我们知道这是AI领域机器学习前进的路线。
学生应该自行改进他们的假定。和我们在梯度下降中做的一样,我们也许需要监督学习过程,在每一步给学生反馈,但不该给出解答。
为了确保学生是在学习而不是死记硬背,我们应该让他们面对没见过的情况。在机器学习中,我们用未见数据集来测试算法。
你也许在想这些关于教育的洞见早就为人所知,人类智能和人工智能之间的对应根本没那么有用。但我们请你三思,这里的关键在于,AI领域几乎一致同意这些洞见,你觉得这些在人类智能领域同样成立吗?我确实意识到人类和机器是不一样的,不可能说存在100%的对应。但是,很明显,两者之间有很强的关系。让我们利用人类和机器之间这一有价值的相似性,来理解和克服我们教育自己小孩的方式上的挑战。
-
人工智能
+关注
关注
1791文章
47244浏览量
238379 -
机器学习
+关注
关注
66文章
8414浏览量
132612 -
数据集
+关注
关注
4文章
1208浏览量
24696
原文标题:机器学习方法给人类教学的启示
文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论