第209章 他怎么跑语音领域来了!

重生之AI教父 CloseAI 1416 字 2天前

围观的同事有的刚来看到代码,还没有发现这个结构独特的地方。

通常来说,编码器将长度为N的输入编码成为长度为N的向量表示,而解码器则将该向量表示重新解码为长度为M的输出句子,这里N和M的长度可以不同也可以相同。

在编码的过程当中,整个句子是一次性给到的,全文都可以看到。但这个解码过程则是逐词进行生成,已经被生成的词也会作为输入,因此又被叫做自回归。

传统的方法当中,广泛采用了类似的策略,因此大家看到这个编码解码的结构并不意外。

“还是熟悉的风格,对多个层没有做专门的特殊设计,而是采用了完全相同的结构。”

“大道至简嘛,真正最强的方法,都不搞那些花里胡哨的。”

从残差网络开始,孟繁岐发表的重要论文就比较少专门对具体的局部进行专门的设计,而是有一种重剑无锋,大巧不工的力量感。

从思想和设计上直接获胜,不靠微调局部结构反复调整参数。

虽然同样是编码器解码器的结构,但T方法还是非常不同的,它的编码器逐渐衍生出了BERT方法,而解码器则拓展成为了GPT结构,不过那是后话了。

开始阅读孟繁岐代码的同事们,很快就变成了问题达人,看到不大清楚的地方就马上发问。

“这里你为什么使用了这个新的层归一化,而不是去年你发布的批归一化呢?”

“我觉得语言这种数据比较特殊一些,图片我们经常统一整理成相同的分辨率,但是文本这种东西的话,有长有短,我知道一般大家会把后面加0以确保样本长度相同,方便处理。”

“但是这样做的话呢,在批次的这个维度上,归一化很有可能会产生大的波动,尤其是在小批次上。比如一长一短两个文本作为一个批次,你的均值和方差的计算就会非常不稳定。”

孟繁岐的解释通俗易懂,在场的同事基本上都瞬间理解到了重点,毕竟代码就在这里了。

“所以这个层归一化,其实只是针对样本自己的向量特征做了归一化,不管样本长短,大家的特征长度都是固定的。”

“理解了,理解了。”

“妙啊...没想到这么多东西在细节里面。”

有不少人只顾着看那些重大变动的部分,压根就没注意到这里做了什么不同的操作。

“也不只是训练,即便训练的时候没有遭遇问题,但在推理的时候,有人不讲武德,突然拿出一个超长的文本。这样一来,你的模型没有在长文本上算过均值和方差,突然面对比较突兀的输入,也很有可能出现很大的问题。”

本小章还未完,请点击下一页继续阅读后面精彩内容!