万字长文,彻底搞懂相似度计算!算法原理+实战代码,建议收藏!

神经网络算法 - 一文搞懂Embedding(嵌入) 本文将从**Embedding的本质、Embedding的原理、Embedding的应用**三个方面,带您一文搞懂Embedding(嵌入)。 阅读详情

我相信,在初学机器学习过程中,相似度计算是不可避免需要去认真学习的一块内容。今天把最近同学们提到关于相似度计算几个方面的问题,进行一个详细的汇总。

在太多方面有着重要的作用了。尤其是在最近很多同学提到的推荐系统中。

那咱们来详细列举下相似度计算几个重要的方面~

  1. 自然语言处理:在NLP中,相似度计算和语义相似度可用于文本分类、信息检索、情感分析、语义匹配等任务。例如,在问答系统中,需要确定用户提出的问题与已知问题之间的相似度,以便提供最相关的答案。
  2. 信息检索:在搜索引擎中,相似度计算和语义相似度用于衡量查询与文档之间的相关性,从而提供最相关的搜索结果。
  3. 推荐系统:相似度计算和语义相似度可用于确定用户的兴趣和行为模式,以便向其推荐最相关的产品或内容。
  4. 机器翻译:需要理解源语言和目标语言之间的语义相似度,以确保翻译的准确性和流畅性。
  5. 文本生成:例如对话系统或摘要生成,需要确保生成的文本与原始文本在语义上相似,以保持信息的一致性和准确性。
  6. 语义搜索:相似度计算和语义相似度用于理解用户的查询意图,并将查询与语义上相关的内容进行匹配。
  7. 语义分析:在文本分析任务中,如语义角色标注、命名实体识别等,相似度计算和语义相似度可用于确定词语或短语之间的语义关联。

相似度计算和语义相似度在不同的应用领域都发挥着非常关键的作用,以帮助计算机理解和处理自然语言。

咱们答读者问,这个是第 12 期:突破最强算法 - 相似度计算!!

老规矩:大家伙如果觉得近期文章还不错!欢迎大家点个赞、转个发~

好了,继续大标题分类以及具体的Question,废话不多说,咱们一起来看看~

再有问题,随时私信哈!不限相似度计算!!

一、数据表示问题

读者问: 我在处理文本数据时,有点困惑如何选择合适的表示方法。有哪些常见的文本表示方法,比如词袋模型、TF-IDF、词嵌入,应该如何取选择?

大壮答: 你好,先来简单介绍一下这几种算法。选择合适的算法处理文本数据是非常非常重要的,因为它直接影响到相似度计算的准确性和效果。

常见的文本表示方法包括词袋模型、TF-IDF 和词嵌入。

下面我从原理、关键点、注意点几个方面,详细解释每种方法的特点,叙述一下如何选择合适的表示方法。

1. 词袋模型(Bag of Words,BoW):

  • 原理:词袋模型是将文本表示为一个由词汇构成的集合,忽略其语法和语序,只关注每个词汇在文本中的出现次数。
  • 关键点:将文本转换为向量,向量的每个元素表示一个词汇在文本中的出现次数。因此,向量的维度与词汇表的大小相同。
  • 注意点:词袋模型不考虑词汇之间的关系,因此可能丢失一些语义信息。

2. TF-IDF(Term Frequency-Inverse Document Frequency):

  • 原理:TF-IDF是一种衡量词汇在文本中重要性的方法,它考虑了词汇在文本中的频率以及在语料库中的普遍程度。
  • 关键点:TF-IDF向量的每个元素是一个词汇的TF-IDF值,反映了它在文本中的重要性。
  • 注意点:TF-IDF能够更好地区分出现频率高但普遍性也高的词汇,但仍然无法捕捉词汇之间的语义关系。

3. 词嵌入(Word Embeddings):

  • 原理:词嵌入是将词汇映射到一个低维连续向量空间中,使得词汇之间的语义关系能够在该空间中得到保留。
  • 关键点:词嵌入通过训练一个神经网络模型(如Word2Vec、GloVe等)来学习词汇的分布式表示。
  • 注意点:词嵌入能够更好地捕捉词汇之间的语义关系,但需要大量的文本数据进行训练,并且对于稀有词汇可能效果不佳。

