当前位置: 首页 > news >正文

中国建筑工程总公司招聘/优化网站教程

中国建筑工程总公司招聘,优化网站教程,莒县做网站,java做购物网站阅读时间:2023-12-16 1 介绍 年份:2017 作者:Ronald Kemker,美国太空部队;Christopher Kanan,罗切斯特大学 期刊: arXiv preprint 引用量:520 Kemker R, Kanan C. Fearnet: Brain-…

阅读时间:2023-12-16

1 介绍

年份:2017
作者:Ronald Kemker,美国太空部队;Christopher Kanan,罗切斯特大学
期刊: arXiv preprint
引用量:520
Kemker R, Kanan C. Fearnet: Brain-inspired model for incremental learning[J]. arXiv preprint arXiv:1711.10563, 2017.
image.png
image.png
提出一种名为 FearNet 的新型神经网络模型,这个模型受到大脑记忆机制的启发,用于解决增量学习中的灾难性遗忘问题。FearNet 模型不存储先前的例子,使其具有内存效率。它使用一个由大脑启发的双记忆系统,新记忆从受海马体复合体启发的网络巩固到受内侧前额叶皮层启发的长期存储网络。记忆巩固的灵感来自于睡眠期间发生的过程。FearNet 还使用一个受基底外侧杏仁核启发的模块来确定在回忆时使用哪个记忆系统。

2 创新点

  1. FearNet 的架构包括三个神经网络:一个受海马体复合体启发的用于快速回忆的近期记忆系统,一个受内侧前额叶皮层启发的用于长期存储的网络,以及一个受基底外侧杏仁核启发的用于确定使用哪个记忆系统进行回忆的网络。
  2. 受到睡眠期间记忆重放的启发,FearNet 使用生成式自编码器进行伪重放,这通过生成先前学习的例子并在巩固期间与新信息一起重放,减轻了灾难性遗忘,这个过程不涉及存储以前的训练数据。FearNet 使用了一个受基底外侧杏仁核启发的模块来决定在特定情况下应该使用哪个记忆系统进行回忆,这增加了模型的灵活性和准确性。
  3. FearNet 在大型图像(CIFAR-100、CUB-200)和音频数据集(AudioSet)上取得了最先进的结果,并且具有相对较小的内存占用,展示了双记忆模型如何被扩展。

