当前位置:网站首页>《Attention in Natural Language Processing》翻译
《Attention in Natural Language Processing》翻译
2022-04-23 06:14:00 【CS生】
《Attention in Natural Language Processing》
摘要
在神经网络结构中,注意力机制被广泛应用,是一种越来越流行的机制。注意力机制的实现有多种形式,但由于该领域(注意力机制)的发展迅速,目前仍没有关于注意力机制的系统论述。在本文中,我们为应用于自然语言处理的注意力结构定义了一个统一的模型,同时重点关注那些被用于处理文本数据的向量表示(vector representation)的模型。我们提出了一种注意力模型的分类方法,根据the representation of the input、the compatibility function、the distribution function和the multiplicity of the input and/or output四个维度进行分类。我们还给出例子说明如何在注意力模型中利用先验信息,并且还讨论了目前注意力研究领域的研究方向以及未来挑战。
Introduction
Taxonomy for Attention Models
注意力模型可以根据以下维度来描述:the nature of inputs、the compatibility function、the distribution function和the number of distinct inputs/outputs。此外,注意力模块本身可以用于更大的注意力模型中,以获得复杂的结构(比如:hierarchical-input modules或者multiple-input coattention models)。
Input Representation
在自然语言处理的相关任务中,K和V通常是文档各部分的表示,比如字符序列、单词序列或者句子序列。这些序列常常被嵌入进连续的向量表示,然后被key/value annotation function(kaf/vaf)处理后获得K和V。典型的annotation function有GRUs、LSTMs和CNNs。这样,ki和vi就代表相对于其本身的上下文的输入元素。 如果负责annotation的层与注意力模型一起训练,则它们可以学习去编码对注意力模型有用的信息。
或者,可以采用ki / vi来独立地表示每个输入元素,而不是在上下文中。 例如,它们可以是单词或字符的独热编码,也可以是预训练好的词嵌入。 这导致注意机制直接应用于原始输入,这是一种称为内部注意的模型[68]。 几位作者已经证明了这种模型是有效的,他们以不同的方式加以利用[36],[41],[54],[116]。 最终的架构具有较少数量的层和超参数,从而减少了训练所需的计算资源。
K也可以代表输入序列的单个元素。例如,在Bapna等人的著作中就是这种情况[38],其注意力架构通过RNN层之后的应用获得的对同一元素的不同编码起作用。 然后可以将为所有组件单独获取的上下文嵌入进行串联,从而生成文档的新表示形式,该新表示形式对给定任务的每个组件的最相关表示形式进行编码。通过计算每个键或值的平均值或总和,也可以将每个键或值与其邻居聚合在一起[128]。
到目前为止,我们的输入通常是字符、单词或句子的序列。但是,输入也可以是其他内容,例如同一文本元素的特征或相关方面的并置(juxtaposition)。 例如,Li等人 [56]和Zadeh等人[78]考虑了由不同来源组成的输入,在[136]和[139]中,输入表示同一文档的不同方面。 在这种情况下,只要嵌入共享相同的表示形式,就可以将输入的嵌入整理在一起并作为多个键输入到注意力模型中。这使我们能够突出显示输入中最相关的元素并进行功能选择,从而导致凭借注意机制产生的上下文嵌入c便可以降低表示的维数。有趣的是,李等人[120]提出了一个模型,其中文本输入序列与注意力模型的输出混合在一起。 他们的历史记录注意力截断模型(truncated history-attention model)在bi-LSTM之上迭代了注意力的计算。 在每个步骤中,bi-LSTM隐藏状态作为键和值,而在先前步骤中计算出的上下文向量用作查询(query)。
现在,我们将更详细地说明两个成功的结构,它们已成为应用于NLP的神经网络方法的公认基础,即自注意力和层次输入体系结构。
Self-Attention
Hierarchical-Input Architectures
在某些任务中,可以将输入数据的各个部分有意义地分组为更高级别的结构,在更高层次的结构中,分层输入注意模型可以被利用,随后在组成的不同层次上应用多个注意模块,如图6所示。
例如,考虑自然地与两级语义结构相关联的数据,例如构成单词(“宏”元素)的字符(“微”元素)或构成句子的单词。 可以首先将注意力施加于微元素ki的表示,以便建立诸如上下文向量的宏元素的集合表示k j。 然后可以再次注意宏元素嵌入的顺序,以计算整个文档D的嵌入。在此模型下,注意力首先突出显示每个宏元素中最相关的微元素,然后突出显示最相关的宏元素 在文档中。 例如,Yang等。 [52]首先在单词级别上对每个句子依次应用注意力,以计算句子嵌入。 然后,他们再次将注意力放在句子嵌入上以获得文档表示。 参考第二部分介绍的模型,为D中的每个句子计算嵌入,然后将所有这些嵌入一起用作键K,以计算文档级权重a并最终计算D的上下文向量c。 层次结构可以进一步扩展。 例如,吴等。 [141]在顶部添加了另一层,在文档级别也要注意。
如果微观和宏观元素的表示形式均可用,则可以在一个层次上计算注意力,然后将结果用作键或查询以在另一个层次上计算注意力,从而产生D的两种不同的微观表达/宏观表达。 ,注意力使我们能够在两个级别上确定与任务最相关的元素。 Zhao和Zhang [43]的“注意力集中注意力”模型定义了一个层次结构,其微观层次为字符,宏观层次为单词。 字符和单词都充当键。 首先对单词嵌入KW进行注意力计算,从而获得上下文向量cW形式的文档表示形式,该文档表示形式又作为查询q来指导将字符级注意力应用于键(字符嵌入)KC,从而产生 D的上下文向量c。
Ma等。 [113]将单个“目标”宏观对象T标识为一组单词,这些单词不一定必须在D中形成序列,然后将此类宏观对象用作键KT。 然后,将注意力机制在KT上的第一个应用程序生成的上下文向量cT用作注意力机制在D上的第二个应用程序中的查询q,其键是文档的词嵌入KW。
Compatibility Functions
最后,在某些模型中,注意力分布会忽略K,而仅取决于q。 然后我们谈论基于位置的关注。 因此,与每个键相关联的能量将根据键的位置进行计算,而与键的内容无关[29]。 相反,可以仅基于K计算自我注意力,而无需任何q。 表IV中省略了自注意的兼容功能,这些功能是更通用功能的特例。
对于机器翻译领域中某些兼容性函数(即加性和乘性注意)之间的经验比较,我们建议读者参考Britz等人的文章。 [37]。
Multiplicity
现在,我们将介绍通用统一模型的变体,其中注意力机制已扩展为容纳多个(可能是异构的)输入或输出。
Multiple Inputs: Coattention
Coarse-grained coattention
粗粒度模型使用一个输入的紧凑表示来计算另一个输入的注意力。在这样的模型中,输入作为键和查询的作用不再重要,因此,K的紧凑表示可以在架构的某些部分中充当查询,反之亦然。Lu等人[80]提出了一个顺序粗粒度模型是交替共注意,如图7(左)所示,其中注意力被计算三次,以获得K和Q的嵌入值。首先,对Q计算自注意力,得到的上下文向量用作查询,对K执行注意。结果是另一个上下文向量CK,当注意力再次应用到Q时,它被进一步用作查询。这产生了最后一个上下文向量CQ。Sordoni等人[67]提出的架构也可以使用该模型进行描述,并进行了一些调整。特别是,Sordoni等人[67]在前两个注意步骤中省略了最后一步和附加的查询元素q中的因子。Zhang等人使用了几乎相同的序列结构[86],他们只在第一个注意步骤中使用q。图7(右)显示了一个并行的粗粒度模型。在Ma等人提出的模型[111]中,首先计算每个输入的平均(avg),然后在应用注意力时用作查询,生成其他输入的嵌入。顺序共同注意可以更精细的计算最终结果,可能允许丢弃所有与Q和K无关的元素,但代价是需要更大的计算空间。可以优化并行共同注意以获得更好的性能,但会以“更简单”的输出方式为代价。值得注意的是,Ma等人[111]模型中的平均步长可以用自我注意代替,以便在早期从Q和K中过滤出不相关的元素。
Fine-grained coattention
在细粒度共同注意力模型中,共同打分函数(cocompatibility)计算得到共同注意力矩阵E,与每个key/query对相关联的相关性(能量得分)由矩阵E的元素Ej,i表示。
共同打分函数(cocompatibility)可以是表IV中列出的任何打分函数(compatibility)的直接改编。
由于E j,i代表与<ki / qj>相关的能量得分,因此要计算K与特定query的相关性,或者类似地,Q与特定key的相关性,需要使用所谓的聚合函数(aggregation function)从E中提取信息。 该函数的输出是权值向量对<aK / aQ>。
表V中列出了最常用的聚合函数。 一个简单的想法是dos Santos等人采用的注意力集中并行模型[69]。 它等于考虑E的每一行或每一列中的最高得分。通过注意集中,当且仅当键ki相对于至少一个查询元素qj具有高得分时,其才会被赋予高注意权重。 Key注意力得分是通过行最大池获得的,而query注意力得分是通过列最大池获得的,如图8所示(左)。只考虑最高的注意力分数可能被认为是一种保守的方法。实际上,低能量分数只能通过那些共同注意分数都很低的键来获得,因此很可能与所有查询元素无关。此外,仅与单个查询元素相关的键可能获得与所有查询元素相关的键相同甚至更高的能量分数。同样的推理也适用于查询注意力分数。这是一种合适的方法,例如,在查询是析取的关键字的任务中,例如在滥用语音识别中。相反,接下来的方法是通过计算所有相关的注意力分数来计算一个元素的能量分数,代价是更大的计算足迹。
Lu等人[80]使用多层感知器来学习E到ek和eq的映射。在[127]中,计算更加简单,因为最终的能量分数是E的线性变换。Cui等[70]采用了如图8(右)所示的嵌套模型。首先,在E上分别应用一个行和一个列的softmax来计算两个矩阵m1和m2。其思想是,m1的每一行代表特定的query元素在文档上的注意力分布,m1的每一行已经可以这样使用了。然后,对m2的行平均数进行计算,从而产生查询元素的注意分布aQ。最后,通过m1和a Q之间的点积,根据查询元素的相关性计算m1的加权和,得到文档在键上的注意力分布,a K。Nie等人提出了另一种嵌套的注意力模型[88],与Lu等人[80]的做法一样,将m1和m2馈给一个多层感知器[80]。结合多个共同注意模型的结果可以得到进一步的改进。例如,Fan等人[112]并行计算粗粒度和细粒度注意力,并将结果合并为一次嵌入。
COMBINING ATTENTION AND KNOWLEDGE
据LeCun等人[146]观点,人工智能(AI)的一个主要开放挑战是将连接器(或子符号)模型(例如深层网络)与基于符号知识表示的方法相结合,以执行复杂的推理任务。 在过去的十年中,填补这两种AI方法论之间的空白代表了主要的研究途径。 流行的方法包括统计关系学习[147],神经符号学习[148]以及各种深度学习体系结构[149]的应用,例如内存网络[59],神经图灵机[142]以及其他几种。
从这个角度来看,注意力既可以看作是改善神经网络的可解释性的尝试,也可以看作是将外部知识插入其中的机会。 事实上,由于注意力分配的权重代表了输入与给定任务的相关性,因此在某些情况下,可以利用这些信息来分离最重要的特征,从而使深度网络进行预测。 另一方面,只要有数据,就可以利用相关数据、领域或特定任务的任何先验知识来生成有关所需注意力分布的信息,这些信息可以在神经体系结构内进行编码。
在本节中,我们概述了以将知识注入神经网络的不同技术。我们将在第六节中进一步讨论有关知识和注意力结合的开放挑战。
Supervised Attention
在我们调查的大多数工作中,注意力模型是与其余神经体系结构一起训练的,以执行特定任务。 尽管与监督程序一起进行训练,但是注意力模型本身是以无监督的方式(没有备有注意力模型的标签分布)进行训练,为架构的其余部分选择有用的信息。 然而,在某些情况下,可以获得有关所需权重分布的知识。 无论是作为标签存在于数据中还是通过外部工具作为附加信息获得,都可以利用它来进行注意力模型的监督训练。
1)初步训练:一种可能性是使用外部分类器。 由这种分类器学习到的权重之后被插入到不同架构的注意力模型中。 我们将此程序称为初步训练。例如,Zhang等人[53]首先训练一个注意力模型来表示句子包含相关信息的概率。 句子的相关性由基本原理(rationals)[150]给出,这些基本原理是支持相应文档分类的文本摘要。 在Long等人的工作中 [118],模型在eye-tracking数据集上进行了初步训练,以估计单词的阅读时间。然后,将模型预测的阅读时间用作神经模型中的能量得分,以进行情感分析。
2)辅助训练:另一种可能性是不进行初步训练而是通过将注意力学习作为与主要任务一起执行的辅助任务来训练注意力模型。 这种过程在许多情况下都产生了良好的效果,包括机器翻译[30],[35],视觉问题解答[137]和自然语言理解领域分类[138]。在某些情况下,也可以利用此机制来具有特定于注意力模型的功能。 例如,由于语言信息可用于语义角色标记,因此可以在多任务设置中训练注意力以表示句子的句法结构。 确实,在LISA[97]中,这是一种用于语义角色标记的多层多头体系结构,其中一个注意力头被训练成执行依赖解析作为辅助任务。被训练为执行依赖关系解析作为辅助任务。
3) 迁移学习:此外,可以跨不同的领域[1]或任务[115]进行迁移学习。通过在源域上对一个注意力体系结构进行初步的训练以执行源任务,将学习到输入和权重分布之间的映射。然后,当在目标域上训练另一个注意力体系结构来执行目标任务时,可以利用预先训练的模型。实际上,可以通过第一个体系结构获得所需的分布。因此,注意力学习可以被视为一项辅助任务,就像前面提到的情况一样。不同之处在于,预训练模型的分布被用作基本事实,而不是使用数据标签。
Attention Tracking
当对序列相同的数据应用多次注意力机制时(如序列到序列模型),一条有用的信息可以是在不同的模型迭代过程中,输入的相关性有多大。 确实,可能需要跟踪注意力模型分配给每个输入的权重。 例如,在机器翻译中,期望确保考虑原始短语的所有单词。 维护此信息的一种可能性是使用合适的结构并将其作为注意力模型的附加输入。 Tu等人[33]利用了一条称为覆盖率的符号信息来跟踪与输入相关的权重。 每次计算注意力时,此类信息都会作为查询元素输入到注意力模型中,并根据注意力本身的输出进行更新。 在[31]中,通过使用亚符号表示覆盖来增强表示。
Modeling the Distribution Function by
Exploiting Prior Knowledge
注意力模型中可以利用先验知识的另一个组件是分布函数。 例如,可以将约束应用于新权重的计算,以在分配给输入的权重上施加边界。 在[46]和[51]中,覆盖范围信息是通过约束分布函数来利用的,它调节了同一个单词随时间而受到的关注量。
还可以利用先验知识来定义或推断域中元素之间的距离。 然后,可以在任何基于位置的分布函数中考虑此类特定于域的距离,而不是位置距离。 距离的一个例子可以通过13个语法信息得出。 Chen等人[40]和He等人[109]使用了分布函数,该分布函数考虑了沿着句子的依存关系图的两个单词之间的距离。
CHALLENGES AND FUTURE DIRECTIONS
在本节中,我们将讨论注意力机制在神经网络分析中的开放挑战和可能的应用,作为训练过程的支持和集成在神经结构中的符号表示的启用工具。
Attention for Deep Networks Investigation
注意力是否可以被认为是解释神经网络的一种手段,目前仍是一个公开的争论。 最近的一些研究[10],[11]表明,注意力不能被视为解释甚至解释神经网络的可靠手段。 然而,其他著作[6] – [9]提倡使用注意力权重作为分析工具。 具体地说,Jain和Wallace [10]证明注意力与其他可解释性指标不一致,并且容易创建局部对抗分布(与训练模型相似但产生不同结果的分布)。 Wiegreffe和Pinter [9]进一步推动了这一讨论,他们提供的实验表明,建立有效的全局对抗注意力模型比建立局部模型要困难得多,并且注意力权重可能包含有关特征重要性的信息。 他们的结论是,正如Rudin[151]和Riedl[152]所建议的那样,如果我们所说的“解释”指的是对决策过程的一种合理的,但不一定是忠实的重现,那么注意力确实可以为模型提供一种解释。
在多层神经体系结构的上下文中,可以合理地假设最深层次将计算出最抽象的特征[146],[153]。 因此,将注意力应用到深度网络中,可以选择更高层次的特征,从而了解有哪些复杂特征与给定任务相关。 按照计算机视觉领域的这一研究思路,Zhang等人[18]表明,将注意力应用于中高级特征集,可以提高图像生成的性能。 自注意力权值的可视化显示,较高的权值不归因于邻近的图像区域,而是归因于其颜色或纹理与查询图像点的颜色或纹理最相似的区域。 此外,空间分布不遵循特定的模式,而是变化的,对形成一个与图像中描绘的对象相对应的区域。识别输入文本中的抽象特征可能不如图像中的那么直接,在图像中分析过程在很大程度上取决于视觉直觉。 但是,测试注意力在不同层次上的效果并评估其权重是否对应于特定的高级功能可能会很有趣。 例如,Vaswani等人[36]分析了注意权重和句法预测之间的可能关系,Voita等人[49]在回指解析度上也是如此,Clark等[6]研究了具有许多语言特征的相关性。 Voita等人[50]分析了一个多头模型的头的行为,发现不同的头发展出不同的行为,这可能与特定的位置或特定的句法元素有关。 杨等人[39]似乎证实了神经体系结构的更深层次捕获了文本输入的非局部方面。 他们研究了局部性在注意力深层结构的不同深度的应用,并表明当将局部性应用到更靠近输入的层时,局部性的引入特别有益。 此外,当局部性的应用基于可变大小的窗口时,较高的层往往具有较宽的窗口。
调查一个架构是否学习了高级特征的一种流行方法就是使用相同的架构执行其他任务,就像迁移学习一样。 例如,Shi等人[154]已经在注意力的上下文之外采用了此设置,他们使用通过机器翻译学习到的隐藏表示来执行语法预测。 同样,注意力权重也可以作为不同模型的输入特征,以便评估它们是否可以为不同的学习任务选择相关信息。 例如,在注意力集中的过程中,根据教师网络训练学生网络以惩罚最令人困惑的特征,从而在机器阅读理解任务中产生高效且鲁棒的模型[155]。 类似地,在转移学习环境中,注意异类迁移[156]已被用于异语文本分类中,以选择性地过滤来自异类源的输入特征。
Attention for Outlier Detection and Sample Weighing
注意力的另一个可能的用途是检测离群值(outlier)。在诸如分类或创建一个有代表性的嵌入特定类的任务中,注意力可以应用于属于该任务的所有样本。在这样做的时候,与小权值相关的样本就其类而言可以被视为异常值。同样的原理可以应用到训练集中的每个数据点上,而不依赖于它的类。为每个样本计算权重可以解释为评估特定数据点对特定任务的相关性。原则上,给这些样本分配一个低权值并将它们排除在学习之外可以提高模型对有噪声输入的鲁棒性。此外,在训练过程中对这些权值进行动态计算,会导致在不同的训练阶段对不同的训练数据进行动态选择。虽然无注意力自适应数据选择策略已经被证明可以有效地获得更有效的模型[117],但据我们所知,到目前为止还没有基于注意力的方法被实验过。
Attention Analysis for Model Evaluation
在输入序列中排除所有不相关的元素,适当平衡相关元素的重要性时,注意力的影响最大。注意力权重的均匀分布可以被解释为注意力模型无法识别更有用的元素。反过来,这可能是由于数据不包含手头任务的有用信息,也可能是由于模型区分信息的能力较差。但是,注意模型无法在特定的输入序列中找到相关信息,这可能会导致错误。因此,对注意力权重分布的分析可以作为一种工具,用于测量体系结构在给定输入下执行任务的信心。我们推测,分布中的高熵值或超过某一阈值的权重的存在可能与神经模型的高成功率有关。因此,这些可能被用作指标,以评估架构的不确定性,以及改善其可解释性。显然,这些信息对用户很有用,可以更好地理解模型和数据,但也可以被更复杂的系统利用。例如,Heo等人[157]提出利用其随机预测模型的不确定性来避免在医疗保健任务中进行风险预测。在一个依赖于多种策略来执行其任务的架构的上下文中,例如一个依赖于符号和子符号信息的混合模型,神经模型的不确定性可以用作合并策略中的一个参数。在其他环境中,这些信息可能是相关的是多任务学习和强化学习。Poggi和Mattoccia[158]、Kendall等人[159]和Blundell等人[160]的著作中都有利用该模型不确定性的例子,尽管在注意力和NLP之外的背景下。
Unsupervised Learning With Attention
正确利用无监督学习被广泛认为是AI的最重要的长期挑战之一[146]。 如第五节所述,注意力通常是在受监督的体系结构中训练的,尽管没有对注意力权重的直接监督。 然而,最近有一些工作试图在纯粹无监督的模型中利用注意力。 我们认为这是一个有前途的研究方向,因为人类的学习过程实际上是不受监督的。
例如,在He等人的著作中。 [161],注意力在情感分析中的方面提取模型中得到了利用,目的是去除与情感无关的单词,并确保预测方面的连贯性。 在Zhang和Wu [162]的工作中,注意力集中在问题检索任务的自动编码器中。 主要思想是生成问题的语义表示,并在编码和解码阶段利用自我注意,目的是像传统的自动编码器一样重构输入序列。 按照类似的想法,张等人。 [163]利用基于二维注意力的递归自动编码器进行双语短语嵌入,而Tian和Fang [164]利用专注的自动编码器构建句子表示并在短文本上执行主题建模。 杨等。 [165]而是采用一种注意力驱动的方法来进行无监督的情感修饰,以便将情感词与内容词明确分开。
在计算机视觉中,已经提出了针对无监督域自适应的注意力对齐方式,旨在对齐分别在源域和目标域上训练的网络的注意力模式[166]。 我们认为,这对于NLP也是一个有趣的情况。
Neural-Symbolic Learning and Reasoning
近年来,注意力机制开始被整合到一些神经符号模型中,这些模型在神经语言处理场景中的应用仍处于初级阶段。例如,在神经逻辑编程的背景下[167],它们被开发为知识图的推理,以便结合一阶逻辑规则的参数和结构学习。它们也被用于逻辑注意力网络[168],以聚合来自同时具有基于规则和基于网络的注意力权重的图邻的信息。此外,Shen等人[169]还利用先验知识使注意力机制能够学习实体的知识表示,从而对问答对进行排序。
利用注意力的神经结构在推理任务中也表现得很好,这些推理任务也是用符号方法处理的,比如文本蕴涵。例如,Hudson和Manning[170]最近提出了一种用于复杂推理问题的新架构,NLP通常是目标子任务之一,就像在视觉回答问题时一样。在这样的架构中,注意力被用在模型的几个部分中,例如,对疑问词或捕捉与自我注意力的长期依赖。
在[171]中提出了在神经网络中引入逻辑语句形式的约束的尝试,其中控制注意力的规则用于在任务中强制执行单词对齐,如机器理解和自然语言推断。
版权声明
本文为[CS生]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_36824130/article/details/109749185
边栏推荐
- [Point Cloud Series] SG - Gan: Adversarial Self - attachment GCN for Point Cloud Topological parts Generation
- 【无标题】制作一个0-99的计数器,P1.7接按键,P2接数码管段,共阳极数码管,P3.0,P3.1接数码管位码,每按一次键,数码管显示加一。请写出单片机的C51代码
- rearrange 和 einsum 真的优雅吗
- Android exposed components - ignored component security
- Keras如何保存、加载Keras模型
- Gephi教程【1】安装
- Use originpro express for free
- EasyUI combobox determines whether the input item exists in the drop-down list
- 被 onnx.checker.check_model 检查出的常见错误
- 【51单片机交通灯仿真】
猜你喜欢
Chapter 3 pytoch neural network toolbox
【点云系列】 A Rotation-Invariant Framework for Deep Point Cloud Analysis
Chapter 2 pytoch foundation 1
excel实战应用案例100讲(八)-Excel的报表连接功能
Visual Studio 2019安装与使用
【无标题】PID控制TT编码器电机
第4章 Pytorch数据处理工具箱
Modifying a column with the 'identity' pattern is not supported
第1章 NumPy基础
1.1 pytorch and neural network
随机推荐
多机多卡训练时的错误
【Tensorflow】共享机制
【点云系列】点云隐式表达相关论文概要
LPDDR4笔记
机器学习——模型优化
【动态规划】三角形最小路径和
unhandled system error, NCCL version 2.7.8
PyTorch 17. GPU并发
【点云系列】Fully-Convolutional geometric features
Pymysql connection database
AMBA协议学习小记
“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
[3D shape reconstruction series] implicit functions in feature space for 3D shape reconstruction and completion
GIS实战应用案例100篇(五十二)-ArcGIS中用栅格裁剪栅格,如何保持行列数量一致并且对齐?
WinForm scroll bar beautification
安装 pycuda 出现 PEP517 的错误
EMMC/SD学习小记
Résolution du système
【动态规划】杨辉三角
onnxruntime-gpu 1.7 出现的警告“Force fallback to CPU execution for node: Gather_191”等