当前位置: 首页 > news >正文

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

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

本文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

相关文章:

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

人工智能和机器学习之线性代数(二) 本文Linear Algebra 101 for AI/ML – Part 2将通过介绍向量的点积(dot Product)、Embedding及其在相似性搜索中的应用来建立这些基础知识。 将学习Embedding,Embedding是表示概念、对象和想法的特殊类型的向量。Embedding在整个…...

Postman中的form-data 和 JSON 的区别

在使用 Postman 进行 API 测试时,form-data 和 JSON 是两种常用的请求体格式,它们有以下几个主要区别: 1. 数据格式 form-data: 主要用于表单数据的提交,适合文件上传和键值对的数据传递。数据以键值对的形式编码,类似…...

网络安全基础知识点_网络安全知识基础知识篇

文章目录 一、网络安全概述1.1 定义1.2 信息安全特性1.3 网络安全的威胁1.4 网络安全的特征 二、入侵方式2.1 黑客2.1.1 入侵方法2.1.2 系统的威胁2.2 IP欺骗与防范2.2.1 TCP等IP欺骗基础知识2.2.2 IP欺骗可行的原因2.2.3 IP欺骗过程2.2.4 IP欺骗原理2.2.5 IP欺骗防范2.3 Sniff…...

Vue.js 从入门到精通:全面解析组件化、路由与状态管理(附 Todo 案例)

在当今的前端开发领域,Vue.js 以其简洁、高效和灵活的特点受到了广泛的关注和应用。本文将带你从 Vue 的基础知识入手,逐步深入到高级特性,让你对 Vue 有一个全面的了解,并通过实际案例帮助你更好地掌握 Vue 的开发。 一、Vue 简…...

AI Weekly#1:过去一周重要的AI资讯汇总

🚀热点头条 诺贝尔奖青睐AI领域:2024年诺贝尔物理学奖和化学奖均授予了与人工智能相关的研究。物理学奖颁发给了约翰霍普菲尔德和杰弗里辛顿,表彰他们在机器学习领域的开创性工作。化学奖则授予了大卫贝克、德米斯哈萨比斯和约翰江珀&#xf…...

图论刷题

卡码网 98. 所有可达路径 使用邻接矩阵存储&#xff1a; #include<iostream> #include<vector> using namespace std;vector<vector<int>>res;//收集符合条件的路径vector<int>path;//0节点到终点的路径//确定递归函数 参数和返回值void dfs(c…...

ICM20948 DMP代码详解(85)

接前一篇文章:ICM20948 DMP代码详解(84) 上一回解析了inv_icm20948_ctrl_enable_sensor函数的大部分代码,只剩下一行代码没有解析。为了便于理解和回顾,再次贴出inv_icm20948_ctrl_enable_sensor函数源码,在EMD-Core\sources\Invn\Devices\Drivers\ICM20948\Icm20948Data…...

深入解析:Linux tcpdump命令在网络流量分析中的实战应用

tcpdump是一个强大的命令行工具&#xff0c;用于捕获和分析TCP、UDP、ICMP等协议的网络流量。 功能与用途 捕获网络流量&#xff1a;tcpdump可以捕获和显示来自本地计算机或通过网络传输的数据包&#xff0c;提供有关数据包的详细信息&#xff0c;如源和目的IP地址、端口号、…...

Java集合常见知识总结(上)

Java 集合概览 Java 集合&#xff0c;也叫作容器&#xff0c;主要是由两大接口派生而来&#xff1a;一个是 Collection接口&#xff0c;主要用于存放单一元素&#xff1b;另一个是 Map 接口&#xff0c;主要用于存放键值对。对于Collection 接口&#xff0c;下面又有三个主要的…...

【算法】力扣:K个一组反转链表

前置知识 数据结构-链表反转部分链表算法题的手写栈使用 难度&#xff1a; 初阶&#xff1a;使用容器&#xff0c; 难度中等。进阶&#xff1a;纯coding修改指针 &#xff0c;难度中等&#xff0c;虽然leetcode是困难题。不过更加注重细节。 题目&#xff1a;反转 k 组中的…...

