赞
踩
项目地址:github.com
第一章:引言
语言模型可以被看作一个预测的机器,他根据已知的单词来预测下一个单词出现的概率。这个预测基于大量文本数据的学习,使得模型能够理解哪些单词组合在一起有意义
想象一下,如果我们有一个包含‘ate’、‘ball’、‘cheese’、‘mouse’、‘the’的词汇表。语言模型的任务是判断不同的单词组合或者序列出现的可能性有多大,例如,对于句子‘the mouse ate the chesse’,模型可能会认为这是一个很有可能出现的序列,因此会给它一个较高的概率值。相反,对于‘chesse ate the mouse’,模型会认为这个序列不太可能出现,因此会给它一个较低的概率值
这个过程听起来简单,但实际上很复杂,语言模型不仅需要理解词汇的字面意思,还需要理解他们如何结合在一起形成有意义的句子,这就意味着模型必须具有对语言的深刻理解,包括语法规则和单词的常见用法。
此外,语言模型还可以用于生成文本。基于已有的词汇以及语法规则,模型可以创建新的句子。这通常会通过从模型预测的概率分布中选择单词来完成。简单来说,就像是抽奖:有些单词被抽中的机会更大,因为模型认为他们在特定的上下文中出现的可能性会更高
生成‘最佳’序列:在某种情况下,我们不仅想要任何一个概率上可行的序列 ,而是想要最能代表某个特定风格或者内容的‘最佳’序列。为此,我们可以采用各种技术来调整采样过程,使得生成的文本更加符合特定的要求或者标准
总之,语言模型在生成任务中的应用 相当于一个能够根据概率创造新文本的过程,这个过程既可以是完全随机的,也可以是受控的,取决于我们对生成文本的具体要求。通过这种方式,语言模型可以被采用创造各种风格和类型的文本,从诗歌到故事,甚至是新闻报道
基本原理
链式法则:自回归模型使用概率的链式法则来表示一个序列的联合概率分布。意味着序列中的每个单词出现的概率都依赖于它之前所有单词的联合概率。
条件概率分布:在自回归模型中,每个单词出现都是一个条件概率事件,这个概率取决于之前所有单词的序列,例如,序列中第三个单词出现的概率取决于前两个词。
文本生成:
逐步生成:生成文本时,自回归模型一次生成一个单词,每个单词的选择都基于前面已经生成单词的序列
温度参数(T):温度参数控制生成过程的随机性。当T=0时候 ,模型总是选择最有可能的单词,使得生成文本的时候表现出极高的确定性,但也限制了其他创造性和多样性,这种更适合那些对文本准确性要求很高的应用场景;T=1时候,选择更加接近实际模型的概率分布,平衡了创造性与连贯性。由于模型遵循其学习到的概率分布,因此生成的文本看起来更加自然、真实、更加接近人类的语言习惯;当T非常大时候(接近无限大),选择将变得完全随机。
退火概率:通过调整温度参数,可以改变每个单词的概率分布,从而影响生成文本的多样性与创造性。
条件生成
前缀提示:自回归模型可以通过指定一个前缀序列来进行条件生成,这意味着模型会在给定的起始词或者短语的基础上生成剩余文本。
多样性和灵活性:通过温度与前缀序列,自回归模型能够生成各种风格和内容的文本,提供丰富的创造性和适应性。
总结
语言模型是序列
直观上,一个好的语言模型应具有语言能力和世界知识。
自回归语言模型允许有效地生成给定提示
温度可以用来控制生成中的变异量。
1、历史回顾:克劳德·香农在他1948年的开创性论文《通信的数学理论》中,不仅仅奠基了信息理论的基础,还引入了度量概率分布的熵,这一关键概念对后来的语言模型发展产生了深远影响
2、熵的概念:
定义:熵
编码:在信息理论中,编码指的是将信息(例如文本)转化为比特串的过程。香农熵提供了一种理论傻瓜最优编码的长度估计
熵的含义: 熵的值越小,意味着序列的可预测性越高,因此编码长度可以越短。熵本质上是信息量的度量,它反映了数据的不确定性或者随机性
概率
概率与编码长度:直观来说,可以被视为编码一个概率为p(x)的元素x所需的比特长度。
例子:假设某个事件的概率为1/8,那么理论上它的编码长度为 =3比特。这意味这在一个理想的编码系统中,我们可以使用3比特来表示这件事;注意:在熵的定义中,对数函数通常以2为底,这是因为信息理论中的熵常用来表示信息的编码产嘀咕,而编码长度通常以比特(bit)为单位。一比特代表的是一个二元选择(0或1),因此对数以2为底。
3、 香浓熵的总结
定义与目的:
香浓熵是用来量化信息的不确定性,在语言的背景下,他衡量的是预测一段文本中下一个字符所需要的平均信息量
英语的熵:
香农特别对测量英语的熵感兴趣。由于英语字母和单词的出现非完全随机,某些字母和单词组合比其他更为常见,因此整体熵低于完全随机分布的情况。
熵与语言的关系
熵的概念揭示了语言的结构和复杂性,熵值较高意味着语言中的不确定性较大,预测下一个单词或单词更加困难
4、交叉熵的总结:
定义与应用:
交叉熵是衡量两个概率分布之间差异的指标。在语言模型中,他衡量的是根据一个模型(例如人类预测或者机器学习模型)预测真实数据分布时的平均信息量
香浓游戏:
香农通过一个游戏展示了人类如何估计语言的熵。在这个游戏中,参与者尝试预测句子中的下一个字母,从而提供英语熵的估计
模型准确性的指标:
交叉熵越低,意味着模型对真实分布的估计越准确,这在机器学习和自然语言处理中是一个重要的性能指标。
5、N-gram模型在下游应用中的应用 早期应用
语音识别:(1970年代)N-gram模型最初用于语音识别,将声音信号转变为文本。
机器翻译:(1990年代)N-gram模型被应用于将源语言文本翻译为目标语言文本
噪声信道模型:
在语音识别中,N-gram模型作为噪声信道模型的一部分,结合贝叶斯定理和声学模型来恢复给定语音信号的文本
6、N-gram模型的定义和限制:
定义:
N-gram模型是基于这样的假设:一个词的出现只依赖于他前面的n-个词。
实例:
trigram模型(n=3)预测一个词的出现基于前两个词
训练和应用:
这些模型因其低成本和可拓展性,在大量文本上进行训练
限制:
他们在处理长距离依赖关系方面存在局限性。如果n的值太小,模型无法捕捉长距离依赖;如果n太大,会导致数据稀疏性问题。
结论:
处理复杂的语言结构和长距离以来方面存在局限性
7、神经语言模型的发展:
初创阶段
2003年的突破:Bengio等人首次引入神经网络到语言模型中。这标志着语言模型从传统的统计方法(N-gram模型)向神经网络模型的转变
模型结构
神经网络模型:神经语言模型使用神经网络来预测下一个词的概率,允许对更大的上下文窗口(n值)进行建模
训练挑战
与N-gram模型相比,神经语言模型在计算机上更加昂贵,限制了其在大规模数据集上的训练
8、关键发展: 循环神经网络(RNNs)
包括LSTMs:RNNs ,特别是长短期记忆(LSTMs),使得条件分布可以依赖于整个上下文,有效地解决长距离依赖问题
训练挑战: 尽管RNNs在理论上是有效的,但是在实际应用中难以训练
Transformers
2017年创新:Transforms是一个较新的架构,最初为机器翻译开发,他标志着神经语言模型又一次大进步
特点:Transformers返回到固定上的上下文长度n,但与先前的模型相比,更易于训练,并且能更好的利用GPU的并行性
实际应用:GPT-3使用了2048个字符的上下文长度,对许多应用来说已经足够
总结:
这些模型解决了长距离依赖问题,并提供了比传统模型更加准确和灵活的语言理解能力。尽管神经模型在训练和计算上要求更高,但他们在理解和生成语言方面的能力远超早期模型,成为自然语言处理领域的核心技术
9、总结:
语言模型最初是在信息理论的背景下研究的,可以用来估计英语的熵
N-gram在计算上极其高效,但在统计上效率低下
N-gram模型在短上下文长度中与另一个模型联合使用时有用的
神经语言模型在统计上是高效的,但在计算上是低效的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。