知识图谱推理的学习逻辑规则(上)7.19+(下)7.20

知识图谱推理的学习逻辑规则

  • 摘要
  • 介绍
  • 相关工作
  • 模型 (7.20)
    • 知识图谱推理
    • 逻辑规则
    • 概率形式化
    • 参数化
      • 规则生成器
      • 具有逻辑规则的推理预测器
    • 优化
      • E步骤
      • M步骤
  • 实验
    • 实验设置
    • 实验结果
  • 总结

原文:
在这里插入图片描述

摘要

本文研究了在知识图谱上进行推理的学习逻辑规则。

逻辑规则用于预测时提供了可解释性并且可以推广到其他任务中,因此对于学习而言至关重要。

现存的方法要么存在在大搜索空间中搜索的问题,要么由于 稀疏奖励(sparse reward) 而导致无效化。

sparse reward 稀疏奖励
指在强化学习中,奖励信号 的反馈非常有限或稀疏的情况。在某些任务中,只有在完整的任务或达到特定目标时,才会给予奖励,而在中间阶段很少或几乎没有奖励信号。
这种稀疏奖励的情况对于强化学习算法来说是具有挑战性的,因为它们需要在没有明确的奖励信号指导的情况下进行决策和学习。在面临稀疏奖励的任务中,学习算法需要通过尝试不同的行动来探索环境,并学习如何在没有明确奖励信号的情况下进行有效的决策。

奖励信号
在强化学习中,奖励信号是一种反馈机制,用于指导智能体在环境中采取行动。当智能体执行某个动作后,它会收到一个奖励或惩罚信号,以表明该动作的好坏。奖励信号可以是一个数值,表示行动的优劣程度,也可以是一盒二元信号,表示行动的正确与否。
然而,有些时候奖励新课可能是稀疏的,即智能体只在特定情况下才会收到奖励信号。这会给学习算法带来挑战,因为只能体可能需要进行长时间的探索和尝试才能找到有效的行动策略。

为了解决这些局限性,本文提出了一个称为RNNLogic的概率模型。RNNLogic将逻辑规则视为一个潜在变量,同时使用逻辑规则来训练 规则生成器推理预测器

规则生成器是一种系统或算法,用于根据预定义的规则集合生成新的信息或执行相应的操作。
规则生成器的工作原理是将输入数据与规则集合中的条件进行匹配,并根据匹配结果执行相应的操作。
在决策支持系统中,规则生成器可以根据一系列规则来辅助决策过程。
在自然语言处理中,规则生成器可以根据语法规则和语义知识,生成符合语言规范的句子或进行语义解析。

Reasoning Predictor(推理预测器)是指一种模型或算法,用于预测或推断给定输入的推理结果。它可以根据输入的信息和上下文,通过逻辑推理、规则推断或统计模型等方法,生成与输入相关的推理结论。
推理预测器通常用于处理复杂的问题,其中需要考虑多个因素和变量之间的关系。它可以帮助我们在缺乏完整信息或面临不确定性的情况下,做出合理的推理和决策。推理预测器的性能和准确性取决于其背后的模型和算法,以及提供给它的输入数据的质量和完整性。不同的推理预测器可能采用不同的方法和技术来进行推理和预测。

本文开发了一种基于 EM 的优化算法。在每一次迭代中,首先更新推理预测器,以探索一些生成的推理逻辑规则,然后在E步骤中,通过 后验推理,从所有使用规则生成器和推理预测器产生的规则中选取一系列高质量的规则,并且在M步骤中使用E步骤中选择的规则来更新规则生成器。

EM算法的主要思想是通过迭代的方式,交替进行两个步骤:E步骤(Expectation step)和M步骤(Maximization step)。EM算法的核心思想是通过迭代地进行E步骤和M步骤,逐渐提高对参数的估计。
具体来说,EM算法的步骤如下:1. E步骤(Expectation step):在E步骤中,根据当前的参数估计,计算隐变量的 后验概率。这相当于计算在给定观测数据下,隐变量的期望值。2. M步骤(Maximization step):在M步骤中,根据上一步计算得到的隐变量的后验概率,通过最大化完全数据的对数似然函数来更新模型的参数估计。3. 重复执行E步骤和M步骤,直到收敛或达到预定的停止条件。

