【IEEE】Multimodal Machine Learning: A Survey and Taxonomy

不废话,先上思维导图,哈哈哈!Machine Learning: A Survey and Taxonomy

论文题目Machine Learning: A Survey and Taxonomy
作者Tadas Baltrusaitis , Chaitanya Ahuja , and Louis-Philippe Morency
状态已读完
会议或者期刊名称IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE 2019 IEEE 模式分析和机器智能会刊
被引次数谷歌学术2599次
所属团队多模态通信和机器学习的研究所 实验室(MultiComp 实验室)
摘要【摘要摘要中的摘要】Multimodal machine learning aims to build models that can process and relate information from multiple modalities. It is a vibrant multi-disciplinary field of increasing importance and with extraordinary potential. Instead of focusing on specific multimodal applications, this paper surveys the recent advances in multimodal machine learning itself and presents them in a common taxonomy.We go beyond the typical early and late fusion categorization and identify broader challenges that are faced by multimodal machine learning, namely: representation, translation, alignment, fusion, and co-learning.This new taxonomy will enable researchers to better understand the state of the field and identify directions for future research.

使用pipeline生成的本文的摘要
在这里插入图片描述

多模态学习的核心技术挑战:

1)多模态表示 学习如何利用多种模态的互补性和冗余性来表示和总结多模态数据。多模态数据的异质性使得构建此类表示具有挑战性。例如,语言通常是象征性的,而音频和视觉形式将被表示为信号。
2)模态转化 如何将数据从一种模态转换(映射)到另一种模态。不仅数据是异构的,而且模态之间的关系通常是开放式的或主观的。例如,存在多种描述图像的正确方法,并且可能不存在完美的翻译。
3)多模态模态对齐 确定两个或多个不同模式的(子)元素之间的直接关系。例如,我们可能希望将菜谱中的步骤与显示菜肴制作过程的视频对齐。为了应对这一挑战,我们需要衡量不同模式之间的相似性,并处理可能的长期依赖性和模糊性。
4)多模态融合 结合来自两种或多种模式的信息来执行预测。例如,对于视听语音识别,嘴唇运动的视觉描述与语音信号融合以预测口语单词。来自不同模态的信息可能具有不同的预测能力和噪声拓扑,并且至少一种模态中可能丢失数据。
5)多模态共同学习 在模态、模态表示和预测模型之间转移知识。协同训练、概念基础和零样本学习的算法就是例证。共同学习探讨了从一种模态学习知识如何帮助在不同模态上训练的计算模型。当其中一种模式的资源有限(例如带注释的数据)时,这一挑战尤其重要。

多模态机器学习的广泛应用:

1.多模态研究最早的例子是视听语音识别(AVSR),动机是麦格克效应[^143] ——言语感知过程中听觉和视觉之间的相互作用 所用的方法:隐马尔可夫模型
2.多媒体内容索引和检索领域
3.2000 年代初围绕新兴的多模态交互领域建立的,其目标是理解社交交互过程中人类的多模态行为。【AMI 会议语料库,其中包含 100 多个小时的会议视频记录,所有内容均经过完全转录和注释&&&&数据集是 SEMAINE 语料库,它可以研究说话者和听众之间的人际动态】

ps:该数据集构成了 2011 年组织的首届视听情感挑战 (AVEC) 的基础 [186]由于自动人脸检测、面部标志检测和面部表情识别方面的强大技术进步,情感识别和情感计算领域在 2010 年代初蓬勃发展.D’Mello 等人发表了多模态情感识别最新进展的精彩总结。他们的分析表明,最近关于多模态情感识别的大多数工作在使用多种模态时表现出改进,但在识别自然发生的情绪时这种改进会减弱。

4.新的多模式应用程序类别,重点是语言和视觉:媒体描述。最具代表性的应用之一是图像字幕,其任务是生成输入图像的文本描述。
5.在文本逆向任务媒体生成方面取得了进展:输入文字生成图像/生成3D场景;

多模态核心技术挑战

多模态核心技术挑战

