Nat Commun:网络结构在塑造神经表征的强度中扮演着‘幕后推手’的角色
摘要
人类通过一系列离散事件构建他们对世界的心智模型。这一过程被称为图学习,它产生了一个编码事件间转移概率图的模型。近期的研究表明,一些网络比其他网络更容易学习,但这种效应的神经基础仍然未知。在这里,本研究使用功能磁共振成像(fMRI)发现,即使在短时间内,刺激的顺序和结构也会影响事件表征的准确性以及这些表征编码所处空间的维度:当网络图呈模块化结构而非格状结构时,视觉区域中的BOLD信号表征能够更好地预测试次特征,并包含更多的信息维度。总的来说,本研究表明,网络结构会影响学习到的神经表征的强度,这一发现为未来设计、优化和适应不同类型学习的网络结构提供了新的思路。
引言
人类的经验由一系列事件、词语和位置序列构成,这些事件、词语和位置序列按照一定的顺序发生,并遵循可预测的模式。例如,每天上班的路线由一系列交叉路口组成,这些路口可以通过逐向导航来描述。随着时间的推移,你不仅记住了各个交叉路口的位置,还形成了整条路线的心理地图。同样,当你与别人交谈时,你会根据对语言和学术领域的知识来预测音节和词语,就像你能根据背景噪音等原因填补那些丢失的声音和词语一样。即使在观看电影时,我们的大脑也会将一系列场景按时间顺序整合,形成角色与事件之间多维度的互动。这种心理表征的形成取决于我们发现潜在互动并将其转化为预测模型的能力。
构建这样的统计模型是人类认知的核心,因为它使我们能够准确地预测并应对未来事件。理解某些事物结构的一个重要线索,就是观察不同元素之间的转换规律,比如在词汇中,一个词出现在另一个词前面的频率有多高。这一线索在统计学习领域得到了广泛研究,并用于证明音节之间的转换可以帮助婴儿在学习语言时分辨出单词的边界。这种统计学习发生在婴儿和成人中,并被认为是一种基本的、领域通用的学习机制,因为它源于各种类型的序列——比如音调、形状,甚至是动作。人们不仅能注意到相邻事物之间的关系,也能发现那些不相邻事物之间的规律。尽管有很多证据表明人类能发现不相邻事物之间的规律,但要全面理解这种规律还是具有一定的挑战性。
为了研究非相邻概率在统计学习中的作用,一种特别有前景的方法是将一系列事件及其之间的转换建模为图形。图中的节点表示事件,边表示任意两个事件之间可能发生的转换。通过将转移概率正式映射到图中,可以研究图的拓扑特性如何影响人类学习。实际上,实验者可以通过在图上游走来构建事件序列,然后通过测量参与者在事件依次发生时对覆盖任务的响应时间来评估他们预测即将发生事件的能力。这类研究表明,影响可学习性的拓扑特征包括游走类型以及图是否包含密集互连的子集或节点模块,这是许多现实世界网络的特征,这些网络已被证明能够高效传递信息。具体来说,当图包含模块化结构时,人们对同一模块内刺激之间的转换反应比跨模块刺激之间的转换反应更快。此外,当去除图中的模块化结构时,反应整体上会变慢。有趣的是,目前尚不清楚哪些神经过程可以解释图拓扑结构与行为之间的关系。
与之前探索同一图中项目神经表征的研究不同,本研究主要探讨不同图结构之间刺激的神经表征是否存在系统性差异。特别是,考虑到模块化结构能够高效地传递信息,本研究假设模块化结构的存在有助于产生稳健的神经表征,而缺乏模块化结构则会导致较弱的神经表征。作为对比结构,本研究选择了一个环格图,这使我们能够在控制节点连接数量的同时消除模块化结构。对于站在任意给定节点并观察相邻节点的观察者来说,这两种图看起来是相同的,只有在观察高层结构或构建多步预测时才会有所不同。为了验证该假设,本研究测量了参与者在学习预测和响应抽象形状序列时的BOLD fMRI活动。研究结果发现,与环格图相比,模块化结构能够提高刺激神经活动模式之间的可区分性,并且具有更高的内在维度。这些结果表明,神经表征在不同图结构下存在系统性差异,稳健的行为可能取决于我们提取组织模式(例如图模块化)的能力。更广泛地说,本研究结果强调了我们需要了解信息是如何通过网络连接来塑造人类学习的。
方法
参与者
从美国宾夕法尼亚州费城招募了34名参与者(11名男性和23名女性)。所有参与者均签署了书面知情同意书,并且本研究所有程序均获得了宾夕法尼亚大学机构审查委员会的批准。所有参与者年龄在18至34岁之间(平均年龄=26.5岁;标准差=4.73),均为右利手,且符合MRI安全标准。34名参与者中有两人因未能学会形状-运动关联而被排除,另有一名参与者因技术问题导致未能准确记录其行为,因此也被排除。最终,所有分析均使用这31名参与者的数据。
任务
每个参与者在MRI扫描仪中完成了两次视觉-运动反应任务,同时记录了BOLD活动。该视觉-运动任务包括一组形状、一组运动反应和一个图形,其中图形既用于将形状映射到反应,也用于生成试次顺序。图中的每个节点都对应一个形状和一个运动反应。为确保形状在视觉上彼此可区分并能激活外侧枕叶皮层的活动,本研究设计了15个抽象形状(图1a,左)。在运动反应方面,本研究选择了五按钮反应板上的15种单按钮或双按钮反应(图1a,右)。本研究将参与者随机分配到两种条件之一:模块化图条件(n=16)或环格图条件(n=15)(图1b,左)。每个试次对应图中的一个节点,试次顺序由节点之间的游走决定。然而,参与者并未被告知刺激顺序存在任何规律性。每个参与者的节点、形状和运动反应之间的三向关联是随机生成的:每个图形节点被随机分配一个独特的形状和一个独特的运动反应,这些形状和反应分别从形状集和运动反应集中随机选择(图1b,右)。形状和运动反应的映射在参与者之间是独立且随机化的,这使我们能够有效分离形状、运动反应和图形结构的效应。
图1.图学习实验的结构,该实验结合了两种图拓扑上的视觉刺激和运动反应。
实验持续了两天。第一天进行第一轮实验,第二天进行第二轮实验。第一轮实验包含五个任务阶段,每个阶段由一个训练block和一个回忆block组成。第二轮实验包含八个阶段,每个阶段包括四个回忆block(图1c,顶部)。在每个训练block中,屏幕上会显示五个方块,水平排列以模拟反应板的布局。在每个试次中,会呈现两个冗余线索:(1)所有五个方块中都显示了一个形状,(2)通过将一个或两个方块高亮为红色来指示相关的运动反应。任何一个线索单独出现都足以做出正确反应。形状会比运动反应提前500ms显示,以鼓励参与者学习视觉-运动配对。参与者按自己的节奏完成300个试次,每个试次只有在正确的运动反应出现后才会继续。正确反应完成后,下一个试次的形状会立即出现,500ms后,下一个所需的运动反应对应的方块会被高亮显示。在每个回忆block中,屏幕中央仅显示形状,参与者有2s的时间通过记忆做出正确的运动反应。在此期间不会提供任何运动线索,除非参与者回答错误;在这种情况下,正确的反应会在形状下方显示,并持续到剩余的2s时间结束(图1c,底部)。
结果
学习视觉-运动关联的准确率
本研究通过测量反应准确率来验证参与者是否学会了任务结构和视觉-运动关联。对于参与者在训练block中获得高反应准确率,他们只需对呈现给他们的运动指令做出反应;相比之下,对于参与者在回忆block中获得高反应准确率,他们必须正确学习形状-运动关联。在第一轮实验的训练block中,本研究观察到第五个阶段的平均准确率为89.1%,这表明参与者在明确线索下能够以高准确率产生运动反应(图2a,左)。在第一轮实验的回忆block中(图2a,中),本研究观察到第五个阶段的平均准确率为74.4%(随机水平为6.67%),这表明参与者在没有任何运动线索的情况下也能以一定的准确率产生运动反应。在第二轮实验开始时,回忆准确率略低(为70.8%),但到第二轮实验结束时,回忆准确率达到96.0%,表明运动反应的回忆是稳健的(图2a,右)。总的来说,这些数据表明参与者能够在为期两天的时间内学会每个视觉刺激所对应的运动反应。
图2.图学习实验中参与者的反应准确率和反应时间。
反应准确率使我们能够评估视觉-运动关联的学习情况,而反应时间则使我们能够评估每个参与者对事件结构及其编码该结构的预期。如果参与者能够学习到潜在的图结构,那么他们就能预测接下来可能出现的形状(即与当前形状直接相连的形状),从而做出更快速的反应。与这一预期一致,本研究发现反应时间在训练期间稳步减少,从第一阶段的约1.18s减少到第五阶段的约1.01s(图2b,左)。在回忆block中,反应时间取决于参与者(1)预测即将到来的刺激和(2)回忆形状-运动关联的能力。研究发现,反应时间在第一轮实验的回忆block中(从第一阶段的1.07s到第五阶段的1.00s;图2b,中)和第二轮实验的回忆block中(从第一次阶段的0.97s到第八阶段的0.89s;图2b,右)均有所下降,这表明参与者在预测和/或回忆的速度上有所提升。
图表征结构不能独立于刺激和运动结构解码
鉴于上述结果,本研究接下来考察了运动反应、形状和图形在大脑中的表征方式。首先,本研究试图找到图结构表征的直接证据。本研究假设,根据之前的研究,我们应该能够解码与内侧颞叶(MTL)中图结构相关的一致且特定于被试的活动模式。如果海马体直接编码图结构,那么我们应该能够从神经活动模式中可靠地解码出每个试次的节点特征。对于每个个体受试者,节点特征与视觉外观和运动反应是完全混淆的,但这三个方面在不同参与者之间应该是可分离的:如果某个脑区中引发的BOLD活动模式之间的关系是由图结构而非反应或视觉关联所决定的,那么我们应该能够找到基于图结构在参与者之间保持一致的关系模式(图3a)。
图3.图结构无法直接解码。
本研究首先考察了是否可以在海马体中解码试次特征。为了测量大脑中试次信息的表征,本研究使用多体素模式分析(MVPA)从诱发的BOLD活动模式中解码试次特征。每个试次都会诱发一种大脑激活模式,可以将其视为高维空间中的一个点,其中每个维度对应于不同体素的BOLD激活。对于这些激活模式,本研究使用训练好的分类器来预测参与者正在经历的试次,并通过交叉验证来评估该预测的准确性。通过在左侧、右侧和双侧海马回区域(ROI)上训练一个分类器,使用来自七个阶段的回忆任务数据来训练这个分类器,然后用剩下的数据来测试分类器的准确性。数据由每个试次的回归结果与所有其他试次的干扰回归结果对比所产生的LS-S β权重组成。研究结果发现,对于环格图条件下的受试者,我们在左侧海马体中能够以高于随机水平的准确率解码节点特征(p<0.05)(图3b),但对于模块图条件下的受试者来说并非如此,而且两组之间的差异不显著(p<0.14)。值得注意的是,由于解剖学的原因,MTL容易出现低信噪比的fMRI信号,这可以通过缩小成像范围来改善,但这样做会影响我们分析大脑其他区域的图像信息。
即使无法在海马体内可靠地解码试次特征,但也有可能是图结构在大脑的其他部位被更稳健地编码。对于每个参与者,本研究进行了全脑探照灯分析,其中对于每个体素,计算该体素邻近区域内的平均RDM(表征差异矩阵),从而为每个体素生成一个105维向量,该向量由15×15 RDM的右上部分组成。然后,本研究计算了该向量与接受相同图类型训练的其余参与者中相同体素的平均向量之间的相关系数。最后,对所有参与者的这些相关系数取平均。本研究观察到每个参与者的大脑在处理信息的方式上是不同的,没有一个特定的区域在参与者之间共享表征结构(图3c)。这种差异也许是直观的,因为每个参与者经历的网络路径不同,因此自然可以预期每个参与者编码图形结构的方式存在高度变异性。
高个体间变异性与高个体内可靠性共存。为了理解两者之间的潜在关系,本研究通过衡量每个受试者在不同阶段中的RDM一致性来评估受试者内可靠性。本研究执行了与之前探照灯类似的过程,关键区别在于本研究估算了每个阶段的RDM与其他阶段的平均RDM在每个体素邻域内的相关性。这种方法为我们提供了每个受试者的一致性图,随后将这些一致性图在受试者之间进行了平均(图3d)。本研究观察到两个高一致性区域与运动和视觉区域重叠,主要集中在中央后回以及外侧枕叶皮层(LOC)。这一发现表明,图形结构的一致性表征可能与刺激形状或运动反应编码重叠。
运动皮层中的表征结构与反应模式相一致
接下来,本研究重点考察了大脑中运动反应的表征。正如预期的那样,我们能够以高于随机水平的准确率预测所有31名参与者当前试次的特征。也就是说,每个受试者在进行手指运动时产生的BOLD信号模式在不同试次中高度一致,并且每种运动模式也具有高度的区分性。除一名参与者外,所有参与者在左侧中央后回、右侧中央后回以及双侧中央后回ROI中的预测准确率均高于随机水平(图4)。具体而言,本研究发现左侧分类准确率显著高于右侧分类准确率,这与任务反应主要通过右手完成的事实相符(双侧配对t检验;p<4×10-7)。有趣的是,与单独使用左侧大脑半球的数据进行分类相比,使用双侧半球的数据并未显著提高分类的统计准确性(双侧配对t检验;p=0.53)。这些结果表明,试次信息在中央后回的BOLD信号中得到了稳健的表征,并且我们能够通过多变量模式分析(MVPA)解码这些信息,尤其是在与运动反应对侧的半球中。
图4.从中央后回解码的运动反应。
尽管选择中央后回是受到先前研究的启发,但本研究也进行了探索性分析,以识别其他在参与者之间表现出高度相似运动RDM的区域。对于每个参与者,本研究采用了图3c中的方法,进行了全脑探照灯分析,以寻找参与者之间具有相似运动表征差异模式的区域,而不对表征本身或差异模式做出任何假设。研究结果显示,有两个区域在参与者间表现出显著的相似性(FWER p<0.05):一个区域涵盖了双侧中央前回和中央后回(图4),另一个区域位于小脑。因此,通过构建一个基于运动而非形状或节点特征组织的RDM,本研究识别出了三个区域(中央前回、中央后回和小脑),这些区域在不同参与者之间的诱发活动模式上表现出可靠的相似关系。
视觉皮层中的表征结构反映了刺激和图形类型
在解码运动反应之后,本研究考察了视觉区域是否在参与者内部和之间都可靠地编码了形状的特征。本研究刺激的选择旨在在外侧枕叶皮层(LOC)中产生可区分的表征。研究结果显示,在所有参与者和ROI选择中,能够基于剩余数据很好地预测每个试次的特征(图5)。本研究将所有8个折的分类准确率进行了平均,并观察到所有参与者的分类准确率均高于随机水平(6.67%)。此外,接受模块图训练的参与者比接受环格图训练的参与者具有更高的分类准确率(混合ANOVA,p<8×10-3)。这些数据表明,试次特征可以从LOC内的活动中可靠地解码。
图5.从外侧枕叶皮层解码的试次特征。
图结构之间的表征和维度差异
通过搜索在不同实验阶段中表现出显著个体内可靠性的区域,本研究确定了两个区域,其中RDM在单个受试者的不同block之间是一致的。然后,根据刺激形状和运动指令对RDM进行组织,并确认这些区域在个体之间表现出了显著的个体间可靠性,其中表征差异模式在参与者之间共享。这种个体间相似性可能由试次特征的某些方面驱动,例如运动反应中的单指和双指运动,以及刺激形状的长宽比或曲率。这表明,图形结构的一致性表征可能在空间上与刺激形状或运动反应编码重叠。
基于此,本研究观察到图类型是LOC中分类准确率的显著预测因子(图5a,b),其中模块图条件下的分类准确率高于环格图条件。一个可能的解释是,由于表征更加清晰,试次类型之间的区分度更高:当受试者经历模块图时,形状一的表征在表征空间中可能比形状二的表征距离更远。为了验证这一解释的有效性,本研究计算了每个阶段的欧氏距离 RDM,并对每个受试者的右上非对角线元素取平均值,从而得出双侧LOC ROI中表征之间的平均距离(图6a,左)。研究结果发现,模块图中的可区分性显著高于环格图(p=0.005)。也就是说,在模块图条件下,不同试次类型之间的平均活动模式比环格图条件下更具可分离性。
图6.图结构对表征的影响。
另一个可能的解释是,模块图中观察到的更高分类准确率可能源于试次间的更高可重复性:当受试者经历模块图时,某个特定形状每次出现时可能会引发更一致的神经表征。为了验证这一假设,本研究计算了双侧LOC ROI中相同表征的一致性,首先对每个阶段和试次类型计算平均表征,然后计算该表征与其他阶段表征之间的平均距离(图6a,右)。可以看到,模块图中的模式比环格图中的更加一致,这表现为相同试次的重复间距更小(p<0.002)。综合来看,这些结果表明,模块图能够产生更具区分性和一致性的试次表征,从而可能促进了更高的分类性能。
在LOC中观察到的神经可区分性增加表明,行为可区分性可能在不同图形条件下也存在差异。为了验证这种可能性,本研究招募了另外一组受试者,并对他们进行了相同的刺激训练,这些刺激分别与模块图或格子图相关联。然后,测试了受试者在模块图上区分刺激是否比在环格图上区分相同刺激更快。研究发现,区分形状对时的反应时间与其在LOC中的表征距离高度相关(混合效应模型,p<0.0001)。然而,值得注意的是,本研究并未观察到基于图形类型的显著差异(混合效应模型,p<0.392)。这些结果表明,尽管模块图条件下的受试者表现出比环格图条件下的受试者更具区分性的LOC活动模式,但这些刺激表征的差异并不直接与刺激的行为可区分性相关。
在模块图中,LOC分类准确率更高的另一个可能解释是表征的维度。如果一种图拓扑结构允许受试者在更高维的空间中编码表征,那么这些表征之间可能更容易区分。需要注意的是,本研究使用SVM分类试次的能力取决于找到一个分离试次类型的超平面。直观地说,如果试次类型位于高维空间中,那么找到一个分离超平面比试次类型位于低维空间时要更容易。为了确定维度是否在LOC的表征中起作用,本研究计算了一个称为可分离维度的量,它衡量了使用本研究的试次类型能够实现的二分类的比例。虽然之前的研究关注的是如何区分两种试次类型,而维度则是关注如何区分更多的试次类型的组合。更高的维度提供了更多的空间来表征和理解这些试次类型之间更复杂的关系,从而使得它们更加容易被区分开来。与预期一致,本研究发现模块图条件下的维度高于环格图条件(图6b)。有趣的是,本研究在LOC中观察到了不同图形条件之间的分类准确率差异,但在中央后回中并未观察到图形条件之间的分类准确率差异。
学习期间的功能连接可以预测后续解码
到目前为止,本研究已考察了受试者成功学会执行任务后,大脑各个区域中刺激表征的差异。研究发现,受试者组之间在LOC中的刺激诱发活动模式存在显著差异:在模块图条件下的受试者,其解码准确率更高,并且相关神经活动的内在维度也显著增加。此外,解码准确率存在显著的组内差异:这些差异与所遇到的图遍历的统计结构无关。因此,本研究进一步探讨了解码准确率的个体差异是否可以通过学习期间上述区域之间的不同连接模式来解释。例如,中央后回中的运动活动可能直接由LOC中的视觉诱发活动驱动,也可能同时由MTL中的预测机制驱动。此外,MTL与LOC之间的相互作用可能反映了受试者在学习底层统计结构方面的程度,而不仅仅是学会如何对每个刺激做出稳健的反应。
为了阐明任务学习期间区域间相互作用如何影响第二天学习到的刺激表征,本研究计算了实验第一天每个学习block中大脑区域之间的静态功能连接度。重点分析了三对区域之间的连接:左侧LOC、左侧中央后回和左侧MTL。然后,对每个受试者在这三对区域间的功能连接值进行平均,从而为每个受试者提供了关于任务学习过程中不同脑区之间相互作用的情况。随后,本研究拟合了混合效应线性回归模型,将第一天所有三对区域的功能连接值作为输入变量,用于预测第二天在左侧海马体、左侧LOC和左侧中央后回的分类准确率。
本研究发现,在经过多重比较校正后,第二天分类准确率的个体差异可以通过学习过程中脑区之间的功能连接(FC)差异来预测(表1)。在中央后回区域中,较高的LOC/中央后回FC以及较低的LOC/MTL FC能够预测更高的解码准确率。值得注意的是,这种关系在海马体解码中是相反的,其中较低的LOC/中央后回FC和较高的LOC/MTL FC预测了更高的解码准确率,同时MTL/中央后回FC是海马体解码的负向预测因子。在LOC区域中,只有MTL/中央后回FC能够预测解码准确率,并且较高的FC预测了更高的解码准确率。这些发现表明,任务学习期间FC的个体差异能够预测后续在执行任务时,关键脑区之间刺激表征强度的差异,这可能反映了MTL在不同受试者中起着不同的作用。
表1.功能连接预测解码的准确率。
结论
本研究扩展了先前关于图学习领域的研究。先前的研究表明,具有模块化结构的图能够帮助学习者更快地做出反应,这意味着学习者能够进行更准确的预测。在本研究中,学习者成功地学会并记住了15个新形状与运动动作之间的对应关系,并且这一过程结合了先前图学习研究中的行为范式。研究结果发现,与环格图相比,模块化结构的图形能够提供更稳定且独特的表征,从而能够更有效地使用机器学习预测参与者的反应。这种表征差异出现在大脑的外侧枕叶皮层,该区域对任务中使用的视觉刺激特别敏感,并且伴随着表征维度的增加,这一特征通常与有效学习密切相关。本研究结果为未来的研究奠定了基础,旨在更深入地理解这些表征变化的本质,并探索它们在更广泛的图结构集中的普适性。
参考文献:Kahn, A.E., Szymula, K., Loman, S. et al. Network structure influences the strength of learned neural representations. Nat Commun 16, 994 (2025). https://doi.org/10.1038/s41467-024-55459-5
小伙伴们关注茗创科技,将第一时间收到精彩内容推送哦~
相关文章:
Nat Commun:网络结构在塑造神经表征的强度中扮演着‘幕后推手’的角色
摘要 人类通过一系列离散事件构建他们对世界的心智模型。这一过程被称为图学习,它产生了一个编码事件间转移概率图的模型。近期的研究表明,一些网络比其他网络更容易学习,但这种效应的神经基础仍然未知。在这里,本研究使用功能磁共…...
Driver具体负责什么工作
在 Apache Spark 中,Driver(驱动程序) 是 Spark 应用的核心控制节点,负责协调整个应用的执行流程。它是用户编写的 Spark 应用程序(如 main() 方法)的入口点,直接决定了任务的调度、资源分配和结…...
LeetCode 热题 100----2.移动零
LeetCode 热题 100----2.移动零 题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums [0,1,0,3,12] 输出: [1,3,12,…...
能源革命新突破:虚拟电厂赋能微电网智能调控,构建低碳生态新格局
在“双碳”目标的引领下,中央一号文件明确提出了“推进农村能源革命,深化绿色低碳技术应用”。作为能耗集中区域,产业园区如何实现清洁能源高效消纳与碳减排的目标成为了难题,中电国为推出的虚拟电厂与风光储充柴多能互补的微电网…...
Java集合框架深度剖析:从数据结构到实战应用
引言 Java集合框架是Java开发中的核心组件之一,其设计目标是提供高性能、高复用性的数据容器。无论是数据处理、缓存设计还是高并发场景,集合框架都扮演着关键角色。本文将从List、Map、Set三大核心接口出发,深入剖析其主流实现类࿰…...
基于灵动微单片机SPIN系列的两轮车解决方案
电动车需配备与电机兼容性更高的双模控制器。灵动针对两轮车提供了相应的方案和解决算法。在两轮车的霍尔传感器出现故障时,系统应能继续有效地驱动电机。除了常规的过流、过压、过温保护措施外,灵动的方案还支持防盗功能,具备电刹车能力&…...
ngx_http_core_server_name
定义在 src\http\ngx_http_core_module.c static char * ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {ngx_http_core_srv_conf_t *cscf conf;u_char ch;ngx_str_t *value;ngx_uint_t i;ngx_…...
【Docker系列一】Docker 简介
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
[C++面试] 你了解transform吗?
层级核心知识点入门基本语法、与for_each对比、单/双范围操作进阶动态扩展、原地转换、类型兼容性、异常安全高阶性能优化、C20 Ranges、transform_if模拟 一、入门 1、描述std::transform的基本功能,并写出两种版本的函数原型 std::transform函数是 C 标准库<…...
MSE分类时梯度消失的问题详解和交叉熵损失的梯度推导
下面是MSE不适合分类任务的解释,包含梯度推导。以及交叉熵的梯度推导。 前文请移步笔者的另一篇博客:大模型训练为什么选择交叉熵损失(Cross-Entropy Loss):均方误差(MSE)和交叉熵损失的深入对比…...
docker 安装部署 canal
1 mysql 安装 1.1 拉取镜像 docker pull mysql:8.4.41.2 创建挂载目录 mkdir -p /user/lzl/tool/docker/mysql/mysql_8.4.4/home/confmkdir -p /user/lzl/tool/docker/mysql/mysql_8.4.4/home/datamkdir -p /user/lzl/tool/docker/mysql/mysql_8.4.4/home/log1.3 编辑配置文…...
flowable适配达梦7 (2.1)
经过第一版的问题解决,后端项目可以启动,前端页面也集成进去。 前端在流程设计页面报错 之后发现主要是组件中modelerStore这个值没有 解决方法:在data增加对象 给component/process/designer.vue 中涉及到的每个子组件传入 :modelerStore“modeler…...
优化 Docker 镜像 技巧
优化 Docker 镜像可以提高构建速度、减少镜像大小、提高安全性和效率。以下是一些优化 Docker 镜像的方法: 使用适当的基础镜像 选择合适的基础镜像可以减小镜像大小,并确保基础镜像的安全性和更新性。Alpine、Ubuntu Minimal 等轻量级基础镜像是常用选…...
Spring Boot框架中常用注解
以下是Spring Boot框架中常用注解的详细说明,包括名称、用途、用法、使用位置及扩展示例,按功能模块分类整理: 一、核心启动与配置注解 1. SpringBootApplication 用途:主启动类注解,整合了 Configuration、EnableAu…...
Linux笔记之Ubuntu22.04安装IBus中文输入法教程
Linux笔记之Ubuntu22.04安装IBus中文输入法教程 code review! 文章目录 Linux笔记之Ubuntu22.04安装IBus中文输入法教程安装 IBus 并配置中文输入法步骤 1: 安装 IBus 和拼音插件步骤 2: 设置 IBus 为默认输入法框架步骤 3: 重启会话步骤 4: 添加中文输入法步骤 5: …...
(UI自动化测试web端)第二篇:元素定位的方法_xpath属性定位
看代码里的【driver.find_element_by_xpath( )】()里的路径怎么写? xpath元素定位有多种写法,那我们现在说的就是在元素定位时,根据网页的实际情况来选择适合的xpath元素定位的写法。 文章主要介绍了xpath属性定位的方法和属性扩展使用的方法…...
Linux中执行 ifconfig 命令时提示 “未找到命令”
在 Linux 系统里,若执行 ifconfig 命令时提示 “未找到命令” 通常是由于系统没有安装 net-tools 包,或者该命令不在系统的 PATH 环境变量所包含的路径中 安装 net-tools 包 # Ubuntu/Debian sudo apt update sudo apt install net-tools# CentOS 7 及以…...
UE4学习笔记 FPS游戏制作15修正可以换枪中可以继续换枪和开火的Bug
现在存在的问题是换枪动作没完成时,可以继续换枪或者开枪 因为换枪这个动作是由玩家进行的,所以应该修改FppShooter脚本 我们添加两个参数 最后一次换枪的时间和换枪动画的长度 EquipmentLength 设置默认值0.6秒 添加一个新函数IsInEquip,返…...
SSL/TLS 和 SSH 介绍以及他们的区别
目录 SSL/TLS SSL/TLS工作原理的核心步骤握手阶段(Handshake Protocol)加密通信阶段(Encrypted Communication Phase)会话恢复(Session Resumption) SSH SSH 加密机制的核心步骤 SSH 和 SSL 区别 SSL/TLS …...
AudioTrack
AudioTrack是Android Audio系统提供给应用开发者(java/C)的API,用于操作音频播放的数据通路。MeidaPlayer在播放音乐时用到的是它,我们可以也可以直接使用AudioTrack进行音频播放。它是最基本的音频数据输出类。 AudioTrack.java…...
Windows安装Rust环境(详细教程)
一、 安装mingw64(C语言环境) Rust默认使用的C语言依赖Visual Studio,但该工具占用空间大安装也较为麻烦,可以选用轻便的mingw64包。 1.1 安装地址 (1) 下载地址1-GitHub:Releases niXman/mingw-builds-binaries GitHub (2) 下载地址2-W…...
监控IP,网站将异常情况通过飞书机器人发至指定群内
界面如下,丑是丑了点,但主打一个实用。 主要就是通过ping,就是一直在ping,当不通的时候,就根据你设置的报警时间,主要是利用飞书机器人来给飞书指定群里发异常信息报警。 直接上代码 import subprocess i…...
JVM 02
今天是2025/03/23 19:07 day 10 总路线请移步主页Java大纲相关文章 今天进行JVM 3,4 个模块的归纳 首先是JVM的相关内容概括的思维导图 3. 类加载机制 加载过程 加载(Loading) 通过类全限定名获取类的二进制字节流(如从JAR包、网络、动态…...
局域网设备访问虚拟机 挂载NFS
目录 引言:网络IP问题配置虚拟机网络有线网络:无线网络: NFS文件挂载服务端配置客户端连接 引言: 需求:局域网下树莓派设备想要访问电脑主机上的虚拟机。这样可以通过nfs挂载网络设备,有利于交叉编译环境调…...
零、ubuntu20.04 安装 anaconda
1.anaconda下载 地址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 选择:Anaconda3-2023.07-2-Linux-x86_64.sh 2.anaconda安装 选择下载目录,选在在终端中打开,然后在终端输入安装命…...
IntelliJ IDEA 将 Spring Boot 项目远程部署到服务器
使用 IntelliJ IDEA 将 Spring Boot 项目远程部署到服务器的详细步骤,涵盖多种常见方法: 方法一:通过 SSH Maven 插件直接部署 1. 服务器环境准备 确保服务器已安装: Java 运行环境(与项目 JDK 版本一致࿰…...
利用dify打造命令行助手
利用dify打造命令行助手 前言 我是mac os 的使用者。 如果说macos哪个工具我使用最频繁,最能提高效率的工作工具非zsh莫属(当然,我安装了iterm)。前不久,我要扩容线上的k8s集群。便想统计一下每个node上运行的pod数量。我不知道合适的命令&…...
前端面试整理
一、csshtml 二、js 三、vue 四、react 1.React 类组件与函数式组件核心区别 定义方式的不同,类组件用ES6的class,继承React.Component,而函数式组件用函数声明。 状态管理方面,类组件用this.state和setState,函…...
Perl语言的计算机网络
Perl语言在计算机网络中的应用 引言 在计算机科学的众多领域中,网络编程是一个极具挑战性和广泛应用的领域。在这其中,Perl语言以其强大的文本处理能力和简洁的语法,成为了网络编程的重要工具之一。自从1987年Larry Wall创造Perl以来&#…...
数据结构初阶-二叉树的应用
1.单值二叉树 题目链接:https://leetcode.cn/problems/univalued-binary-tree/description/ 题目思路:我们把根结点与左孩子和右孩子进行比较,只有左右子树都是单值二叉树的时候才为单值二叉树。但是我们需要先返回的是false,最…...
【赵渝强老师】在Docker中运行达梦数据库
Docker是一个客户端服务器(Client-Server)架构。Docker客户端和Docker守护进程交流,而Docker的守护进程是运作Docker的核心,起着非常重要的作用(如构建、运行和分发Docker容器等)。达梦官方提供了DM 8在Doc…...
掌握C#循环:for、while、break与continue详解及游戏案例
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...
备份比赛数据【算法赛】
0备份比赛数据【算法赛】 - 蓝桥云课 问题描述 蓝桥杯大赛的组委会最近遇到了一个棘手的问题。他们有 N 台电脑需要备份比赛数据,每台电脑所需的备份时间分别为 A1,A2,…,AN 分钟。 备份必须按编号顺序依次进行,即先第 1 台,再第 2 …...
【算法笔记】图论基础(二):最短路、判环、二分图
目录 最短路松弛操作Dijkstra朴素Dijkstra时间复杂度算法过程例题 堆优化Dijkstra时间按复杂度算法过程例题 bellman-ford时间复杂度为什么dijkstra不能处理负权边?dijkstra的三个步骤:反例失效的原因 算法过程例题 spfa时间复杂度算法过程例题spfa求最短…...
【性能优化点滴】odygrd/quill 中一个简单的标记位作用--降低 IO 次数
在 StreamSink 类中,成员变量 _write_occurred 的作用是 跟踪自上次刷新(Flush)以来是否有写入操作发生,其核心目的是 优化 I/O 性能。以下是详细解析: _write_occurred 的作用 1. 避免不必要的刷新(Flush…...
Unity2022发布Webgl2微信小游戏部分真机黑屏
复现规律: Unity PlayerSetting中取消勾选ShowSplashScreen 分析: 在Unity中,Splash Screen(启动画面) 不仅是视觉上的加载动画,还承担了关键的引擎初始化、资源预加载和渲染环境准备等底层逻辑。禁用后导…...
TDengine 3.3.2.0 集群报错 Post “http://buildkitsandbox:6041/rest/sql“
原因: 初始化时处于内网环境下,Post “http://buildkitsandbox:6041/rest/sql“ 无法访问 修复: vi /etc/hosts将buildkitsandbox映射为本机节点 外网环境下初始化时没有该问题...
基于yolov11的中空圆柱形缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
【背景介绍】 中空圆柱形缺陷检测在多个领域具有深远意义。在石油、天然气及化工行业,缺陷检测可预防泄漏事故,避免火灾、爆炸及环境污染,保障人员与财产安全。建筑、桥梁及航空航天领域则依赖此技术确保中空圆柱形结构的稳定性,…...
Python爬虫-爬取AliExpress商品搜索词排名数据
前言 本文是该专栏的第49篇,后面会持续分享python爬虫干货知识,记得关注。 本文,笔者以AliExpress平台为例。基于Python爬虫,通过某个指定的“搜索关键词”,批量获取该“搜索关键词”的商品排名数据。 具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。废…...
20250321在荣品的PRO-RK3566开发板的buildroot系统下使用ll命令【直接编译进IMG】
./buildroot/system/skeleton/etc/profile # some more ls aliases alias llls -alF alias lals -A alias lls -CF 20250321在荣品的PRO-RK3566开发板的buildroot系统下使用ll命令【直接编译进IMG】 2025/3/21 16:53 cd /etc/ echo "" >> # some more ls ali…...
Flink 自定义数据源:从理论到实践的全方位指南
目录 第一章:自定义数据源的基础概念 数据源是什么?它在 Flink 中扮演什么角色? Flink 的内置数据源:开箱即用的 “标配” 为什么需要自定义数据源?它的杀手锏在哪? 第二章:自定义数据源的实现之道 接口选择:从简单到高级,选对工具事半功倍 SourceFunction:入门…...
如何在 Java 中查找 PDF 页面大小(教程)
PDF 文件并未被 Java 直接支持。本教程将向您展示如何使用 JPedal Java PDF 库 以简单的步骤提取 PDF 文件的页面大小(高度和宽度)。页面大小可以以 厘米、英寸或像素 为单位获取。 为什么要使用第三方库处理 PDF 文件? PDF 文件是一种复杂…...
java版嘎嘎快充玉阳软件互联互通中电联云快充协议充电桩铁塔协议汽车单车一体充电系统源码uniapp
演示: 微信小程序:嘎嘎快充 http://server.s34.cn:1888/ 系统管理员 admin/123456 运营管理员 yyadmin/Yyadmin2024 运营商 operator/operator2024 系统特色: 多商户、汽车单车一体、互联互通、移动管理端(开发中) 另…...
使用Mastra.ai构建AI智能体:一次动手实践
Mastra框架提供了一种简洁高效的AI智能体构建方式。 本文将分享我使用Mastra.ai的实践经历。 我们将逐步完成环境搭建、探索框架核心功能,并构建一个能与工具交互的基础智能体。 过程中我会总结成功经验、遇到的问题以及收获的启示。 如果你对AI开发感兴趣,或正在寻找一个…...
Redis之大key问题
BigKey 常见面试题目 你会么? MoreKey 案例 大批量往redis里面插入2000W测试数据key Linux Bash下面执行,批量插入100W for((i1;i<100*10000;i)); do echo "set k$i v$i" >> /tmp/redisTest.txt ;done;生成100W条redis批量设置kv的…...
Excel第41套全国人口普查
2. 导入网页中的表格:数据-现有链接-考生文件夹:网页-找到表格-点击→变为√-导入删除外部链接关系:数据-点击链接-选中连接-删除-确定(套用表格格式-也会是删除外部链接)数值缩小10000倍(除以10000即可&am…...
深度学习驱动的车牌识别:技术演进与未来挑战
一、引言 1.1 研究背景 在当今社会,智能交通系统的发展日益重要,而车牌识别作为其关键组成部分,发挥着至关重要的作用。车牌识别技术广泛应用于交通管理、停车场管理、安防监控等领域。在交通管理中,它可以用于车辆识别、交通违…...
PageHiOffice网页组件(WebOffice文档控件)开发集成技巧专题一
PageHiOffice网页组件作为最新一代的WebOffice文档控件,这是目前市场上唯一能做到在Chrome等最新版浏览器中实现内嵌网页运行的商用文档控件,是OA及ERP等系统处理各种文档的福音。从发布到完善已经超过3年,不管是功能性还是稳定性都已经有了长…...
A2 最佳学习方法
记录自己想法的最好理由是发现自己的想法,并将其组织成可传播的形式 (The best reason for recording what one thinks is to discover what one thinks and to organize it in transmittable form.) Prof Ackoff 经验之谈: 做培训或者写文章ÿ…...
从JVM底层揭开Java方法重载与重写的面纱:原理、区别与高频面试题突破
🌟引言:一场由方法调用引发的"血案" 2018年,某电商平台在"双十一"大促期间遭遇严重系统故障。 技术团队排查发现,问题根源竟是一个继承体系中的方法重写未被正确处理,导致订单金额计算出现指数级…...