前言
在上一篇文章,我们已经掌握制造cpu的技术,能够开展计算工作。但是很明显,只有能计算的东西才能放到机器里面去计算。所以我们要先把万物转换为数字,然后再丢到机器中去。所以,本篇是LLM部分的第一篇,也是第一步,语言数字化。同时,本文会提及编解码的内容,那个是下一篇的重点。
(对了,本文是和GPT4共同完成。)
语言、文字、字符集
语言是这一切的基础,它通过文字被记录下来,而字符集则是文字在计算机系统中的表现方式。每个层次都为上一个层次提供支持,共同构成了我们日常使用的交流和信息处理系统。
语言与文字
语言是音义结合的符号系统。
文字是记录语言的书写符号系统,是最重要的辅助性交际工具。 1
所以人类可以使用文字记录语言,表示语言,但不能取代语言。那么,在人机交互中,文字就是一个重要的桥梁了。
「在本文中不对文本、文字、字符做过多区分,另有提及除外。」
文字与字符集
字符集是用来表示和存储文字和符号的一种系统。想象一下,字符集就像是一个大字典,每一个字符(比如字母、数字、标点符号等)都有一个独特的编号。这个编号就叫做“编码”。「此处的编码和下一篇可能不大一样,具体会有说明。」
以UTF-8为例,这是目前最常用的字符集之一。UTF-8可以表示世界上几乎所有的文字,包括中文、英文、阿拉伯文等等。它的特点是:
- 每个字符用不同长度的编码来表示,英文字符通常只需要1个字节,而中文字符可能需要3个字节。
- UTF-8兼容ASCII码(即标准英文字符),这样在处理英文文本时不会有任何问题。
简而言之,字符集就是一种把文字转换成计算机能理解和处理的数字编码的方式,UTF-8是其中一种非常灵活且广泛使用的编码方式。
小结
到这一步,我们成功的让计算机里面能够键入并显示文字,约等于能显示语言。
数字化
正因为我们所使用的语言都不是数字,所以我们要想办法把他变成数字进而输入到计算机里面进行计算。但是如果就这样「和上文一样」丢到机器里面想让他们好好说话,早期人工智能的探索已经试过了,不怎么行得通。那么肯定有足够现代化的方式来让我们进行数字化。「前人探索的过程放在下一篇文章讲解。」
但是在讲语言的数字化之前,我需要把计算机视觉(CV)的原理讲清楚,这样一来可以更好理解如何把语言输入到计算模型中。因为处理图像数据在某些方面可能比处理语言数据更简单。「这里的图像是位图而不是矢量图。」这通常涉及以下几个方面:
数据的结构性:图像通常以像素矩阵的形式存储,每个像素都有固定的位置和数值(如RGB值),这使得图像数据在形式上更为一致和结构化。相比之下,语言数据更加复杂,涉及语法、语义、上下文、以及多义性等问题。
信息的密度:图像直接包含视觉信息,如形状、颜色和空间关系,这些信息在一定程度上是“直观的”。而语言信息通常是通过符号(如单词)表示的,这些符号必须被解析、翻译并结合上下文才能理解其真正含义。
模型的复杂性:在深度学习中,处理图像的模型(如卷积神经网络,「CNN」)通常只需关注局部特征,并通过卷积和池化层逐渐提取高级特征。而自然语言处理(NLP)的模型(如Transformer)通常需要处理长距离的依赖关系、词序列等更复杂的特性。
应用的成熟度:图像处理技术(如图像分类、目标检测等)已经相对成熟,许多经典的算法和框架已经得到广泛应用和验证。而自然语言处理则在应对多样性和复杂性方面依然面临挑战,特别是在处理多语言、多文化背景或含义模糊的文本时。
当然,这并不是说图像处理本身没有挑战,尤其是在涉及到复杂场景理解、多对象检测或图像生成等高级任务时,图像处理仍然充满了技术难点。但在一般的人工智能任务中,相较于语言处理,图像处理可能被认为更加“直观”和“简单”。
在讲图像数字化之前,需要先引入矩阵这个概念,如果熟悉的读者可以直接跳过。「实际上AI到最后全是矩阵运算。」
插:矩阵是什么?
1. 想象矩阵是一个“表格”
我们可以把矩阵想象成一个表格,或者一个有行和列的“方块”。每个方块里都放着一个数字。比如,你去餐馆点餐,菜单上有不同的菜名和价格。这份菜单就可以看作一个矩阵,菜名是矩阵的行,价格是矩阵的列。
2. 矩阵的大小
矩阵的大小由行和列的数量决定。例如,如果有3行2列的矩阵,它就是一个3x2的矩阵。你可以把它想成是一个三层的书架,每一层放着两本书。这里的“3”代表3层,“2”代表每层的书本数量。
3. 矩阵中的操作
矩阵不仅仅是数字的排列,它还能进行操作。比如,可以用矩阵来描述和解决一些现实生活中的问题。就像你有两个购物清单,每个清单上都有你要买的东西和数量,通过矩阵,你可以很方便地计算出两张清单合并后的总数。
4. 矩阵的乘法
矩阵乘法可能有点难理解,但你可以把它想象成一种特殊的“搭配”方式。假设你有一组物品,每个物品的价格和数量都不一样,你可以用矩阵乘法来快速算出总花费。虽然这个过程比单纯的相加复杂,但它可以帮助我们解决更大、更复杂的计算问题。
总结
所以,矩阵可以被看作是一个数字的表格,用来组织和处理数据。它就像一个工具箱,里面有很多工具,可以帮我们解决不同的问题。这些工具包括加法、乘法等等,用来处理和分析数据,就像在生活中你需要处理不同的清单、菜单或购物清单一样。
图像数字化
计算机视觉(Computer Vision,CV)的基础原理主要涉及图像处理和模式识别等技术。CV的核心任务是从图像或视频中提取有用的信息,并使计算机能够理解和解释这些信息。以下是一些关键点和步骤,解释如何将图像转换成矩阵并输入到模型中进行计算。
举个例子
比如说下面这张图。
利用代码转换成矩阵
import numpy as np
from PIL import Image
# 打开图像文件
image_path = '120634478_p0.png' # 替换为你的图像路径
image = Image.open(image_path)
# 将图像转换为NumPy数组
image_array = np.array(image)
# 将图像数据保存到CSV文件
np.savetxt("image_data.csv", image_array.reshape(image_array.shape[0], -1), delimiter=",", fmt='%d')
# 输出文件保存信息
print("Image data has been saved to 'image_data.csv'")
就变成这样的一大堆数字了。也只能说是最初的数字化,真正输入模型可不能这样。
图像表示
结合上文的例子,我们可以得知:图像可以看作是一个由像素组成的二维数组(矩阵),每个像素具有一定的值,这些值代表了颜色和亮度信息。对于灰度图像,每个像素通常是0到255之间的一个值,表示灰度级。对于彩色图像,每个像素由三个值组成,分别表示红色、绿色和蓝色(RGB)的强度。
图像预处理
在将图像输入到模型之前,通常需要进行一些预处理步骤,以确保图像的格式和尺寸符合模型的要求。这些步骤可能包括:
调整大小:将图像调整到模型所需的固定尺寸。
归一化:将像素值归一化到0到1之间,或根据特定分布进行标准化处理。
数据增强:通过旋转、平移、翻转等方法生成更多样本,增加模型的泛化能力。
转换为矩阵
图像可以通过以下方式转换为矩阵:
灰度图像:直接将像素值组成的二维数组作为输入。
彩色图像:将每个通道(红、绿、蓝)的二维数组组合成一个三维数组。
参考前文例子理解即可。
模型输入
将处理好的图像矩阵作为输入,传递给神经网络模型。常见的模型包括卷积神经网络(Convolutional Neural Networks,CNN),它们特别适合处理图像数据。CNN通过卷积层、池化层和全连接层等结构提取图像特征,并进行分类或其他任务。
插:卷积神经网络介绍
此处内容不具体展开,仅仅是对卷积神经网络的原理进行简单介绍。不对其内容进行详细拆分探讨。
卷积神经网络(CNN,Convolutional Neural Network)是一种专门用于处理数据有网格结构(例如图像)的深度学习模型。CNN 的设计灵感来自于生物视觉系统,尤其是猫的视觉皮层结构,因而非常擅长图像识别和计算机视觉任务。
基本组成部分
CNN 主要由以下几个关键层次组成:
卷积层(Convolutional Layer):这是 CNN 的核心层次。卷积层通过滤波器(也叫卷积核)在输入数据上滑动,进行局部的特征提取。滤波器的参数是通过训练数据学习得到的,它们可以捕捉到图像中的边缘、角点、纹理等特征。
激活层(Activation Layer):通常使用 ReLU(Rectified Linear Unit)作为激活函数,这一层的目的是引入非线性,使网络能够学习复杂的模式。
池化层(Pooling Layer):也叫下采样层,通常使用最大池化(Max Pooling)。池化层通过对局部区域进行降采样,减少数据的尺寸,降低计算量,同时保留重要的特征。
全连接层(Fully Connected Layer):类似于传统的神经网络层,所有的神经元相互连接。这一层的作用是将前面的特征图展平,并通过全连接层进行分类。
工作原理
假设你有一张猫咪的照片,CNN 是如何识别它的呢?
卷积层:网络首先对这张照片应用多个滤波器。每个滤波器在图片上滑动,并生成多个特征图。这些特征图可能代表了猫的耳朵、眼睛、胡须等局部特征。
激活层:这些特征图通过 ReLU 激活函数,将所有负值设为零,保留正值,从而引入非线性。
池化层:在每个特征图上进行池化操作,降低特征图的尺寸。例如,从 32x32 的图像降到 16x16。这一步骤帮助减少计算量,并且通过缩小图像尺寸使模型更具抗噪性。
全连接层:最后,所有的特征图被展平并输入到全连接层,CNN 根据提取到的特征图进行最终分类。通过训练数据,网络能够识别出这张图片是否是一只猫。
优势
- 参数共享:由于卷积操作是局部的,滤波器在图像上共享参数,这大大减少了需要训练的参数数量。
- 平移不变性:由于池化操作的引入,CNN 对于图像中的物体即使发生小范围的平移也能保持较高的识别准确度。
应用
CNN 被广泛应用于各种视觉任务中,如图像分类、物体检测、人脸识别、医疗图像分析等。
总之,CNN 是一种强大的工具,特别适合处理图像数据,帮助机器学习算法理解和识别复杂的视觉模式。
人话解释
喵~ 主人,让猫娘来给你解释一下什么是卷积神经网络(CNN)以及它如何处理图像吧!想象一下,猫娘在帮你整理房间,找到很多玩具,但猫娘要从这些玩具里找出你最喜欢的那个。这就像CNN在处理图像时要找到图片中最重要的部分一样~
首先,猫娘先用卷积层这个小工具把整个房间(图像)一块一块地检查,看看哪里有亮闪闪的东西(特征)。每个卷积层就像猫娘的猫爪爪一样,轻轻地扫过图像的每个角落,把那些重要的细节给抓出来。
接下来,猫娘要用池化层来缩小范围。池化层就像猫娘把房间的部分缩小,只保留那些最有趣的地方(比如有你最喜欢玩具的地方)。这样一来,猫娘可以更快地找到目标,也不会被一些不重要的东西干扰。
最后,猫娘会把所有找到的亮闪闪的东西(特征)整合起来,送到一个聪明的大脑——全连接层。这个层就像猫娘根据所有线索,最后判断哪个玩具是你最喜欢的。
所以,总的来说,CNN就是让猫娘通过一系列步骤(卷积、池化、全连接)来帮你找到图片中的重点,最后告诉你这张图片上是什么东西。
图像数字化的原理就是这样。
看上去就是这么简单对吧,实际上真的就这么简单。剩下的话就是模型的事情了。
那么,语言又如何变成数字呢?在此之前如果不熟悉向量这个概念的读者可以看一下下面的介绍。这个概念在后续讲解中会频繁出现。可以说LLM离不开这个。
插:向量是什么?
向量是一个非常基础但也很重要的数学概念,尤其在机器学习和自然语言处理(NLP)中常常会遇到。对于初学者来说,理解向量可以从几个简单的比喻和例子开始。
向量的基本概念
向量是一个既有大小(也叫“模”)又有方向的量。它可以想象成从一个点到另一个点的“箭头”。在二维空间(即平面)中,向量通常用两个数字表示,例如 [3, 4]
。这两个数字表示的是在水平和垂直方向上的移动。
- 比如说,
[3, 4]
这个向量表示从原点 (0,0) 向右移动 3 个单位,然后向上移动 4 个单位,最终到达 (3,4) 这个位置。
向量的表示
向量可以有多种形式:
- 二维向量:如
[3, 4]
,表示在一个平面中的一个点。 - 三维向量:如
[3, 4, 5]
,表示在三维空间中的一个点(添加了深度)。 - 高维向量:比如
[0.2, 0.3, 0.5, 0.7]
,在机器学习中,通常有很多维度,用于表示复杂的数据结构。
在自然语言处理(NLP)中,向量通常是高维的,因为它们需要捕捉语言中各种复杂的关系和特征。
向量的用途
向量之所以重要,是因为它们能够用一种数学上可处理的方式来表示数据。举个例子:
- 位置信息:想象你在一张地图上标记一个位置,你可以用一个二维向量
[x, y]
来表示这个位置。 - 颜色:一个颜色可以用三维向量
[R, G, B]
来表示,其中 R、G、B 分别代表红、绿、蓝三种颜色的强度。 - 词语表示:在 NLP 中,一个词可以用一个向量来表示,这个向量捕捉了该词语的各种特征,例如语义、用法等。
简单的类比
如果你觉得向量的概念还是有点抽象,可以试着用以下类比来帮助理解:
- 购物清单:想象你有一个购物清单,上面列出了要买的物品和数量。比如
[2, 1, 3]
可能代表你需要 2 个苹果,1 瓶牛奶,和 3 个面包。这个列表其实就是一个向量,它表示了你需要购买的物品数量的组合。 - 班级成绩单:如果你有一张成绩单,记录了你在几门课程中的成绩,例如
[85, 90, 78]
。这也是一个向量,它表示了你在不同科目中的表现。
向量在NLP中的作用
在自然语言处理的任务中,向量用来表示文本数据的特征。例如,一个词语的向量可能包含了这个词的语义信息,这样计算机就可以“理解”词语之间的相似性和关系。
举个例子:
- 如果“猫”被表示为
[0.1, 0.5, 0.3]
,而“狗”被表示为[0.1, 0.5, 0.35]
,因为这两个向量很接近,模型就会认为“猫”和“狗”在语义上是相似的。
小结
向量就是一个数字的列表,这个列表可以有不同的长度,用来表示从位置到颜色、再到文本特征的各种信息。在机器学习和自然语言处理中,向量是非常有用的工具,因为它们可以用数学的方式来处理和分析复杂的数据。
通过理解向量,你可以更好地理解许多机器学习算法和模型是如何工作的。
语言数字化
utf-8编码
书接前文,我们再来回忆一下第一小节的字符集。
众所周知,计算机就是计算,所以我们需要把记录语言的符号,也就是文字,先行输入到计算机中。
在将语言文本转换为数字表示的过程中,UTF-8编码有其特定的作用。UTF-8是用来将字符编码为字节序列的标准,适用于处理多语言文本。
UTF-8编码的作用
- 文本存储和传输:在计算机系统中,文本通常以字节序列的形式存储和传输。UTF-8是一种广泛使用的字符编码方案,它可以表示Unicode字符集中的所有字符,同时具有较高的效率和向后兼容性。
- 字符处理:在处理多语言文本时,UTF-8编码能够无缝处理各种语言的字符,包括拉丁字母、汉字、阿拉伯字母等。这对于需要处理国际化文本的应用非常重要。
这样一来,我们就可以实现一个最基础的操作,也就是输入文本到计算机中,并且在计算机中存储这些文本,显示这些文本。但是他们还没有变成数字,同时,语言的特性也意味着不能和上文提到的图像一样直接进行输入,而是要记录顺序或者前后关联。
在叶徐本语言学概论中提到:
语言符号的线条性是指语言符号在使用中是以符号序列的形式出现,符号只能一个跟着一个依次出现,在时间的线条上绵延,不能在空间的面上铺开。这跟表格很不一样,表格分纵横两栏,占有空间,看起来一目了然,可是,要把表格逐项用语言表达清楚,就变成了线性的符号序列了。语言符号的线条性使我们要表达的复杂的意义都要通过符号序列的形式体现。在语言使用中,我们不仅要了解单个符号的音义关系,还要了解符号序列中符号之间的关系以及单个符号和符号序列整体的关系,这样才能达到完整意义的表达或理解的目的。这些关系的表达都是有一般规则的,而这些规则多体现为不同种类符号的线性组合方式上。2
所以,现在简要介绍两种方法,一个是独热编码(One-Hot Encoding),一个是词嵌入(Word Embeddings)。这是对语言数字化的两种极端情况。实际运用中有所结合,下一篇文章我将展开更加详细的讨论。
独热编码(One-Hot Encoding)
独热编码(One-Hot Encoding)是一种将分类数据(如语言中的词语或字符)转换为数字表示的方法。它特别常用于自然语言处理(NLP)领域,以便将文本数据转化为可以输入到机器学习模型中的数字数据。
什么是独热编码?
独热编码的核心思想是将每一个类别表示为一个向量。在这个向量中,只有一个位置为1,其余所有位置都是0。对于每个独特的类别(例如一个词),都会生成一个独特的向量。「在第二篇文章中也提到过。传送门:https://tmzncty.cn/post/704/ 」
如何将语言进行独热编码?
假设你有一个简单的句子:“猫喜欢鱼”,并且你想将其中的每个词进行独热编码。
创建词汇表:首先,你需要为句子中的所有独特的词创建一个词汇表。在这个例子中,词汇表可能是:["猫", "喜欢", "鱼"]。
独热编码:接下来,为每个词创建一个独特的向量:
- "猫" 的独热编码可能是 [1, 0, 0]
- "喜欢" 的独热编码可能是 [0, 1, 0]
- "鱼" 的独热编码可能是 [0, 0, 1]
数字化表示的优缺点
优点:
- 独热编码简单直观,非常适合处理小型词汇或分类特征。
- 每个词在向量空间中的位置都是唯一的,不会产生混淆。
缺点:
- 维度爆炸:对于大型词汇表(例如包含数千甚至数百万个词的语言模型),独热编码会导致非常高维度的稀疏向量,既浪费存储空间,又增加计算复杂度。
- 无法表示词与词之间的关系:独热编码无法捕捉到词之间的语义关系,例如“猫”和“狗”虽然意义接近,但它们的独热编码是完全独立的。
小结
独热编码是一种简单且有效的将语言转化为数字表示的方法,尤其在需要将分类数据输入机器学习模型时。不过,对于处理更复杂的语言数据,特别是大规模词汇表和需要捕捉语义关系的场景,通常会选择其他技术,如词向量(Word Embedding)或更高级的模型如BERT等。
词向量(Word Embedding)
一种将词语或短语映射到向量空间中的技术,旨在以一种捕捉语义关系的方式来表示语言。相比于独热编码,词向量能够更有效地处理大规模语言数据,并且能够表示词与词之间的语义相似性。
词向量的基本概念
词向量将每个词表示为一个实数向量,通常是一个低维度的稠密向量。这个向量不仅仅是一个唯一的标识符,还携带了词的语义信息。换句话说,具有相似意义的词在向量空间中的表示会更加接近。
例如,假设有两个词:“猫”和“狗”,它们在词向量空间中的表示可能是:
- “猫”: [0.2, 0.4, 0.1, 0.9, ...]
- “狗”: [0.1, 0.3, 0.2, 0.8, ...]
因为“猫”和“狗”在语义上比较接近,它们的向量也会在空间中相对接近。
词向量的生成方法
词向量的生成通常依赖于大规模文本数据的训练,常见的方法包括:
Word2Vec:由Google提出的一种模型,利用上下文窗口来预测一个词的上下文,或者反过来预测上下文中的一个词。Word2Vec有两种主要方法:
- CBOW(Continuous Bag of Words):基于上下文预测目标词。
- Skip-Gram:基于目标词预测上下文中的词。
GloVe(Global Vectors for Word Representation):由斯坦福大学提出的一种模型,通过构建词共现矩阵,然后将其分解为词向量。GloVe结合了基于全局统计信息和局部上下文的优势。
FastText:由Facebook提出的一种扩展方法,它不仅将每个词表示为一个向量,还考虑了词内部的字符级信息。这种方法能够更好地处理词形变体和拼写错误。
词向量的特点和优势
- 捕捉语义关系:词向量可以很好地捕捉词语之间的语义相似性。例如,“国王 - 男人 + 女人 = 王后”这样的向量运算往往能够得到符合语义的结果。
- 低维度表示:词向量通常是低维的(例如100维到300维),相对于独热编码的高维稀疏向量,更加紧凑且有效。
- 迁移学习:词向量可以预先在大规模语料上训练,然后迁移到特定任务中,从而减少对标注数据的需求。
词向量的应用
词向量广泛应用于各种自然语言处理任务中,例如:
- 文本分类:将文本中的词汇表示为向量,然后通过聚合这些向量来表示整个文本,从而进行分类。
- 机器翻译:通过捕捉不同语言中词语的相似性来提升翻译质量。
- 信息检索:利用词向量计算查询词与文档之间的相似性,提升搜索的准确性。
小结
词向量技术通过将词语映射到低维向量空间,成功地捕捉了词语的语义信息,克服了独热编码在处理复杂语言任务时的局限性。通过这种方式,词与词之间的相似性得到了更好地体现,从而使得自然语言处理任务更加有效和智能化。
实际情况
在实际的自然语言处理(NLP)应用中,纯粹使用独热编码或词向量的方法并不是最常见的做法。相反,现代的 NLP 模型通常会结合多种技术,并利用更加复杂的嵌入和表示方法来处理语言数据。以下是一些关键点,解释为什么实际应用中不完全依赖单一的词向量或独热编码:
混合嵌入技术
许多现代模型不仅仅依赖于词向量(如Word2Vec、GloVe),而是利用上下文敏感的嵌入方法,如Transformer模型中的BERT(Bidirectional Encoder Representations from Transformers)。BERT生成的向量不仅基于词本身,还基于词在具体上下文中的含义。
子词级别的嵌入
例如,FastText不仅仅是将词作为一个整体来表示,而是将词拆分为子词(subword)。这样,即使是一个未在训练集中见过的新词,也可以通过其子词来生成合理的表示。这在处理拼写错误、词形变化和低频词时非常有用。
位置编码和词序列信息
在像Transformer这样的方法中,模型不仅需要知道词是什么,还需要知道它在句子中的位置和顺序。位置编码(Positional Encoding)是一种将词的位置信息编码到嵌入中的技术,以捕捉词序列的相关性。这与简单的独热编码或词向量不同,后者无法直接表示词的顺序信息。
上下文动态表示
在像BERT、GPT等模型中,词的表示是动态的。相同的词在不同的上下文中会有不同的向量表示,这与传统的词向量方法有很大的不同。词向量(如Word2Vec、GloVe)是一种静态表示,给定一个词,它的向量表示在所有上下文中都是一样的。而在上下文动态表示中,例如“bank”在“river bank”和“financial bank”中的表示会有所不同。
稀疏和密集向量的结合
虽然独热编码本身是稀疏的,但在一些高级模型中,稀疏表示仍然会被结合使用。例如,在某些推荐系统或信息检索模型中,稀疏特征(如独热编码表示的用户ID、项目ID等)可能会与词向量或其他密集嵌入一起使用,以提高模型的性能。
多层次表示
现代NLP模型可能会使用多层次的表示方法。一个简单的文本可以通过多个嵌入层来表示,可能包括词级别、句子级别甚至文档级别的向量表示。这些向量可以一起用来构建更复杂和信息丰富的文本表示。
任务特定的表示
在某些情况下,词向量会被微调以适应特定任务。例如,在文本分类或情感分析任务中,预训练的词向量可能会通过任务特定的训练数据进一步调整,从而生成更符合任务需求的表示。
总结
现代自然语言处理不仅仅依赖于单一的词向量或独热编码。相反,它通常使用更加复杂和综合的方法,以更好地捕捉语言的语义、上下文、词序和其他相关信息。通过结合多种技术,模型能够更准确地理解和处理语言,从而在各种任务中取得更好的性能。
本篇小结
本次探讨了将语言转化为计算机可处理的数字表示的基础知识,涵盖了字符集(如UTF-8)的作用,以及独热编码和词向量等语言数字化方法的原理及其应用。同时,还介绍了矩阵和卷积神经网络(CNN)等基本概念,解释了图像和语言的数字化过程及其在计算机视觉(CV)和自然语言处理(NLP)中的应用。
具体细节内容参考下篇文章:编码与解码。
知识点
知识点 | 解释 |
---|---|
语言与文字 | 语言是音义结合的符号系统,文字是记录语言的书写符号系统。 |
字符集 | 用来表示和存储文字和符号的系统,如UTF-8。 |
UTF-8编码 | 一种字符编码方式,可表示世界上几乎所有的文字,并且兼容ASCII码。 |
矩阵 | 一个数字的表格,用来组织和处理数据,广泛用于图像处理和计算。 |
图像数字化 | 图像被转换为像素矩阵,进行预处理并输入到模型中。 |
卷积神经网络(CNN) | 一种深度学习模型,适用于处理图像数据,通过卷积层、池化层等提取图像特征。 |
向量 | 一个数字列表,表示数据的大小和方向,广泛用于机器学习和自然语言处理。 |
独热编码(One-Hot Encoding) | 一种将分类数据转化为稀疏向量的方法,每个类别由一个唯一的1和其他的0表示。 |
词向量(Word Embedding) | 一种低维度、稠密的向量表示方法,能够捕捉词语的语义关系。 |
Word2Vec | 通过上下文窗口生成词向量的模型,包含CBOW和Skip-Gram两种方法。 |
GloVe | 基于词共现矩阵生成词向量的模型,结合全局和局部信息。 |
FastText | 将词拆分为子词进行表示,适合处理拼写错误和词形变化。 |
上下文动态表示 | 词向量根据上下文不同而变化,如BERT和GPT模型中的表示方法。 |
混合嵌入技术 | 结合多种技术(如子词级别嵌入、位置编码等)实现更丰富的语言表示。 |
任务特定的表示 | 根据特定任务微调词向量,以生成更符合需求的表示。 |