写在前面
上一篇 主要说了文本的表示方法,从最开始的以最简单粗暴的 one-hot 表示方法来表示一个句子,再到使用 word2vec 方法来表示一个句子,其中 word2vec 是只有单层神经元的网络,它接收一个长度为 N 的输入,然后进行自监督训练,得到一个权重参数矩阵,这参数矩阵可以用作文本表示。然而毕竟 word2vec 网络只有单层,它对文本表达的效果虽然在较小的语料库上能表现良好,但遇到更多的数据时已经不足以容纳更多的信息,如 Chatgpt 所训练的语料库,严格地说 word2vec 的信息容纳量连 Chatgpt 的 0.0001% 都不及,如何理解这句话?当你有 3 个 3 种颜色的球,进行不同数量、颜色的组合,你能给出 3+3+1 = 7 种组合,这就是 word2vec,当你有10000种颜色的10000个球,你能给出的组合就是天文数字,你能表达的信息就更多。要想提高一个神经网络的表达能力,最简单的方法就是加深网络的层数、增多神经元的个数——这就是我们经常所说的深度学习。
接下来会逐步介绍 Bert,一种基于深度学习的网络和方法。要想了解 Chatgpt 的原理,个人认为 Bert 还是要了解一些。(PS:计算机视觉领域何恺明大神这两年刚出了一篇 Masked 图像的论文,即视觉里的 Bert,相当 nb)
相关概念
自监督训练:简单地说就是训练有没有用人标注的数据。一般的分类、回归问题都有人为标注的真实值