【具身智能】论文系列解读-RL-ViGen

news2024/10/7 18:29:44

1. RL-ViGen:视觉泛化的强化学习基准

RL-ViGen: A Reinforcement Learning Benchmark for Visual Generalization

0 摘要与总结

视觉强化学习(Visual RL)与高维观察相结合,一直面临着分布外泛化的长期挑战。尽管重点关注旨在解决视觉泛化问题的算法,但我们认为现有的基准测试存在问题,因为它们仅限于孤立的任务和泛化类别,从而破坏了对智能体视觉泛化能力的综合评估。为了弥补这一差距,我们引入了 RL-ViGen:一种新颖的视觉泛化强化学习基准,它包含不同的任务和广泛的泛化类型,从而有助于得出更可靠的结论。此外,RL-ViGen 将最新的泛化视觉 RL 算法纳入统一的框架中,实验结果表明,没有任何一种现有算法能够跨任务通用。我们的愿望是 RL-ViGen 将成为该领域的催化剂,并为未来创建适合现实场景的通用视觉泛化 RL 代理奠定基础。 https://gemcollector.github.io/RL-ViGen/ 提供对我们的代码和实现算法的访问。

在4.2节中,如图 7 所示,所有算法的性能均未达到预期,这表明当前的视觉 RL 算法和泛化方法对场景结构变化的鲁棒性不够。必须进行更深入的研究,以增强经过训练的智能体感知不断变化的场景结构的泛化能力

1 引言

视觉强化学习 (RL) 在众多领域取得了显着的成功 [33,36,14]。人们采用了多种技术,不仅可以解决试错学习过程,还可以解决高维输入数据带来的复杂性。

尽管取得了这些成功,视觉强化学习智能体面临的一个根本挑战仍然存在——实现泛化。

为了克服这个障碍,出现了几个视觉 RL 泛化基准,包括 Procgen [6]、Distracting Control Suite [40] 和 DMC-GB [18]。虽然这些基准对于视觉 RL 泛化进展是不可或缺的,但它们并不能免除对进一步发展构成挑战的固有限制。 Procgen 提供多样化的环境配置和视觉外观分布。然而,它仅限于具有非真实图像和低维离散动作空间的视频游戏,导致其环境与现实世界场景之间存在显着差距。另一个例子,DMC-GB,有时被视为许多最先进的视觉泛化算法的黄金标准。

image-20230828101623839

**图 1:**用于视觉泛化的新颖 RL 基准。我们证明 RL-ViGen 支持具有不同泛化类别的广泛任务。可以更全面地评估算法并获得更有说服力的实验结果

然而,现有设置中任务类别和泛化类别范围狭窄,无法彻底、全面地评估智能体的泛化能力。此外,虽然Distracting Control Suite包含两种泛化类型,但它在多样性和复杂性方面存在不足。该领域的普遍趋势是展示所提出的算法在这些基准上的优越性,这不利地带来了促进对这些基准的过度拟合的一定风险,而不是发现可能有益于解决现实世界问题的算法。

在本文中,我们介绍了一种新颖的视觉泛化强化学习基准(RLViGen),与现有同行相比具有许多优点。我们的基准测试将一系列任务类别与真实图像输入相结合,包括桌面操纵、运动、自动驾驶、室内导航和灵巧的手部操纵,从而可以更全面地评估智能体的功效。此外,通过整合视觉 RL 泛化中的各个关键方面,例如视觉外观、光照变化、摄像机视图、场景结构和交叉实施例,RL-ViGen 能够全面检查智能体针对不同视觉条件的泛化能力。

值得注意的是,我们提供了一个统一的框架,其中包含各种最先进的视觉强化学习泛化算法,每种方法都具有相同的优化方案。该框架不仅促进公平的基准比较,而且还降低了设计新颖方法的准入门槛。

