GPT-1论文阅读:Improving Language Understanding by Generative Pre-Training

这篇论文提出了 GPT (Generative Pre-Training) 模型,这是 GPT系列(包括 GPT-2, GPT-3, ChatGPT, GPT-4 等)的奠基之作。它标志着自然语言处理领域向大规模无监督预训练+任务特定微调范式的重大转变,并取得了显著的成功。

文章链接:language_understanding_paper.pdfhttps://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf

Abstract(摘要)

自然语言理解包含一系列广泛而多样的任务,例如文本蕴含、问答、语义相似性评估和文档分类。尽管大型未标记文本语料库非常丰富,但用于学习这些特定任务的标记数据却十分稀缺,这使得判别训练的模型难以达到足够的性能。

我们证明,通过在一个庞杂的未标记文本语料库上对语言模型进行生成式预训练,再在各自特定的任务上进行判别式微调,可以显著提升这些任务的性能。与之前的方法不同,我们在微调期间利用任务感知(task-aware)的输入转换,实现了有效的迁移学习,同时只需要对模型架构进行最小的改动。

我们在多个自然语言理解基准测试上验证了方法的有效性。我们通用的、与任务无关的模型(general task-agnostic model)性能优于那些专门为每个任务定制架构的判别训练模型,在所研究的 12 项任务中的 9 项上显著提高了现有技术水平。例如,我们在常识推理(Stories Cloze Test)上获得了 8.9% 的绝对提升,在问答(RACE)上获得了 5.7% 的绝对提升,在文本蕴含(MultiNLI)上获得了 1.5% 的绝对提升。

1 Introduction(简介)

从原始文本中有效学习的能力,对于减轻自然语言处理(NLP)中对监督学习的依赖至关重要。​​ 大多数深度学习方法需要大量手动标记的数据,这限制了它们在许多缺乏标注资源的领域中的应用 [61]。在这些情况下,能够利用未标记数据中语言信息的模型,提供了一种有价值的替代方案,无需费时费力地收集更多标注。此外,即使存在大量监督数据的情况下,以无监督的方式学习良好的表征也能显著提升性能。迄今为止,最具说服力的证据是广泛使用预训练词嵌入 [10, 39, 42] 来提升一系列 NLP 任务的性能 [8, 11, 26, 45]。

然而,从未标记文本中利用超越词语级别的信息,主要面临两个挑战。首先,尚不清楚哪种优化目标最有效地学习可用于迁移的文本表征。最近的研究探索了各种目标,如语言建模 [44]、机器翻译 [38] 和语篇连贯性分析 [22],不同方法在不同任务上各有优势¹。其次,对于如何将这些学习到的表征最有效地迁移到目标任务上,目前尚无共识。现有技术通常结合以下手段:针对任务修改模型架构 [43, 44]、使用复杂的学习策略 [21],以及添加辅助学习目标 [50]。这些不确定性增加了开发有效语言处理半监督学习方法的难度。

本文中,我们探索了一种结合无监督预训练和监督微调的半监督方法,用于语言理解任务。我们的目标是学习一种通用表征,只需极少调整即可迁移到广泛的任务中。我们假设可获取一个大型未标记文本语料库和多个包含手动标注训练样本的数据集(目标任务)。我们的设置不要求目标任务与未标记语料库同属一个领域。我们采用两阶段训练过程:首先,我们在未标记数据上使用语言建模目标来学习神经网络模型的初始参数;随后,我们使用相应的监督目标将这些参数适配到目标任务。

对于模型架构,我们采用 ​​Transformer​​ [62],该架构已在机器翻译 [62]、文档生成 [34] 和句法分析 [29] 等多种任务上表现出色。与循环网络等替代方案相比,该模型为处理文本中的长期依赖关系提供了更结构化的记忆,从而能在不同任务中实现鲁棒的迁移性能。在迁移过程中,我们利用基于​​遍历式方法​​[52]的任务特定输入适配技术,该技术将结构化的文本输入处理为单个连续的词元序列。如我们的实验所示,这些适配使我们能够通过对预训练模型架构进行极少改动,即可实现有效的微调。