后验推理(Posterior Inference)
指在贝叶斯统计中,通过观测数据和先验知识来推断未知参数的后验概率分布。后验推理的目标是基于观测数据对未知参数进行推断和估计。
在后验推理中,我们首先给定一个先验概率分布,表示对未知参数的初始信念。然后,通过观测数据和贝叶斯定理,计算得到后验概率分布,表示在考虑了观测数据后对未知参数的更新估计。
后验推理的过程可以分为两个步骤:1. E步骤(Expectation step):在E步骤中,根据当前的参数估计和观测数据,计算隐变量的后验概率分布。这相当于计算在给定观测数据下,隐变量的期望值。2. M步骤(Maximization step):在M步骤中,根据上一步计算得到的隐变量的后验概率分布,通过最大化完全数据的对数似然函数来更新模型的参数估计。通过交替执行E步骤和M步骤,可以逐步优化参数估计,得到更准确的后验概率分布。

后验概率的计算公式如下:
后验概率 = (先验概率 × 似然度) / 证据
其中,先验概率表示在观测数据之前对未知参数或假设的概率分布,似然度表示在给定参数或假设的情况下,观测数据出现的概率,证据表示观测数据的概率。

介绍

知识图谱是真实世界事实的集合,在各种应用中都很有用。每一个事实都被明确规定为三元组(h,r,t)或等价的r(h,t),意思是实体h与实体t有r关系。由于它不可能收集所有的事实,所以知识图谱是不完整的。因此,知识图谱一个基础问题就是通过现存知识进行推理——知识推理。

本文研究了知识图谱推理的学习逻辑规则。
例如:任意X,Y,Z hobby(X,Y)<—friend(X,Z)∩hobby(Z,Y)
意思是如果X和Z是好朋友并且Z的爱好是Y,那么X的爱好可能也是Y。这个规则还可以用于推理新的人们的爱好。这种逻辑可以提高可推理的可解释性和预测性。因此逻辑规则可以被再利用和推广到其他领域和数据。然而,由于大的搜索空间,推理出高质量的逻辑规则用于知识推理是一项有挑战性的任务。

事实上,已经提出了多种方法来从知识图谱中学习逻辑规则。传统方法如路径排序和Markov逻辑网络枚举了图谱上的关系路径作为候选逻辑规则,并且学习每个规则的权重作为对规则质量的评估。

尽管这些方法在预测方面很有效,但搜索空间显然很大,使得难以识别高质量的逻辑规则。还有一些方法,将问题表述为一个顺序决策过程,并使用强化学习来搜索逻辑规则。然而由于训练中动作空间大、奖励少,这些方法性能尚不能令人满意。

本文提出了一种称为RNNLogic的 原则性概率方法(principle probabilistic approach),该方法克服了上述限制。该方法包括一个规则生成器和一个带有逻辑规则的推理预测器,它们同时经过训练以相互增强。

规则生成器提供 用于推理预测器推理的逻辑规则,而推理预测器提供有效的奖励来训练规则生成器,这有助于显著减少搜索空间。

原则性概率方法(principle probabilistic approach)
指的是一种基于原则的概率方法。基于概率论和统计学原则,用于建立和推断概率模型,并进行相关的推理和预测。
AI领域该方法常用于处理不确定性和随机性问题。它涉及到使用概率模型来描述不同变量之间的关系,并通过观测数据来推断模型的参数或进行预测。优势在于提供了一种同一的框架,可以处理各种类型的不确定性,并且可以通过贝叶斯等方法来更新和改进模型。

具体来说,对于每一个答案查询对(例如q=(h,r,?))和a=t,我们以查询和现有知识图谱G为条件(例如p(a|G,q))对答案的概率进行建模,其中一系列逻辑规则z被视为潜在变量。