总之,我们的贡献如下:

  • 1)我们提出了一种新颖的视觉 RL 泛化基准 RL-ViGen,具有多样化、真实的渲染任务和众多泛化类型;
  • 2)我们在统一的框架内实现和评估各种算法,从而能够全面分析其泛化性能;
  • 3)我们进行了全面而广泛的实验,以证明现有方法在处理不同任务和泛化类型时的独特性能,并强调当前可泛化视觉强化学习算法的优点和局限性。综合所有贡献,RL-ViGen 可能为视觉 RL 泛化的进一步进步铺平道路,最终为现实世界的应用带来更强大、适应性更强的算法。

表 1:概括类别。

下表概述了每个任务中包含的泛化类型。除了被认为不适用 (N/A) 的类别(例如,对于运动,不需要场景结构的变化)之外,所有潜在类型都包括在内。

image-20230828124502654

2 RL-ViGen 框架

RL-ViGen 包含 5 个不同的任务类别,涵盖运动桌面操纵自动驾驶室内导航灵巧手操纵领域。与之前的基准相比,RL-ViGen 采用多种任务类别来评估智能体的泛化性能。我们相信,只有通过多角度综合检验,才能得出令人信服的结果。此外,如表1所示,我们的基准测试提供了广泛的泛化类别,包括视觉外观、摄像机视图、照明条件的变化、场景结构和跨实施例设置,从而提供了对算法的鲁棒性和泛化能力的全面评估。

2.1 实验环境

**灵巧的操作:**Adroit [37] 是一个复杂的环境,专门为灵巧的手操作任务而定制。由于环境的稀疏奖励性质和高维动作空间的复杂性,它需要大量的探索和细粒度的特征捕获。在 RL-ViGen 中,我们通过集成不同的视觉外观、相机视角、手型、光照变化和物体形状来丰富 Adroit 环境。

**自动驾驶:**CARLA [9]作为自动驾驶的真实高保真模拟器,研究动态条件下智能体的控制能力。在之前的研究中,它已成功部署在视觉强化学习设置上。与之前的工作[21]相反,RLViGen 在不同的场景结构中提供了更广泛的动态天气和更复杂的路况。此外,RL-ViGen 中还包含灵活的相机角度调整功能。

**室内导航:**作为一种高效且逼真的 3D 模拟器,Habitat [39] 结合了众多视觉导航任务。成功完成这些任务需要智能体拥有场景理解的能力。 RL-ViGen 以 skokloster 城堡场景为基础,并提出了具有不同视觉和照明设置的附加场景。此外,摄像机视图和场景结构被设计为可调节的。

**桌面操控:**Robosuite [57] 是一个旨在支持机器人学习的模块化仿真平台。它本质上包含旨在调整各种场景参数的界面。最近的工作[12]利用这个平台来测试智能体对视觉背景变化的泛化能力。 RL-ViGen 进一步结合了动态背景、自适应照明条件和实施例变化选项,改进了模拟,使其更接近现实世界。

Locomotion:DeepMind Control 是一种流行的连续视觉 RL 基准测试。 DMC-GB[19]是在其上开发的,并已成为广泛使用的评估泛化算法的基准。RL-ViGen 以 DMC-GB 为基础,引入了来自复杂的现实世界运动和操纵应用程序的对象和相应任务,例如 Unitree、Anymal 四足机器人和 Franka Arm。更重要的是,RL-ViGen 还提供了各种泛化类别来进一步丰富这个环境。

更详细的实现和修改可以在附录 B 和我们的代码库中找到。

image-20230828125253052

**图 2:**泛化过程。智能体首先在第一阶段使用特定的固定场景进行训练。随后,在第二阶段,以零样本的方式在各种视觉泛化场景中测试代理。智能体在第 2 阶段的各个场景中表现越好,其表现出的泛化能力就越强。

2.2 类别概括

在这里,我们强调 RL-ViGen 中使用的主要泛化类别: 视觉外观:在物体、场景或环境的视觉特征发生变化的情况下保持有效的性能至关重要,特别是对于视觉强化学习而言。

