深度孤立森林 Deep Isolation Forest论文翻译(上)

news2024/9/23 7:26:49

README 

绝大部分是自己翻译自己手打的,少部分参考有道翻译,主要是想仔细再读一遍,顺便就打出来了。这篇论文内容比较多,有代码,原作者有github和知乎账号,感兴趣可以找一下。欢迎讨论和批评指正。

用于异常检测的深度孤立森林

摘要

孤立森林(iForest)由于其在不同基准数据集上的广泛有效性和强大的可扩展性正在兴起为近年来最热门的异常检测器。然而,其平行于轴的线性划分方法通常导致(i)难以检测在高维/不可线性分离数据中的难以检测的异常,(ii)臭名昭著的算法偏差,将出乎意料的低异常分数分配给假象区域(artefact regions)。这些问题导致了高的假阴性错误。已有一些孤立森林的扩展,但它们仍然实施浅显的、线性的数据划分,限制了它们分离真实异常的能力。因此,本文提出深度孤立森林。本文引入一个新的表示方法,使用随机初始化的神经网络来将原始数据映射到随机表示集成中,随后使用随机的基于轴平行的切割来实现数据划分。这种表示方法提高了在原始数据空间中划分的高的自由度(相当于在不同大小的子空间中进行非线性划分),促进了随机表示和基于划分的随机分离之间的协同作用。进一步的实验表明本文的模型与现有最新的基于分离的方法以及深度检测器相比,在表格、图和时序数据上有明显的提升;本文模型也继承了孤立森林的期望的可扩展性。

关键词 异常检测 孤立森林 深度表示 集成学习

引言

异常检测在各种各样的领域有着广泛的应用,例如保险欺诈检测和经济犯罪、数据中心或航天器等复杂系统的监测、以及网络空间中攻击和潜在危险的识别。鉴于这些重要的应用,该任务在数十年来已经成为一个热门的研究话题,出现了大量的异常检测方法[1]、[2]。

近年来,孤立森林(iForest)[3] 由于其在不同基准数据集上的广泛有效性和强大的可扩展性正在兴起为最热门的异常检测器。与许多现有方法例如基于距离、密度的方法相比,孤立森林更好地捕捉了异常点的关键本质,即“少且不同”。它不引入额外的数据特征的假设,因此在不同数据集上表现出一致地高性能。而且,孤立森林有着线性时间复杂度,这通常是一个在有大规模数据和严格时间效率需求的工业应用中非常吸引人的优点。具体地,孤立森林使用一个孤立树(iTee)的集成,孤立树在这个集成中迭代地分支。叶子结点通过使用在随机选择的特征上进行随机切割来构造直到数据对象被孤立。数据的异常程度通过在这些孤立树中从根结点到孤立的叶节点的遍历平均路径长度来估计。

然而,一个明显的问题是它不能处理困难异常(例如,只能通过观察多个特征的组合,在高阶子空间中进行隔离的异常)因为它对所有的异常都是分别处理的且在每次分离操作中只考虑一个特征。图1用一个简单的例子说明了这个问题。异常点(用红色三角形表示)被一个环形的正常样本集围绕,这不能被x轴或y轴切片隔离切割。尽管这些异常点可能通过多次的切割最终被分离,这导致了在孤立树中和正常点相比难以区分的隔离深度。这些异常的失败检测会导致高的假阴性错误。鉴于异常通常包换和潜在意外或故障的关键信息,这些假阴性可能会导致严重的后果。因此,这些问题成为了妨碍孤立森林的性能的一个主要瓶颈,特别是在高维/不可线性划分的数据空间中。

图1. 困难异常挑战的说明。左图是一个合成数据集,红色三角形为异常点,蓝色点为正常样本。后续图像本文方法为构造的空间(即随机表示)。现有方法中使用的线性数据划分(不论是以竖直/水平或斜的方式)不能有效地隔离在原始数据空间中隔离这些困难异常。相反,这些异常可能在新创建的空间中被暴露。