规则生成器为每个查询定义了逻辑规则上的先验分布(例如p(z|q)),该分布由递归神经网络化成参数。
推理预测器计算以逻辑规则和现有知识图谱G作为条件的答案的可能性(例如p(a|G,q,z))。

在每次训练迭代中,我们首先从规则生成器中采样一些逻辑规则,并进一步更新推理预测器来试用这些规则进行预测。

然后使用EM算法来优化规则生成器,在E步骤中,根据它们的后验概率从所有产生的规则中选择一组高质量的逻辑规则。在M步骤中,规则生成器被更新,以模仿在E步骤中选择的高质量规则。

大量实验结果表明,RNNLogic在知识图谱推理方面优于最先进的方法,此外还可以生成高质量的逻辑规则。

相关工作

该项工作与现有的学习用于知识图谱推理的逻辑工作有关。

大多数属性方法将查询实体和答案实体之间的关系路径枚举为候选规则,并进一步学习每个规则了标量以评估质量。最近的一些方法通过学习逻辑规则和权重扩展了这一思想,其中大多数方法都是基于神经逻辑编程的。

这些方法和我们的方法在思想上是相似,因为它们都能够有效地学习逻辑规则的权重。然而,这些现有的方法试图同时学习逻辑规则及其权重,这在优化方面是不重要的。我们方法的主要创新是通过分别引入规则生成器和推理预测器来分离规则生成和规则权重学习,它们可以相互增强。规则生成器生成一些高质量的逻辑规则,而推理预测器只专注于学习这些高质量规则的权重,这大大减少了搜索空间,并获得了更好的推理结果。同时,推理推理器反过来可以帮助识别一些有用的逻辑规则,以改进规则生成器。

另一种规则学习方法是基于强化学习的。一般思想是训练 路径规划代理(pathfinding agent),在知识图谱中搜索推理路径来回答问题,然后从推理路径中提取逻辑规则。然而,训练路径规划代理是一项具有挑战性的工作,因为奖励信号(即路径是否以正确答案结束)可能及其稀疏。

Pathfinding agent(路径规划代理)
是指一个使用强化学习算法来学习和执行路径规划任务的智能代理。
在路径规划任务中,代理的目标是在给定的环境中找到从起始位置到目标位置的最佳路径。代理需要学习如何在环境中移动,并根据环境的奖励信号来调整其行为,以逐步优化路径选择。
强化学习中的路径规划代理通常使用马尔可夫决策过程(Markov Decision Process,MDP)作为建模框架。代理通过与环境的交互,观察当前状态、选择动作、接收奖励信号,并更新其策略,以最大化累积奖励。

在我们的方法中,规则生成器的作用与那些路径规划代理类似。主要区别在于,我们同时用逻辑规则来训练规则生成器和推理预测器,它们相互增强,推理预测器为训练规则生成器提供有效的奖励,规则生成器提供高质量的规则来改进推理预测器。

该项工作还设计知识图谱嵌入,它通过学习实体和潜在空间中的关系嵌入来解决知识推理。

然而这些方法智能以隐含的方法找到一些简单的规则。相反,我们提供的方法能够训练规则生成器,它能够生成复杂了逻辑规则。

有一些研究提升了基于规则的模型的工作,他们根据迄今为止学到的规则动态的添加新规则。这些方法已被证明在二元分类和回归中是有效的。与他们相比,我们的方法有着相似的想法,因为我们用推理预测器的反馈动态更新规则生成器,但我们专注于不同的任务,即在知识图谱上进行推理。

模型 (7.20)

结束所提出的RNNLogic方法,该方法学习知识图谱推理的逻辑规则。首先正式定义了知识图谱推理和逻辑规则。

知识图谱推理

让Pdata(G,q,a)作为训练数据分布,G表示由一组三元组(h,r,t)描述的背景知识图谱,也可以写作r(h,t),q=(h,r,?)是问题,a=t是答案。给出G和问题q,目标是预测正确答案a。更正式的来说,目标就是生成概率分布模型p(a|G,q)。

逻辑规则