在我们的基准测试中,环境中的不同组件可以使用多种颜色进行修改。同时,还引入了动态视频背景作为具有挑战性的设置。

**摄像机视图:**在现实世界中,智能体必须应对可能与训练期间所经历的不一致的摄像机配置、角度或位置。我们提供将摄像机设置为不同角度、距离和视场的权限。此外,摄像机的数量也可以相应调整。

**照明条件:**现实世界中不可避免地会发生照明条件的变化。为了使代理能够适应这种变化,我们的基准测试提供了与照明相关的接口,例如不同的光强度、颜色和动态阴影变化。

**场景结构:**掌握理解和适应不同场景中不同空间安排和组织模式的能力对于真正可泛化的智能体至关重要。为此,我们的基准测试可以通过调整地图、图案或引入额外的对象来修改场景结构。

**跨实施例:**使学习到的技能和知识适应不同的物理形态或实施例对于代理在具有不同运动结构和传感器配置的各种平台或机器人上表现良好至关重要。因此,我们的基准还提供了在模型类型、大小和其他物理属性方面修改经过训练的代理的体现的途径。

3. 视觉强化学习中泛化的算法基线

3.1 统一框架

我们工作的另一个重要贡献是实现了统一的代码库来支持各种视觉 RL 算法之间的比较。在之前的研究中,不同的算法采用不同的优化方案、RL 基线和超参数。例如,SRM [22] 和 SVEA [20] 依赖于基于 SAC 的 RL 算法,而 PIE-G [54] 采用基于 DDPG 的方法。此外,微小的不同实现都可能会对最终性能产生重大影响。因此,提供一个统一的框架在这个领域非常重要,可以通过一致的框架和不同的任务评估算法得出更有说服力的结论。

3.2 视觉强化学习算法

在我们的基准测试中,我们组装了八种领先的视觉强化学习算法,并应用相同的统一训练和评估框架。 DrQ-v2 [50] 就样本效率而言是现有最先进的基于 DDPG 的无模型视觉 RL 算法。 DrQ [27] 是另一种基于 SAC 的样本高效视觉 RL 算法,它是 DrQ-v2 的基础。 CURL [28] 利用 SimCLR 式 [5] 对比损失来获得更好的视觉表示。 VRL3 [43] 是具有人类演示的 Adroit 任务中最先进的算法。其他四种算法专注于实现稳健的表示。

SVEA[20]采用未增强图像的Q值作为目标,同时利用数据增强来减少Q方差; SRM[22]采用频域增强来选择性消除部分观测频率; PIE-G[54]结合ImageNet[8]预训练模型进一步提升泛化能力; SGQN [3] 通过与显着图集成来识别决策的关键像素。

4. 实验

在本节中,我们尝试研究所提出的 RL-ViGen 基准中不同方法的泛化能力。如图 2 所示,所有智能体都在相同的固定训练环境中进行训练,并以零样本的方式在各种未见过的场景中进行评估。训练样本效率和渐近性能如附录E.4所示。对于每项任务,我们评估超过 5 个随机种子并报告平均分数和 95% 置信区间。对于每个训练环境,我们给出了多个子任务的汇总分数。详细而广泛的实验结果可以在附录 B 和 E 中找到。每个环境和泛化类型的可视化如附录 D.1 所示。

4.1 视觉外观和灯光变化

4.1.1 室内导航

在 Habitat 平台中,我们选择 ImageNav 任务并修改 3D 扫描模型,以引入具有各种视觉外观和照明条件的新颖场景。我们对 10 个选定场景中的每一个进行 10 次评估(总共 100 次试验)。与大多数现有基准相比,Habitat 渲染的图像是由高性能 3D 模拟器从第一人称视角捕获的。因此,它可以提供更类似于现实世界场景的可视化效果。如图3所示,PIE-G的优越性能归功于与ImageNet预训练模型的集成,为PIE-G配备了丰富的真实图像,使其能够更有效地处理这些场景。相反,与第 4.1.2 节得出的结论一致,SGQN 旨在通过消除冗余背景来分割中心代理,但在这些对象丰富和第一人称视图任务中被证明是无效的。