iForest的另一个固有缺陷是,将出乎意料的低异常分数分配给假象区域(artefact regions),这个问题是由算法本身引入的,在[4]中被展示为“幽灵区域(ghost region)”。为了清楚地展示这个问题,图2的前两列分别为本文对[4]中的3个人造二维数据集的数据分布进行的可视化和iForest生成的异常得分图。从三个异常分数图中可以看出,孤立森林给某些假象区域分配了明显低的异常分数,即在单簇数据集中,以呈现的数据对象为中心的四个矩形区域(第一行),两簇数据集中的右上和左下的区域(第二行),以及正弦数据集中沿正弦曲线的垂直矩形区域(第三行)。然而,这些区域和其他没有样本的区域对显示的数据对象有相同的径向距离。异常值较低是由于iForest算法固有的算法偏差造成的,即,在孤立树的构建中仅使用平行于轴的划分。相反,一个期望的异常分数图应当平滑地接近反映数据密度的圆形等高线。这个问题也导致了假阴性错误,即孤立森林可能不能检测到例如图2的红色三角形这些“幽灵区域”中可能的异常点,因为它们被分配的异常分数与一些呈现的正常对象相似,属于正常区域。

图2. 算法偏差问题的说明。最左侧的三个图像为合成数据集,每个数据集后面为孤立森林及其两个最先进的扩展——PID和EIF以及本文方法DIF产生的异常分数图。分数图展示了在整个数据空间中的异常分数分布(更深的颜色意味着更高的异常度)。每个分值图中的黑色等高线表示原始数据异常分值的第99百分位数,可以看做每个异常检测器预测的数据正常度的边界。红色三角形代表可能的异常。孤立森林和它的两个扩展方法的分数图中有一些假象区域,这些方法可能无法识别异常,由于异常被分配了和正常数据相似的低异常分数(它们被包含在预测的正常区域内)。相反,DIF产生更准确更平滑的分数图,且DIF成功地给异常分数分配了比其他原始数据样本更高的异常等级。

       近年来已有许多孤立森林的扩展算法[4]、[5]、[6]、[7]、[8]、[9]。这些扩展尝试设计更先进的隔离方法,通过(i)使用新的等级标准来选择划分阈值及/或维度[6]、[8]、[9]或(ii)使用最优/随机超平面[4]、[5]、[7]。这些改进成功地带来了更好的检测性能,但它们的隔离方法仍然被线性划分限制。相反,在隔离阶段的数据划分期望在数据空间中形成非线性的任意的形状来解决在复杂数据集中的困难异常,并消除从异常分数中产生的算法偏差。本文在图2中展示了两个最先进的扩展(PID[6]和EIF[4])。PID[6]选择性地挑选划分维度且使用相似的轴平行划分。因此,它的分数图也有同样的算法偏差问题。EIF[4]效果更好因为它使用了具有随机斜率和截距的超平面作为分支标准,在一定程度上消除了基于轴平行划分的限制。然而,这些划分仍然是线性的,在具有挑战性的数据集上并不高效,只有非线性划分在这类数据集上能够从其他数据中有效地将异常分离出来。图2中所有三个数据集中相当褶皱的异常分数轮廓反映了这个问题。

       因此,这些限制的关键变得非常明确,即需要更进一步地解除线性限制下的划分方法的限制。为了实现这个目的,本文提出了一种孤立森林的新的扩展,称为深度孤立森林(Deep Isolation Forest, DIF)。DIF的关键思想是利用神经网络的强大表示能力将原始数据映射到一组新的数据空间中,且非线性划分可以通过在这些新空间上实施简单的轴平行划分来实现(相当于在原始数据空间的不同大小的子空间中进行非线性划分)。具体地,本文提出一种新的表示方法——随机表示集成——由无优化的深度神经网络产生。这些网络仅被任意初始化且不包含任何的优化或训练过程。DIF随后在这些表示上简单地利用随机的平行于轴的切割。本文的表示方法的任意性使在原始数据空间中的数据划分具有高的自由度,促进了一种随机表示和基于随机划分的隔离之间的一种独特的协同作用。这方便了困难异常的有效划分和算法偏差的消除,因此显著提高了检测性能。图1展示了DIF创造的四个随机表示,其中困难异常可能被暴露,且使用少数平行于轴的切割就可以简单地被分离。且如图2所示,DIF算法能够准确地为所提出的数据对象分配异常分数,并对其他区域的异常分数进行平滑估计,从而缓解了上述算法的偏差问题。

       进一步,在DIF的具体实现中,本文提出了计算高效的表示集成方法(CERE)和偏差增强的异常分数函数(DEAS)。在CERE的帮助下,DIF可以充分利用并行加速器在小批量计算中高效地产生表示集成,在很大程度上消除了计算开销。DEAS利用映射的密集表示中包含的隐藏定量信息和定性比较。这些额外的信息使我们能够更准确地评估数据对象的隔离难度,从而得到更好的异常评分函数。

       本文的主要贡献总结如下:

