预训练是什么?预训练和直接训练的区别?

        一个劲说预训练模型,所以说到底什么是预训练模型?真让人头大!

         本文就以最简单的视角切入,以一个例子让你明白预训练到底是什么?它和我们平时最常说的直接训练的区别又是什么?

个人理解

        假设有一个任务:现在有个紧急比赛,需要让我们的小baby在一个月内学会跑步!

 直接训练方式:

        我之前什么都没教过他,直接让他学会怎么跑步。那他还要自己摸索怎么爬,怎么站立?这两步学会了才能学跑步。这是我们正常的学习思维。但是他本身就是一个小baby,让它自己摸索爬和站立的过程是非常长的。等他学完这两步比赛都结束了!

         我们知道训练一个神经网络要学习的东西其实就是一个合适的参数。那直接训练方式表现在模型参数上,就是我随机初始化所有的模型参数,然后模型从0开始学习针对当前这个任务的合适参数。

预训练方式:

        在任务出现之前,我就已经先教会他怎么爬、怎么站立了。现在比赛来了,我只需让它在之前的基础上随便学学都能很快学会。而且耗时要大大缩短!

         预训练方式表现在模型参数上,就是我之前已经拿一个合适的任务(这个任务可能是和很多任务有共同之处的任务)提前训练好了所有的模型参数(预训练)。我们不需要再从0开始训练所有参数了,但是针对我们目前这个任务,有些参数可能不合适,我们只需要在当前参数的基础上稍加修改(微调)就可以得到比较好的效果,这样学习时间必然会大大减小。而且,由于预训练过程和我们当前的任务不是同时进行的,所以可以提前花很长时间把几千亿乃至万万亿参数(现在应该还没)提前预训练好,以求和更多的具体任务都有重合,从而只需要我们微调就可以在各项任务达到不错的效果。

        预训练就像“我们读了新华字典、牛津字典后,再让我们解释一个某个字”一样神奇~

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年8月17日
下一篇 2023年8月17日

相关推荐