选择合适的表示方法取决于具体的应用场景和需求:

  • 如果只关注文本中词汇的出现频率而不考虑语义信息,可以选择词袋模型或TF-IDF。
  • 如果需要考虑词汇之间的语义关系,并且有足够的文本数据进行训练,可以选择词嵌入。

这里,再用一个简单案例,结合sklearn来实现词袋模型和TF-IDF:

fromimport# 示例文本数据'This is the first document.''This document is the second document.''And this is the third one.''Is this the first document?'# 词袋模型"Bag of Words representation:"# TF-IDF"\nTF-IDF representation:"## Bag of Words representation:## [[0 1 1 1 0 0 1 0 1]## [0 2 0 1 0 1 1 0 1]## [1 0 0 1 1 0 1 1 1]## [0 1 1 1 0 0 1 0 1]]## TF-IDF representation:## [[0.         0.46979139 0.58028582 0.38408524 0.         0.## 0.38408524 0.         0.38408524]## [0.         0.6876236  0.         0.28108867 0.         0.53864762## 0.28108867 0.         0.28108867]## [0.51184851 0.         0.         0.26710379 0.51184851 0.## 0.26710379 0.51184851 0.26710379]## [0.         0.46979139 0.58028582 0.38408524 0.         0.## 0.38408524 0.         0.38408524]]

以上代码简单地演示了如何使用 sklearn 库中的CountVectorizer和TfidfVectorizer类来实现词袋模型和TF-IDF表示。

当然,在实际应用中,可以根据具体需求调整参数以及结合交叉验证等技术来选择最优的表示方法。

二、相似度度量的选择

读者问: 刚刚开始学相似度计算的内容,不同的相似度计算方法有点头疼。在文本数据中,余弦相似度、Jaccard相似度,应该怎么选择合适的方法呢?

大壮答: 是的,尤其是刚刚开始学。相似度计算方法的选择确实是一个关键问题。在处理文本数据时,我们通常需要考虑到文本的语义信息以及其在向量空间中的表示。余弦相似度和Jaccard相似度是两种常用的相似度计算方法,它们各有优劣,选择适合的方法需要考虑到数据的特点以及任务的要求。

1. 余弦相似度(Cosine Similarity):这个好理解,毕竟接触太早了。余弦相似度用于衡量两个向量之间的夹角余弦值,通常用于比较文本之间的相似度。

余弦相似度计算公式:

其中, 和 分别表示两个文本的向量表示, 表示向量的点积, 表示向量的范数。

2. Jaccard相似度(Jaccard Similarity):用于衡量两个集合的相似度,通常用于比较文本之间的相似度。

Jaccard相似度计算公式:

其中, 表示集合的大小, 和 分别表示两个文本的词集合。

接下来,咱们说说如何选择合适的方法:

  1. 数据特点:如果文本数据较长,且其中包含了丰富的语义信息,那么余弦相似度通常更适合,因为它能够更好地捕捉到文本之间的语义相似度。而如果文本数据较短,且重点在于词汇的重合程度,那么Jaccard相似度可能更为合适。
  2. 任务要求:在实际任务中,需要根据具体的任务需求来选择相似度计算方法。如果任务是文本分类或者信息检索,通常会选择余弦相似度作为相似度计算方法。而如果任务是文本 deduplication 或者查找重复内容,可能更倾向于使用 Jaccard 相似度。
  3. 实验效果:在实验中,可以尝试使用不同的相似度计算方法,并通过评估指标(如准确率、召回率等)来比较它们的效果。根据实验结果来选择最适合的方法。

咱们通过一个小案例,计算两个文本之间的余弦相似度和 Jaccard 相似度:

fromimportfromimportimportas# 两个文本数据"This is a sample text for computing similarity.""This is another text for computing similarity."# 将文本数据转换成向量表示# 计算余弦相似度00# 计算 Jaccard 相似度"Cosine Similarity:""Jaccard Similarity:"

通过这个示例代码,你可以计算出两个文本之间的余弦相似度和 Jaccard 相似度,结合开头讲到的原理,可以根据你具体的需要,选择合适的相似度计算方法。