●本文提出深度孤立森林(DIF)方法。引入一种可以在不同大小子空间上实现非线性划分的新的隔离方法,提出一种比现有的仅能使用线性划分的方法更高效的异常隔离方法。这种方法可以更好地处理高维/不可线性分离的数据空间的复杂数据集中的困难异常并消除算法偏差。本文还表明DIF是孤立森林及其最新扩展EIF的一个高级泛化。

●本文提出一个新的表示方法,随机表示集成,只需要任意初始化的神经网络。这种表示方法极大地提高了在原始数据空间中划分的自由度。随机表示和基于随机划分的隔离之间的独特的协同作用在整个基于集成的异常估计阶段带来了极好的任意性和期望的多样性。

●本文提出表示集成方法CERE来确保DIF可以继承孤立森林的良好的可扩展性。引入异常评分方法DEAS来利用包含在映射的密集表示中的隐藏定量信息,提高了DIF的异常评分质量。

●DIF提供了一个与数据类型无关的异常检测解决方案。DIF可以通过简单地在特征映射中使用相应的随机初始化的神经网络来检测不同类型数据中的异常。

       对大量真实数据集(不仅包括表格数据,还包括图表和时间序列数据)进行的大量实验表明:(i)DIF明显优于孤立森林及其两个最新的扩展(6.2节);(ii)DIF与先进的深度异常检测器集成相比,也取得了显著的改进(6.2节);(iii)DIF在高维、大规模数据集上具有期望的可扩展性(6.3节),并对异常污染具有良好的鲁棒性(6.4节);(iv)通过与几个替换方案进行比较,证明了随机表示和基于随机划分的隔离之间的协同作用的重要性(6.5节);(v)本文的消融实验分别验证了CERE和DEAS的作用(6.6节)。

2 相关工作

2.1 异常检测

异常检测是近年来研究的热点,主要利用不同的数据特征如距离、密度、聚类成员或概率[1]进行异常检测。最近的研究[10]、[11]、[12]、[13]设计了基于表示学习的深度异常检测模型,其他方法使用深度学习中例如重构[14]或偏差[15]的概念作为评分方法。调查和对比研究可参考[2]、[16]、[17]。此外,还有一些实用的异常检测工具被开发,例如[18]、[19]、[20]、[21],来方便在现实世界的应用中使用异常检测模型。

2.2 孤立森林及其扩展

孤立森林[3]是一个非常热门的异常检测方法,根据在数据空间中隔离的难易程度来识别异常。尽管孤立森林在几个基准数据集上展现出高效的性能,一些它的改进方法也被提出,尝试修复其臭名昭著的漏洞并获得更好的检测性能。这些扩展的主流专注于设计更高效的隔离方法。SCIF[5]引入一个非轴平行的方法作为分支标准,即不是在划分中选择一个特征,而是使用一个最优的切片超平面。EIF[4]也使用了超平面,但是是有随机斜率和截距的超平面。其他工作[7] 通过从斜率方向的投影值范围中选择分裂阈值,进一步解决了EIF的空分支问题。PID[6]根据划分分支的稀疏性,选择性地选择方差较大的维度和分割点。文献[9]提出了一个基于概率的方法来找到比随机划分更好的分割值。这些扩展通常通过引入非轴并行来获得更好的性能和/或启发式划分。然而,主要的问题是他们仍然依赖于线性划分操作,这意味着处理需要非线性分离作为隔离方法的复杂数据也很困难。而且,它们由于隔离过程中隐藏的算法偏差,也受到前面提出的假象问题的影响。有一些在隔离过程中应用最近邻信息的扩展,例如LeSiNN[22]和iNNE[23]。文献[24]进一步使用了局部敏感哈希来扩展隔离机制到任意距离方法和数据类型上。这些基于距离的方法引入一种额外的假设,即异常远离其他数据对象。然而,这个假设并不总是成立,因为簇状异常点离它们的毗邻邻居也非常近[5]。检测性能对距离标准的选择也很敏感。

       另一个角度是改进评分方法。文献[25]引入一种带权重的路径评分方法和一个基于概率的集成方法。PID[6]根据稀疏程度而不是树的深度重新定义了评分方法。同样地,这些扩展由于其线性划分方法仍然较脆弱。

