机器学习中的嵌入是什么?

一、说明

        嵌入是真实世界对象的数字表示,机器学习(ML)和人工智能(AI)系统利用它来像人类一样理解复杂的知识领域。例如,计算算法了解 2 和 3 之间的差为 1,这表明与 2 和 100 相比,2 和 3 关系更为密切。但是,真实世界数据包含更复杂的关系。例如,鸟巢和狮穴是相似对,而昼夜是相反词。嵌入将真实世界的对象转换成复杂的数学表示,以捕捉真实世界数据之间的固有属性和关系。整个过程是自动化的,人工智能系统会在训练期间自我创建嵌入,并根据需要使用它们来完成新任务。

二、为什么嵌入至关重要?

        嵌入使深度学习模型能够更有效地理解真实世界的数据域。它们简化了真实世界数据的表示方式,同时保留了语义和语法关系。这使得机器学习算法可以提取和处理复杂的数据类型,并支持创新的人工智能应用。以下部分介绍了一些重要因素。 

2.1 降低数据维度

        数据科学家使用嵌入在低维空间中表示高维数据。在数据科学中,维度一词通常是指数据的特征或属性。人工智能中的高维数据是指具有定义每个数据点许多特征或属性的数据集。这可能涉及数十、数百甚至数千个维度。例如,可以将图像视为高维数据,因为每个像素颜色值都是一个单独的维度。

        当提供高维数据时,深度学习模型需要更多计算能力和时间,才能进行准确地学习、分析和推断。嵌入通过识别各种特征间的共同点和模式来减少维度的数量。因此,这可以减少处理原始数据所需的计算资源和时间。

2.2 训练大型语言模型

        训练大型语言模型(LLM)时,嵌入可以提高数据质量。例如,数据科学家使用嵌入来清理训练数据中影响模型学习的不规则性。机器学习工程师还可以通过为迁移学习添加新的嵌入来重新利用预训练的模型,但这需要使用新的数据集来完善基础模型。借助嵌入,工程师可以针对现实世界的自定义数据集精细调整模型。

2.3 打造创新性应用程序

        嵌入支持新的深度学习和生成式人工智能应用程序。神经网络架构中应用的不同嵌入技术能够在各个领域和应用中开发、训练和部署精确的人工智能模型。例如:

  • 借助图像嵌入,工程师可以构建用于对象检测、图像识别和其他视觉相关任务的高精度计算机视觉应用程序。 
  • 通过单词嵌入,自然语言处理软件可以更准确地理解单词的上下文和关系。
  • 图嵌入从互连节点提取相关信息并进行分类,从而支持网络分析。

计算机视觉模型、人工智能聊天机器人和人工智能推荐系统都使用嵌入来模仿人类智能完成复杂任务。

三、嵌入中的向量是什么?

        机器学习模型无法以原始格式明确解读信息,需要以数值数据作为输入。它们使用神经网络嵌入将实词信息转换为称为向量的数字表示形式。向量是以多维空间形式表示信息的数值。它们可以帮助机器学习模型找到稀疏分布的项目间的相似之处。 

        机器学习模型学习的每个对象都有不同的特征。举一个简单的例子,思考以下电影和电视剧。每种都以体裁、类型和发行年份为特征。 

The Conference(恐怖片,2023 年,电影)

Upload(喜剧,2023 年,电视剧,第 3 季)

Tales from the Crypt(恐怖片,1989 年,电视剧,第 7 季)

Dream Scenario(恐怖喜剧,2023 年,电影)

        机器学习模型可以解读年份等数值变量,但无法比较体裁、类型、剧集和总季数等非数字变量。嵌入向量将非数字数据编码为机器学习模型可以理解和关联的一系列值。例如,以下是前面列出的电视剧的假设表示。 

The Conference(1.2、2023、20.0)

Upload(2.3、2023、35.5)

Tales from the Crypt(1.2、1989、36.7)