三、超参数调优的方法

读者问: 壮哥,对于一些相似度计算方法,我看到了一些超参数,比如窗口大小、权重等。应该怎么调整这些参数以获得更好的性能?方便大概捋一下吗?

大壮答: 你好,相似度计算是一个在自然语言处理、图像处理等领域非常重要的任务,而超参数的选择对于性能优化至关重要。

让我们以文本相似度计算为例,来详细讨论一下如何调整超参数以获得更好的性能。

超参数解释

窗口大小:

  • 含义: 在文本相似度计算中,窗口大小通常指的是在比较文本时考虑的上下文单词的数量。
  • 调整方法: 增大窗口可以捕捉更广泛的语境信息,但也可能引入噪声。根据任务,可以尝试不同的窗口大小,观察性能变化。

权重:

  • 含义: 在一些相似度计算方法中,权重用于赋予不同单词或特征不同的重要性。
  • 调整方法: 可以根据任务的需求来调整权重。一些方法可能自动学习权重,而另一些可能需要手动调整。尝试不同的权重组合以找到最佳性能。
超参数调整方法

网格搜索:

  • 方法: 针对每个超参数,定义一组可能的取值范围,通过组合不同取值进行训练和评估。选择在验证集上性能最好的超参数组合。
  • 代码示例:
fromimport'window_size'357'weight'0.51.01.55

随机搜索:

  • 方法: 类似网格搜索,但随机选择超参数的组合,可以更高效地搜索超参数空间。
  • 代码示例:
fromimport'window_size'357'weight'0.51.01.5105
关键注意点

这几点,需要重要注意一下~

  1. 交叉验证: 始终在训练集上使用交叉验证,以确保超参数的性能评估更加鲁棒。
  2. 任务特定: 超参数的最佳选择可能因任务而异,因此了解任务的特点对于调整超参数至关重要。
  3. 性能指标: 考虑使用适当的性能指标,如准确性、F1分数等,以评估超参数的效果。

以上方法和原则也适用于其他相似度计算任务。通过调整这些超参数,可以更好地适应不同的数据集和任务要求,提高相似度计算模型的性能。

四、语义相似度中的词嵌入

读者问: 词嵌入在语义相似度任务中很重要。有哪些常见的词嵌入模型,比如Word2Vec、GloVe、FastText,应该如何选择和使用呢?

大壮答: 词嵌入模型在语义相似度任务中确实非常关键。常见的词嵌入模型包括Word2Vec、GloVe和FastText,它们都有各自的优势和适用场景。

依然从原理、优势、和一个简短示例展开说说~

1. Word2Vec:

  • 原理:Word2Vec基于分布式假设,即相似的单词在上下文中出现的概率也相似。它包括两种模型,CBOW(Continuous Bag of Words)和Skip-gram,通过神经网络训练来学习单词的分布式表示。
  • 优势: 训练速度较快,适用于大规模语料库。
  • 代码示例:
fromimport"this""is""a""sentence""another""sentence"1

2. GloVe:

  • 原理:GloVe(Global Vectors for Word Representation)结合了全局统计信息和局部上下文信息来学习词嵌入。它通过最小化两个单词共现的对数差异来学习单词之间的关系。
  • 优势: 融合了全局和局部信息,对于小型语料库效果较好。
  • 代码示例: GloVe需要先下载预训练的词向量模型,然后加载使用。

3. FastText:

  • 原理: FastText是基于子词的模型,它将每个单词表示为其字符n-gram的平均值的向量。这种方法在处理稀有单词和词形变化时效果较好。
  • 优势: 对于包含大量未登录词(Out-of-Vocabulary)的语料库效果较好。
  • 代码示例:
fromimport"this""is""a""sentence""another""sentence"1

如何选择和使用

  • 数据规模: 如果你有大规模的语料库,可以考虑使用Word2Vec或GloVe。
  • 稀有词处理: 如果你的语料库包含许多未登录词,FastText可能更适合。
  • 任务需求: 对于特定的任务需求,可以尝试不同的模型并根据性能进行选择。
  • 预训练模型: 如果你有足够大的数据集,也可以考虑使用预训练的模型,例如在大型语料库上训练好的Word2Vec或GloVe模型。