2.3 深度集成

深度集成[26],一个组合一组独立训练的网络的结果的简单框架,受到了广泛的关注。它可以提高准确率并在简单框架中提供不确定性估计,且不改变原始网络管道。和其他基于集成的方法相似,深度集成的质量很大程度上依赖于其成员的多样性。尽管深度集成简单,它依然引入相当大的计算消耗。因此,许多相关研究尝试解决这两个关键限制,例如[27]使用排斥的属于来确保个体多样性,[28] 通过反向阻止特征之间的条件可预测性来增加多样性,[29]提出了一个蒸馏模型来吸收尽可能集成内多的函数多样性。另外,这个框架给异常检测的相关工作带来了启发。文献[30]、[31]组合了一组自编码器并使用重构误差的中值作为异常分数。为了实现成员多样性,这些自编码器是稀疏连接的。

       本文工作同样包括神经网络集成的过程。从深度集成方面,本文的工作可以有效地解决上述两个关键问题。集成成员之间的多样性可以得到保证且由于只需要初始化神经网络,计算效率也可以得到保持。该工作还可能为深度集成研究发展提供有价值的见解。

3 问题声明和表示

为一个有N个数据对象的数据集,异常检测就是给出一个评分函数来估计每个数据对象的异常程度。许多现有的不同研究都只关注一种特定类型的数据,本文工作中不限制数据对象的类型,这意味着它们可以是多维向量、时间序列数据或图。在本文中,使用书法字体表示集合,手写字体表示函数,加粗小写字母表示向量,加粗大写字母代表矩阵。表1总结了主要的表示符号。

表1 本文使用的主要表示符号

4 前言:孤立森林

为了清晰起见,本文回忆孤立森林的基本程序[3]。提出了基础的结构,称为孤立树(iTree)。孤立树 τ 本质上是一个二叉树,且树中的每个结点对应着一个数据对象池。包含 n 个数据对象的子集被用作根结点的数据池,这个自己是从整个数据集中随机子采样得到的。孤立树 τ 以自顶向下的方式通过递归划分叶节点中的数据对象生成(即将数据对象不相交地划分为两个子节点),直到结点中只剩一个数据对象或达到了最大深度限制。iForest使用一种简单的隔离方法,将数据对象的第j维o(j)和作为每个数据对象分支标准的划分值η进行比较,其中j和η分别表示随机选择的特征索引和第j个特征可用值范围内的划分值。每个数据对象 o 在孤立树τ中有一个遍历路径p(o|τ),遍历路径的长度 |p(o|τ)| 可以被自然地看做o 的异常等级的指标(异常点通常更容易被分离,有较短的路径长度)。孤立森林构造一个有 T 棵孤立树的森林。数据对象 o 的异常分数基于它在这个森林中所有孤立树上的平均路径长度计算,即,其中C(T)是一个正则化因子。

       孤立森林使用一个线性的平行于轴的隔离方法,每次仅考虑一个维度,现有方法引入基于超平面的隔离包含了多个维度,但同样地,只能实现线性划分。这些现有的隔离方法受到限制,不能有效地处理困难异常,这些困难异常无法通过对单个特征的线性划分或多个特征的简单组合进行隔离。此外,这些现有方法普遍受隔离策略中隐藏的约束带来的算法偏差的影响。

5 深度孤立森林

本文需要一种新的隔离方法来脱离上述的限制从而可以高效地隔离那些困难异常并避免算法偏差。为了达到这个目的,本文引入深度孤立森林方法。总而言之,DIF构建一个从深度神经网络中得到的表示的集成,在新的数据空间中采用简单的平行于轴的划分来构建孤立森林中的孤立树。本文没有遵循组合独立训练神经网络的深度集成框架,而是使用由无优化神经网络产生的随机表示的集成,这些神经网络只需要简单的偶然初始化。这种新的表示方法在原始数据空间上具有较高的划分自由度。新投影表示空间中的每个特征都是基于多个原始特征之间的非线性交互,这意味着新空间的轴平行划分可以在原始空间中形成有效的非线性切割。这种方法成功地将切片切割从当前的线性约束中解放出来。那些在原始数据空间中无法轻易隔离的硬异常可能在表示空间中暴露出来,并且可以通过更少的切割来隔离它们,从而导致更清晰的异常。同时,随机表示和随机划分隔离之间的独特协同作用可以促进整体的基于集合的异常估计。