多模态表示:使用来自多个此类实体的信息的数据表示。

不同多模态表示类型的说明如下图所示。
多模态表示
多模态表示所使用的技术总结
最重要的挑战之一是多模态表示,以计算模型可以使用的格式表示数据一直是机器学习中的一个挑战。我们可以互换使用术语“特征”和“表示”,每个都指实体的向量或张量表示,无论是图像、音频样本、单个单词还是句子。
多模态表示存在的三个问题:
a.如何组合来自异构源的数据;
b.如何处理不同级别的噪音;
c.以及如何处理丢失的数据。
以有意义的方式表示数据的能力对于多模态问题至关重要,并且构成任何模型的支柱。
为了帮助理解工作的广度,我们提出了两类多模态表示:

联合表示:联合表示将单峰信号组合到同一表示空间中;
1.联合表示的最简单的例子是各个模态特征的串联;

多模态表示受到每个单模态的影响

2.从神经网络开始创建联合表示的更高级方法;

一般来说,神经网络由连续的内积构建块和非线性激活函数组成。为了使用神经网络作为表示数据的方式,首先对其进行训练以执行特定任务(例如,识别图像中的对象)。由于深度神经网络的多层性质,假设每个连续层以更抽象的方式表示数据,因此通常使用最后或倒数第二个神经层作为数据表示的形式。
为了使用神经网络构建多模态表示,
a.每个模态都从几个单独的神经层开始,然后是一个隐藏层,该隐藏层将模态投影到联合空间中。
b.然后,联合多模态表示本身通过多个隐藏层或直接用于预测。
此类模型可以进行端到端训练——学习表示数据并执行特定任务。这导致使用神经网络时多模态表示学习和多模态融合之间的密切关系。

Ngiam 等人提出的模型,将使用自动编码器的想法扩展到多模态域。他们使用堆叠式去噪自动编码器来单独表示每种模态,然后使用另一个自动编码器层将它们融合成多模态表示。
类似地,Silberer 和 Lapata 提出使用多模态自动编码器来完成语义概念基础的任务(参见第 7.2 节)。

ps:自动编码器是一种数据的压缩算法,其算法包括编码阶段和解码阶段,且拥有对称的结构。目前自编码器的应用主要有两个方面,第一是数据去噪,第二是为进行可视化而降维。就是一种尽可能复现输入信号的神经网络。为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要的因素,就像PCA那样,找到可以代表原信息的主要成分。
在这里插入图片描述

3.从图模型开始创建联合表示的更高级方法;

概率图模型可用于通过使用潜在随机变量来构建表示,如何使用概率图模型来表示单峰和多峰数据。
a.通过深度玻尔兹曼机(DBM),它将受限玻尔兹曼机(RBM)堆叠为构建块。与神经网络类似,DBM 的每个连续层都期望以更高的抽象级别表示数据。
b.多模态深度信念网络和多模态 DBM 作为多模态表示。
优势:使用多模态 DBM 来学习多模态表示的一大优势是它们的生成性,这允许一种简单的方法来处理丢失的数据——即使整个模态丢失,模型也有一种自然的方式来应对。它还可用于在存在另一种模态的情况下生成一种模态的样本,或从表示中生成两种模态的样本。
缺点:训练困难——计算成本高,并且需要使用近似变分训练方法

4.从循环神经网络开始创建联合表示的更高级方法;【不固定长度数据的模型】

我们经常需要表示不同长度的序列,例如句子、视频或音频流。循环神经网络(RNN)及其变体,例如长短期记忆(LSTM)网络,最近因其在跨各种任务的序列建模方面的成功而受到欢迎。到目前为止,RNN 主要用于表示单词、音频或图像的单峰序列,在语言领域最为成功。

协调表示:而协调表示则单独处理单峰信号;

不是将模态一起投影到联合空间中,而是为每种模态学习单独的表示,但通过约束进行协调。

每个模态都有一个相应的投影函数(上面的 f 和 g),将其映射到协调的多模态空间。虽然到多模态空间的投影对于每种模态都是独立的,但所得空间在它们之间是协调的(表示为 )。这种协调的例子包括最小化余弦距离、最大化相关性以及在结果空间之间强制执行偏序。