最终选择哪种模型取决于你的具体需求和数据情况。建议先尝试不同的模型并进行实验评估,以确定最适合你任务的词嵌入模型。

五、处理多模态数据

读者问: 如果我的任务涉及多种类型的数据,比如文本、图像、语音,我应该如何整合这些数据进行相似度计算或语义理解?

大壮答: 你好,当任务涉及多种类型的数据,如文本、图像和语音,进行相似度计算或语义理解时,可以采取多种方法来整合这些数据。

内容比较多,咱们列举一下~

1. 特征提取与融合:

对于每种数据类型,首先需要进行特征提取。例如,对于文本数据,可以使用词袋模型、TF-IDF、Word2Vec等方法提取特征;对于图像数据,可以使用卷积神经网络提取特征;对于语音数据,可以使用Mel频谱特征等。

然后,将不同数据类型的特征融合在一起。可以采用简单的拼接、加权求和等方式融合特征。

2. 跨模态学习:

跨模态学习是一种将不同模态的数据进行联合建模的方法。它可以通过共享部分模型参数来学习不同模态之间的关联。

例如,可以使用多模态循环神经网络(MM-RNN)或多模态注意力模型来实现跨模态学习。

3. 基于图的方法:

可以将不同类型的数据构建成一个图,其中节点表示数据样本,边表示数据之间的关系。

然后,可以使用图神经网络(GNN)等方法来学习数据之间的相似度或语义关系。

4. 多模态匹配:

可以将不同模态的数据映射到一个共同的向量空间,然后计算向量之间的相似度。

例如,可以使用多模态匹配网络 或 三元组网络来进行多模态匹配。

5. 集成学习:

将不同数据类型的相似度计算结果进行集成,可以使用投票法、加权平均等方式。

也可以使用集成学习算法(如随机森林、XGBoost等)来整合不同模型的预测结果。

但是在实现上述的几种方法的同时,需要注意几点:

  • 数据预处理:对不同类型的数据进行适当的预处理是十分重要的,例如文本数据的分词、图像数据的归一化处理、语音数据的降噪等。
  • 模型选择:根据任务需求和数据特点选择合适的模型进行相似度计算或语义理解。
  • 模型评估:需要使用适当的评估指标来评估模型的性能,例如准确率、召回率、F1-score等。
  • 调参优化:对于深度学习模型,需要进行合适的超参数调优,以获得更好的性能。
  • 数据集平衡:确保不同类型数据的样本数目相对平衡,以避免模型在某一类型数据上过度拟合。

下面咱们使用多模态匹配网络来进行文本-图像匹配的任务:

importimportasclass MultiModalMatchingNetwork(nn.Module):def __init__(self, text_dim, image_dim, hidden_dim):21def forward(self, text_features, image_features):1return# 示例用法1300# 假设文本特征维度为3001512# 假设图像特征维度为512300512256"Matching Score:"# Matching Score: 0.42491665482521057

代码中,使用随机生成的文本特征和图像特征进行匹配得分的计算。这块内容后面有空可以展开详细的说说。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

SAP成本控制范围配置全流程:从货币参数到标准层次(附2024最新SPRO路径) 本文详细拆解了SAP成本控制范围(Controlling Area)的完整配置流程,涵盖从货币与估价参数文件定义、参数文件分配到控制范围,再到成本中心标准层次创建等核心步骤。文章提供了2024年最新的SPRO导航路径和实战配置要点,帮助顾问构建稳健、可扩展的管理会计基础架构,并附有常见问题排查指南。 阅读详情

相关推荐

DDR为什么需要DQS信号?

本文根据相关书籍和个人经验,谈了一下对DDR中DQS信号作用的理解

weixin_41155581的博客 2万+

算法-模糊匹配 计算权重, 并去除相似度数据

模糊匹配, 计算匹配数据之间的权重, 并清除权重>n的重复数据

weixin_47935594的博客 617

PINN for PDE(偏微分方程)4 - 反向问题 - Burgers’ equation

PINN for PDE(偏微分方程)4 - 反向问题 - Burgers’ equation

m0_62030579的博客 3003