5.1 DIF公式

DIF首先通过无优化的神经网络产生随机表示的集合,定义为

    (1)

其中 r 是集成大小,是将原始数据映射到新的d维空间中的神经网络,网络的权重θu是随机初始化的。每个表示被分配给t个孤立树,构造了一个有T=r*t棵孤立树的森林。X的孤立树τi由一组投影数据的根节点P1⊂X初始化。数据池的第k个节点Pk被分成两个叶子节点,每个叶子节点的子集互不相交,即P2k = {x|x (jk) ≤ ηk, x ∈ Pk}, P2k+1 = {x|x (jk) > ηk, x ∈ Pk},其中jk在新创建的数据空间{1,..,d}的所有维度中均匀随机地选择,x(jk)是投影数据对象的第jk[1]维,ηk是{x(jk)|x∈Pk}范围内的一个分割值。

       在构建之后,一个数据对象 o 的异常程度通过在森林里每棵树上隔离的难易程度来评估。评分函数定义为

   (2)

其中I(o|τi)表示一个衡量在孤立树τi中隔离的难易程度的函数,Ω表示一个集成方法。

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

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

相关文章

设计模式及创建型模式-python版

1 架构模式与设计模式 架构模式搞层次的设计模式, 描述系统整体结构和组织方式,设计模式是针对某个问题的解决方案,是一种解决问题的思路。 2 设计模式的分类 2.1 创建型模式 单例模式,工厂方法模式,抽象工厂模式&…

无人机反制:无线电侦测设备技术详解

无人机反制技术中的低空安全综合管理平台,作为守护低空安全的重要工具,集成了多种先进的技术手段和管理功能,实现了对无人机等低空飞行器的全方位、无死角监控与反制。以下是对该技术平台的详细解析: 一、技术架构与核心功能 低…

HTB-bike(SSTI模版注入)

前言 大家好,我是qmx_07,今天给大家讲解bike靶场 渗透过程 信息搜集 服务器开放了 22 ssh 和 http80端口 Wappalyzer 介绍:Wappalyzer是一种浏览器扩展程序,用于识别正在访问的网站所使用的技术栈和工具,比如使用的web框架&…

紫光同创PDS自动构建

1.开发背景 随着开发进度的不断迭代,需要对代码实行管控,FPGA代码管控也很重要,这个篇章主要是对紫光同创 PDS 开发环境下实现代码自动构建功能 2.开发需求 设计实验: 1)点击一个脚本自动编译工程 2)工程…

Fréchet Inception Distance(FID)原理

原理概述: FID 的核心思想是通过比较真实图像和生成图像在 Inception 模型特征空间中的分布差异,来评估生成模型的性能。它假设从真实数据和生成数据中提取的特征都近似服从高斯分布。 具体步骤: 特征提取:使用预训练的 Incepti…

动态加载使用Appsflyer报错Attribution data for this AppsFlyer ID is not available

1. 使用动态classloader加载AF SDK 日志:不能获取到非自然量 2024-09-03 18:07:22.350 2114-2114 ddup com.pn.cal I 找到AssetManager 2024-09-03 18:07:22.350 2114-2114 ddup com.pn.cal …

免费分享:中国煤炭资源分布图

数据详情 中国煤炭资源分布图 数据属性 数据名称:中国煤炭资源分布图 空间位置:中国 ​ 下载方法 打开数字地球开放平台网站,需要先注册登录,登录完成后,选择服务与支持下的资源下载,搜索并点击进入本…

Python加载 TorchScript 格式的 ResNet18 模型分类该模型进行预测并输出预测的类别和置信度

首先加载预训练的 ResNet18 模型。将模型设置为评估模式,以确保特定层(如 Dropout 和 BatchNorm)在评估时具有确定性的行为。创建一个形状为 (1, 3, 224, 224) 的随机张量作为示例输入。使用 torch.jit.trace 函数追踪模型在给定示例输入上的…

渗透测试靶机----DC系列 DC-1

渗透测试靶机----DC系列 DC-1 开启靶机,依旧是登陆窗,平平无奇 扫描ip,扫描端口,服务等信息 可以看到这里存在80服务,访问看看 非常明显,这里存在一个Drupal 的cms 并且是一个登录框,思路打开 …