1.相似性模型最小化协调空间中模态之间的距离。例如,此类模型鼓励“狗”一词和“狗”图像之间的距离小于“狗”一词和汽车图像之间的距离;【ps:最早的此类工作WSABIE(通过图像嵌入进行网络规模注释)模型从图像和文本特征构造一个简单的线性映射,使得相应的注释和图像表示之间比不对应的注释和图像表示具有更高的内积(更小的余弦距离)】

跨模态哈希
跨模态哈希的想法是创建用于跨模态检索的代码。散列对生成的多模态空间施加了某些约束:
1)它必须是 N 维汉明空间——具有可控位数的二进制表示;
2)来自不同模态的同一对象必须具有相似的哈希码;
3)空间必须保持相似性。学习如何将数据表示为哈希函数试图强制执行所有这三个要求。
2.图像和语言的顺序嵌入
结构化协调空间的一种特殊情况是基于典型相关分析(CCA)的空间。 CCA 计算线性投影,该线性投影最大化两个随机变量(在我们的例子中为模态)之间的相关性并强制新空间的正交性。 CCA模型已广泛用于跨模态检索和视听信号分析。 CCA 的扩展尝试构建相关性最大化的非线性投影。
总结
多模态表示的两种主要类型—— 联合表示和协调表示。联合表示将多模态数据投影到公共空间中,最适合推理过程中所有模态都存在的情况。它们已广泛用于 AVSR、情感和多模式手势识别。另一方面,协调表示将每种模态投影到一个单独但协调的空间中,使其适合测试时仅存在一种模态的应用,例如:多模态检索和翻译 ,以及零样本学习。 此外,虽然联合表示已用于构建两种以上模态的表示,但迄今为止,协调空间大多仅限于两种。最后,我们讨论的多模态网络很大程度上是静态的,将来我们可能会看到更多关于一种模态的工作,驱动应用于另一种模态的网络结构。

2.多模态转化

在这里插入图片描述
多模态机器学习的很大一部分涉及从一种模态到另一种模态的转换(映射)。**给定一种模态的实体,任务是以不同模态生成相同的实体。**例如,给定一个图像,我们可能想要生成一个描述它的句子,或者给定一个文本描述,生成一个与其匹配的图像。
多模态转化是一个长期研究的问题,早期的工作涉及语音合成、视觉语音生成、视频描述和跨模态检索。最近,由于计算机视觉和自然语言处理(NLP)的共同努力,视觉场景描述,也称为图像和视频字幕 逐渐流行
模态转化方法:

模态转化的方式
在这里插入图片描述

基于示例的:

基于示例的模型在模态之间进行转换时使用字典,因此基于示例的算法受到训练数据-字典的限制
此类问题两种算法分类:

基于检索的算法【单模态转化最简单的方式】

1.基于检索的模型直接使用检索到的转化而不对其进行修改;依赖于在字典中找到最接近的样本并将其用作转化结果。检索可以在单模态空间或中间语义空间中完成。给定要转化的源模态实例,单模态检索会在源空间(例如图像的视觉特征空间)中找到字典中最接近的实例。通过检索所需音素最接近匹配的视觉示例,此类方法已用于视觉语音合成,它们也被用于连接文本到语音系统;

最近的工作:
1.使用单模态检索来生成图像描述,通过使用全局图像特征来检索候选标题。
2.使用基于 CNN 的图像表示,通过自适应邻域选择来检索视觉上相似的图像。
3.与更复杂的生成方法相比,具有共识标题选择的简单 k-近邻检索可实现有竞争力的翻译结果。

2.检索期间使用中间语义空间进行相似性比较;
语义空间中的检索方法往往比单模态检索方法表现得更好,因为它们在更有意义的空间中检索示例,该空间反映了两种模态,并且通常针对检索进行了优化。
**优点:**是它们只需要表示我们执行检索的单一模态。然而,它们通常需要额外的多模式后处理步骤,例如对检索到的转化进行重新排名。
**问题:**单模态空间中的相似性并不总是意味着良好的转化