Matlab报错——错误使用 vertcat

错误提示&#xff1a; 原因&#xff1a; 这个错误表明 segment_lengths 的维度和 0 不一致。在 MATLAB 中&#xff0c;有时&#xff0c;diff 函数的输出可能是行向量&#xff0c;而segment_lengths 应该是一个列向量才能与 0 正确连接。 解决方法&#xff1a; 使用转置操作 …...

【如何获取股票数据10】Python、Java等多种主流语言实例演示获取股票行情api接口之沪深A股历史分时KDJ数据获取实例演示及接口API说明文档

最近一两年内&#xff0c;股票量化分析逐渐成为热门话题。而从事这一领域工作的第一步&#xff0c;就是获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息&#xff0c;这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的主要任…...

进入 Searing-66 火焰星球:第一周游戏指南

Alpha 第四季已开启&#xff0c;穿越火焰星球 Searing-66&#xff0c;带你开启火热征程。准备好勇闯炙热的沙漠&#xff0c;那里有无情的高温和无情的挑战在等待着你。从高风险的烹饪对决到炙热的冒险&#xff0c;Searing-66 将把你的耐力推向极限。带上充足的水&#xff0c;天…...

考研论坛设计小程序ssm+论文源码调试讲解

2相关技术 2.1微信小程序 小程序是一种新的开放能力&#xff0c;开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。尤其拥抱微信生态圈&#xff0c;让微信小程序更加的如虎添翼&#xff0c;发展迅猛。 2.2 MYSQL数据…...

JAVA笔记 | EasyExcel创建带有简单下拉框的导入模板

目录 前文 业务需求 具体代码 新增Handler 控制层 前文 SpringBoot笔记 | EasyExcel导入导出及基于模板导出_easyexcel模板导出-CSDN博客 业务需求 需要一个导出模板。一个列需要填写固定的值&#xff0c;或者方便用户填写。 自己需求&#xff0c;几个固定的字段对应固…...

【含开题报告+文档+PPT+源码】贫困儿童一对一扶贫帮扶系统设计与实现

开题报告 根据《中华人民共和国慈善法》第五十八条规定&#xff0c;慈善组织确定慈善受益人&#xff0c;应当坚持公开、公平、公正的原则&#xff0c;不得指定慈善组织管理人员的利害关系人作为受益人[2]。以上所列举的平台基本没有做到公开、公平、公正的原则&#xff0c;例如…...

多系统萎缩不慌张,这些维生素是你的“隐形盾牌”!️

在这个快节奏的时代&#xff0c;健康成为了我们最宝贵的财富。而对于多系统萎缩&#xff08;MSA&#xff09;的患者来说&#xff0c;合理的营养补充更是维护身体机能、提升生活质量的关键一步。今天&#xff0c;就让我们一起揭秘那些能够成为多系统萎缩患者“守护神”的维生素吧…...

IGFBP7:免疫治疗新靶点

前 言 胰岛素样生长因子结合蛋白7&#xff08;IGFBP7&#xff09;是胰岛素超家族的生长促进肽成员&#xff0c;可与胰岛素和IGF结合&#xff0c;调控细胞生长和分化。IGFBP7在不同的肿瘤类型中表现出抑制或促进肿瘤生长的“自相矛盾”活性。研究发现IGFBP7可增强治疗性单克隆…...

深度学习模型的架构与应用:技术解析与未来展望

1. 引言 深度学习(Deep Learning)模型是当代人工智能的核心技术之一,广泛应用于语音识别、计算机视觉、自然语言处理、推荐系统等众多领域。深度学习通过构建多层神经网络,能够自动从大规模数据中学习复杂的特征和模式,其应用成果不仅推动了技术的飞跃,也带来了智能化产…...

机器学习——主要分类

前言&#xff1a; 机器学习是人工智能的重要分支之一&#xff0c;它通过分析数据来构建模型&#xff0c;并通过这些模型进行预测、分类或决策。随着数据量的迅速增长&#xff0c;机器学习在多个领域展现出巨大的应用潜力&#xff0c;推动了科技的进步。根据学习方式和数据的使用…...