image-20230828163057467

**图 3:室内导航的泛化得分。**我们展示了每种方法的成功率。结果表明PIE-G在Habitat上取得了更好的泛化性能。

4.1.2 自动驾驶

关于CARLA,我们采用Zhang等人[55]中的奖励函数设置,并应用第一人称视角来更好地模拟真实世界的驾驶条件。如附录D.1中的图11所示,该环境分为三个级别:简单、中等和困难。主要修改涉及不同因素,例如降雨强度、道路湿度和照明。训练场景的差异越大,难度就越大。在这项任务中,其独特之处之一是特点是输入图像频率发生相当大的变化。因此,在频域中应用数据增强的 SRM 方法表现出最佳性能,因为它可以适应不同频率的输入图像。虽然PIE-G采用了ImageNet预训练模型,但其源训练图像主要具有高频特征,因此在面对低频场景(例如黑夜)时泛化效果不佳。此外,提取显着信息的 SGQN 在面对视觉丰富的场景(其中受控代理不存在于观察帧中)时表现出性能下降。还应该指出的是,DrQ 在这种环境中获得了一定程度的泛化能力。我们的观察表明,由于 DrQ 是一种基于 SAC 的算法,因此它往往容易发生熵崩溃 [50]。这意味着经过训练的智能体仅针对不同的图像输入产生单一的动作分布

image-20230828191834890

**图 4:**自动驾驶的综合泛化得分。我们展示了每种方法的汇总回报。 SRM表现出更好的性能,可以适应图像频率变化较大的场景。

4.1.3 灵巧的手部操作

在 Adroit 环境中,我们评估了每种方法在三个单视图任务中的性能:门、锤子和笔。由于 DrQ-v2 和 DrQ 在这些具有挑战性的环境中几乎没有表现良好,因此我们利用 VRL3 [43],这是该领域最先进的方法,因为 RL-ViGen 中的基本算法视觉 RL 方法是重新设计的。并以此为基础实施。

关于样本效率,人们普遍认为应用强增强会对样本效率产生负面影响。然而,如附录 E.4 中的图 5 所示,值得注意的是,由于 VRL3 专门设计了一种安全 Q 机制来防止该环境中潜在的 Q 发散,因此应用强增强的泛化算法可以实现与仅使用随机的泛化算法相当的性能转移。

image-20230828192122923

**图 5:**Adroit 的样本效率。每种算法的成功率。我们将训练步骤标准化为 (0, 1)。具有强增强能力的方法也可以获得可比的性能。

image-20230828194548509

**图 6:**灵巧操作的综合泛化得分。我们展示了每种方法的总体成功率。配备 ImageNet 预训练模型的 PIE-G 对需要细粒度信息捕获的 Adroit 任务表现出更好的适应性。

至于泛化,Adroit 任务要求智能体识别细粒度的特征,以进行灵巧而复杂的操作。因此,PIE-G 利用 ImageNet 预训练模型来捕获详细信息,展示了协助学习代理执行下游任务的有效性,特别是在困难环境中。此外,如图 6 所示,由于缺乏减轻视觉变化影响的额外目标,导致 VRL3 和 CURL 在这些要求较高的任务中难以适应新的视觉情况。

4.2 场景结构

能够在不同场景结构中提供强大性能的通用代理对于潜在的广泛现实应用至关重要。我们选择 CARLA 作为评估场景结构泛化能力的测试平台。这些代理在标准训练场景(高速公路)中进行训练,并在更复杂的结构设置中进行测试,包括狭窄的道路、隧道和 HardRainSunset 天气条件下的环形交叉口。如图 7 所示,所有算法的性能均未达到预期,这表明当前的视觉 RL 算法和泛化方法对场景结构变化的鲁棒性不够。必须进行更深入的研究,以增强经过训练的智能体感知不断变化的场景结构的泛化能力