Dream Scenario(1.8、2023、20.0)

        向量中的第一个数字对应于特定的体裁。机器学习模型会发现 The Conference 和 Tales from the Crypt 是相同的体裁。同样,该模型还会根据代表形式、季数和剧集的第三个数字,发现 Upload 和 Tales from the Crypt 间的更多关系。随着更多变量的引入,您可以优化模型,将更多信息浓缩到更小的向量空间中。 

四、嵌入的工作原理是怎样的?

        嵌入将原始数据转换为机器学习模型可以理解的连续值。过去,机器学习模型使用独热编码将类别变量映射为可以学习的形式。此编码方法将每个类别分为行和列,并为其分配二进制值。考虑以下类别的农产品及其价格。

水果

价格

苹果

5.00

奥兰治

7.00

胡萝卜

10.00

下表使用独热编码结果表示值。

苹果

奥兰治

价格

1

0

0

5.00

0

1

0

7.00

0

0

1

10.00

此表以数学方式表示为向量 [1,0,0,5.00]、[0,1,0,7.00] 和 [0,0,1,10.00]。

        独热编码可扩展 0 和 1 维度值,但不提供帮助模型关联不同对象的信息。例如,尽管苹果橙子都是水果,但该模型无法找到其相似之处,也无法按水果和蔬菜区分橙子胡萝卜。随着更多类别添加到列表中,编码会生成稀疏分布的变量,其中包含许多空值,会占用大量内存空间。 

        嵌入通过使用数值表示对象间的相似之处,将对象向量化到低维空间。神经网络嵌入可在扩展输入特征的情况下,维度数量仍然可以管理。输入特征是机器学习算法负责分析的特定对象特征。降维让嵌入可以保留信息,而机器学习模型可以使用这些信息来查找输入数据间的相似之处和不同之处。数据科学家还可以对二维空间中的嵌入可视化,从而更好地理解分布式对象间的关系。 

五、什么是嵌入模型?

        嵌入模型是经过训练的算法,可在多维空间中将信息封装为密集式表示。数据科学家使用嵌入模型让机器学习模型能够理解和推理高维数据。这些是机器学习应用中使用的常见嵌入模型。

5.1 主成分分析

        主成分分析PCA)是一种降维技术,可将复杂的数据类型简化为低维向量。它会找到具有相似性的数据点,并将它们压缩成反映原始数据的嵌入向量。虽然 PCA 让模型可以更有效地处理原始数据,但在处理过程中可能会出现信息丢失。

5.2 奇异值分解

        奇异值分解SVD)是一种嵌入模型,可将矩阵转换为其奇异矩阵。生成的矩阵保留了原始信息,同时模型也能更好地理解它们所代表的数据的语义关系。数据科学家使用 SVD 来执行各种机器学习任务,包括图像压缩、文本分类和推荐。 

5.3 Word2Vec

        Word2Vec 是一种机器学习算法,训练后,可以关联单词并在嵌入空间中表示。数据科学家为 Word2Vec 模型提供大量文本数据集,实现自然语言理解。此模型通过考虑单词的上下文和语义关系来发现单词的相似之处。

        Word2Vec 有两种变体:连续词袋(CBOW)和跳字。CBOW 让模型可以根据给定上下文预测单词,而跳字则可以从给定单词推导上下文。尽管 Word2Vec 是一种有效的单词嵌入技术,但它无法准确区分用于暗示不同含义的同一单词的上下文差异。 

5.4 BERT

        BERT 是一种基于转换器的语言模型,使用海量数据集进行训练后可以像人类一样理解语言。和 Word2Vec 一样,BERT 可以根据训练所用的输入数据创建单词嵌入。此外,当应用于不同的短语时,BERT 可以区分单词的上下文含义。例如,BERT 为“play”创建了不同的嵌入,比如“I went to a play”“I like to play”。 

六、嵌入是如何创建的?