基于组合的算法

基于组合的模型依赖于更复杂的规则来根据多个检索到的实例创建转化;基于组合的媒体描述方法的动机是图像的句子描述共享可以利用的共同且简单的结构。大多数情况下,组合规则是手工制定的或基于启发式的。

**基于示例的翻译面临的一个问题**是期望与源示例相关的单个全面且准确的翻译始终存在于词典中是不现实的,除非任务很简单或词典非常大。能够构建更复杂结构的组合模型部分解决了这个问题。然而,它们只能在一个方向上执行翻译,而基于语义空间检索的模型能够以双向方式执行翻译。

基于生成式的:

生成模型构建一个能够生成翻译的模型,生成模型的构建可以说更具挑战性,因为它们需要生成信号或序列的能力符号(例如句子)。这对于任何形式(视觉、听觉或语言)来说都是困难的,特别是当需要生成时间和结构一致的序列时。这导致许多早期的多模式转化系统依赖于基于示例的转化。然而,随着能够生成图像、声音、和文本的深度学习模型的出现,这种情况已经发生了变化。

基于生成式的模型:

1. 基于语法的模型
基于语法的模型通过使用语法限制目标域来简化任务,例如,通过基于主语、宾语、动词模板生成受限句子。
更有可能生成语法(在语言的情况下)或逻辑上正确的目标实例,因为它们使用预定义的模板和受限语法。然而,这限制了他们进行公式化而非创造性的翻译。此外,基于语法的方法依赖于复杂的管道进行概念检测,每个概念都需要单独的模型和单独的训练数据集。
2. 编码器-解码器模型
编码器-解码器模型首先将源模态编码为潜在表示,然后解码器使用该潜在表示来生成目标模态。基于端到端训练的神经网络的编码器-解码器模型是目前最流行的多模态转化技术之一。该模型背后的主要思想是首先将源模态编码为矢量表示,然后使用解码器模块生成目标模态,所有这些都在单通道管道中进行。
虽然编码器-解码器模型主要用于生成文本,但它们也可以生成图像以及语音和声音。编码器-解码器模型的第一步是对源对象进行编码,这是以特定于模态的方式完成的。编码声信号的流行模型包括 RNN和 DBN。大多数对单词句子进行编码的工作都使用分布式语义和 RNN 的变体。图像最常使用卷积神经网络进行编码。

端到端学习
从输入端到输出端会得到一个预测结果,将预测结果和真实结果进行比较得到误差,将误差反向传播到网络的各个层之中,调整网络的权重和参数直到模型收敛或者达到预期的效果为止,中间所有的操作都包含在神经网络内部,不再分成多个模块处理。由原始数据输入,到结果输出,从输入端到输出端,中间的神经网络自成一体(也可以当做黑盒子看待),这是端到端的。

**存在的问题:**虽然基于神经网络的编码器-解码器系统非常成功,但它们仍然面临许多问题。网络有可能是在记忆训练数据,而不是学习如何理解视觉场景并生成它,基于 k-近邻模型与基于生成的模型表现类似的观察。此外,此类模型通常需要大量数据进行训练。
3. 连续生成模型
连续生成模型根据源模态输入流连续生成目标模态,最适合在时间序列之间进行转化,例如例如文本到语音、语音到文本以及视频到文本。 许多早期工作使用图形模型进行连续信号之间的多模态转换。然而,这些方法正在被基于神经网络编码器-解码器的技术所取代。特别是最近它们被证明能够表示和生成复杂的视觉和听觉信号。
总结
多模态翻译方法面临的一个主要挑战是它们很难评估。 虽然语音识别等某些任务具有单一正确的翻译,但语音合成和媒体描述等任务却没有。有时,就像在语言翻译中一样,多个答案都是正确的,而决定哪个翻译更好通常是主观的。幸运的是,有许多近似的自动指标可以帮助模型评估。
建议使用检索作为图像字幕评估的代理,作为反映人类判断的更好方法。基于检索的系统不是生成说明文字,而是根据可用说明文字与图像的契合程度对可用说明文字进行排名,然后通过评估正确的说明文字是否获得高排名来进行评估。