image-20230828195521129

图 7:场景结构的泛化得分。在这一类泛化中,所有算法的性能都不尽如人意。

4.3 相机视图

我们继续评估 Adroit 环境中相机视图的泛化能力。如图 8 所示,在 Easy 设置下,PIEG 和 SGQN 在摄像机视图方面表现出领先的泛化能力,而其他算法由于使用随机移位增强也表现出一定程度的泛化能力。然而,在硬设置中,相机位置、方向和视场 (FOV) 发生了重大变化,除了 SGQN 之外,几乎所有算法都失去了泛化能力。 SGQN 的卓越性能主要是由于其严重依赖于生成显着图,从而增强了智能体的对物体几何形状和相对位置的自我意识。因此,即使面对相机视图发生重大变化,该属性也能增强其泛化性能。

image-20230828195750964

**图 8:**相机视图的泛化得分。 SGQN 表明相机视图泛化中不同级别的优势泛化能力。

4.4 交叉实施例

解决视觉输入中的实施例不匹配问题至关重要,因为实施例构成了图像的很大一部分,并显着影响机器人与世界交互的行为。为了研究这种类型的泛化,采用 Robosuite 作为评估平台。我们在训练期间利用 OSC_POSE 控制器 [35] 来促进动作空间维度及其各自含义的维护。然后,训练有素的智能体从 Panda Arm 转移到两种不同的形态:KUKA IIWA 和 Kinova3。如图 9 所示,所有算法的整体性能都不是最优的;然而,基于泛化的方法在训练期间包含更多样化的信息,与主要关注跨实施例设置中的样本效率的方法相比,表现出轻微的优势。

image-20230828195908796

**图 9:**交叉实施例的聚合泛化得分。目前还没有算法展示出管理跨实施例泛化的能力。

5 讨论

综上所述,我们的实验表明,基于先前基准的研究结果可能无法准确反映实际进展,从而导致对情况的认知扭曲;这些先进的视觉 RL 算法以前被认为是最前沿的,但在 RL-ViGen 中显示出较低的效率。

我们将主要内容总结如下:

要点 1: 实验结果揭示了不同视觉 RL 算法在不同任务和泛化类别中的不同泛化性能,没有单一算法表现出普遍强大的泛化能力。

结论 2:仅仅提高训练性能并不能保证泛化能力的提高。尽管DrQ(v2)和CURL在训练过程中表现出较高的样本效率,甚至实现了更好的渐近性能(附录E.4),但它们在各种泛化场景中的表现尚未达到令人满意的水平。因此,当试图提高智能体的泛化能力时,引入额外的归纳偏差来帮助训练过程至关重要。

要点 3:有效的可泛化视觉 RL 代理必须在多个泛化类别中表现出卓越的性能。之前的工作主要集中在视觉外观的泛化上,而我们的实验揭示了现有算法在交叉实施例和场景结构设置中的相当大的缺点。这些表现不佳的泛化类别不仅仅改变了马尔可夫决策过程(MDP)中的观察空间;它们还对动作空间和转换概率进行修改,从而给智能体带来额外的挑战。

要点 4: 每种泛化算法都有其独特的优势。值得注意的是,PIE-G 在视觉外观和照明条件变化方面表现出卓越的性能,而 SRM 在显着的图像频率变化下表现出卓越的鲁棒性。当面临相当大的摄像机视图变化时,SGQN 保留其泛化能力。此外,SVEA不需要额外的参数,只需要很少的修改,就可以达到一定水平的泛化能力。我们假设通过融合不同的算法可能会获得更强的性能,例如利用带有基于频率的增强的预训练模型来进一步改进。

结合要点,我们希望算法在 RL-ViGen 中的成功能够表明其在更复杂和不可预测的现实场景中的潜在适用性。未来,涵盖场景结构、摄像机视图和交叉实施例等方面的整体和多维方法对于培养能够在各种动态现实环境中导航的真正通用代理至关重要。同样,设计更复杂、更现实的训练环境,能够反映现实世界条件的复杂性,也可以作为未来探索的关键领域。

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

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

