语言模型最通俗的理解

最近看到孙老师的文章:“AI是如何生成文字的?”让我茅塞顿开。他巧妙地把模型里面的架构节点比作收音机的旋钮,把旋钮的刻度比作权重,当你调整不同的旋钮刻度时,收音机的频道不停切换,声音从模糊到清晰。而当你调整好所有旋钮觉得不能再做更进一步优化的时候,我想,你应该找到你想要的频道,并且声音的噪音是最小的。接下来的日子当你想要听这个频道的时候,只需要开机就行了。

回到伪技术层面,简单讲一下做NLP的流程:首先准备各种语料(训练的、测试的),然后开始训练,最训练出来的模型进行评估,把合格的模型应用到生产。

来个例子吧

准备语料:

老师走进教室,打开了讲台上的教案,翻开--

训练过程:

首先输入:“老师走进教室,打开了讲台上的”,让一个未成形的模型来猜后面的内容(可以理解为词或者语素)是什么。第一次的结果会是一个列表的形式呈现,且概率值最大排在第一的内容可能是不符合语境甚至语法的。这个是预料之中的情况,因为学习的过程并不是一蹴而就的。继续,一般我们会拿到概率最大,或概率一样排在最前那一个作为输出的结果。比如输出了“打开”,好,有了输入,有了输出,我们就可以用准备的语料来检查输出相对于输入是否正确,如果是错误,我们把初始权重W(默认为0.5,最大为1,最小为0)调小一些,现实中也就是把旋钮逆时针或顺时针扭动一下,如果是正确的,我们把初始权重W调大一些。

疑问1:具体调多少合适呢?

可以参考你要训练的次数和你的期望值,假如你要训练5次,然后你期望“打开”这个词不出现在“老师走进教室,打开了讲台上的”的后面,那么你需要每次把权重调小0.1,直到第5次为0.0。

假如把“打开”换成“苹果”,你期望是“苹果”这个词出现在结果列表里面,但是概率不要太高。这里有人会问为什么会在列表出现?因为上面那句话是可以组成一句符合语法的句子的:“老师走进教室,打开了讲台上的苹果手机”

到这里我想你应该知道怎么去调整权重了,或者说调整旋钮的刻度了。

就是归类,比如:

A类:完全不符合语法的,期望权重归0

B类:间接符合语法的,比如“苹果”一个词是不符合语法的,但是当组成了“苹果手机”是符合语法的。这种可以调大或调小一点点,也可以不调整。

C类:符合语法但不符合语境的,比如“车门”这个词,组成后:“老师走进教室,打开了讲台上的车门”。这种可以把权重调小。

D类:符合语法也符合语境,但是表达不太明确,对于整个故事的叙述没有起到作用,甚至让人感觉迷糊,或者更现实的说是没水平,达不到签约的要求。这种权重要调高一些,但不要太高。

E类:符合语法,符合语境,表达清晰,表达了作者想要表达的内容,但是也就是个网文水平,因为更上一层还有作家。至于权重调多高看作者了,但是最终的权重要有一个最大值比如1。

F类:作家的水平层次,可以生成论文,辩论文,逻辑严谨。

当然还可以更加细分,我这里只是打个比方。

对训练好的模型进行评估

当你把所有该调整的旋钮都调到最佳的刻度时,也就说明这个模型训练的差不多了。接下来你需要把各种测试数据(可以理解为卷子)拿出来,考一考你的模型了,考完了开始打分,确定一下该模型的好坏。如果达到生产要求(一般要达到90%以上)就可以开厂咯。

猜你喜欢

转载自blog.csdn.net/disiongo/article/details/128518129
今日推荐