3.多模态对齐

在这里插入图片描述
我们将多模态对齐定义为从两种或多种模态中查找实例的子组件之间的关系和对应关系。 例如,给定图像和标题,我们希望找到与标题的单词或短语相对应的图像区域。另一个例子是,给定一部电影,将其与它所基于的剧本或书籍章节对齐。做到这一点的能力对于多媒体检索尤其重要,因为它使我们能够基于文本搜索视频内容,例如,查找电影中出现特定角色的场景,或查找包含蓝色椅子的图像。
我们将多模态对齐分为两种类型:

1.隐式对齐

隐式对齐用作另一任务的中间(通常是潜在的)步骤,例如,基于文本描述的图像检索可以包括单词和图像区域之间的对齐步骤。 此类模型不会显式对齐数据,也不依赖于有监督的对齐示例,而是学习如何在模型训练期间潜在地对齐数据。

1.基于图形模型的早期工作
2.基于神经网络的更现代工作
2.显式对齐

在显式对齐中,我们明确对对齐模态之间的子组件感兴趣,例如,将食谱步骤与相应的教学视频对齐。如果论文的主要建模目标是来自两种或多种模式的实例的子组件之间的对齐,我们将论文归类为执行显式对齐。
1.有监督显示对齐

来自不同模态的实例之间没有直接对齐标签(即标记的对应关系)
2.无监督显示对齐
可以访问此类(有时是弱)标签;无监督多模态对齐无需任何直接对齐标签即可解决模态对齐问题。

多模态对齐面临许多困难:
  • 很少有具有明确注释对齐的数据集;
  • 模态之间的相似性度量很难设计;
  • 可能存在多种可能的对齐方式,并且并非一种模态中的所有元素都与另一种模态中的对应。
    学习联合对齐、转化或融合数据的无监督技术也变得流行。

总结
多模态对齐面临许多困难:
1)很少有具有明确注释对齐的数据集;
2)模态之间的相似性度量很难设计;
3)可能存在多种可能的对齐方式,并且并非一种模态中的所有元素都与另一种模态中的对应。

4.多模态融合

在这里插入图片描述
多模态融合是多模态机器学习的原始主题之一,之前的调查强调早期、晚期和混合融合方法。**用技术术语来说,多模态融合是集成来自多种模态的信息的概念,其目标是预测结果度量:通过分类得到类别(例如,快乐与悲伤),或通过回归得到连续值(例如,情绪的积极性)。**它是多模态机器学习研究最多的方面之一,其工作可以追溯到 25 年前。
对多模态融合的兴趣源于它可以提供的三个主要好处。

首先,能够使用观察同一现象的多种模式可以实现更稳健的预测。 AVSR 社区对此进行了特别探索和利用。
其次,访问多种模式可能使我们能够捕获补充信息,而这些信息在单独的模式中是不可见的。
第三,当其中一种模式缺失时,多模式系统仍然可以运行,例如当人不说话时从视觉信号中识别情绪[52]。
多模态融合具有非常广泛的应用,包括视听语音识别、多模态情感识别、医学图像分析和多媒体事件检测。关于该主题有许多评论。

最近,**对于表示学习与分类或回归目标相互作用的深度神经网络等模型,多模态表示和融合之间的界限已经变得模糊。**我们将多模态融合分为两大类:

模型不可知的方法,不直接依赖于特定的机器学习方法;

从历史上看,绝大多数多模态融合都是使用模型不可知的方法完成的[52]。

早期(特征级融合): 从每个模态中提取特征,然后将这些特征进行融合,形成一个综合的特征向量,供后续任务使用。
晚期(决策级融合): 对于每个模态分别进行处理,然后将不同模态的处理结果进行融合,以得出最终的决策或结果。
混合融合(模型级融合): 可以设计一个综合模型,该模型能够同时处理多个模态的输入,并在整个模型内部进行信息融合。