相关文章

[QT]设置程序仅打开一个,再打开就唤醒已打开程序的窗口

需求&#xff1a;speedcrunch 这个软件是开源的计算器软件。配合launch类软件使用时&#xff0c;忘记关闭就经常很多窗口&#xff0c;强迫症&#xff0c;从网上搜索对版本进行了修改。 #include "gui/mainwindow.h"#include <QCoreApplication> #include <…

如何基于自己训练的Yolov5权重,结合DeepSort实现目标跟踪

网上有很多相关不错的操作demo&#xff0c;但自己在训练过程仍然遇到不少疑惑。因此&#xff0c;我这总结一下操作过程中所解决的问题。 1、deepsort的训练集是否必须基于逐帧视频&#xff1f; 我经过尝试&#xff0c;发现非连续性的图像仍可以作为训练集。一个实例&#xff0…

kubernetes搭建及基本使用

1. 前置要求准备 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x64硬件配置&#xff1a;2GB 或更多 RAM&#xff0c;2 个 CPU 或更多 CPU&#xff0c;硬盘 30GB 或更多集群中所有机器之间网络互通可以访问外网&#xff0c;需要拉取镜像禁止 swap 分区 此处我是白嫖的谷歌云…

No122.精选前端面试题,享受每天的挑战和学习

文章目录 1、vue中key的作用2、如何让vue页面重新渲染3、组件之间通信方式4、vue为什么要mutation、 action操作5、插槽、具名插槽、作用域插槽6、用set求两个数组的交集7、树用js如何实现&#xff1f; 1、vue中key的作用 在Vue中&#xff0c;key的作用是帮助Vue识别每个VNode…

性能评估之旅:软件测试的神秘工具与方法论

引言&#xff1a;性能评估的重要性 在当今的软件开发领域&#xff0c;性能评估已经成为了一个不可或缺的环节。随着用户对于软件响应速度和稳定性的要求越来越高&#xff0c;如何确保软件在各种环境下都能稳定运行&#xff0c;成为了每一个开发者和测试者必须面对的问题。性能…

【App端】uni-app使用echarts和百度地图api

目录 前言方案一&#xff1a;echarts百度地图获取百度地图AK安装echarts和引入百度地图api完整使用代码 方案二&#xff1a;echarts地图和柱状图变形动画完整使用代码 前言 近期的app项目中想加一个功能&#xff0c;展示全国各地的某一数据统计情况&#xff0c;想来想去&#…

搭建Android自动化python+appium环境

一. 需要软件 1. JDK:JAVA安装后配置JDK环境 2. SDK:SDK下载后配置adb环境 3. Python:pyhton语言 4. Pycharm:python脚本编译工具 5. Appium-python-client:pyhton中的库 6. Appium客户端 二. 搭建步骤 1. 配置JDK环境 ①. 下载安装java: https://www.oracle.com/jav…

windows下Mysql安装配置教程

Mysql下载 在官网下载mysql community Server https://dev.mysql.com/downloads/mysql/ 可以选择下载压缩包或者MSI安装程序 使用压缩包安装 MySQL 压缩包安装通常需要以下步骤&#xff1a; 1. 下载 MySQL 安装包 你可以从 MySQL 官网上下载适合你系统的 MySQL 安装包&am…

Android软键盘弹出,底部的控件随之弹出,但整体布局不会向上弹

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.co…

浅析Linux 物理内存外碎片化

本文出现的内核代码来自Linux4.19&#xff0c;如果有兴趣&#xff0c;读者可以配合代码阅读本文。 一、Linux物理内存外碎片化概述 什么是Linux物理内存碎片化&#xff1f;Linux物理内存碎片化包括两种&#xff1a; 1.物理内存内碎片&#xff1a;指分配给用户的内存空间中未…

基于 xhr 实现 axios