OpenClaw个人知识库:Qwen3-32B+Obsidian自动化信息归档系统

OpenClaw个人知识库&#xff1a;Qwen3-32BObsidian自动化信息归档系统 1. 为什么需要自动化知识管理 作为一个长期被信息过载困扰的技术写作者&#xff0c;我每天需要处理数十篇技术文章、研究报告和行业动态。传统的手动分类方式让我陷入两个困境&#xff1a;一是收藏的文章…...

QTableWidget 表格组件渭

7.1 初识三维模型 7.1.1 三维模型的数据载体 随着计算机图形技术的发展&#xff0c;我们或多或少都会见过或者听说过三维模型。笔者始终记得小时候第一次在电视上看到三维动画《变形金刚&#xff1a;超能勇士》的震撼感受&#xff1b;而现在我们已经可以在手机上玩三维游戏《王…...

一文讲清,精益六西格玛咨询是什么意思?做精益六西格玛咨询对企业有什么用?

精益六西格玛咨询到底是什么&#xff1f;简单来说&#xff0c;精益六西格玛咨询是一种将精益生产的效率与六西格玛的质量管理相结合的系统化服务&#xff0c;旨在帮助企业消除浪费并减少变异。通过引入精益六西格玛咨询&#xff0c;企业能够利用数据驱动的方法解决复杂的管理难…...

不记命令也能排障:catpaw chat 实战手册俟

Julia&#xff08;julialang.org&#xff09;由Stefan Karpinski、Jeff Bezanson等在2009年创建&#xff0c;目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是&#xff1a; 高性能&#xff1a;编译型语言&#xff08;JIT&#xff0…...

AMA-SAM:用于高保真组织学细胞核分割的对抗性多域对齐万物分割模型/文献速递-多模态医学影像最新进展

2026.4.8本文提出了AMA-SAM框架&#xff0c;通过引入条件梯度反转层&#xff08;CGRL&#xff09;实现鲁棒的多域对齐&#xff0c;并设计高分辨率解码器&#xff08;HR-Decoder&#xff09;以保留精细细节&#xff0c;从而增强了万物分割模型&#xff08;SAM&#xff09;在高分…...

拒绝“无效代码式”护肤:基于皮肤生理学的 2026 正确护肤顺序指南

拒绝“无效代码式”护肤&#xff1a;基于皮肤生理学的 2026 正确护肤顺序指南 作者&#xff1a;预颜美历 关键词&#xff1a;皮肤屏障、渗透路径、早C晚A、精准护肤、算法优化 0x00 前言&#xff1a;你的护肤逻辑是否存在“逻辑漏洞”&#xff1f; 在开发中&#xff0c;Bug 往往…...

终极指南:如何用Dism++轻松优化Windows系统并释放30GB空间

终极指南&#xff1a;如何用Dism轻松优化Windows系统并释放30GB空间 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Windows系统用久了总是卡顿&#xff1f;磁盘…...

贾子(Kucius)对波普尔证伪主义的系统性批判:从“双标霸权”到“文明可持续”新标尺

贾子&#xff08;Kucius&#xff09;对波普尔证伪主义的系统性批判&#xff1a;从“双标霸权”到“文明可持续”新标尺摘要&#xff1a; 贾子从四个层面对波普尔证伪主义展开系统性批判&#xff1a;其一&#xff0c;指认其为“证死你&#xff0c;证伟我”的双标工具&#xff0c…...

反向跟单为什么总以失败告终?这正是大多数人转向复制跟单的真相

你知道什么是反向跟单吗&#xff1f;简单说&#xff0c;就是找到一批持续亏损的交易者&#xff0c;用专业跟单软件跟踪他们的操作&#xff0c;然后与他们做完全相反的交易——他们做多&#xff0c;你就做空&#xff1b;他们做空&#xff0c;你就做多。只要他们亏损多少&#xf…...

5分钟彻底解锁Mac百度网盘限速:开源加速插件完整实战指南

5分钟彻底解锁Mac百度网盘限速&#xff1a;开源加速插件完整实战指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 你是否曾在Mac上使用百度网盘下载…...