基于模型的方法,在其构造中明确解决融合问题,例如基于内核的方法、图形模型和神经网络。

神经网络还通过 RNN 和 LSTM 来融合时间多模态信息。早期的此类应用之一使用双向 LSTM 来执行视听情感分类 。

总结
多模态融合一直是一个广泛研究的话题,人们提出了大量的方法来解决它,包括模型无关方法、图模型、多核学习和各种类型的神经网络。
多模态融合仍然面临以下挑战:
1)信号可能无法在时间上对齐(可能是密集的连续信号和稀疏事件);
2)很难建立利用补充信息而不仅仅是补充信息的模型;
3)每种模式可能在不同时间点表现出不同类型和不同水平的噪声。

5.多模态协同学习

在这里插入图片描述
**通过利用另一种(资源丰富)模态的知识来帮助对(资源贫乏)模态进行建模。**当其中一种模式资源有限(缺乏注释数据、嘈杂的输入和不可靠的标签)时,这一点尤其重要。我们将这种挑战称为“共同学习”,因为大多数情况下,辅助模式仅在模型训练期间使用,而在测试期间不使用。

共同学习的方法类型:

在这里插入图片描述

并行数据协同学习:

并行数据方法需要训练数据集,其中一种模式的观察结果直接与其他模式的观察结果相关联。换句话说,当多模态观察来自相同实例时,例如在视听语音数据集中,视频和语音样本来自同一说话人。
两种模式共享一组实例——带有相应视频、图像及其句子描述的录音。这允许两种类型的算法利用该数据来更好地对模式进行建模:协同训练和表示学习。

非并行数据协同学习:

非并行数据方法不需要不同模式的观察之间的直接联系。这些方法通常通过使用类别重叠来实现共同学习。例如,在零样本学习中,使用维基百科的第二个纯文本数据集扩展传统的视觉对象识别数据集,以提高视觉对象识别的泛化能力。
依赖非并行数据的方法不需要模态具有共享实例,而只需要共享类别或概念。非并行协同学习方法可以在学习表示时提供帮助,允许更好的语义概念理解,甚至执行看不见的对象识别。 迁移学习也可以在非并行数据上进行,并允许通过将信息从使用数据丰富或干净的模态构建的表示转移到数据稀缺或嘈杂的模态来学习更好的表示。这种类型的迁移学习通常是通过使用协调的多模态表示来实现的
零样本学习(ZSL) 是指在没有明确看到任何例子的情况下识别一个概念。例如,在没有见过(标记)猫图像的情况下对图像中的猫进行分类。这是一个需要解决的重要问题,就像在视觉对象分类等许多任务中一样:为每个可以想象的感兴趣的对象提供训练示例的成本过高。

混合数据协同学习:

在混合数据设置中,模态通过共享模态或数据集桥接。

总结
多模式共同学习允许一种模式影响另一种模式的培训,利用跨模式的补充信息。值得注意的是,共同学习是独立于任务的,可以用来创建更好的融合、翻译和对齐模型。

总结

如果我们想要构建能够感知、建模和生成多模态信号的计算机,就需要多模态研究的所有这些方面。多模态机器学习的一个特定领域似乎尚未得到充分研究,那就是共同学习,其中来自一种模态的知识有助于在另一种模态中建模。这一挑战与协调表示的概念有关,其中每种模态保留自己的表示,但找到一种交换和协调知识的方法。我们认为这些研究方向是未来研究的有希望的方向。

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

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

相关文章

【创建进程】fork函数与写时拷贝

文章目录 fork函数fork如何返回两个值&#xff08;fork的工作原理&#xff09;如何解释父子进程相互输出printf 写时拷贝 fork函数 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;自进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1 fork函…

Linux - 应用层HTTPS、传输层TCP/IP模型中典型协议解析