彻底搞懂RAG优化!面试官灵魂拷问,这篇万字长文让你对答如流,建议收藏!

今天聊一个在大模型面试中**非常容易被问到、但很多人答得不够系统**的问题—— **“RAG有哪些优化手段?

xx_nm98的博客 958

自定义css属性实现渐变边框动画

自定义cs属性实现渐变边框动画

lemon的博客 1875

保姆级教程:用中移ML307模组对接高德/OneOS定位服务,从配置apikey到解析+MLBSLOC状态码

本文详细介绍了如何使用中移ML307系列模组对接高德/OneOS定位服务,从配置apikey到解析+MLBSLOC状态码的全过程。涵盖高德定位服务和OneOS定位服务的配置步骤、常见错误处理及性能优化技巧,帮助开发者快速实现基站定位功能,提升物联网项目的定位精度和稳定性。

weixin_30632089的博客 507

6000字硬核长文!彻底搞懂向量数据库和Embedding,从入门到实战,收藏这篇就够了!

当下最火的LLM和Agent,由于长下文的限制,都绕不开Embedding和向量数据库这个话题,但什么是向量数据库,什么是Embedding,希望读完本文,各位就可以从0到1,实现对Embedding和向量数据库的入门到精通。

m0_59163425的博客 754

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文

在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助!

CyberSphinx的博客 649

【收藏必学】小白也能掌握:一文搞懂Embedding技术,大模型RAG精准检索的引擎

简单来说,Embedding 技术是一种将非结构化数据(如文本、图片、音频)转化为结构化 “数字向量”(Vector) 的技术。这些向量就像数据的 “数字身份证”,不仅能被计算机快速处理,还能通过向量间的 “距离”(如余弦距离、欧氏距离)衡量原始数据的 “语义相似度”—— 距离越近,代表两个数据的含义越相似。如果说 RAG 是 “让 AI 拥有外部知识库” 的桥梁,那么 Embedding 技术就是这座桥梁的 “地基”—— 没有它,非结构化知识无法被机器检索,RAG 的 “精准回答” 也无从谈起。

m0_48891301的博客 723

双端之Nginx+Php结合PostgreSQL搭建Wordpress

制作的 PG4WP 分支版本,它与所有版本的 WordPress 兼容,解决了原版的一些问题。参数,确保 PostgreSQL 正在监听默认端口(通常是 5432),或者你自定义的端口。:PG4WP 插件存在缺陷和不完整的功能,可能与最新版本的 WordPress 不兼容。的插件,它允许 WordPress 使用 PostgreSQL 数据库。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。

宇宙第一小趴菜的博客 1891

手把手教你完成基于matlab的路面裂缝检测系统设计

裂缝是路面病害最早的形态之一,只有在裂缝出现的早期进行维护,才能有效地提高公路的使用寿命。因此,路面裂缝的检测识别系统对于提升公路质量有着重大的意义。首先,对路面裂缝图像进行相应的预处理,目的是减小环境因素的影响,消除无用的噪点。然后提取目标图像特征,判断路面裂缝类型,标记出路面裂缝的位置。最后通过设计的 GUI 界面来集成各个关键步骤,显示所得到的试验结果。仿真结果表明,设计的路面裂缝检测识别系统是高效可行的。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1216

纯小白也能看懂的AI大模型工作原理,建议收藏!

摘要:AI大语言模型的工作原理与使用技巧 本文用通俗语言解释了AI大语言模型的工作原理。首先,用户输入会转化为包含系统提示、历史对话等内容的组合文本,通过分词和嵌入转换为数字矩阵。模型核心是Transformer架构,利用自注意力机制理解词语间关系,通过多头注意力从多角度分析文本。模型"大"体现在数百亿参数和大量训练数据上。实际使用时需注意上下文长度限制,合理设计提示词。理解这些原理有助于更有效地使用AI助手,发挥其文本理解和生成的优势。

javatiange的博客 498

r3live 使用前提 雷达-相机外参标定 livox_camera_lidar_calibration