工程师使用神经网络来创建嵌入。神经网络由隐藏的神经元层组成,它们以迭代方式做出复杂的决策。创建嵌入时,其中一个隐藏层将学习如何将输入特征分解为矢量。这发生在特征处理层之前。此过程由工程师监督和指导,步骤如下: 

  1. 工程师向神经网络提供一些手动准备的矢量化样本。
  2. 神经网络从样本中发现的模式中学习,并利用这些知识从看不见的数据中做出准确的预测。
  3. 有时,工程师可能需要对模型进行微调,以确保其将输入特征分布到适当的维度空间中。 
  4. 随着时间的推移,嵌入会独立运行,从而允许 ML 模型根据矢量化表示生成推荐。 
  5. 工程师继续监控嵌入的性能并使用新数据进行微调。

七、AWS 如何帮助您应对嵌入要求?

        Amazon Bedrock 是一项完全托管式服务,可选择来自领先 AI 公司的高性能基础模型(FM),以及具有用于构建生成式人工智能(生成式 AI)应用程序的一系列广泛功能。Amazon Bedrock Titan 基础模型是由 AWS 在大型数据集上预训练的一系列 FM。它们是功能强大的通用模型,旨在支持各种用例。您可以按原样使用,也可以根据自己的数据对其自定义。 

        Titan Embeddings 将文本转换为数字表示的 LLM。Titan Embeddings 模型支持文本检索、语义相似性和集群。最大输入文本为 8K 个标记,最大输出向量长度为 1536。

        机器学习团队还可以使用 Amazon SageMaker 来创建嵌入。Amazon SageMaker 是一个中心,在这里,您可以在安全且可扩展的环境中构建、训练和部署 ML 模型。它提供了一种名为 Object2Vec 的嵌入技术,工程师可以使用该技术在低维空间中对高维数据进行矢量化。您可以使用已学习的嵌入来计算下游任务(例如分类和回归)的对象间的关系。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第517题超级洗衣机

题目: 题解: class Solution:def findMinMoves(self, machines: List[int]) -> int:tot sum(machines)n len(machines)if tot % n:return -1avg tot // nans, s 0, 0for num in machines:num - avgs numans max(ans, abs(s), num)return ans

若依框架部署到服务器后头像资源访问404

排错过程 第一开始以为是代理出问题了 官网给出的解决方案 第一种是用代理后端接口,第二种是重写路径直接访问静态文件 接口通过捕获profile开头的路径/profile/avatar…,转为/home…/avatar找到我们在该路径下的文件 但是我想了一下,我ngin…

《手写Spring渐进式源码实践》实践笔记(第十二章 aop融入bean生命周期)

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 第十二章 将AOP融入Bean生命周期背景目标设计实现代码结构类图实现步骤 测试事先准备自定义拦截方法Spring.xml 配置AOP测试用例测试结果: 总结 第十二章…

Three.js 快速入门构建你的第一个 3D 应用