目录 应用层&#xff1a;自定制协议实例 HTTP协议首行头部空行正文http服务器的搭建 HTTPS协议 传输层UDP协议TCP协议 应用层&#xff1a; 应用层负责应用程序之间的沟通—程序员自己定义数据的组织格式 应用层协议&#xff1a;如何将多个数据对象组织成为一个二进制数据串进行…

ES集群部署指引

文章目录 引言I 清除last_run_metadata_path数据。II 配置IP2.1 CentOS系统的IP参数2.2 shell脚本-静态网络配置III 公司工作电脑的IP多号段配置3.1 Mac电脑3.2 windows系统see alsomac Rootlees 内核保护措施引言 申请两台Linux机器,存储1年的航迹数据,需要4T的存储空间。 E…

【算法刷题 | 二叉树 03】3.22 二叉树的层序遍历02(5题:在每个树行中找最大值,填充每个节点的下一个右侧节点指针,二叉树的最大深度,最小深度)

文章目录 5.6 515_在每个树行中找最大值5.6.1问题5.6.2解法&#xff1a;层序遍历 5.7 116_填充每个节点的下一个右侧节点指针5.7.1问题5.7.2解法&#xff1a;层序遍历 5.8 116_填充每个节点的下一个右侧节点指针||5.8.1问题5.8.2解法&#xff1a;层序遍历 5.9 104_二叉树的最大…

Transformer的前世今生 day02(神经网络语言模型、词向量)

神经网络语言模型 使用神经网络的方法&#xff0c;去完成语言模型的两个问题&#xff0c;下图为两层感知机的神经网络语言模型&#xff1a; 假设词典V内有五个词&#xff1a;“判断”、“这个”、“词”、“的”、“词性”&#xff0c;且要输出P(w_next | “判断”、“这个”、…

揭秘最热门AI写作软件,看看有哪些值得推荐的AI写作神器

在快节奏的现代生活中&#xff0c;我们常常面临各种压力&#xff0c;例如工作、学习等。因此&#xff0c;一款能够提高写作效率的工具变得尤为重要。那么&#xff0c;有没有什么AI写作软件是比较好用的呢&#xff1f;下面小编给大家推荐几款热门的写作软件。 一.爱制作AI写作 …

什么是分布式

一个系统 各组件分别部署在不同服务器。彼此通过网络通信和协调的系统。 可以指多个不同组件分布在网络上互相协作&#xff0c;比如说电商网站也可以一个组件的多个副本组成集群&#xff0c;互相协作如同一个组件&#xff0c;比如数据存储服务中为了数据不丢失而采取的多个服务…

AI时代,Matter如何融入与服务中国智能家居市场,助力中国企业出海?

随着智能家居产业的飞速发展&#xff0c;丰富多样的智能家居产品为消费者带来了便利的同时&#xff0c;因为不同品牌、不同产品之间的协议与标准不统一&#xff0c;导致消费者体验产生割裂&#xff0c;本来想买个“智能”家居&#xff0c;结果买了个“智障”家居&#xff0c;这…

SQL日期函数

文章目录 1.获取日期时间函数1.1 获取当前日期时间1.2 获取当前日期1.3 获取当前时间 2.日期格式化★★★2.1 日期转指定格式字符串2.2 字符串转日期 3.日期间隔3.1 增加日期间隔 ★★★3.2 减去一个时间间隔★★★3.3 日期相差天数&#xff08;天&#xff09;3.4 相差时间&…

腾讯二面:如何保证接口幂等性?高并发下的接口幂等性如何实现?

什么是接口幂等性 接口幂等性这一概念源于数学&#xff0c;原意是指一个操作如果连续执行多次所产生的结果与仅执行一次的效果相同&#xff0c;那么我们就称这个操作是幂等的。在互联网领域&#xff0c;特别是在Web服务、API设计和分布式系统中&#xff0c;接口幂等性具有非常…

嵌入式软件面试-linux-中高级问题

Linux系统启动过程&#xff1a; BIOS自检并加载引导程序。引导程序&#xff08;如GRUB&#xff09;加载Linux内核到内存。内核初始化硬件&#xff0c;加载驱动&#xff0c;建立内存管理。加载init进程&#xff08;PID为1&#xff09;&#xff0c;通常是systemd或SysVinit。init…

