欢迎光临散文网 会员登陆 & 注册

【花师小哲】当代炼金术(神经网络)前沿(11)——GPT与上下文学习

2023-02-06 10:30 作者:花师小哲-中二  | 我要投稿

近期有一篇挺有意思的论文:

是的,又是关于GPT的研究,所以GPT-4什么时候才能出来呢?这篇论文就简单说一些,毕竟原文内容本来就很少。

1.神经网络训练复习

如果是看过之前我的一些专栏的朋友,应该已经很清楚神经网络的基本流程,不过这里还是稍微再换一种方式复习一下。

大家初高中应该都见过这样的题目,一条直线y=ax+b过A和B两个点,求这条直线。神经网络的思想其实和这道题目差不多,只不过函数形式要复杂的多,参数量也非常的大,并且没有准确解,只有一些近似解。并且,求最优解也是无法用解析的方法完成的,所以才有了神经网络参数优化的一些基本步骤:

(1)初始化神经网络参数

(2)根据训练集(x值),经过神经网络正向传播(得到y的预测值值)

(3)根据y的预测值和真实值计算损失函数

(4)反向传播,优化所有(或部分)参数

(5)回到(2),直到达到结束条件(收敛、超时等)

这个过程是非常漫长的,于是又出现了“预训练-微调”。简单来说,我们把训练的全过程切分成两个部分,第一个部分比较大,这部分的训练称为“预训练”;另一部分比较小,这部分的训练称为“微调”。这样,预训练就可以由大公司来做,然后一般用户只需要在预训练好的模型上微调即可。

之后,随着预训练的发展、无监督、自监督、大模型等纷纷出现。

2.上下文学习

GPT我们也讲过很多次了,简单来说,随着GPT参数模型的逐步增大,研究人员发现其“解锁”了小模型不具有的一个特殊能力,即“上下文学习”。

上下文学习是说,我们可以给GPT模型一些例子,然后它就可以完成类似的任务。

例如,如果我们单独问一个GPT模型“二加三等于几?”,它可能回答不上来,但如果我们先告诉它“一加一等于二,一加二等于三”,然后再问“二加三等于几?”,它可能就答上来了。而且,最重要的一点是,这个过程并没有进行第一部分的(4)步骤,即整个模型的参数实质上是没有变化的。

某种程度上这很离谱,就像同一个函数f(x),你单独用时f(1)是1,但是在计算前你给他说几句话后f(1)就是2了。

学过数电的朋友这时候应该已经注意到了,这一定代表着这个函数内部存在某种类似于“记忆”的机制,使得后续的计算结果是依赖前面的计算的,或者说,上下文对于函数的计算是有帮助的,这种能力就是上下文学习。

用过ChatGPT的朋友应该能体会到其上下文学习能力有多强。

3.元学习

元学习这个概念有些麻烦(而且我也没搞得特别清楚),这里挖个坑,只举几个简单的例子。

神经网络的训练是需要大量的训练集和训练时间的,我们想让神经网络区分猫和狗,我们可能需要成千上百张(甚至更多)猫狗的图片让网络去学习。然而,对于人类来说,要做到这点只需要几张图片就够了,我们学习新事物的能力远比神经网络强多了。元学习就类似于人类的学习。

某种程度上来说,上下文学习已经很类似于元学习了。

4.为什么GPT会有上下文学习能力

论文认为,GPT的上下文学习实质上就是一种隐式的微调,并对上下文学习和微调做了对比(里面包含一些公式推导,这里就不放出来了),这里不多展开(毕竟我个人还是认为这篇论文的说服力还不够,等后续研究了):

其实之前也讲过,现在一般认为,上下文的提示实质上并没有使得GPT-3获得新的能力,只是将能力激发出来或者说将模型的注意力集中在某个特殊问题上罢了。这种行为也很接近人类了。

5.结语

不得不说,大模型还有太多谜团等待被解释,例如我比较感性的是究竟到什么程度才能使模型能力发生“质变”,然而训练大模型需要大量的时间金钱导致我们目前对这个过程还是很难研究的。语言大模型的成功似乎也在告诉我们,语言在我们日常生活中确实有着很关键的作用,语言大模型似乎已经摸到人类智能的边界了(维特根斯坦狂喜),不过路依然是挺漫长的。


【花师小哲】当代炼金术(神经网络)前沿(11)——GPT与上下文学习的评论 (共 条)

分享到微博请遵守国家法律