人工智能和机器学习之线性代数(二)

server/2024/10/17 22:51:04/

人工智能机器学习线性代数(二)

本文Linear Algebra 101 for AI/ML – Part 2将通过介绍向量的点积(dot Product)、Embedding及其在相似性搜索中的应用来建立这些基础知识。
将学习EmbeddingEmbedding是表示概念、对象和想法的特殊类型的向量。Embedding在整个现代 人工智能(AI) 中使用,并在大型语言模型、图像生成模型和推荐系统中得到应用。

人工智能机器学习线性代数

  • 人工智能机器学习线性代数(二)
    • 向量点积(Dot Product)
      • 算法角度
      • 视觉角度
        • 向量的模(Norm)
        • 两种计算方式的示意图
        • 几种向量点积计算结果
    • Embeddings Vector
    • OpenAI 的 CLIP 模型的Embeddings
    • 总结

向量点积(Dot Product)

本文将从两个角度来处理点积:算法角度和视觉角度。

算法角度

计算两个向量点积的算法就是简单地将两个向量按对应元素相乘然后相加。

dotproduct

>>> a = torch.tensor([1.0, 2.0, 4.0, 8.0])
>>> b = torch.tensor([1.0, 0.5, 0.25, 0.125])>>> torch.dot(a, b)
tensor(4.)

视觉角度

使用点积的余弦公式计算两个向量的点积。

余弦公式

余弦公式的示意图

向量的模(Norm)

向量的模公式

两种计算方式的示意图

点积的可视化

  • 坐标形式:0.00x3.00+3.00x3.00=9.00

  • 余弦公式:3.00x4.25x0.7077=9.02(根号计算取近似值,有一定出入,理论上等于9.00)

几种向量点积计算结果

通过计算向量的点积,可以简单的判断两个对象(用向量表示)是否相似,同向表示相似,反向或垂直表示不相似。

同向相乘

两个向量通常是对齐的,并指向相同的大致方向。从形式上讲,两个矢量之间的角度小于 90°。因此,正点积。

反向相乘

两个向量通常未对齐,并且指向大致相反的方向。从形式上讲,两个矢量之间的角度大于 90° 且小于 270°。因此,负点积。

垂直相乘

两个向量是垂直的。它们既没有对齐也没有错位。因此,点积为零。

Embeddings Vector

Embeddings是经过适当训练的神经网络模型将任何东西转换为向量。

向量的点积如何应用于机器学习?事实证明,关于向量和点积的知识可以应用于ChatGPT 等大型语言模型、DALLE 等图像生成以及 Netflix 等电影推荐系统。

正如我们将在以后的学习中了解到的那样,基于神经网络的 AI应用程序不会直接处理图像、文本、视频和音频。相反,这些输入首先被转换为向量和矩阵,然后这些向量和矩阵被传递到神经网络中,神经网络可以在生成输出(例如聊天机器人响应、合成生成的图像或推荐的电影)之前对它们执行各种数学运算。尽管在人眼中,这些向量和矩阵可能看起来像是随机但有组织的数字列表,但对于神经网络来说,它们包含某种概念。表示这些概念的向量称为Embeddings向量。因为向量中看似随机的数字能够表示从鸟(bird)到电动汽车(electric cars)再到全球化的任何东西,所以我们说这些Embeddings捕获了语义含义。

为了说明这一点,让我们来看看三部流行的电影。假设 《复仇者联盟:终局之战》(The Avengers:Endgame) 的向量表示(3,3),《蜘蛛侠》(Spiderman) 的向量表示(3,1), 《爱乐之城》(La La Land) 的向量表示(-3,-2)。

Embedding

由于《复仇者联盟:终局之战》(The Avengers:Endgame)和《蜘蛛侠》(Spiderman)是漫威超级英雄电影,因此它们的向量将大致对齐,因此它们的点积将为正。然而,电影《爱乐之城》(La La Land)的动作较少,色彩更严肃。因此,它与其他两部电影的点积将为负数。

我们将在后面介绍如何为这些电影生成这些坐标,但现在,假设这些是代表电影的点/向量。如果我们只随机选择向量的值,这些向量对我们来说毫无意义,但如果选择它们的方式是《复仇者联盟:终局之战》和《蜘蛛侠》的向量指向的坐标比《爱乐之城》的坐标更接近,那么这些向量可能会很有用。什么操作会告诉我们两个点靠在一起的程度或两个向量对齐的程度?点积