安卓使用MQTT实现阿里云物联网云台订阅和发布主题(3)

一、订阅主题代码讲解 private final String mqtt_sub_topic "/sys/k0wih08FdYq/LHAPP/thing/service/property/set";//订阅话题//mqtt客户端订阅主题//QoS0时&#xff0c;报文最多发送一次&#xff0c;有可能丢失//QoS1时&#xff0c;报文至少发送一次&#xff0c…

23 OpenCV 直方图比较

文章目录 直方图比较的目的相关性计算 (CV_COMP_CORREL)卡方计算 (CV_COMP_CHISQR)十字计算(CV_COMP_INTERSECT)巴氏距离计算 (CV_COMP_BHATTACHARYYA )compareHist 直方图比较算子示例 直方图比较的目的 直方图比较的目的是衡量两幅图像之间的相似度或差异度。通过计算图像的颜…

linux下用docker部署es和kibana(带ik分词器)(二)

在上一篇文章中讲到&#xff0c;我们利用docker安装了es和kibana&#xff0c;下面我们讲解一下在安装es时把ik分词器这个插件集成进去&#xff0c;首先我们编写一个dockerfile文件&#xff0c;自定义一个es镜像&#xff0c;当然这个镜像肯定集成了ik分词器&#xff0c;具体步骤…

【LVGL-开关部件】

LVGL-开关部件 ■ LVGL-开关部件■ 开关部件&#xff1a;指示器打开的颜色■ 开关部件&#xff1a;不可修改■ 开关部件&#xff1a;获取开关状态■ 开关部件&#xff1a;示例一&#xff1a;制冷,制暖,开关 ■ LVGL-开关部件 ■ 开关部件&#xff1a;指示器打开的颜色 ■ 开关部…

探讨Java代码混淆加固工具

摘要 本篇博客将介绍几种常用的Java代码混淆工具&#xff0c;如ProGuard、Allatori Java Obfuscator、VirboxProtector、ipaguard和DashO。我们将深入探讨它们的特点、功能以及在保护Java应用程序安全方面的作用。此外&#xff0c;还将强调在使用Java代码混淆工具时需要注意的…

RK3568笔记二十:PP-YOLOE部署测试

若该文为原创文章&#xff0c;转载请注明原文出处。 注&#xff1a;转换测试使用的是Autodl服务器&#xff0c;CUDA11.1版本&#xff0c;py3.8。 一、PP-YOLOE环境安装 创建环境 # 使用 conda 创建一个名为 PaddleYOLO 的环境&#xff0c;并指定 python 版本conda create -n…

(vue)新闻列表与图片对应显示,体现选中、移入状态

(vue)新闻列表与图片对应显示&#xff0c;体现选中、移入状态 项目背景&#xff1a;郑州院XX项目首页-新闻展示模块&#xff0c;鼠标移入显示对应图片&#xff0c;且体现选中和移入状态 首次加载&#xff1a; 切换列表后&#xff1a; html: <el-row :gutter"20"…

阶乘求和(第十四届蓝桥杯JavaB组省赛真题)

/ 10^9考虑前九位&#xff0c;% 10^9保留后9位 解题思路: 求获取结果的后九位数字&#xff0c;需要对10^9取余&#xff0c;因为202320232023这个数字的阶乘太大&#xff0c;必须要减少计算量&#xff0c;因为当一个整数乘以10^9后对其取余&#xff0c;那么结果都为0。 所以我…

【毕设级项目】基于ESP8266的家庭灯光与火情智能监测系统——文末源码及PPT

目录 系统介绍 硬件配置 硬件连接图 系统分析与总体设计 系统硬件设计 ESP8266 WIFI开发板 人体红外传感器模块 光敏电阻传感器模块 火焰传感器模块 可燃气体传感器模块 温湿度传感器模块 OLED显示屏模块 系统软件设计 温湿度检测模块 报警模块 OLED显示模块 …