数字编码
要想理解AI系统是如何学习和推理的,首先要知道什么是数字编码。
科学小常识
计算机的核心操作和存储都依赖两个数字——0和1,它们也被称为二进制位。可以认为,人们将计算机的中央处理器(Central Processing Unit,CPU)和内存设计成可以识别电压的两种状态,即高电压(通常表示为开或1)和低电压(通常表示为关或0)。
计算机内部采用二进制形式存储和处理数据、指令
因此,计算机只能直接理解和操作这些二进制数。为了使计算机能够处理类型更复杂的数据,如文本、图像和声音,我们需要先将这些数据转换为数字编码格式,再将它们表示为二进制格式。下面介绍常用的数字编码方法。
文本的数字编码
当你向聊天机器人发送消息时,这条消息中的每个字符都被转换成一串数字,即数组。这样,AI系统就可以根据这些数组回复你,尽管它并不真正“理解”文字的含义,但它知道如何对数字编码做出反应。
文本可以通过多种方式编码为数组。一种方式是将每个字符映射到唯一的数组,即字符编码;另一种方式是通过词嵌入的形式将单词转换为固定长度的向量[1],这些向量可以捕获词义关系和语义信息,即嵌入向量。
[1] 向量(vector)可以想象成从当前位置指向目标点的一个箭头。这个箭头有两个关键特征,即长度和方向。长度表示需要走多远,箭头越长,需要走的距离就越远。方向表示需要朝哪个方向走,如向北、向南、向东还是向西,或者与这些方向成某个角度。当你看到一个向量时,你可以认为它是一个指向特定目标的箭头,它会告诉你应该走多远以及应该朝哪个方向走。
图像的数字编码
当看到一张猫的图片时,你可以立即认出它是猫。但是,对于计算机来说,这张图片只是数百万像素(pixel)的集合,每像素用一个数字编码表示其颜色。AI系统通过这些数组“理解”图片中可能有什么。
对于黑白图像而言,每像素对应一个值。
而对于彩色图像而言,每像素都有红、绿和蓝(RGB)通道的值。图像中所有像素的颜色都是通过调节三原色的不同比例实现的。例如,红色像素的RGB值是(255,0,0),绿色像素的RGB值是(0,255,0),请你猜猜蓝色像素的RGB值。这些值通常为0~255。这样,我们就可以将一幅图像转换为一个数组(也就是矩阵[2])。
[2] 可以把矩阵(matrix)想象成一个表格。这个表格由行和列组成,每个单元格里都有一个数字,形态类似于Excel表格。矩阵就是这样的表格,它可以帮助我们描述数据,或者进行计算。
声音的数字编码
如果你对语音助手(如Siri或小度)说:“播放我最喜欢的歌曲”,它首先会将声音转换为向量,然后通过AI系统解读那串数字,并做出相应的反应。
声音信号是连续的波形。通过采样技术,我们可以在短的时间间隔内捕获这些波形的值,从而将声音转换为向量。对于复杂的AI任务(如语音识别),声音还可以进一步转换为更高级的特征,如梅尔频率倒谱系数(Mel-Frequency Cepstral Coefficient,MFCC)等。
综上所述,在输入AI系统前,所有的资料都要先转换为矩阵或向量。因此,AI系统可以被理解为数学模型,即从一个矩阵或向量转换成另一个矩阵或向量的函数。数字编码技术确保了AI系统可以有效地处理各种类型的信息。
当然,这位AI公子一点也不明白前面那些高端的计算机和数学常识。用通俗的话来说,他还什么也不会。不过,显然他自己并没有意识到这一点,依旧自信满满地憧憬着。
为了让AI公子接受更正规的培训,财主老爷在京城的大街小巷贴满了告示,为自家儿子重金聘请绘画老师。
不久后,4位能人前来揭榜,这些人都有着独特的教学方式。他们是传说中机器学习的“四大门派”的传人,虽然这“四大门派”的学习方法各不相同,但是它们都属于机器学习这一大分支。而机器学习便是通往人工智能的必经之路。