![ 开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、Three.js、WebGL、Go 经验经验:6年 前端开发经验,专注于图形渲染和AI技术 开源项目:github 晓智元宇宙、数字孪生引擎、前端面试题 大家好…

C#界面设计--9--fatal error C1083: 无法打开包括文件:“jruparse.h”: No such file or directory

1、VS2008-编译时报错“fatal error C1083: 无法打开包括文件:“jruparse.h”: No such file or directory” 2、问题出现的原因及解决方法 1、如果要引入的这些,h文件跟.cpp在同一个目录下,就不会出现这种问题,检査在工程的include目录下是不是真的存…

算法:排序

排序算法 1. 简单排序1.1 直接插入排序1.2 冒泡排序1.3 简单选择排序 2. 希尔排序3. 快速排序4. 堆排序5. 归并排序 将文件的内容按照某种规则进行排列。 排序算法的稳定判定:若在待排序的一个序列中, R i R_i Ri​和 R j R_j Rj​的关键码相同&#xf…

OpenCV视觉分析之目标跟踪(6)轻量级目标跟踪器类TrackerNano的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 Nano 跟踪器是一个超轻量级的基于深度神经网络(DNN)的通用目标跟踪器。 由于特殊的模型结构,Nano 跟踪器速度…

【新人系列】Python 入门(六):基础内容 - 上

✍ 个人博客:https://blog.csdn.net/Newin2020?typeblog 📝 专栏地址:https://blog.csdn.net/newin2020/category_12801353.html 📣 专栏定位:为 0 基础刚入门 Python 的小伙伴提供详细的讲解,也欢迎大佬们…

WPF+MVVM案例实战(七)- 系统初始化界面字体描边效果实现

文章目录 1、案例效果展示2、项目准备3、功能实现1、资源获取2、界面代码3、后台代码4 源代码获取1、案例效果展示 2、项目准备 打开项目 Wpf_Examples,新建系统初始化界面 WelcomeWindow.xmal,如下所示: 3、功能实现 1、资源获取 案例中使用的CSDN文字为路径文字,从字体…

MFC工控项目实例二十七添加产品参数

承接专栏《MFC工控项目实例二十六创建数据库》 在型号参数界面添加三个参数试验时间、最小值、最大值。变量为double m_edit_time; double m_edit_min; double m_edit_max; 1、在SEAL_PRESSURE.h中添加代码 class CProductPara { public:union{struct{...double m_edit_min;…

【02】ZooKeeper经典应用场景实战一

1、ZooKeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户端API有: ZooKeeper官方的Java客户端API。第三方的Java客户端API,比如:Curator ZooKeeper官方的客户端API提供了基本的…

信息安全工程师(73)网络安全风险评估过程

一、确定评估目标 此阶段需要明确评估的范围、目标和要求。评估目标通常包括特定的网络系统、信息系统或网络基础设施,评估范围可能涉及整个组织或仅特定部门。明确评估要求有助于确保评估过程的针对性和有效性。 二、收集信息 在评估开始之前,需要对目标…

Vmos pro-虚拟机 解锁永久vip

[应用名称] 应用名称:Vmos pro [应用版本] 应用版本:2.99 [软件大小] 软件大小:32.2mb [应用简介] 应用简介:Vmos Pro这款安卓虚拟机平台,提供了多样化的ROM版本选择。用户可根据自身需求更换ROM,调…

华为OD机试 - 最多购买宝石数目 - 滑动窗口(Python/JS/C/C++ 2024 C卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

1:基本电路专题:R(电阻)的介绍

说实话这个其实我不想写的,因为这个是初中的知识,并没有很难,但是为了保持整齐性,我还是写了一下关于这个的知识点。是电子学中三大基本无源元件之一。(R(电阻),L(电感),…

基于SpringBoot的“CSGO赛事管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“CSGO赛事管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 赛事信息界面图 赛事通知界面…

漏洞挖掘 | 通过域混淆绕过实现账户接管

由于这是一个私有项目,我将使用 example.com 来代替。 很长一段时间以来,我一直想在漏洞赏金项目中找到一个账户接管(ATO)漏洞。于是,我开始探索项目范围内的 account.example.com。 我做的第一件事就是注册一个新账…

视觉目标检测标注xml格式文件解析可视化 - python 实现

视觉目标检测任务,通常用 labelimage标注,对应的标注文件为xml。 该示例来源于开源项目:https://gitcode.com/DataBall/DataBall-detections-100s/overview 读取 xml 标注文件,并进行可视化示例如下: #-*-coding:ut…

地理征服营销与开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序的融合创新

摘要:本文探讨了地理征服营销这一创新营销策略与开源 AI 智能名片 2 1 链动模式 S2B2C 商城小程序的融合应用。首先阐述地理征服营销的概念和实施要点,接着介绍开源 AI 智能名片 2 1 链动模式 S2B2C 商城小程序的功能与优势,分析二者结合如…

三周精通FastAPI:24 OAuth2 实现简单的 Password 和 Bearer 验证

官网文档:https://fastapi.tiangolo.com/zh/tutorial/security/simple-oauth2/ OAuth2 实现简单的 Password 和 Bearer 验证 本章添加上一章示例中欠缺的部分,实现完整的安全流。 获取 username 和 password 首先,使用 FastAPI 安全工具获…