3 相关研究

  1. 重放(Rehearsal)方法:通过在新学习会话中混合旧样本来模拟独立同分布条件,以减少灾难性遗忘。这种方法需要存储所有训练数据。 参考论文:Hetherington P A, Seidenberg M S. Is there “catastrophic interference” in connectionist networks?[C]//11th Annual Conference Cognitive Science Society Pod. Psychology Press, 2014: 26-33.
  2. 伪重放(Pseudorehearsal):由 Robins (1995) 提出,不重放过去的训练数据,而是生成新的例子。这种方法启发了 FearNet 的记忆巩固方法。 参考文献:Robins A. Catastrophic forgetting, rehearsal and pseudorehearsal[J]. Connection Science, 1995, 7(2): 123-146.
  3. PathNet:使用进化算法找到 DNN 的最优路径,然后冻结该路径上的权重。它假设每个学习会话都看到所有类别,不适合增量类别学习。 参考文献:Fernando C, Banarse D, Blundell C, et al. Pathnet: Evolution channels gradient descent in super neural networks[J]. arXiv preprint arXiv:1701.08734, 2017.
  4. Elastic Weight Consolidation (EWC):一种正则化方案,将可塑性重定向到对之前学习会话不太重要的权重上。 参考论文:Kirkpatrick J, Pascanu R, Rabinowitz N, et al. Overcoming catastrophic forgetting in neural networks[J]. Proceedings of the national academy of sciences, 2017, 114(13): 3521-3526.
  5. Fixed Expansion Layer (FEL) 模型:通过使用稀疏更新来减轻灾难性遗忘,具有连接性约束的第二隐藏层(FEL层)在训练期间不更新。 参考论文:Coop R, Mishtal A, Arel I. Ensemble learning in fixed expansion layer networks for mitigating catastrophic forgetting[J]. IEEE transactions on neural networks and learning systems, 2013, 24(10): 1623-1634.
  6. GeppNet:使用自组织映射(SOM)作为长期记忆,输入通过二维格子重新组织,并通过简单的线性层进行分类。 参考论文:Gepperth A, Karaoguz C. A bio-inspired incremental learning architecture for applied perceptual problems[J]. Cognitive Computation, 2016, 8(5): 924-934.
  7. iCaRL 框架:一种增量类别学习框架,使用 DNN 进行监督表示学习,通过存储的示例和学习会话数据更新 DNN。 参考论文:Rebuffi S A, Kolesnikov A, Sperl G, et al. icarl: Incremental classifier and representation learning[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017: 2001-2010.

4 算法

4.1 模型结构

image.png
图1展示了FearNet模型的结构,它由三个受大脑启发的模块组成,这些模块分别对应于人类大脑中的不同部位,具体如下:

  1. mPFC (Medial Prefrontal Cortex, 内侧前额叶皮层):这部分负责长期存储(long-term storage)。在FearNet中,mPFC作为一个神经网络,被训练来重建其输入(使用对称的编码器-解码器,即自编码器),并计算分类概率。mPFC的设计允许它通过自编码器生成伪示例,这有助于在不需要存储先前训练样本的情况下进行记忆巩固。
  2. HC (Hippocampal Complex, 海马体复合体):这部分负责近期存储(recent storage)。在FearNet中,HC被建模为一个概率神经网络,它使用存储的训练样本来计算输入特征向量属于某个类别的条件概率。一旦HC中的例子被巩固到mPFC,它们就会被从HC中移除。
  3. BLA (Basolateral Amygdala, 基底外侧杏仁核):这部分用于决定在回忆时使用mPFC还是HC。BLA在预测时使用,以确定应该使用短期记忆系统还是长期记忆系统来进行输入的分类。BLA的输出是一个介于0和1之间的值,值为1表示应该使用mPFC进行分类。

FearNet通过这三个模块的交互来实现增量学习,其中mPFC和HC分别处理长期和近期的记忆存储,而BLA则在预测阶段决定使用哪个记忆系统。这种设计模仿了大脑如何处理和巩固记忆,使得FearNet能够在学习新类别的同时,减少对旧类别知识的遗忘。
image.png
FearNet模型中两个子系统,分别是内侧前额叶皮层(mPFC)和基底外侧杏仁核(BLA)。

  1. mPFC (Medial Prefrontal Cortex, 内侧前额叶皮层) 子系统:
    • 负责长期存储远程记忆(long-term storage of remote memories)。
    • 在FearNet中,mPFC是一个深度神经网络(DNN),它不仅被训练来使用对称的编码器-解码器结构重建其输入(即自编码器),而且还用于计算分类概率。
    • 自编码器的重建能力允许mPFC生成伪样本,这些样本用于在不需要存储实际训练数据的情况下进行记忆巩固。
  2. BLA (Basolateral Amygdala, 基底外侧杏仁核) 子系统:
    • 在预测时使用,以确定记忆应该从短期记忆还是长期记忆中召回。
    • BLA作为决策模块,帮助FearNet在进行预测时选择最合适的记忆系统。它的输出将影响是使用HC(海马体复合体,处理近期记忆)还是mPFC(处理长期记忆)来进行特定输入的分类。

在FearNet模型中,BLA的作用是动态选择最合适的记忆系统来处理当前的输入数据。这种设计模仿了大脑如何处理记忆的检索过程,即在需要时选择从短期记忆或长期记忆中提取信息。通过这种方式,FearNet能够灵活地处理新信息和旧信息,减少灾难性遗忘,同时提高增量学习的性能。

4.2 算法步骤

(1)训练阶段

  1. 初始化mPFC:使用基础知识集初始化mPFC网络。
  2. 存储类统计信息:为基础知识中的每个类别存储均值(µt)和协方差矩阵(Σt)。
  3. 循环学习会话:对于T/2到T的每个类别c:
    • 将类别c的数据(X, y)存储在HC(海马体复合体)中。
    • 如果c满足睡眠条件(例如,每K个学习会话后):
      • 使用HC中的数据和mPFC解码器生成的伪示例对mPFC进行微调。
      • 更新所有见过的类别的均值和协方差矩阵。
      • 清除HC中的数据。
    • 否则:
      • 更新BLA(基底外侧杏仁核)网络。

(2)预测阶段

  1. 输入数据:接收输入数据X。
  2. BLA预测:BLA网络预测使用HC还是mPFC进行回忆的概率A(X)。
  3. 计算ψ值:计算ψ值,它是HC预测的最高概率与BLA输出的组合。
  4. 决策回忆
    • 如果ψ值大于mPFC预测的最高概率,则使用HC进行回忆。
    • 否则,使用mPFC进行回忆。
  5. 输出预测:返回回忆网络的预测结果作为最终输出。

5 实验分析

(1)基于蒸馏回放 的ICaRL算法
image.png
说明在增量学习中,保留足够数量的示例对于维持对先前学习类别的记忆至关重要。
(2)不同的增量学习模型性能
image.png
image.png

  1. X轴:表示模型训练过程中所见到的类别数量。随着模型学习越来越多的类别,X轴的值增加。
  2. Y轴:表示平均测试准确率,即模型对所有至今见过的类别的测试样本正确分类的比例。
  3. 曲线:每条曲线代表一个不同的模型或基线方法,包括:
  • Offline MLP:这是一个非增量学习基线,它一次性接收所有训练数据。
  • 1-Nearest Neighbor (1-NN):最近邻算法,它通过存储所有训练数据来避免遗忘。
  • GeppNet+STM:GeppNet的变体,使用固定大小的短期记忆缓冲区。
  • GeppNet:基于自组织映射的增量学习模型。
  • FEL(Fixed Expansion Layer):使用稀疏更新来减少灾难性遗忘。
  • iCaRL(Incremental Classifier and Representation Learning):一种特别为增量类别学习设计的框架。
  • FearNet:本文提出的模型,使用双记忆系统和伪重演机制。
  1. 评价指标:
  • Ω b a s e \Omega_{base} Ωbase:衡量模型对基础知识(即早期学习过的类别)的保持能力。
  • Ω n e w \Omega_{new} Ωnew衡量模型对最新学习类别的测试准确率。
  • Ω a l l \Omega_{all} Ωall衡量模型对所有至今见过的类别的综合测试准确率。
  1. 实验结论
  • FearNet的优越性能:FearNet在CIFAR-100、CUB-200和AudioSet数据集上的所有类别至今所见的平均测试准确率(Mean-class test accuracy)表现出色,这表明它在增量学习过程中有效地减少了灾难性遗忘。
  • 减少灾难性遗忘:FearNet的设计显著降低了学习新类别时对旧类别知识遗忘的风险。这一点从图4中FearNet曲线相对于其他方法保持较高准确率可以看出。
  • 与现有方法的比较:表2中列出的FearNet与其他方法相比,通常具有更高的 Ω b a s e \Omega_{base} Ωbase Ω a l l \Omega{all} Ωall值,这表明FearNet在保持基础知识和整合新知识方面更有效。
  • FearNet的内存效率:FearNet不存储先前训练的示例,而是使用生成模型来模拟旧的记忆,这使得它在内存使用上更加高效。

(3)验证BLA的有效性
image.png
展示了FearNet在使用BLA进行网络选择与已知记忆位置的理想情况(预言者)之间的性能差异。BLA能够较好地预测应该使用mPFC(长期记忆)还是HC(近期记忆)进行回忆,这表明BLA在实际应用中是有效的。
(4)记忆巩固对于维持长期记忆的稳定性分析
image.png

  • X轴:表示在FearNet模型中进行记忆巩固(或称为“睡眠”)的频率。这个频率指的是模型在连续学习新类别之前,将新学到的信息从短期记忆(HC)转移到长期记忆(mPFC)的次数。
  • Y轴:表示性能指标,是平均测试准确率或其他衡量模型性能的指标。
  • 曲线:展示了随着睡眠频率减少(即学习更多类别后进行记忆巩固的间隔变长),FearNet在不同性能指标上的变化趋势。

图中显示了随着睡眠频率的减少(即记忆巩固间隔的增加),FearNet的性能在某些方面有所下降。这表明定期进行记忆巩固对于维持长期记忆的稳定性是重要的。
(5)多模态学习能力
截屏2024-06-23 下午4.41.42.png
表4显示了FearNet在处理来自不同模态(如图像和音频)的数据时的学习能力。这表明FearNet能够适应并学习多种类型的输入数据。Ωbase指标反映了模型对基础知识的保留能力。实验发现,当基础知识集较大或更具代表性时,模型在增量学习过程中对基础知识的保留更好。Ωnew指标衡量了模型对新类别的学习能力。实验结果表明,即使在增量学习新模态的数据时,FearNet也能够有效地学习新知识。Ωall指标提供了模型在整个测试集上的整体性能的视图。这揭示了FearNet在整合新旧知识方面的能力。
(6)内存需求
截屏2024-06-23 下午4.43.40.png
FearNet显示出比其他模型更低的内存需求,这表明它在内存使用上更为高效。
(7)对角线协方差矩阵(Diagonal Covariance Matrix)代替完整的协方差矩阵(Full Covariance Matrix)对FearNet模型性能的影响。
截屏2024-06-23 下午4.44.27.png
如果性能指标下降不多,这表明模型对协方差矩阵类型的敏感度较低。使用对角线协方差矩阵通常会减少模型的内存占用,因为它只存储方差而不是完整的协方差矩阵。如果性能下降可接受,这可能是一个内存优化的有效策略。这个实验说明了在FearNet模型中使用对角线协方差矩阵作为协方差矩阵简化的一种可能方法,以及这种方法对模型性能和内存效率的潜在影响。

6 思考

(1)结构比较复杂,分为三个模块,模块之间有生物启发的复杂关系。
(2)论文的“睡眠”是一个比喻,指的是FearNet在一定数量的学习会话后进行记忆巩固的过程。

相关文章:

【博士每天一篇文献-算法】Fearnet Brain-inspired model for incremental learning

阅读时间:2023-12-16 1 介绍 年份:2017 作者:Ronald Kemker,美国太空部队;Christopher Kanan,罗切斯特大学 期刊: arXiv preprint 引用量:520 Kemker R, Kanan C. Fearnet: Brain-…...

Appium+python自动化(二十六)- 烟花一瞬,昙花一现 -Toast提示(超详解)

简介  今天宏哥在这里首先给小伙伴们和童鞋们分享一个有关昙花的小典故:话说昙花原是一位花神,她每天都开花,四季都灿烂。她还爱上了每天给她浇水除草的年轻人。后来,此事给玉帝得知。于是,玉帝大发雷霆,要…...

大数据之路 读书笔记 Day1

大数据之路 读书笔记 Day1 阿里巴巴大数据系统体系架构图 1. 数据采集层 #mermaid-svg-YqqD2w3qV6jc2aGP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-YqqD2w3qV6jc2aGP .error-icon{fill:#552222;}#mermaid-sv…...

吴恩达揭秘:编程Agent如何革新软件开发行业

作为 AI 领域的杰出人物,吴恩达教授对编程 Agent 的兴起表示了极大的兴趣。他认为,编程 Agent 有潜力通过自动执行繁琐的任务、提高代码质量和加速开发周期来彻底改变软件开发行业。 本文将深入探讨吴恩达对编程 Agent 的见解, 多代理系统质…...

Study--Oracle-04-SQL练习

一、SQL语句思维导图 二、SQL练习 -- 以employee_id 为排序,列出前5个人 -- FETCH select employee_id,first_name from employees order by employee_id FETCH FIRST 5 rows only; -- 以employee_id 为排序,从第6个人开始 到第10个人 -- offset …...

目前音质最好的麦克风是哪款,一文读懂无线麦克风推荐哪些品牌好

​在自媒体时代,无线领夹麦克风成为自媒体人不可或缺的助手。它帮助我们在各种环境中保持清晰声音,提升创作效率与作品质量。然而,面对众多无线麦克风产品,挑选一款性价比高、性能卓越的款式却成为难题。今天,我将分享…...

Python笔记 异常、模块与包

一、了解异常 异常的概念 什么是异常 当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的“异常”,也就是我们常说的BUG。 二、异常的捕获 1.知道为什么要捕获异常 世界上没有完美的程…...

spark查看日志

Logger 当 Spark 任务已经提交到集群运行后&#xff0c;可以通过以下几种方式查看LoggerFactory输出的日志&#xff1a; Web 界面&#xff1a;在 Spark 任务运行时&#xff0c;可以通过访问 Spark 的 Web UI 来查看日志。通常&#xff0c;可以在浏览器中输入http://<drive…...

【LeetCode】每日一题:LRU缓存

请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否则返回 -1 …...

记录一个Xshell使用中Xmanager...X11转发的提示问题

希望文章能给到你启发和灵感&#xff5e; 如果觉得有帮助的话&#xff0c;点赞关注收藏支持一下博主哦&#xff5e; 阅读指南 一、环境说明1.1 硬件环境1.2 软件环境 二、问题和错误三、解决四、理解和延伸一下 一、环境说明 考虑环境因素&#xff0c;大家适当的对比自己的软硬…...

Mamba 模型

建议观看讲解视频&#xff1a;AI大讲堂&#xff1a;革了Transformer的小命&#xff1f;专业拆解【Mamba模型】_哔哩哔哩_bilibili 1. 论文基本信息 2. 创新点 选择性 SSM&#xff0c;和扩展 Mamba 架构&#xff0c;是具有关键属性的完全循环模型&#xff0c;这使得它们适合作…...

30-33、SpringBoot项目部署\属性配置方式\多环境开发(一个文件)\多环境分组(多个文件)

1、打包插件:和springboot的版本保持一致 根pom <build><plugins><!--打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.1.3</versi…...

【PyQt5】一文向您详细介绍 setContentsMargins() 的作用

【PyQt5】一文向您详细介绍 setContentsMargins() 的作用 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通…...

分页查询前端对接

文章目录 添加角色修改角色当点击修改按钮后,那么就会弹出对话框,所以要设置显示为true点击修改的时候就是 要显示对话框 制作用户管理页面开发后端接口用户查询前端整合新增接口功能实现修改 添加角色 首先添加 添加表单的组件 那么总结一下 就是使用 组件 然后再使用变量接…...

从一万英尺外看libevent(源码刨析)

从一万英尺外看libevent 温馨提示&#xff1a;阅读时间大概二十分钟 前言 Libevent是用于编写高速可移植非阻塞IO应用的库&#xff0c;其设计目标是&#xff1a; 可移植性&#xff1a;使用libevent编写的程序应该可以在libevent支持的所有平台上工作。即使没有好的方式进行非…...

Linux部署SVN

一.下载与安装 &#xff08;1&#xff09;yum安装 yum install subversion &#xff08;2&#xff09;源文件编译安装 ①下载svn源文件 subversion-xxx.tar.gz&#xff08;subversion 源文件&#xff09; subversion-deps-xxx.tar.gz&#xff08;subversion依赖文件&…...

Linux高并发服务器开发(二)系统调用函数

文章目录 1 系统调用2 errno3 虚拟内存空间4 文件描述符5 常用文件IO函数6 阻塞和非阻塞7 lseek 偏移函数8 文件操作函数之stat函数9 文件描述符复制 dup10 fcnlt函数 修改文件属性11 目录相关操作12 时间相关函数 1 系统调用 根据系统调用&#xff0c;获取驱动信息、CPU的信息…...

rk3568 Android 11在系统怎样执行命令获取SN号

目录 1. 使用ADB&#xff08;Android Debug Bridge&#xff09;2. 使用Shell脚本或应用程序3. 使用系统API4. 直接在设备上使用Shell5. getprop使用方法常见属性示例注意事项 在瑞芯微RK3568 Android 11系统中执行命令或获取SN号&#xff08;序列号&#xff09;通常可以通过几种…...

PostgreSQL 性能优化与调优(六)

1. 索引优化 1.1 创建索引 索引可以显著提高查询性能。创建索引的基本语法如下&#xff1a; CREATE INDEX index_name ON table_name (column_name);例如&#xff0c;为 users 表的 username 列创建索引&#xff1a; CREATE INDEX idx_username ON users (username); 1.2 …...

win10 安装openssl并使用openssl创建自签名证书

win10创建自签名证书 下载安装配置openssl 下载地址&#xff1a; https://slproweb.com/download/Win64OpenSSL-3_3_1.exe https://slproweb.com/products/Win32OpenSSL.html 完成后安装&#xff0c;一路next&#xff0c;到达选位置的之后选择安装的位置&#xff0c;我这里选…...

【OpenCV 图像处理 Python版】图像处理的基本操作

文章目录 1.图像的 IO 操作1.1 图像读取 imread1.2 图像显示1.2.1 opencv 方式1.2.2 matplotlib 方式 1.3 图像保存 imwrite 2.绘制几何图形1. 绘制直线2. 绘制矩形3. 绘制圆形4. 绘制多边形5. 添加文字 3.获取并修改图像中的像素点3.1 获取像素值3.2 修改像素值3.3 获取和修改…...

HarmonyOS应用开发学习经验

一、HarmonyOS学习官网 开发者能力认证 HarmonyOS应用开发者基础认证6月之前的学习资源官网已经关闭过期&#xff0c;大家不要慌&#xff0c;官方更新了最新资源&#xff0c;但是&#xff0c;对于之前没有学习完的学员不友好&#xff0c;存在知识断片的现象&#xff0c;建议官…...

LLM大语言模型应用方案之RAG检索增强生成的实现步骤。

0.我理解的RAG 什么是RAG&#xff1f; RAG的全称是“检索增强生成模型”&#xff08;Retrieval-Augmented Generation&#xff09;。这是一种特别聪明的大语言模型。 RAG是怎么工作的呢&#xff1f; 1.检索&#xff1a;当你问RAG一个问题时&#xff0c;它会先去“图书…...

【python学习】学习python的小项目

学习Python时&#xff0c;通过完成一些小项目可以帮助你巩固知识并提升实践能力。以下是一些适合学习Python的小项目建议&#xff1a; 命令行计算器&#xff1a; 创建一个简单的命令行计算器&#xff0c;可以执行基本的算术运算&#xff08;加、减、乘、除&#xff09;。使用i…...

java-冒泡排序 1

## Java中的冒泡排序 ### 1. 冒泡排序的基本概念 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单且直观的排序算法。它通过重复地遍历待排序的列表&#xff0c;比较相邻的元素并交换它们的位置&#xff0c;使较大的元素逐步从列表的一端移动到另一端&#xff0c;就像…...

【STM32】USART串口通讯

1.USART简介 STM32芯片具有多个USART外设用于串口通讯&#xff0c;它是 Universal Synchronous Asynchronous Receiver and Transmitter的缩写&#xff0c; 即通用同步异步收发器可以灵活地与外部设备进行全双工数据交换。有别于USART&#xff0c; 它还有具有UART外设(Univers…...

Qt6中如何将QList转为QSet?

QSet是一个具有唯一值的哈希集合。比较少用。比较有用的是QSet里面的intersect查找两个集合中不同元素&#xff0c;并合并。 转换过程比较简单&#xff0c;第一种是直接用迭代器。 QSet<int> set(list.begin(), list.end()); 第二种就是逐一遍历赋值&#xff1a; QLi…...

aspectj:AOP编程备忘录-切面定义的注意事项

AOP编程时定义切面时需要注意的事 Around 以Around注解拦截构造方法(Constructor)时切面定义只能用call方式而不能是execution&#xff0c;否则 ProceedingJoinPoint.proceed()返回的是null&#xff0c;得不到构造的实例。 execution execution切入点要修改对象内部&#x…...

大数据面试题之Hive(1)

目录 说下为什么要使用Hive?Hive的优缺点?Hive的作用是什么? 说下Hive是什么?跟数据仓库区别? Hive架构 Hive内部表和外部表的区别? 为什么内部表的删除&#xff0c;就会将数据全部删除&#xff0c;而外部表只删除表结构?为什么用外部表更好? Hive建表语句?创建表…...

【Git】分布式版本控制工具

一、简介 二、目标 Git分布式版本控制工具 一、简介 Git是一种分布式版本控制系统&#xff0c;用于跟踪和管理源代码的变化。它由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;于2005年开发&#xff0c;并迅速成为最流行的版本控制工具之一。以下是关于Git的一些关键…...