我们在四类语言理解任务上评估了我们的方法:自然语言推理、问答、语义相似性和文本分类。我们通用的、​​与任务无关的模型​​性能优于那些专门为每个任务定制架构的判别训练模型,在所研究的 12 项任务中的 9 项上显著提高了现有技术水平。例如,我们在常识推理(​​Stories Cloze Test​​[40])上获得了 8.9% 的绝对提升,在问答(​​RACE​​[30])上获得了 5.7% 的绝对提升,在文本蕴含(​​MultiNLI​​[66])上获得了 1.5% 的绝对提升,在最新引入的​​GLUE​​多任务基准测试 [64] 上获得了 5.5% 的绝对提升。我们还分析了预训练模型在四种不同场景下的​​零样本行为​​(zero-shot behaviors),表明该模型确实获取了对下游任务有用的语言知识。

2 Related Work(相关工作)

NLP 的半监督学习​
我们的工作总体上属于自然语言​​半监督学习​​的范畴。这一范式已引起广泛关注,并应用于序列标注 [24, 33, 57] 或文本分类 [41, 70] 等任务。最早的方法使用未标记数据来计算词级或短语级统计信息,然后将其用作监督模型中的特征 [33]。过去几年中,研究人员展示了使用在未标记语料库上训练的​​词嵌入​​[11, 39, 42] 来提升各种任务性能的优势 [8, 11, 26, 45]。然而,这些方法主要迁移的是​​词级信息​​,而我们的目标是捕获更​​高级别的语义​​。

最近的研究致力于探索从未标记数据中学习和利用超越词级的语义。可以使用未标记语料库训练的​​短语级或句子级嵌入​​,已被用于将文本编码成适合各种目标任务的向量表征 [28, 32, 1, 36, 22, 12, 56, 31]。

​无监督预训练​
​无监督预训练​​是半监督学习的一种特殊情况,其目的是找到一个良好的​​初始化点​​,而不是修改监督学习的目标函数。早期研究探索了该技术在图像分类 [20, 49, 63] 和回归任务 [3] 中的应用。后续研究 [15] 表明,预训练可作为一种​​正则化方案​​,使深度神经网络具有更好的​​泛化能力​​。近期的研究将该方法用于辅助训练深度神经网络处理各种任务,如图像分类 [69]、语音识别 [68]、​​实体消歧​​ (entity disambiguation) [17] 和机器翻译 [48]。

与我们工作最相近的研究,涉及使用​​语言建模目标​​预训练神经网络,然后在监督下对目标任务进行​​微调​​。Dai 等人 [13] 以及 Howard 和 Ruder [21] 遵循此方法来改进文本分类。然而,尽管预训练阶段有助于捕获一些语言信息,但他们使用的 ​​LSTM 模型将其预测能力限制在了短距离范围内​​。相比之下,我们选择的 ​​Transformer 网络能够捕获更长距离的语言结构​​,这一点在我们的实验中得到验证。此外,我们还在更广泛的任务上证明了我们模型的有效性,包括自然语言推理、释义检测和故事补全。其他方法 [43, 44, 38] 则在目标任务上训练监督模型时,​​使用预训练的语言模型或机器翻译模型的隐藏层表征作为辅助特征​​。这需要为每个独立的目标任务引入大量新参数,而我们在迁移过程中仅需对模型架构进行​​极小的改动​​。

​辅助训练目标​
​添加辅助的无监督训练目标​​是半监督学习的另一种形式。Collobert 和 Weston 的早期工作 [10] 使用了多种辅助 NLP 任务,如词性标注、组块分析、命名实体识别和语言建模,以改进语义角色标注。最近,Rei [50] 在其目标任务的目标函数上​​添加了辅助的语言建模目标​​,并在序列标注任务上展示了性能提升。我们的实验也使用了一个辅助目标,但正如我们所示,​​无监督预训练已经学到了许多与目标任务相关的语言层面知识​​。

3 Framework(框架)

我们的训练过程分为两个阶段:

  1. ​第一阶段​​:在大型文本语料库上学习高容量语言模型(无监督预训练);
  2. ​第二阶段​​:使用标记数据将模型适配到判别任务(监督微调)。

​3.1 无监督预训练​

给定无监督的token语料库 U=\left \{ u_1,u_2...u_n \right \},我们使用标准语言建模目标最大化以下似然函数:

L_1\left ( U \right )=\sum _ilogP\left ( u_i|u_{i-k},...,u_{i-1};\Theta \right )

其中:

  • k 为上下文窗口大小,
  • 条件概率 P 由参数为 Θ 的神经网络建模。

参数通过随机梯度下降[51]优化。