我们通过学习逻辑规则来执行知识图谱的推理,逻辑规则在本文中有这样的连接形式:任意{Xi}li=0 r(X0,X1)<—r1(X0,X1)∩…rl(Xl-1,Xl),l是规则长度。这种句法结构能够自然而然地捕获成分,并且可以很容易表示出其他常见的逻辑规则,例如对称和取反规则。

在RNNLogic中,我们将一组 可以解释查询的 逻辑规则视为我们必须输入的潜在变量。为此,我们引入了一个规则生成器和一个使用逻辑规则的推理预测器。在给定查询的情况下,规则生成器使用递归神经网络生成一组逻辑规则,并将其提供给推理预测器进行预测。我们使用基于EM的算法优化RNNLogic。在每次迭代中,我们从更新推理预测器开始,尝试由规则生成器生成的一些逻辑规则。然后在E步骤中,我们通过后验推理从所有生成规则中识别出一组高质量的规则,先验来自规则生成器,似然来自推理预测器。最后,在M步骤中,用所识别的高质量规则更新规则生成器。

概率形式化

首先以概率化的方式形式化知识图谱推理,其中一组逻辑规则被视为潜在的变量。目标分布p(a|G,q)是有规则生成器和推理预测器联合建模的。规则生成器pθ在查询q上定义了一组潜在规则z条件的先验证,而推理预测器pw给出了答案的可能性a条件的先验规则z、查询g和知识图谱G。因此p(a|G,q)计算公式如下:
公式1
目标是联合训练规则生成器和推理预测器,以最大限度地提高训练数据的可能性。形式上,目标函数如下所示:
公式2

参数化

规则生成器

规则生成器定义分布pθ(z|q)。对于查询q,规则生成器负责为查询生成一组潜在的逻辑规则z。

形式上,给出一个查询q=(h,r,?),我们通过仅考虑没有查询实体h的查询关系r来生成组合逻辑规则。这允许生成的规则跨实体泛化。

对于缩写形式的每个组成规则r<—r1∩…∩rl,它可以被看做一个关联序列[r,r1,r2,…,rl,rend],其中r是查询关系或规则头,{ri}li=1是规则体,rend表示关系序列结束的特殊关系。

这样的关系序列可以通过递归神经网络有效地建模,因此我们引入RNNθ来参数化规则生成器。给出一个查询关系r,RNNθ按顺序生成规则主体中的每个关系,直到它到达结束关系rend。在这个过程中,同时计算生成规则的概率。这样的规则概率,我们将一组规则z上的分布定义为多项式分布:
在这里插入图片描述

其中Mu代表多项式分布,N是集合z大小的 超参数(hyperparameter),RNNθ(·|r)定义了组合规则上的分布,规则头为r。规则集z的生成过程非常直观,其中我们简单地用RNNθ生成N的规则生成z。

hyperparameter超参数
是机器学习算法中的可调参数,它们不由算法自身学习得到,而是在训练模型之前由人工设置的。
超参数用于控制模型的复杂度、学习速度和容错能力等方面。
超参数的选择通常是一个试错过程,需要经验和实践来进行调整。不同的超参数组合可能会导致不同的模型性能。

具有逻辑规则的推理预测器

推理预测器定义pw(a|G,q,z)。对于一个查询q,预测器会使用一组规则z来在知识图谱G上推理并预测答案a。

遵循随机逻辑规划,我们使用对数线性模型进行推理。对于每一个询问q=(h,r,?),组成规则能够在图G上找到不同的 grounding path,得出不同的候选答案。例如:q:(Alice,hobby,?),一个规则:hobby<—friend ∩ hobby 可以有两个背景:hobby(Alice,Sing)<—friend(Alice,Bob)∩hobby(Bob,Sing)和hobby(Alice,Ski)<—friend(Alice,Charlie)∩ hobby(Charlie,Ski),产生两个候选答案。

