1. 怎么产生有意义的文本
核心任务:生成一个合理的延续,生成一个符合人类书写习惯的下一个合理内容,给出每个单词的概率排名
- 但不是每次都使用概率最高的那一个单词,这样的话会很平淡。可能会导致重复
- 随机性的引入
2. 概率的计算
从训练文本中,统计字母的出现频率
但如果单纯只是用单个字母概率进行生成,最后的结果是非常随机的,但是如果考虑多个字母的情况,就可以出现有意义的单词
但是有意义的单词连接在一起还是没有产生有意义的句子。类似的,我们可以考虑多个单词的情况,就可以出现有意义的句子
问题是,如果只是用统计的方式来做这样的统计,所需要的文字样本太多,当前互联网上的信息就不够了,所以我们需要更加高效的方式。
3. 模型
3.1. 什么是模型
利用参数达到构建统计学的效果,比如一条二维直线,可以用$y=kx+b$,其中k和b两个参数表示,达到了压缩信息的效果
3.2. 类人的模型
神经网络模型:模型自动选择输入的特征,并计算概率。还有以下特点
- 通过给定的输入和输出自动调整参数
- 计算更复杂的问题比简单的问题更容易,因为有很多梯度下降的方向,而不是局部最优
- 神经网络端到端的训练效果往往比人手工选择特征更好,因为人类特征的选择往往很局限
- 训练数据集的轻微变化对于模型训练也是非常重要的
- 无法保证意外不发生, Trade off,一个越是稳定的系统,越不容易做复杂的计算
3.3. 嵌入的概念
上面所提到的,都是对数字进行计算,那人类的文本要怎么表示呢?
用数字表示文字,并且
- 附近的事物由附近的数字来表示
- 比如用3542代表’cat’,
为了解决2中所提到的问题,GPT对人类语言文本建立了一个模型
- 相比于图像,有一点好处:训练样本非常容易获得,只要输入是文本的前一部分,然后给后一部分作为输出就可以了,不需要标注
3.4. ChatGPT
在处理具有特殊的、已知的特殊结构时,不需要全连接
- 对于图像,卷积神经网络是有效的
- 对于文本,Transformer引入了Attention的概念,对于文本中值得注意的部分
输入:单词值和单词位置,只是一个有效的方式
训练:
- 给大量原始数据,进行初始训练
- 和ChatGPT聊天,通过人类的反馈让其提高
4. Takeaway
语言在根本层面是简单的(相比于看起来
我们可以根据ChatGPT的性质去设计更加高效的模型