模型架构​​:
使用​​多层Transformer解码器​​[34](Transformer[62]的变体)。该模型对输入上下文token执行​​多头自注意力操作​​,再通过位置前馈层生成目标token的输出分布:

\left\{\begin{matrix} h_0=UW_e+W_p \\ h_l=transformerblock\left ( h_{l-1} \right )\forall i\in \left [ 1,n \right ] \\ P_u=softmax\left ( h_nW_{e}^{T}\right ) \end{matrix}\right.

其中:

  • U=\left ( u_{-k},...,u_{-1} \right )是token的上下文向量,
  • n 为层数,
  • W_e是token嵌入矩阵,
  • W_p是位置嵌入矩阵。

3.2 监督微调​

通过公式(1):L_1\left ( U \right )=\sum _ilogP\left ( u_i|u_{i-k},...,u_{i-1};\Theta \right )训练模型后,我们将参数适配到监督目标任务。假设有一个带标签的数据集 C,每个实例由输入token序列 x^1,...,x^m 及其标签 y 组成。输入通过预训练模型传递,获得最终Transformer块的激活值 h_{l}^{m},再输入至添加的线性输出层(参数为 W_y)以预测 y:

P\left ( y|x^1,...,x^m \right )=softmax\left ( h_{l}^{m}W_y \right )

目标函数为:

L_2\left ( C \right )=\sum _{\left ( x,y \right )}logP\left ( y|x^1,...,x^m \right )

关键改进​​:
将​​语言建模作为辅助目标​​,通过以下方式提升学习效果:
(a) 改善监督模型的泛化能力,
(b) 加速收敛(与先前工作[50,43]结论一致)。
优化目标(权重 λ):

L_3\left ( C \right )=L_2\left ( C \right )+\lambda L_1\left ( C \right )

微调新增参数​​:
仅需线性层权重 W_y 和分隔符的嵌入向量(见3.3节)。

图1​​:(左)​​本研究使用的Transformer架构与训练目标​​;(右)​​面向不同任务微调的输入转换方法​​。我们将所有结构化输入转换为词元序列(token sequences),由预训练模型处理,后接线性层+softmax层。

3.3 任务特定输入转换​

对文本分类等任务,可直接按上述方式微调。但问答或文本蕴含等任务需处理结构化输入(如有序句子对、文档-问题-答案三元组)。由于预训练模型在连续文本序列上训练,需修改以适配此类任务。

我们采用​​遍历式方法​​[52],将结构化输入转换为预训练模型可处理的序列。这些转换避免跨任务的大规模架构修改,具体如下(图1右侧示意):

注:所有转换均包含随机初始化的起始符 ⟨s⟩ 和结束符 ⟨e⟩。

​任务类型​​输入转换规则​
​文本蕴含​将前提 p 与假设 h 的token序列拼接,中间插入分隔符 $ 
​相似性​比较的两个句子无固有顺序。修改输入序列包含​​两种可能的句子顺序​​(中间加分隔符),分别独立处理生成表示 h_{l}^{m}​,​​元素相加​​后输入线性输出层
​问答与常识推理​给定上下文文档 z、问题 q 和备选答案 \left \{ a_k \right \}。将文档、问题与每个答案拼接(加分隔符)→ [z;q;\$;a_k],各序列独立处理并通过softmax层归一化,生成答案分布

4 Experiments(实验​)

​4.1 设置​

​无监督预训练数据​
使用 ​​BooksCorpus 数据集​​[71],包含超过 7,000 本未出版书籍(涵盖冒险、奇幻、浪漫等多种体裁)。关键优势在于其包含​​长距离连续文本​​,使生成式模型能学习远程依赖信息。作为对比,类似方法 ELMo[44] 使用的 1B Word Benchmark 数据集规模相近,但其句子级打乱破坏了长程结构。我们的语言模型在该语料库上达到 ​​18.4 的极低 token 级别困惑度​​。

​模型规格​
模型主要遵循原始 Transformer 工作[62]:

  • ​架构​​:12 层仅含解码器的 Transformer(768 维状态,12 个掩码自注意力头)
  • ​前馈网络​​:3072 维内部状态
  • ​优化器​​:Adam[27],最大学习率 2.5e-4
  • ​学习率调度​​:前 2000 步线性升温,后余弦退火至 0
  • ​训练​​:100 个 epoch,小批量(mini-batch)大小 64,序列长度 512 token
  • ​正则化​​:
    • 全模型使用 LayerNorm[2]
    • 权重初始化:N(0,0.02)
    • 字节对编码(BPE)词表:40,000 合并[53]
    • 残差连接、嵌入层、注意力层的 Dropout:0.1
    • 改进版 L2 正则化[37]:权重衰减系数 w=0.01(偏置项除外)
  • ​激活函数​​:高斯误差线性单元(GELU)[18]
  • ​位置编码​​:学习式位置嵌入(替代原始正弦编码)
  • ​文本处理​​:
    • 使用 ftfy 库清理原始文本
    • 标准化标点与空格
    • 使用 spaCy 分词器

​微调细节​

  • 除非特别说明,​​复用无监督预训练的超参数​
  • 分类器添加 Dropout:0.1
  • 多数任务学习率:6.25e-5,批量大小 32
  • ​快速收敛​​:3 个 epoch 即可完成微调
  • ​学习率调度​​:线性衰减,包含 0.2% 训练步数的预热阶段
  • 辅助目标权重 λ=0.5

表 1:实验使用的任务与数据集​​

任务类型数据集
自然语言推理SNLI[5], MultiNLI[66], QNLI[64], RTE[4], SciTail[25]
问答与常识推理RACE[30], Story Cloze[40]
语义相似性MSR Paraphrase Corpus[14], Quora Question Pairs[9], STS Benchmark[6]
文本分类Stanford Sentiment Treebank-2[54], CoLA[65]

4.2 监督微调​

我们在多种监督任务上实验:自然语言推理、问答、语义相似性和文本分类(部分任务属于 GLUE 多任务基准[64])。任务概览见图 1(注:原文未在实验部分嵌入图 1)。

​自然语言推理(NLI)​
任务目标:判断句子对关系(蕴含/矛盾/中立)。评估 5 个异构数据集:

  • SNLI(图像描述)
  • MultiNLI(转录语音、流行小说、政府报告)
  • QNLI(维基百科)
  • SciTail(科学考试)
  • RTE(新闻)

​​表 2:自然语言推理任务结果(对比当前最优方法)​​

方法MNLI-mMNLI-mmSNLISciTailQNLIRTE
ESIM+ELMo[44] (5x)--89.3---
CAFE[58] (5x)80.279.089.3---
Stochastic Answer Network[35] (3x)80.680.1----
CAFE[58]78.777.988.583.3--
GenSen[64]71.471.3--82.359.2
Multi-task BiLSTM+Attn[64]72.272.1--82.161.7
​Finetuned Transformer LM (本文)​​82.1​​81.4​​89.9​​88.3​​88.1​56.0

​关键结论​​:

  • 在 5 个数据集中的 4 个显著超越基线(MNLI 提升 1.5%,SciTail 提升 5%,QNLI 提升 5.8%,SNLI 提升 0.6%)
  • RTE 上表现较弱(56.0% vs 61.7%),可能因训练数据量小(仅 2490 样本),多任务训练或可改善

​问答与常识推理​

  • ​数据集​​:
    • RACE[30]:初高中考试阅读理解题(需推理能力)
    • Story Cloze[40]:从两个选项中选择多句故事的合理结尾
  • ​结果优势​​:
    • 远程依赖处理能力提升
    • Story Cloze 提升 8.9%,RACE 整体提升 5.7%

​​表 3:问答与常识推理结果(对比当前最优方法)​​

方法Story ClozeRACE-mRACE-hRACE
val-LS-skip[55]76.5---
Hidden Coherence Model[7]77.6---
Dynamic Fusion Net[67] (9x)-55.649.451.2
BiAttention MRU[59] (9x)-60.250.353.3
​Finetuned Transformer LM (本文)​​86.5​​62.9​​57.4​​59.0​

​语义相似性​
任务目标:判断句子是否语义等价(需处理改写、否定与歧义)。

  • ​数据集​​:
    • MRPC[14](新闻源)
    • QQP[9](Quora 问题对)
    • STS-B[6](语义文本相似性基准)

​​表 4:语义相似性与分类结果(基于 GLUE 基准)

方法CoLA (mc)SST2 (acc)MRPC (F1)STSB (pc)QQP (F1)GLUE
Sparse byte mLSTM[16]-93.2----
TF-KLD[23]--86.0---
ECNU (混合集成)[60]---81.0--
Single-task BiLSTM+ELMo+Attn[64]35.090.280.255.566.164.8
Multi-task BiLSTM+ELMo+Attn[64]18.991.683.572.863.368.9
​Finetuned Transformer LM (本文)​​45.4​​91.3​​82.3​​82.0​​70.3​​72.8​

​关键结论​​:

  • 在三个语义相似性任务中的两个达到最优(STS-B 绝对提升 1 分)
  • QQP 显著提升(70.3% F1,绝对提升 4.2%)

​文本分类​

  • ​任务​​:
    • CoLA[65]:句子语法性判断(测试模型语言归纳偏差)
    • SST-2[54]:标准二分类
  • ​结果​​:
    • CoLA 得分 45.4(大幅超越先前最优 35.0)
    • SST-2 准确率 91.3%(与最优结果相当)
    • GLUE 总分 72.8(显著超越先前 68.9)

​整体结论​​:

  • 在评估的 ​​12 个数据集中刷新 9 项最佳结果​​(包括多个集成模型)
  • 模型在大小数据集上均表现优异(STS-B:5.7k 样本 → SNLI:550k 样本)

5 Analysis(分析)​

本节通过三个关键实验深入探究模型特性:迁移层数的影响、零样本行为及消融研究。

5.1 迁移层数的影响​

我们观察了从无监督预训练向监督目标任务迁移不同数量层数的效果。​​图2(左)​​ 展示了模型在MultiNLI和RACE任务上的性能随迁移层数变化的函数关系:

  • ​核心发现​​:
    • 迁移词嵌入层可提升性能(符合常规预期)
    • 每增加一个Transformer层都带来额外增益
    • ​完全迁移​​(所有层)在MultiNLI上带来高达9%的提升
  • ​技术意义​​:
    表明预训练模型的​​每一层​​都包含对解决目标任务有用的功能模块

图2:(左)从预训练语言模型迁移不同层数对RACE和MultiNLI的影响;(右)零样本性能随语言模型预训练更新的演化趋势,各任务性能在随机猜测基线(0%)与当前最佳单模型(100%)间归一化

5.2 零样本行为​

为理解Transformer语言模型预训练的有效性,我们提出假设:​​生成模型通过学习执行下游任务来提升语言建模能力​​,且Transformer的结构化注意力记忆比LSTM更有利于迁移。为验证此假设:

  • ​实验设计​​:
    设计​​启发式解决方案​​,使生成模型无需监督微调即可执行任务​
  • 观测结果​​(图2右):
    启发式性能​​稳定且持续提升​​,表明生成式预训练学习了广泛的任务相关功能
    LSTM的零样本性能​​波动显著​​,验证Transformer的归纳偏置有利于迁移

具体启发式方法​​:

​任务类型​​零样本实现逻辑​
CoLA(语法可接受性)计算生成模型赋予token的平均对数概率作为得分,通过阈值判断预测结果
SST-2(情感分析)为每个样本添加"very"标记,限制输出分布仅含"positive"/"negative",选择概率更高的词
RACE(问答)选择文档和问题条件下生成模型赋予最高平均token对数概率的答案
DPRD[46](指代消解)用两种可能指代替换定代词,预测替换后序列获得更高平均对数概率的解析结果

5.3 消融研究​

通过三组对照实验剖析关键组件贡献(结果见​​表5​​):

​实验1:移除辅助语言建模目标​

  • ​方法​​:微调时禁用公式(5)中的 \lambda L_1\left ( C \right ) 项
  • ​发现​​:
    • NLI任务和QQP性能下降
    • ​规律​​:大型数据集受益于辅助目标,小型数据集则不然

​实验2:Transformer vs LSTM​

  • ​方法​​:用单层2048单元LSTM替换Transformer架构
  • ​结果​​:
    • 平均分下降5.6(见表5 "Avg. Score"列)
    • 仅在MRPC上表现优于Transformer
    • ​结论​​:Transformer的长程依赖处理能力对迁移至关重要

​实验3:无预训练对比​

  • ​方法​​:直接在监督目标任务上训练Transformer(无预训练阶段)
  • ​结果​​:
    • ​全面性能下降​​(平均分降14.8%)
    • 所有任务均受损,验证预训练的基础性作用

表5:不同任务的消融分析结果​​(Avg. Score为所有结果未加权平均值)

方法Avg. ScoreCoLA (mc)SST2 (acc)MRPC (F1)STSB (pc)QQP (F1)MNLI (acc)QNLI (acc)RTE (acc)
​完整模型​​74.7​​45.4​​91.3​​82.3​​82.0​​70.3​​81.8​​88.1​​56.0​
无预训练59.918.984.079.430.965.575.771.253.8
无辅助LM目标75.047.992.084.983.269.881.186.954.4
LSTM+辅助LM69.130.390.583.271.868.173.781.154.6

​核心结论​​:

  • 预训练贡献 > 辅助目标 > 架构选择
  • 完整模型在复杂任务(QNLI/RTE)上优势最显著

6 Conclusion(结论)​

我们提出了一种通过​​生成式预训练(generative pre-training)​​与​​判别式微调(discriminative fine-tuning)​​相结合的框架,利用​​单一任务无关模型(single task-agnostic model)​​实现强大的自然语言理解能力。通过在包含​​长程连续文本(long stretches of contiguous text)​​的多样化语料库上进行预训练,我们的模型习得了丰富的世界知识以及处理远程依赖的能力,这些能力成功迁移至解决判别性任务,包括:

  • 问答系统(question answering)
  • 语义相似性评估(semantic similarity assessment)
  • 蕴含关系判定(entailment determination)
  • 文本分类(text classification)

在研究的​​12个数据集中​​,我们在​​9项任务上显著提升了当前最佳性能​​(state of the art)。利用无监督(预)训练提升判别性任务性能,长期以来一直是机器学习研究的重要目标。我们的工作表明,实现显著的性能提升是切实可行的,并为适用模型(Transformer架构)和数据集(具有远程依赖的文本)的选择提供了关键指导。我们期望这项工作能推动无监督学习的新研究,不仅限于自然语言理解领域,还可拓展至其他领域,从而进一步深化对无监督学习​​运作机制(how)​​与​​适用条件(when)​​的理解。

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

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

相关文章

Hadoop大数据-Mysql的数据同步工具Maxwell安装与使用( 详解)

目录 一、前置基础知识 1、主从复制(Replication) 2、数据恢复 3、数据库热备 4、读写分离 5、存储位置及命名 二、Maxwell简介 1、简介 2、Maxwell同步数据特点 2.1.历史记录同步 2.2.断点续传 三、前期准备 1、查看网卡: 2、…

分布式系统的一致性模型:核心算法与工程实践

目录 一、分布式一致性的核心挑战二、主流一致性算法原理剖析1. Paxos:理论基础奠基者2. Raft:工业级首选方案3. ZAB:ZooKeeper的引擎 三、算法实现与代码实战Paxos基础实现(Python伪代码)Raft日志复制核心逻辑 四、关…

Apache HTTP Server部署全攻略

httpd 简介 httpd(Apache HTTP Server)是一款历史悠久的开源 Web 服务器软件,由 Apache 软件基金会开发和维护。自 1995 年首次发布以来,Apache 一直是 Web 服务器领域的领导者,以其稳定性、安全性和灵活性著称。根据…

信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(下)

书接上文: 信号处理学习——文献精读与code复现之TFN——嵌入时频变换的可解释神经网络(上)-CSDN博客 接下来是重要的代码复现!!!GitHub - ChenQian0618/TFN: this is the open code of paper entitled "TFN: A…

线上故障排查:签单合同提交报错分析-对接e签宝

在企业管理系统中,合同生成与签署环节至关重要,尤其是在使用第三方平台进行电子签署时。本文将通过实际的报错信息,分析如何进行线上故障排查,解决合同生成过程中出现的问题。 #### 1. 错误描述 在尝试生成合同并提交至电子签署…

知攻善防靶机 Linux easy溯源

知攻善防 【护网训练-Linux】应急响应靶场-Easy溯源 小张是个刚入门的程序猿,在公司开发产品的时候突然被叫去应急,小张心想"早知道简历上不写会应急了",于是call了运维小王的电话,小王说"你面试的时候不是说会应急…

原神八分屏角色展示页面(纯前端html,学习交流)

原神八分屏角色展示页面 - 一个精美的前端交互项目 项目简介 这是一个基于原神游戏角色制作的八分屏展示页面,采用纯前端技术实现,包含了丰富的动画效果、音频交互和视觉设计。项目展示了一些热门原神角色,每个角色都有独立的介绍页面和专属…

华为认证二选一:物联网 VS 人工智能,你的赛道在哪里?

一篇不讲情怀只讲干货的科普指南 一、华为物联网 & 人工智能到底在搞什么? 华为物联网(IoT) 的核心是 “万物互联”。 通过传感器、通信技术(如NB-IoT/5G)、云计算平台(如OceanConnect)&…

CloudLens for PolarDB:解锁数据库性能优化与智能运维的终极指南

随着企业数据规模的爆炸式增长,数据库性能管理已成为技术团队的关键挑战。本文深入探讨如何利用CloudLens for PolarDB实现高级监控、智能诊断和自动化运维,帮助您构建一个自我修复、高效运行的数据库环境。 引言:数据库监控的演进 在云原生时代,传统的数据库监控方式已不…

MySQL中TINYINT/INT/BIGINT的典型应用场景及实例

以下是MySQL中TINYINT/INT/BIGINT的典型应用场景及实例说明: 一、TINYINT(1字节) 1.状态标识 -- 用户激活状态(0未激活/1已激活) ALTER TABLE users ADD is_active TINYINT(1) DEFAULT 0; 适用于布尔值存储和状态码…

YOLOv13:最新的YOLO目标检测算法

[2506.17733] YOLOv13: Real-Time Object Detection with Hypergraph-Enhanced Adaptive Visual Perception Github: https://github.com/iMoonLab/yolov13 YOLOv13:利用超图增强型自适应视觉感知进行实时物体检测 主要的创新点提出了HyperACE机制、FullPAD范式、轻…

【深入浅出:计算流体力学(CFD)基础与核心原理--从NS方程到工业仿真实践】

关键词:#CFD、#Navier-Stokes方程、#有限体积法、#湍流模型、#网格收敛性、#工业仿真验证 一、CFD是什么?为何重要? 计算流体力学(Computational Fluid Dynamics, CFD) 是通过数值方法求解流体流动控制方程&#xff0…

qt常用控件--04

文章目录 qt常用控件labelLCD NumberProgressBar结语 很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 今天我们进一步c11中常见的新增表达 作者:٩( ‘ω’ )و260 我的专栏:qt&am…

Redmine:一款基于Web的开源项目管理软件

Redmine 是一款基于 Ruby on Rails 框架开发的开源、跨平台、基于 Web 的项目管理、问题跟踪和文档协作软件。 Redmine 官方网站自身就是基于它构建的一个 Web 应用。 功能特性 Redmine 的主要特点和功能包括: 多项目管理: Redmine 可以同时管理多个项…

FPGA FMC 接口

1 FMC 介绍 FMC 接口即 FPGA Mezzanine Card 接口,中文名为 FPGA 中间层板卡接口。以下是对它的详细介绍: 标准起源:2008 年 7 月,美国国家标准协会(ANSI)批准和发布了 VITA 57 FMC 标准。该标准由从 FPGA 供应商到最终用户的公司联盟开发,旨在为位于基板(载卡)上的 …

C++中std::atomic_bool详解和实战示例

std::atomic_bool 是 C 标准库中提供的一种 原子类型,用于在多线程环境下对布尔值进行 线程安全的读写操作,避免使用 std::mutex 带来的性能开销。 1. 基本作用 在多线程环境中,多个线程同时访问一个 bool 类型变量可能会出现 竞态条件&…

深度学习之分类手写数字的网络

面临的问题 定义神经⽹络后,我们回到⼿写识别上来。我们可以把识别⼿写数字问题分成两个⼦问题: 把包含许多数字的图像分成⼀系列单独的图像,每个包含单个数字; 也就是把图像 ,分成6个单独的图像 分类单独的数字 我们将…

nginx基本使用 linux(mac下的)

目录结构 编译后会有:conf html logs sbin 四个文件 (其他两个是之前下载的安装包) conf:配置文件html:页面资源logs:日志sbin:启动文件,nginx主程序 运行后多了文件:&l…

基于大众点评的重庆火锅在线评论数据挖掘分析(情感分析、主题分析、EDA探索性数据分析)

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍数据采集数据预处理EDA探索性数据分析关键词提取算法情感分析LDA主题分析总结每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 本…

鸿蒙系统(HarmonyOS)应用开发之经典蓝色风格登录页布局、图文验证码

一、项目概述 本项目是一款基于鸿蒙 ArkTS(ETS)开发的用户登录页面,集成了图文验证码功能,旨在为应用提供安全、便捷的用户身份验证入口。项目采用现代化 UI 设计,兼顾用户体验与安全性,适用于多种需要用户…