设A是可以通过集合z中的任何逻辑规则发现的候选答案的集合。对于每个候选答案e∈A,我们为该候选答案计算以下标量分数scorew(e):
在这里插入图片描述
其中P(h,rule,e)是一组grounding path,按照从h开始,到e结束。Ψw(rule)和 Φw(path)是每个规则和路径的标量权重。直观的,每一个候选答案e的分数是由每个规则贡献的分数的综合。为了得到scorew(e|rule),我们在图G中的每个接地路径上求和。一旦有了每个候选答案的分数,我们就可以通过使用softmax函数进一步定义查询q的答案是实体e的概率:
在这里插入图片描述

优化

接下来,我们介绍如何优化推理预测器和规则生成器,以最大化Eq中的对象。

在每次训练迭代中,我们首先根据生成器生成的一些规则更新推理预测器Pw,然后用EM算法更新规则生成器pθ。在E步骤中,通过后验推理从所有生成的规则中识别出一组高质量的规则,规则生成器作为先验,推理预测器作为可能性。在M步骤中,更新规则生成器,与在E步骤中选择的高质量规则一致。

形式上,在每个训练迭代中,我们从最大化中 关于推理预测器pw的目标O(θ,w)开始。每个训练实例(G,g,a),存在关于pθ(z | q)的期望运算。通过为查询q绘制样本z^ ~ pθ(z|q),我们可以在每个训练实例(G, q, a)处近似w的目标函数,如下所示:
在这里插入图片描述
基本上,我们从生成器中采样一组规则z^,并将z ^输入推理预测器。更新推理预测器的参数w以最大化答案a的对数似然性。

E步骤

回想一下,当优化推理预测器时,我们为每个数据实例(G,q,a)绘制一组规则z ^,并让推理预测器使用z ^ 来预测a。对于每个数据实例,E步骤旨在从所有生成的规则中识别一组K个高质量规则zI

形式上,这是通过考虑逻辑规则zI的每个子集的后验概率来实现的,先验zI来自规则生成器pθ和来自推理预测器pw的可能性。后验结合了来自规则生成器和推理预测器的知识,因此可以通过从后验中采样来获得可能的高质量规则集。然而,由于其难以处理的分割函数,从后验抽样是不平凡的,因此我们使用更易于处理的形式来近似后验,命题如下:
在这里插入图片描述

M步骤

一旦我们在E步骤中为每个数据实例(G,q,a)获得了一组高质量的逻辑规则z^I,我们就进一步利用这些规则来更新M步骤中规则生成器的参数θ。

具体地说,对于每个数据实例(G,q,a),我们将相应的规则集z^I 视为(现在完成的)训练数据的一部分,并通过最大化的z^I的**对数似然函数(log-likelihood)**来更新规则生成器。

log-likelihood 对数似然函数
用于衡量模型的拟合程度或者说对观察数据的适应度。
在机器学习中,对数似然函数通常用于训练模型和评估模型性能。对于监督学习的分类任务,对数似然函数可以用于定义损失函数。对数似然函数的值越大,表示模型对观测数据的拟合程度越好。

有了上述目标,来自推理预测器的反馈可以有效地提炼到规则生成器中。这样,规则生成器将学会只生成高质量的规则来供推理预测器探索,减少了搜索空间,并产生了更好的经验结果。

实验

实验设置

实验结果

总结

对于知识图谱推理,目前已经提出了多种方法来从知识图谱中学习逻辑规则。

传统方法在预测方面很有效,但搜索空间大奖励稀疏,这些方法性能尚不能令人满意。

为解决搜索空间大和稀疏奖励的问题,本文提出了一种称为RNNLogic的原则性概率方法,该方法克服了上述限制。

RNNLogic包括一个规则生成器和一个带有逻辑规则的推理预测器,它们同时经过训练以相互增强。

规则生成器生成一些高质量的规则,而推理预测器只专注于学习这些高质量规则的权重,这就大大减少了搜索空间。且规则生成器作用与路径规划代理类似,我们同属用逻辑规则来训练规则生成器和推理预测器,使得它们相互增强,推理预测器为训练规则生成器提供有效的奖励,规则生成器提供高质量的规则来改进推理预测器。

规则生成器负责为查询生成一组潜在的规则,推理预测器会使用一组规则在知识图谱上推理并预测答案。
每一个候选答案的分数都是由每个规则贡献的分数综合决定的。