基于 xhr 实现 axios 上面我们讲到二次封装 axios &#xff0c;但是现在我们尝试完全脱离 axios&#xff0c;自己实现一个 axios&#xff0c;由于 axios 底层是基于 xhr 做了二次封装&#xff0c;所以我们也可以尝试一下。 xhr 二次封装 src/plugins/xhr.js /*** 请求拦截器…

为什么说ASEMI-GBU812是新能源专用整流桥

编辑-Z GBU812是一种新能源专用整流桥&#xff0c;它在新能源领域扮演着重要的角色。下面是关于为什么说GBU812是新能源专用整流桥的几个原因&#xff1a; 首先&#xff0c;GBU812采用了新能源技术&#xff0c;具有高效能、低功耗和环保等特点。在新能源领域&#xff0c;特别是…

Git中smart Checkout与force checkout

Git中smart Checkout与force checkout 使用git进行代码版本管理,当我们切换分支有时会遇到这样的问题&#xff1a; 这是因为在当前分支修改了代码&#xff0c;但是没有commit,所以在切换到其他分支的时候会弹出这个窗口&#xff0c; 提示你选force checkout或者smart checko…

以udp协议创建通信服务器

概念图 创建服务器让A,B主机完成通信。 认识接口 socket 返回值&#xff1a;套接字&#xff0c;你可以认为类似fd 参数&#xff1a; domain->:哪种套接字&#xff0c;常用AF_INET(网络套接字)、AF_LOCAL(本地套接字)type->&#xff1a;发送数据类型&#xff0c;常用 …

sql 索引

如果表已经存在大量数据&#xff0c;突然需要插入大量数据&#xff0c;因为原来有索引结构&#xff0c;所以大批量数据写入&#xff0c;会导致维护索引&#xff0c;浪费资源。 可以先把表的索引删除&#xff0c;待数据插入完成&#xff0c;再创建索引。 这样可以节约资源和时间…

SAP物料分类账的简单理解

SAP物料分类账的简单理解 转自 SAP物料分类账的简单理解 - 知乎 一、SAP物料分类账理解 物料分类账&#xff0c;简称ML&#xff08;material ledger&#xff09;&#xff0c;其基本用途是可以用八个字概括“还原成本”、“还原库存”。即通过月底运行物料分类账&#xff0c;…

Docker修改容器ulimit的全部方案及各方案的详细步骤

要修改Docker容器的ulimit&#xff08;用户资源限制&#xff09;&#xff0c;有以下三种方案&#xff0c;每个方案的详细步骤如下&#xff1a; 方案一&#xff1a;在Dockerfile中设置ulimit 打开您的Dockerfile。在文件中添加以下命令来修改ulimit&#xff1a;RUN ulimit -n …

时空数据挖掘精选23篇论文解析【AAAI 2023】

今天和大家分享时空数据挖掘方向的资料。 时空数据挖掘是人工智能技术的重要分支&#xff0c;是一种采用人工智能和大数据技术对城市时空数据进行分析与挖掘的方法&#xff0c;旨在挖掘时空数据&#xff0c;理解城市本质&#xff0c;解决城市问题。 目前&#xff0c;时空数据…

世纪互联收入增长放缓,低于华尔街预期,全年业绩指引令投资者失望

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 全年业绩指引令投资者失望 世纪互联&#xff08;VNET&#xff09;在发布了第二季度喜忧参半的财务业绩后&#xff0c;依然坚持了此前发布的2023财年业绩指引。 财报显示&#xff0c;虽然世纪互联第二季度的收入同比增长了6…

谈判胜利!韩美合资厂平均薪资将提高25% | 百能云芯

据韩国时报报道&#xff0c;LG新能源与通用汽车在俄亥俄州成立的电动车电池公司Ultium Cells日前宣布&#xff0c;已与美国联合汽车工会&#xff08;UAW&#xff09;达成临时劳资协议&#xff0c;旨在将员工平均薪资提高25%。这一合作成为美国首个设有工会代表的电动车电池厂&a…