VMware Fusion 13.6 发布下载,新增功能概览

VMware Fusion 13.6 发布下载,新增功能概览 VMware Fusion 13.6 for Mac - 领先的免费桌面虚拟化软件 适用于基于 Intel 处理器和搭载 Apple 芯片的 Mac 的桌面虚拟化软件 请访问原文链接:https://sysin.org/blog/vmware-fusion-13/,查看最…

位运算专题——常见位运算位图的使用力扣实战应用

目录 1、常见位运算 2、算法应用【leetcode】 2.1 判断字符是否唯一【面试题 】 2.1.1 算法思想【位图】 2.1.2 算法代码 2.2 只出现一次的数字 III 2.2.1 算法思想 2.2.2 算法代码 2.3 丢失的数字 2.3.1 算法思想 2.3.2 算法代码 2.4 两整数之和 2.4.1 算法思想 2…

C语言之猜数字小游戏

哈喽,大家好!我是冰淇淋加点糖。今天我们来用前面所学的知识来开发一个猜数字的小游戏,锻炼我们的编程能力和编程思维。 猜数字小游戏功能简介 1.随机生成一个1-100的数字。 2.玩家用户开始猜数字。 > 猜大了,提醒猜大了…

【爬虫软件】采集抖音博主的主页发布作品

这是我用python开发的抖音爬虫采集软件,可自动按博主抓取已发布视频。 软件界面截图: 爬取结果截图: 几点重要说明: 软件使用演示视频: https://www.bilibili.com/video/BV1Kb42187qf 完整讲解文章: ht…

虚幻5|技能栏UI优化(3)——优化技能UI并实现显示背景UI,实现技能界面设计,实现技能栏的删除和添加

实现技能栏添加:将技能界面里的技能拖到技能栏格子 一.调整,在拖出技能的时候,还会有边框 1.打开拖拽的技能格子UI 除了技能按钮,下面的子级都放到垂直框的子级,然后删除技能按钮 2.将垂直框替换成包裹框 你会发现有…

OS_线程

2024.07.01:操作系统线程学习笔记 第7节 线程 7.1 线程的基本概念7.1.1 单线程地址空间 vs 多线程地址空间 7.2 线程的状态与转换(照搬进程设计)7.2.1 线程的3种基本状态 7.3 线程管理中的数据结构7.3.1 线程的用户栈7.3.2 线程的内核栈 7.4 …

用户时长进入“零和”时代,App们如何借Push胜出?

作者 | 曾响铃 文 | 响铃说 激烈的市场竞争、快速变化的用户需求、层出不穷的新赛道新玩法……对如今移动互联网的App开发者而言,寻求用户增长的压力变得越来越大。 而与此同时,Push作为促进用户增长的关键手段之一,其执行过程中的诸多问题…

坑——fastjson将字符串转到带枚举的java对象

fastjson将不同的字符串转换成带枚举的java对象时&#xff0c;不同的字符串值转换成java对象的结果不同&#xff1b; 测试用fastjson版本&#xff1a; <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <ver…

[有彩蛋]大模型独角兽阶跃星辰文生图模型Step-1X上线,效果具说很炸裂?快来看一手实测!

先简单介绍一下阶跃星辰吧 公司的创始人兼CEO是姜大昕博士&#xff0c;他在微软担任过全球副总裁&#xff0c;同时也是微软亚洲互联网工程研究院的副院长和首席科学家。 2024年3月&#xff0c;阶跃星辰发布了Step-2万亿参数MoE语言大模型预览版&#xff0c;这是国内初创公司首…

公司监控上网记录怎么实现?监控公司局域网内电脑的上网记录,这4个方法不妨一试!

在繁忙的办公室里&#xff0c;每位员工的手指在键盘上跳跃&#xff0c;屏幕闪烁间&#xff0c;他们究竟在忙碌什么&#xff1f;是沉浸在工作的海洋中&#xff0c;还是悄然滑向了网络的另一端&#xff1f; 为了解答这一疑问&#xff0c;确保工作效率与信息安全&#xff0c;公司纷…

webpack--处理资源

在webpack.config.js中进行配置 const path require(path) module.exports {// 入口entry: ./src/main.js,// 输出output: {// 文件的输出路径path: path.resolve(__dirname, dist),// 入口文件打包输出的文件名filename: js/main.js,// 自动清空上次打包结果 原理&#xff…