最后通过EM进行优化。

在E步骤中,对于每个数据实例,从所有生成的规则中识别一组K个高质量的规则。
在M步骤中,利用E步骤中的规则来更新规则生成器的参数。

ToT中的搜索空间也大。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git基本操作命令

** 创建仓库 **&#xff0c;用于被git管理 第一步&#xff1a; $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit第二步&#xff1a; 通过git init命令把这个目录变成Git可以管理的仓库&#xff1a; $ git init** 提交代码 **&#xff1a; 第一步&#xff…

网络安全在2023好入行吗?

前言 023年的今天&#xff0c;慎重进入网安行业吧&#xff0c;目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多&#xff0c;还有很多高中被挖过来的大佬。 理由很简单&#xff0c;目前来说&#xff0c;信息安全的圈子人少&#xff0c;985、211院校很多都才建…

Java 中 synchronized 的优化操作:锁升级、锁消除、锁粗化

由 并发编程中常见的锁策略 总结可知&#xff0c;synchronized 具有以下几个特性&#xff1a; 开始时是乐观锁&#xff0c;如果锁冲突频繁&#xff0c;就转换为悲观锁。开始是轻量级锁实现&#xff0c;如果锁被持有的时间较长&#xff0c;就转换成重量级锁。实现轻量级锁时&am…

Raft算法之日志复制

Raft算法之日志复制 一、日志复制大致流程 在Leader选举过程中&#xff0c;集群最终会选举出一个Leader节点&#xff0c;而集群中剩余的其他节点将会成为Follower节点。Leader节点除了向Follower节点发送心跳消息&#xff0c;还会处理客户端的请求&#xff0c;并将客户端的更…

1.Docker概念

文章目录 Docker概念Docker容器与虚拟机的区别内核中的2个重要技术Linux Namespace的6大类型docker三个重要概念部署Dockeryum安装二进制安装 Docker 概念 docker是一个开源的应用容器引擎&#xff0c;基于go语言开发并遵循了apache2.0协议开源。docker可以让开发者打包他们的…

AtcoderABC243场

A - Shampoo A - Shampoo ] 题目大意 高桥家有三个人&#xff1a;高桥、他的父亲和他的母亲。每个人每晚都在浴室洗头发。他们按照顺序使用AA、BB和CC毫升的洗发水。 问&#xff0c;今天早上瓶子里有VV毫升的洗发水。在不重新装满的情况下&#xff0c;谁会第一个用完洗发水洗头…

K8s入门

K8s入门 目录 K8s入门namespacepoddeployment多版本扩缩容治愈能力滚动更新版本回退 serviceClusterIPNodePort ingress域名访问路径重写流量限制 存储抽象PV&PVCConfigMapSecret namespace kubectl get ns # 获取命名空间 kubectl create ns 名字 # 创建命名空间 ku…

学习babylon.js --- [3] 开启https

babylonjs提供WebVR功能&#xff0c;但是使用这个功能得用https&#xff0c;本文讲述如何使用自签名证书来开启https&#xff0c;基于第二篇文章中搭建的工程。 一 生成自签名证书 首先要安装openssl&#xff0c;这个去网上搜下就行了。安装完之后在终端下输入openssl回车可以…

【CNN记录】pytorch中BatchNorm2d

torch.nn.BatchNorm2d(num_features, eps1e-05, momentum0.1, affineTrue, track_running_statsTrue, deviceNone, dtypeNone) 功能&#xff1a;对输入的四维数组进行批量标准化处理&#xff08;归一化&#xff09; 计算公式如下&#xff1a; 对于所有的batch中样本的同一个ch…

【Spring core学习四】Bean作用域和生命周期

目录 一、Bean的作用域 &#x1f308;1、被修改的Bean值现象 &#x1f308;2、 Bean 的 6 种作⽤域 &#x1f308;3、设置作用域 二、Spring的执行流程 三、Bean的生命周期 &#x1f308;1、Bean生命周期的过程 &#x1f308;2、演示生命周期 一、Bean的作用域 &…

