在人工智能蓬勃发展的今天,想了解它的原理似乎不是一件容易的事。其实它的核心问题仍然是数学,而且并不复杂,会比你想象的简单得多。如果你登过山(在山间迷路更佳),那么你就能理解它的底层策略。
我的朋友梅瑞迪斯·布鲁萨德是纽约大学的一位教授,她的专业研究领域是机器学习及其社会影响。不久前,她接受了一个任务:用大约两分钟的时间在电视上向全美观众解释人工智能的定义及其工作原理。她向采访她的主持人解释说,人工智能不是杀手机器人,也不是智力让人类相形见绌但没有感情的人形机器人。她告诉主持人:“我们只需要记住一点,它的基本原理就是数学,没什么可怕的!”
假设你不是一台机器,而是一名登山者,正在努力地往山顶爬。但你没带地图,四周又都是树木和灌木丛,也没有什么有利位置能让你看到更广阔的风景。那么,你该如何登顶呢?
有一种策略是,评估你脚下的地面坡度。当你往北走的时候,地面坡度可能会略微上升,当你往南走的时候,地面坡度可能会略微下降。当你转向东北方时,你发现那里有一个更陡峭的上坡。你在一个小圈里走来走去,勘察了你可能前往的所有方向,并发现其中一个方向的上坡是最陡峭的,于是你朝那个方向走了几步。然后,你再画一个圈,并从你可能前往的所有方向中选出最陡峭的上坡,以此类推。
现在,你知道机器学习的工作原理了吧!
好吧,也许还不止这些,但这个叫作“梯度下降法”的概念是机器学习的核心。它其实是一种试错法:你尝试一堆可能的行动方案,然后从中选出最有助于你摆脱困境的那个。与某个方向相关的“梯度”是一个数学概念,它是指“当你朝那个方向走一步时,高度会发生多大的变化”,也就是你走的那条路的地面坡度。梯度下降法是一种算法,它利用数学语言制定了“条明确的规则,告诉你在你可能遇到的各种情况下应该怎么做”。
这条规则是:考虑你可以朝哪些方向走,找出其中梯度最大的那个,并朝那个方向走几步;重复上述步骤。
假设我不是一名登山者,而是一台尝试学些东西的计算机,例如阿尔法围棋或GPT-3(能生成一长串看似合理且令人不安的英语文本的人工智能语言模型)。但一开始,先假设我是一台尝试学习猫是什么的计算机。我该怎么做?答案是:采取类似于婴儿的学习方法。在婴儿生活的世界里,经常有大人指着他们视野中的某个东西说“猫”。
你也可以对计算机进行这样的训练:给它提供1000幅猫的图片,这些猫的姿态、亮度和情绪各不相同。你告诉计算机:“所有这些都是猫。”
事实上,如果你真想让这种方法行之有效,就要另外输入1000幅非猫的图片,并告诉计算机哪些是猫而哪些不是。机器的任务是制定一个策略,使它能够自行区分哪些是猫而哪些不是。它在所有可能的策略之间徘徊,试图找到最好的那个,即识别猫的准确度达到最高。
它是个准登山者,所以它可以利用梯度下降法确定行进路线。你选择了某个策略,将自己置于对应的环境中,然后在梯度下降规则的指引下前行。想想你对当前策略可以做出哪些小改变,找出能为你提供最大梯度的那个,并付诸行动;重复上述步骤。
我们如何衡量一个策略是否成功呢?最简单的方法是,看看那台已学习过2000幅猫和非猫图片的计算机接下来的表现。对于每幅图片,我们都可以给策略打一个“错误分数”。
如果图片是猫且策略的输出是1,那么错误分数为0,也就是说答案正确。如果图片是猫而策略的输出是0,那么错误分数为1,这是最坏的一种可能。如果图片是猫而策略的输出是0.8,那么答案近似正确但带有些许不确定性,错误分数为0.2。把用于训练的所有2000幅图片的错误分数加总,就会得到总错误分数,它可以衡量你的策略是否成功。你的目标是找到一个总错误分数尽可能低的策略,怎样才能让策略不出错呢?
这就要用到梯度下降法了,因为现在你已经知道策略随着你的调整而变得更好或更差意味着什么。
在这里,我不想低估计算方面的挑战。那台学习识别猫的计算机更有可能用数百万幅图片来训练自己,而不只是2000幅。这样一来,计算总错误分数时可能就需要加总100万个错误分数。即使你拥有一台强大的处理器,也需要花不少时间!所以在实践中,我们经常使用梯度下降法的变体之一——随机梯度下降法。
这种方法涉及数不清的微小变化和错误分数,但它的基本理念是:第一步,你从大量的训练图片中随机选择一幅(比如,一只安哥拉猫或一个鱼缸的图片),然后采取可使这幅图片的错误分数降至最低的那个步骤,而不是把所有的错误分数加在一起。第二步,再随机选择一幅图片,重复上述做法。随着时间的推移(因为这个过程要进行很多步),最终所有图片可能都会被考虑到。
到目前为止,我们的描述缺失了一个重要因素:你如何知道何时该停止呢?你也许会说,很简单啊,当我们做出任何小改变都不能使错误分数降低时,就可以停止了。但有一个大问题:你可能并未真正“登顶”!如果你是图中的那个快乐的登山者,向左走一步或向右走一步,你会看到这两个方向都不是上坡。这就是你快乐的原因:你自认为已经登顶了!但事实并非如此。真正的峰顶还很遥远,而梯度下降法不能帮你到达那里。
你掉进了数学家所说的“局部最优值”陷阱,在这个位置上,任何小变化都不能产生改善效果,但它远非真正的最佳站位。
想绕过局部最优值,你需要做的就是暂时收起你的贪婪。所有好的规则都有例外。例如,在你登顶后,你可以不停下脚步,而是随机选择另一个地点,重启梯度下降法。如果每次的终点都是同一个地方,你就会更加确信它是最佳地点。在现实生活中,你很难将自己重置于一个完全随机的人生位置上。更加切实可行的做法是,从你当前的位置随机迈出一步,而不是贪婪地选择一小步。这种做法通常足以把你推到一个全新的位置上,向着人生巅峰迈进。