港科大livox_camera_calib虽然操作方便,但是使用mid360雷达会有视角问题(投影三维点到相机),尝试了很多场景,标定效果都不理想(推荐场景是楼梯间),看来港大的更适合avia之类窄角度的雷达。如果标定效果不好的话,就使用 getExt2节点,getExt1节点只优化外参,而getExt2节点在计算的时候会将一开始计算的内参作为初值和外参一起优化。一般使用getExt1节点即可,如果在外参初值验证过,并且异常值已经剔除后,优化还是有较大的残差,那么可以使用getExt2试一试。

z1872385的博客 2399

一文搞懂RAG技术:从原理到代码实现,解决大模型知识盲区问题(必收藏)

RAG技术通过在大模型生成回答前从外部知识库检索相关信息,解决了大模型的"幻觉"问题、知识时效性、领域专业壁垒和长文本窗口受限等问题。工作流程包括准备阶段的文档分片和索引构建,以及回答阶段的召回、重排和生成。文中提供了Python代码实现示例,并介绍了RAG在智能客服、文档问答和法律领域的应用。未来RAG将向多模态融合、与知识图谱结合、模型轻量化和高效化方向发展。

EnjoyEDU的博客 1600

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Transformer架构完全指南:从Attention机制到Hugging Face实战,一篇就够了(建议收藏)

Transformer架构彻底革新了自然语言处理领域,其核心创新在于完全基于注意力机制,摒弃了传统RNN结构。该架构包含三大关键组件:Embedding层负责将单词向量化,Self-Attention机制实现并行信息处理,Encoder-Decoder结构完成输入理解与输出生成。如今,Transformer已成为GPT、BERT等大语言模型的基础,广泛应用于各类NLP任务。通过Hugging Face等工具,开发者可轻松调用预训练模型实现翻译等功能。掌握Transformer原理及实践已成为AI从业者的必备

ytt0523_com的博客 685

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

搞懂 LangChain RAG:检索、召回原理及 docid 的关键意义,大模型入门到精通,收藏这篇就足够了!

RAG 的核心目标是:让 LLM 在生成回答时,先 “检索” 到相关的外部文档(而非仅依赖自身训练数据),再基于这些文档 “生成” 答案。

pythonhy的博客 523

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【精华收藏】一文搞懂大模型文本分块:原理、方法与实现技巧

文章详细介绍了文本分块的原理、方法和实现,这是RAG、文档问答等大模型应用的核心预处理步骤。首先解释了文本分块的重要性及如何确定模型最大上下文长度,然后详细阐述了多种分块方法:包括基于字符的分块、递归分块、代码分块、语义分块以及Unstructured工具的智能分块策略。最后还介绍了带滑动窗口、父子文本块、元数据创建等高级索引技巧,帮助开发者优化大模型应用中的文本处理流程,提升检索精度和生成质量。

yihanss的博客 1214

收藏 | 小白程序员必看:轻松搞懂大模型如何回答你的问题,附带收藏

本文用通俗的方式解释了大模型的工作原理,包括输入的文本如何被转换成矩阵、Transformer架构和自注意力机制如何帮助模型理解上下文,以及如何将抽象的高维向量翻译成人类能理解的自然语言。文章还讨论了位置编码、长文本外推、多模态输入的实现原理等关键细节,并提供了实用的工程优化建议,如如何通过拆分任务、检索历史对话等方式减少上下文长度,提高系统稳定性和降低耗时。对于想要了解大模型基础知识的小白或程序员来说,这篇文章提供了一个全面而易于理解的入门指南。

EnjoyEDU的博客 106

RAG从入门到精通!搞懂关键技术与创新思路,收藏这篇就够了!

RAG(Retrieval-Augmented Generation)是当前大语言模型的重要增强方案,它在LLM基础上加入“外部知识检索”机制,从而提升生成结果的准确性与溯源能力。

m0_59235945的博客 938

【收藏必看】一文搞懂RAG:检索增强生成技术全解析,小白程序员入门指南

RAG) 是一种无需微调即可扩充模型知识的常用方法。借助 RAG,LLM可以从数据库中检索上下文文档,以提高答案的准确性。因为 LLM 大模型通过海量数据进行训练,数据是有时效性的。如果询问最新的文档或者一些专业领域的知识,LLM 是无法回答的。所以检索增强生成(RAG) 通过将你的数据添加到 LLM 已有的数据中来解决此问题。RAG 解决了纯生成模型的局限性(如幻觉、知识过时等),通过动态检索外部知识增强生成结果的可信度和时效性。