大华相机接入web页面实现人脸识别

先看下效果&#xff0c;中间主视频流就是大华相机&#xff08;视频编码H.264&#xff09;&#xff0c;海康相机&#xff08;视屏编码H.265&#xff09; 前端接入视屏流代码 <!--视频流--><div id"col2"><div class"cell" style"flex: …

[GXYCTF2019]simple CPP

前言 三个加密区域&#xff0c;第一次是基本运算&#xff0c;八位叠加&#xff0c;z3方程 分析 第一轮加密&#xff0c;和Dst中模27异或 &#xff08;出题人对动调有很大意见呢&#xff09; 将输入的字符串按八位存入寄存器中&#xff0c;然后将寄存器内容转存到内存 第一次…

数仓-零基础小白到入土-学习路线

数仓-零基础小白到入土-学习路线 铺垫一下下讲在前面涉及基础技术栈&#xff1a;中级&#xff1a;全部掌握之后&#x1f446;&#xff1a;去刷面试题&#xff1a; 初级中级高级博主独家面试题&#xff1a;数仓名词&#xff1a;催更我戳戳个人主页&#xff1a;[up自己的网站](ht…

【电路原理学习笔记】第4章:能量与功率:4.5 稳压电源与电池

第4章&#xff1a;能量与功率 4.5 稳压电源与电池 电网采用交流电形式将电能从发电站传输给用户&#xff0c;这是因为交流电易于转换成适宜传输的高压和终端用户使用的低压。在远距离传输时&#xff0c;采用高电压传输的效率和效益要高得多。对于给定的功率&#xff0c;较高的…

基于linux下的高并发服务器开发(第一章)- 目录操作函数

09 / 目录操作函数 &#xff08;1&#xff09;int mkdir(const char* pathname,mode_t mode); #include <sys/stat.h> #include <sys/types.h>int mkdir(const char *pathname, mode_t mode); 作用&#xff1a;创建一个目录 参数&#xff1a; pat…

【OC总结- Block】

文章目录 前言2. Block2.1 Block的使用规范2.2 __block修饰符2.3 Block的类型2.4 Block的循环引用及解决循环引用的场景引入解决循环引用Block循环引用场景 2.5 Block的实现及其本质2.5.1 初始化部分2.5.2 调用部分2.5.3 捕获变量 Block本质2.6 Block捕获变量 和 对象2.7 Block…

基于 ChatGPT 的 helm 入门

1. 写在最前面 公司最近在推业务上云&#xff08;底层为 k8s 管理&#xff09;&#xff0c;平台侧为了简化业务侧部署的复杂度&#xff0c;基于 helm 、chart 等提供了一个发布平台。 发布平台的使用使业务侧在不了解 helm 、chart 等工具的时候&#xff0c;「只要点点」就可…

LCD—STM32液晶显示(1.显示器简介及LCD显示原理)(6000字详细介绍)

目录 显示器简介 液晶显示器 液晶 像素 液晶屏缺点 LED显示器 OLED显示器 显示器的基本参数 STM32板载液晶控制原理&#xff08;不带微控制器&#xff09; 液晶控制原理 控制信号线(不带液晶控制器) 液晶数据传输时序 显存 总结 3.2寸液晶屏介绍&#xff08;搭载…

IIS Express本地开发测试如何映射到外网访问?

1.IIS Express是什么 IIS Express是为开发人员优化的轻量级、自包含版本的IIS。它具有IIS 7及以上的所有核心功能&#xff0c;以及为简化网站开发而设计的附加功能。 IIS Express&#xff08;跟ASP.NET开发服务器一样&#xff09;可以快速地从硬盘上的某个文件夹上启动网站…

SylixOS下SSH和SFTP连接

简要 基于网络的连接&#xff08;telnet&#xff0c;ftp&#xff09;方便高效&#xff0c;但其是基于明文的通信&#xff0c;容易被窃取、篡改和攻击&#xff0c;存在网络安全问题&#xff0c;尤其在进行远程访问时&#xff0c;穿过复杂未知的公网环境非常危险&#xff0c;为此…