这在机器学习中是一个有用的概念,因为如果我们有一个经过适当训练的神经网络模型,我们几乎可以将任何东西转换为Embedding。这种使用点积来衡量概念、想法和对象之间相似性的概念(Embedding)将成为我们将构建的相似性搜索引擎的基础。

OpenAI 的 CLIP 模型的Embeddings

CLIP (Contrastive Language-Image Pretraining),在给定图像的情况下预测最相关的文本片段。

Embeddings是通过将单词传递到 OpenAI 的名为 CLIP 的神经网络中来生成的。但从本质上讲,此模型能够接受文本或图像作为输入,并生成Embeddings作为输出。可以确定视觉上靠得很近的单词是属于同一类别。

Embedding Vector

让我们使用经过适当训练的神经网络,从五个不同类别的单词生成Embedding向量。将 5 个不同类别的单词(🌹 flowers、🧪 elements of the periodic table、🎸 music genres、⚽️ sports、🗼 European cities)传递给 CLIP,当我们输入一些单词时,正如预期的那样,Embedding 向量中出现了 5 个不同的聚类。请注意,音乐流派(music genres)聚集在中间,花朵(flowers)的类型一起在左边,体育运动(sports)在右上角,欧洲城市(European cities)在右下角,元素周期表(elements of the periodic table)的元素在左下角。一个例外是 pop 这个词。虽然流行音乐是一种音乐流派,但它也是一个具有多重含义的超载术语,这可能就是它没有明确与其他音乐流派归为一类的原因。

总结

本文学习了计算点积的算法,然后获得了围绕此操作的视觉几何意义。然后,我们了解了一种称为 embeddings 的特殊类型的向量,并探索了由 CLIP 神经网络生成的 embeddings


http://www.ppmy.cn/server/132604.html

相关文章

Java常问面试题——选择题和问答题

一、选择题 1、ArrayList list new ArrayList(20);语句中的 list 集合大小扩充了几次(A) A.0 B.1 C.2 D.3 2、如果去掉了 main 方法的 static 修饰符会怎样(B) A.程序无法翻译 B.程序能正常编译,运行时或抛出No…

【1-1】STM32F407学习笔记之中断

一、异常与中断的概念 《Cortex M3与M4权威指南》章节4.5 P104-106 翻译:异常(Exceptions)在编程中是指那些导致程序流程改变的事件。当异常发生时,处理器会暂停当前执行的任务,转而执行一个称为异常处理程序(exception handler)的程序部分。处理完毕后,处理器会恢…

Gin框架操作指南01:开山篇

Gin是目前最流行,性能最好的的GoWeb框架,几乎成为了学习GoWeb必备的知识。本人最近也在学Gin,在b站搜了很多教程,发现有的教程不够详细,有的教程工具包安装有问题,而官方文档的很多示例代码又不全&#xff…

linux中将普通用户添加到系统白名单中

打开 sudoers文件,在Allow root to run any commands anywhere 后面 添加一条(把上面的一条内容复制下来 修改用户名即可)

85 外网用户通过域名访问内网服务器

1. 组网需求 某公司内部对外提供Web服务,Web服务器地址为10.110.10.2/24。 该公司在内网有一台DNS服务器,IP地址为10.110.10.3/24,用于解析Web服务器的域名。 该公司拥有两个外网IP地址&#x…

【Python爬虫】看电影还在用VIP?一个python代码让你实现电影自由!附源码

今日主题 如何用Python解析vip电影。 什么是vip电影? 这些vip电影啊,想要观看的话,必须充值会员,否则没法看。 比如这个: 这些vip电影解析后呢? 不需要会员,不需要登录,可以直接…

第十二章 RabbitMQ之失败消息处理策略

目录 一、引言 二、RepublishMessageRecoverer 实现 2.1. 实现步骤 2.2. 实现代码 2.2.1. 异常交换机队列回收期配置类 2.2.2. 常规交换机队列配置类 2.2.3. 消费者代码 2.2.4. 消费者yml配置 2.2.5. 生产者代码 2.2.6. 生产者yml配置 2.2.7. 运行效果 一、引言 …

Pr 音频效果快速参考(合集 · 2025版)

Adobe Premiere Pro 中提供了丰富的音频效果,帮助用户在视频编辑过程中调整和增强音频质量。这些音频效果涵盖了振幅与压限、延迟与回声、滤波器与 EQ、调制、降噪/恢复、混响、特殊效果、立体声声像、时间与变调等多个类别。通过合理使用这些效果,可以提…