weixin_72959097的博客 636

智能客服、企业知识库、RAG应用必看指南:向量模型+库+排序器全攻略,小白也能一次搞懂,建议收藏!

一个文本 embedding 模型的核心目标是:把文本映射成一个能表达语义的向量,供向量库做检索、排序或相似度计算。指标说明语义表达能力(semantic fidelity)能否区分语义细微差别,比如“关闭灯”和“打开灯”之间压缩率(是否能低维表达)像 GTE 模型只有 384 维,而 BGE 有 1024 维,但效果不一定差领域适应性是通用模型还是特定领域的(如医疗、法律)?中英文支持有些模型只适合英文,如 OpenAI ada v2,有些是多语言模型大小/部署难度能不能本地部署?资源占用大不大?

xxue345678的博客 758

零基础小白也能学会!收藏这份大模型分层学习路线,从入门到实战全搞定!

L1入门阶段:掌握模型调用、基础Demo开发,适配AI产品、初级运营、入门开发岗位。L2核心阶段:吃透底层原理、精通提示工程与微调,适配初级AI开发、算法助理岗位。L3实战阶段:精通RAG、Agent、模型部署,适配企业级AI应用开发、AI工程师岗位(行业刚需)。L4高阶阶段:掌握模型优化、垂域定制、前沿技术,适配高级AI开发、算法工程师、技术架构师岗位。2026年的大模型学习,早已告别“重理论、轻落地”的时代,落地能力、场景适配能力、问题解决能力是核心竞争力。

2601_95389056的博客 274

【必收藏】一文搞懂RAG系统中的三大模型:Embedding、Rerank与大模型区别详解

RAG系统包含三大模型:Embedding模型将文本转为向量实现语义检索;Rerank模型对初步结果精细排序;生成式大模型整合信息生成回答。Embedding和Rerank模型虽重要但非"大模型",而是规模小、专门优化的轻量级模型。文章详细解释了各类模型的特点、应用场景及区别,最后介绍了作者的运维大模型课程。

2401_85375186的博客 2142

必收藏!自注意力机制超详细解析(小白/程序员入门大模型必备)

这样做的好处的是,不同的注意力头可以学习到不同类型的关联模式——比如有的头学习语法关系(主谓宾),有的头学习语义关系(近反义词),有的头学习位置关系,从而大幅丰富模型的表达能力,让特征提取更全面。

youmaob的博客 730

大模型入门指南:小白程序员必备,收藏学习!从输入到输出的全面解析

本文以通俗易懂的方式解释了大模型的工作原理,包括如何将输入文本转换为矩阵、Transformer架构和自注意力机制如何帮助模型理解上下文,以及如何将抽象的高维向量翻译成人类能理解的自然语言。文章还讨论了位置编码、长文本外推、多模态输入的实现原理等关键细节,并提供了实用的工程优化建议,如通过拆分任务、检索历史对话等方式减少上下文长度,提高系统稳定性和降低耗时。对于想要了解大模型基础知识的小白或程序员来说,这篇文章提供了一个全面而易于理解的入门指南。

2601_95385499的博客 280

【收藏必备】大模型RAG应用核心:一文搞懂文本分块技术与最佳实践

本文详细介绍了RAG应用中的文本分块技术,强调其对检索相关性、效率、生成质量及系统灵活性的关键影响。文章分析了文本分块的重要性,包括精准匹配用户需求、降低计算成本、为LLM提供精准上下文以及突破上下文窗口限制等。同时,系统介绍了多种分块策略(如TokenTextSplitter、SentenceSplitter、固定长度分块等),并分析了各自的适用场景和优缺点,为开发者提供了实用的技术指导和最佳实践参考。 ---

Android_XG的博客 950
上一篇: 彻底搞懂AI Agent!从“单兵作战”到“团队协作”,一篇看懂多智能体的未来!
下一篇: RAG实战终极教程!Dify+ThinkDoc从入门到精通,一篇搞定多模态精准召回!
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值