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

线上海报设计网站/网店怎么运营和推广

线上海报设计网站,网店怎么运营和推广,桂林市委书记,直装模板源码模型可解释性 前言导读Background1、为什么需要可解释性?2、诞生背景3、研究现状4、常见的模型可解释性方法4.1 基于模型自身的可解释性1)Explanation Generation2)Prototype Network 4.2 基于结果的可解释性 5、应用前景6、面临挑战 前言导读…

模型可解释性

  • 前言导读
  • Background
  • 1、为什么需要可解释性?
  • 2、诞生背景
  • 3、研究现状
  • 4、常见的模型可解释性方法
    • 4.1 基于模型自身的可解释性
      • 1)Explanation Generation
      • 2)Prototype Network
    • 4.2 基于结果的可解释性
  • 5、应用前景
  • 6、面临挑战

前言导读

无论在学术界还是工业界,模型可解释性目前都还是一个相当新的领域。本文用综述的形式对模型可解释性做一个总体介绍,帮助大家了解什么是模型的可解释性,以及它诞生的背景是什么样的,我们为什么需要模型的可解释性;然后对模型可解释性领域的发展过程和现状做一个介绍,包括模型可解释性领域有哪些研究工作,不同的流派和它们的代表性思路;最后会分享我们对这个领域的发展趋势以及应用所面临的挑战的一些思考。

Background

机器学习模型可解释性方面的研究,在近两年的科研会议上成为一个相当热门的话题。随着机器学习应用越来越广泛,大家不再仅仅满足于模型的效果,而是希望对模型效果背后的原因有更好的理解。同时,在工业界落地 AI 时,构建能让用户理解的模型也变得越来越重要,在医疗、金融和司法等高风险应用中,这一点尤其明显。只有可被解释的机器学习模型,才可能被更广泛地采纳,并避免歧视性预测和对决策系统的恶意攻击。但目前模型可解释性的研究仍处于非常早期的阶段,距离应用尚需时日。

本文由 InfoQ 整理自阿里巴巴达摩院智能服务事业部算法专家邱天在 AICUG 线上直播公开课上的分享,希望能够帮助读者更好地了解模型可解释性领域的发展现状。
【原文链接】https://www.infoq.cn/article/xiytqjiic5spsp04adk9

1、为什么需要可解释性?

随着黑箱机器学习模型越来越多地被用于在关键环境中进行重要的预测,人工智能的各个利益相关者对透明度的要求越来越高。黑盒模型的风险在于做出和使用的决策可能不合理、不合法,或者无法对其行为进行详细的解释。
黑盒模型 & 可解释性模型
在很多领域,模型的可解释性都十分有必要。例如,在精准医疗中,为了支持诊断,专家需要从模型中获得远比简单的二元预测结果多得多的信息。在自动驾驶汽车,以及交通、安全、金融等关键领域,AI 算法模型也需要是可解释的。

近几年,模型可解释性概念越来越火,相关论文文献的数量也是这两年开始暴增。但这是否意味着我们过去一直没有可解释性呢?其实并不是。

2、诞生背景

在这里插入图片描述
最早的人工智能系统,如上图右侧图(a)的线性模型,其实是很容易解释的。因为线性模型本身涉及的权重很少,而且非常直观,每个权重的大小就意味着对应的特征可以对最后的结果产生多大的贡献。但是过去几年我们见证了不透明决策系统的兴起,比如深度神经网络(DNNs)。深度学习模型(如 RNN、BERT)的成功源于高效的学习算法及其巨大的参数空间的结合,一个参数空间可能由数百层和数百万个参数组成,这使得 DNNs 被认为是复杂的黑盒模型。

随着算力越来越强,算法模型变得越来越复杂、体积也越来越大,我们已经很难解释这些模型了,虽然它的能力确实很强,能够帮我们做越来越多的事情,甚至在很多特定任务上表现超过人类,但是我们越来越无法理解这些模型了,这是一个很棘手的问题。所谓的可解释性,就是希望寻求对模型工作机理的直接理解,打破人工智能的黑盒子。

3、研究现状

在这里插入图片描述
可解释人工智能技术大致可分为三大类,它们有各自的算法技术栈:

  • 第一类是基于数据的可解释性,是我们最容易想到的一种方法,也是很多论文里面经常涉及的一类技术;
  • 第二类是基于模型的可解释性,这类方法主要是在探讨能不能让模型本身就具有可解释性,模型自身就能告诉我们为什么要这么做;
  • 第三类是基于结果的可解释性,思路是直接将现有的模型当作一个黑盒去看待,我们自己给一些输入输出,通过观察模型的行为,去推断出它到底为什么会产生这样的一个结果,我们自己去建模它的可解释性,这种思路的好处是完全对模型无关,什么模型都可以用。

当前在各个顶会上讨论得更多的是后两类,接下来重点介绍这两类方法的典型算法和思路。

4、常见的模型可解释性方法

目前比较常见的模型可解释性方法包括可视化消融实验(Ablation study)和对输入输出的静态分析等。
在这里插入图片描述
可视化解释不仅能够帮我们调试代码,发现黑盒子神经网络在做某种决策时所犯的明显错误,从而帮助改进模型,还可以寻找输入图片中对最终决策起至关重要的因素,实现知识发现。图右是对于 Attention 的可视化,也是比较经典的一个例子,我们可以把 BERT、Transformer 等这些流行的自然语言处理模型一点点地拆解开,看看里面的这些 Attention 到底是怎么工作的,这是一个比较有意思的实现方式。

4.1 基于模型自身的可解释性

模型自身的可解释性:把模型本身变成一个可解释的模型,它自己能说话,不只是给出单纯的答案,还能给出得到这个答案的理由,可以让研究人员对模型本身有更多的把握。

Explanation GenerationPrototype Network是两种经典方法,前者是让模型自己产生可解释的输出,后者则是让模型的思考方式跟人类更接近。

1)Explanation Generation

典型的例子是 VQA explanation,即在训练模型的同时训练一个语言的解释器。我们向模型提问,并给模型提供一些多模态的输入(比如图像或视频),模型给出输出结果的同时,让模型对给出的输出结果做进一步的解释,以帮助我们更好地了解模型是否真的理解了我们的意思,而不是怀疑模型恰好“猜”对了答案。
在这里插入图片描述
假设我们输入右上角的图片,Question 是 What sport is pictured?也就是问这个模型,这张图在描述一个什么样的运动。模型需要做出回答,Answer:Surfing,回答这是在冲浪,回答对了。这时候我们会想,模型确实回答对了,但是它是怎么回答对的呢?它是因为看到这有一片海所以说是冲浪,还是说看到背后有白云所以说是冲浪,还是说真的看到这有个人站在冲浪板上,它才觉得是冲浪呢?对于模型推断的过程我们是有怀疑的,因为我们不知道它是怎么工作的,这时候就要用到模型可解释性的方法,也就是 VQA explanation。

VQA explanation 要求模型不仅输出 Answer,还要输出一个 Explanation,比如模型给出这么一个解释 Because the man is riding a wave on a surfboard,因为这个人站在冲浪板上冲浪,所以这张图片上的运动是 Surfing。这跟我们自身对于这个图片的理解就是吻合的,同时模型还能把具体的实体跟图像里面的像素区域做高亮显示,说明它确实理解了图像中的人和冲浪板,并把这些实体结合起来,以及连贯整个行为之后推理出来说,这个图片上的运动应该理解成 Surfing。通过应用 VQA explanation 的方法,我们可以将模型变得更可靠,即使模型推理错了,我们也能知道为什么出错。

有时候,就算我们把模型一层层拆解开,也还是无法很直观地了解到,它为什么最后得出了这个结论。因为模型最后得出结论的方式,跟人类看一个问题的思维方式,其中的 Gap 太大了。就算我们真的把每个模型的模块都解析出来并可视化,也不一定能够理解得很清楚。

原文《Faithful Multimodal Explanation for Visual Question Answering》

2)Prototype Network

Prototype Network 的思路是,在模型设计的时候,就让模型的构造出的数据处理加工的方式和人类的思考方式相似,这样它产生结果之后,我们反过来去看这个模型的工作方式,就能很好地理解为什么给出了这么一个结果。

以《This Looks Like That: Deep Learning for Interpretable Image Recognition》这项工作为例,简单解释实现过程。这篇论文的核心任务目标是对鸟类图像做分类。那么人是怎么对鸟类做分类的呢?我们会有一些特定的方法论,比如要看它的嘴是什么样子的,爪子是什么样子的,羽毛是什么样子的,翅膀是什么样子的,通过把这几个特征组合起来去判断这属于什么鸟类。论文提出了原型的概念,把对图像的判断机制拆解为人类思维方式中的各种原子能力,根据人判断的机理来分类图像。在设计模型的时候,让它用跟人类思考类似的方式,通过分解图像得到不同的原型部分,比如先对鸟的嘴、爪子、羽毛逐一判断,再通过组成这些信息最终得到正确的分类。
在这里插入图片描述
原文《This Looks Like That: Deep Learning for Interpretable Image Recognition》

4.2 基于结果的可解释性

基于结果的可解释性,或者叫事后可解释性,它指的是模型已经是训练好的成品了,事后尝试解释为什么这个模型是这样工作的。

基本思路:仍然把深度模型看成是一个黑盒子,不去打开它,或者说不会去显式地做拆解,而是通过假设和检验去观察这个模型,再去推测这个模型可能是怎么工作的。通过不断地假设检验给出结论,这个结论会慢慢变得越来越符合模型实际的工作方式,通过不断地逼近,最终给出一个合理的解释。这种做法的好处是跟模型无关,适合于任意模型,当然目前也存在一些缺点,后面提到。

方法举例:代理模型的方法(surrogate model),在模型局部采用一种简单可解释的模型去近似原有的黑盒模型,当精度足够逼近的时候,就可以用代理模型来解释原黑盒模型,这里我们列举两种产生代理模型的算法,分别是 LIME 算法和 SHAP 算法。
在这里插入图片描述
LIME 算法的思路可以简化理解成:尝试用一个比较容易解释的简单的模型(比如线性模型)去逼近、拟合原来比较复杂且不好理解的深度模型,如果能产生一个跟原来的复杂模型结果近似的模型,那这个简单模型的表征状态,就可以用来解释原来的模型。当然 LIME 算法不会把整个模型进行线性的降维,因为这样做不现实,它是假设局部可线性化,把一个模型做无限的拆解,拆解到每个局部点,再对每个点用一个局部的线性模型或简单模型进行近似,一旦局部跟一个简单的线性模型之间产生了近似的拟合关系,就可以用简单模型去解释这个局部,局部得到解释之后,整体也就可以解释了。

  • LIME 算法:https://arxiv.org/abs/1602.04938
  • SHAP 算法:https://arxiv.org/abs/1705.07874

5、应用前景

在这里插入图片描述
可以看到,过去几年可解释性相关的论文数量呈逐年上升趋势,各个领域的国际顶会都纷纷开设了可解释性的 Topic。解释 AI 模型的技术兴趣在 2018 年左右开始渗透到整个研究领域。我们认为可解释性能够更好地推动深度学习、人工智能在整个业界的应用,它可以带来以下好处:

  • 可信赖。可解释性能够让模型变得更加可信赖,尤其是对于非技术工作人员,有助于推动深度学习在金融、交通、安全等关键领域的大规模应用,是人工智能在各行各业落地的重要基础。
  • 公平性。当前人工智能、深度学习大部分都依赖于大数据,而大数据本身是来源于人的,其中难免存在偏差(bias),机器对这些存在偏差的数据进行学习的时候,也会把偏差学进去,但这些偏差并不是我们想要的。我们希望模型本身能够抵抗这些偏差,而不是单纯的去模拟数据的偏差,比如在金融风控领域,模型可能对于特定性别、特定地域来源、特定年龄的人的判别存在偏差。如果能够让模型本身可解释、可理解,我们就能够把偏差纠正过来,让它变得更公平。
  • 可转移性。我们现在经常提迁移学习(Transfer Learning),就是把模型从一个领域迁移到另一个领域。如果模型是个黑盒子,我们不清楚它具体是怎么工作的,就很难清晰地界定模型迁移的边界在哪里,哪里可用、哪里不可用,这些都无从知晓。如果我们能够对模型有更深的了解,就可以更好地把模型模块化,进而更好地对模型进行无缝的迁移,迁移学习的领域运用也会更加的广阔。
  • 高效率。假设 AI 产品部署之后出现 Bug,如果模型是个黑盒,我们就无法知道它是如何工作的,自然也不可能知道 Bug 出在哪里,只能用小修小补的方式把 Bug 屏蔽掉,而不能真正地解决问题。如果模型可解释,我们就可以更快速地定位和修正 badcase。
  • 多样性:模型可解释可以推动生成模型的广泛应用。以阿里小蜜为例,它是一个会话机器人,目前一些生成模型技术(如括文本生成)已经相当成熟了,能够给我们提供一些比较好的生成结果,如果我们将生成模型应用到会话机器人中,可以提供比传统的检索方法更好的个性化回答服务,对于会话服务的整体质量会有很好的提升。可是我们却没办法这么用,为什么呢?因为工业界应用对模型可靠性有一定的要求,但生成模型一个比较大的问题在于它是不可控的,特别是深度的生成模型,我们根本无法控制输入一个问题之后它会给出一个什么样的回答,可能导致实际应用中出现各种意外情况。这就需要我们对模型有更深层次的把握,能够更好地理解生成模型是怎么工作的、怎么在一定程度上控制它,这之后才能够让模型更好地应用起来。

6、面临挑战

  • 挑战 1:算法成熟度
    对于两类代表性的模型可解释性
    1)模型自身的可解释性,其本身跟模型强绑定,需要根据模型和应用场景一对一地进行迭代,才能够让它产生可解释性,通用性非常受限,修改的难度也比较大。
    2)基于结果的可解释性,虽然能把它看成一个黑盒子,但目前算法本身还存在一些问题。比如 LIME 算法,因为它是一种近似,它对于采样有一定依赖,导致结果不稳定。不过算法本身的问题也在不断迭代改进,LIME 算法是 2016 年提出来的,现在 Linkedin 又提出了 xLIME 算法,针对 LIME 存在的问题做了一些改进。通过工业界和学术界一步一步地探索,相信这些算法会变得越来越好,离大规模应用也会越来越近。
    - 挑战 2:算力成本
    挑战2跟挑战1是紧密相关的。基于结果的可解释性方法对采样有依赖,结果也不太稳定,那对一部分可以工作的比较好的模型,我们总可以用了吧?但我们发现要真正用起来还有一个问题:对于目前的算法,包括 LIME 也好、SHAP 也好,它本身的算法复杂度还是太高。一篇 200 字段落的 MRC,通过 SHAP 算法基于模特卡洛抽样也需要迭代超过 5000 次,耗时数小时,才能较好地拟合一个样本。假设有几万篇样本,那得算到什么时候呢?解决的办法一方面是优化算法,降低复杂度,另一方面是继续提升算力。
  • 挑战 3:数据稀疏
    对于模型自身可解释性方法,需要训练出模型的解释器,这往往是一个有监督的训练过程,意味着需要大量的样本和大量的标注它才能够最后给出自身的解释。但工业界现在并没有这么大量的对于可解释性的额外的数据标注,如果我们用人工的方法进行海量数据标注,成本非常高,甚至是不可承担的。一种可能的方式是,借助无监督或者半监督的方法,把我们自身已经有的一些算法的数据标注运用起来,让它产生可解释性,这是最合理或者说最可能行得通的一种方法。

相关文章:

模型可解释性

模型可解释性 前言导读Background1、为什么需要可解释性?2、诞生背景3、研究现状4、常见的模型可解释性方法4.1 基于模型自身的可解释性1)Explanation Generation2)Prototype Network 4.2 基于结果的可解释性 5、应用前景6、面临挑战 前言导读…...

Django初窥门径-自定义用户模型

前言 自定义用户模型在Django应用中是一个重要的话题,它涉及到如何根据您的项目需求以及特定的用户身份验证和授权需求来调整用户模型。在以下前言中,我将讲述为什么自定义用户模型是如此重要以及其潜在的优势: 随着Web应用的不断发展&…...

微信小程序文件上传wx.uploadFile

网页版查看了一下负载要求是这样 wx.uploadFile({url: ${wx.getStorageSync(apiUrl)}//sysFileInfo/upload?token${wx.getStorageSync(token)}, // 仅为示例,非真实的接口地址filePath: files[0].url,name: file,formData: {secretFlag: Y },success: (res) > {…...

支持内录系统声音的Mac录屏软件Omi Recorder

Screen Recorder by Omi是一款功能强大的屏幕录制应用程序。它可用于在Windows和Mac计算机上捕获屏幕,以便进行演示、教程、游戏录制、视频编辑等各种用途。 以下是该应用程序的一些主要特点: 支持高清录制:Omi Screen Recorder可以以高达6…...

一、Hadoop初始化配置(final+ubuntu保姆级教程)

1、配置虚拟机 三台虚拟机,分别为node1、node2、node3,内存分别为4G、2G、2G,现存最好为(>40G),如下: 2、修改主机名 分别打开三台虚拟机,root用户输入一下命令: no…...

Linux常用的包管理工具

Linux系统中有两个常用的包管理工具,分别是yum和apt。 1. yum命令 yum是Red Hat公司开发的一种包管理器,主要用于安装、更新、卸载和管理RPM包。它是基于RPM包管理系统的,可以自动解决软件包依赖关系问题。 常用yum命令: - 安…...

python随机生成指定长度的字符串

需求:随机生成一个指定长度的字符串(数字和小写字母) 涉及到的python知识点 (1)python模块包:random random.choice(sequence):从指定的序列中获取一个随机元素 random.choice(sequence)从序…...

语音识别接口试用

语音识别结果对比 1.jonatasgrosman/wav2vec2-large-xlsr-53-chinese-zh-cn 啊五包你没有什么问题嗓局问的这老受刚来指伯间我想就了解其二联地完觉全没问题犹该奖姐家女标要等到老师主动据奖定练择因位我主要奖的是耶号联接最长加展们如果说宁士比到六点级到一到另年级的家长…...

Java的数组使用

数组的定义: package The_First_Stage.The_beginner_level_Java_SE.Arrawy;/*** 数组的作用:用来存储相同类型的数据* 以int类型数据为案例:数组用来存储int类型数据* 1》声明定义数组* int【】 arr 定义一个int类型的数组,名字…...

基于STC15单片机温度光照蓝牙传输-proteus仿真-源程序

一、系统方案 本设计采用STC15单片机作为主控器,液晶1602显示,DS18B20采集温度,光敏电阻采集光照、按键设置温度上下限,测量温度小于下限,启动加热,测量温度大于上限,启动降温。 二、硬件设计 …...

Jmter接口网站压力测试工具

首先下载Jmeter 官方地址:Apache JMeter - Apache JMeter™ 安装Jmeter 把下载的文件进行解压,产生如下目录: 打开bin文件夹下的jmeter.bat文件及进入程序的主界面窗体jmeter.log是日志文件。 主意:需要配置java环境。 jmter创…...

7.2 创建和销毁条件变量

方法 pthread_cond_init(condition, attr) pthread_cond_destroy(condition) pthread_condattr_init(attr) pthread_condattr_destroy(attr) 用法 条件变量的类型为pthread_cond_t,必须在使用之前初始化。有如下两种方法来初始化条件变量: 声明时初…...

九凌网络:谷歌seo优化和外贸建站的五大优势

九凌网络是专注于谷歌SEO和外贸网站建设技术研发的技术型公司。九凌网络为外贸企业提供优质的外贸建站和谷歌优化服务,目前全国合作过的外贸企业超过8000家,覆盖全国12个省,超过60个地级市,在运营的谷歌seo优化客户300多家&#x…...

【vue3/echarts】vue3中使用echarts/饼图/双轴双数据柱状图

npm下载echarts 引入使用 <script> import Box from "/components/box.vue"; import { onMounted } from vue; import { init } from echarts; export default {components: {Box: Box},setup() {onMounted(() > {// 饼图const charEle document.getElem…...

【左程云算法全讲4】比较器和堆

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于左程云算法课程进行的&#xff0c;每个知识点的修正和深入主要参考…...

【计算机组成与设计】Chisel取指和指令译码设计

本次试验分为三个部分&#xff1a; 目录 设计译码电路 设计寄存器文件 实现一个32个字的指令存储器 设计译码电路 输入位32bit的一个机器字&#xff0c;按照课本MIPS 指令格式&#xff0c;完成add、sub、lw、sw指令译码&#xff0c;其他指令一律译码成nop指令。输入信号名…...

「Verilog学习笔记」位拆分与运算

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 1、寄存器的位是可以分开单独运算的&#xff0c;并不是一个输入就一定是一个数据&#xff0c;在很多情况下&#xff0c;一个输入既包括数据又包括地址等其他有效信息 2、需…...

protobufjs实现protobuf序列化与反序列化

系列文章目录 websocket训练地址:https://www.qiulianmao.com,正在搭建中 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-python实现protobuf序列化与反序列化基础-前端js实现protobuf序列化与反序列化基础-protobufjs实现protobuf序列化与反…...

el-select多选以tag展示时,超过显示长度以...省略号显示,且在一行展示

效果&#xff1a; 代码&#xff1a; <span>系统词典维度&#xff1a;</span><el-selectv-model"dNum"placeholder"请选择"multiplecollapse-tags //设置collapse-tags属性将它们合并为一段文字size"small"style"width:160p…...

计算机网络第4章-通用转发和SDN

引子&#xff1a; 在前面&#xff0c;我们将基于目的地转发的特征总结为两个步骤&#xff1a; 查找目的IP地址&#xff08;匹配&#xff09;&#xff0c;然后将分组发送到有特定输出端口的交换结构&#xff08;“动作”&#xff09;。 但是这种转发特征会带来许多问题&#…...

DDD技术方案落地实践 | 京东云技术团队

1. 引言 从接触领域驱动设计的初学阶段&#xff0c;到实现一个旧系统改造到DDD模型&#xff0c;再到按DDD规范落地的3个的项目。对于领域驱动模型设计研发&#xff0c;从开始的各种疑惑到吸收各种先进的理念&#xff0c;目前在技术实施这一块已经基本比较成熟。在既往经验中总…...

MySQL 案例:update set 和 and 的坑

问题描述 最近碰到到一个奇怪的问题&#xff0c;update 语句执行没有报错&#xff0c;但是没有更新数据&#xff0c;具体有问题的语句类似于如下形式&#xff1a; update test.stu set cname 0 and math 90 and his 80 where id 100; 复制 原因分析 直观上看&#xff…...

VSCode remote-ssh 连接远端服务器失败

系统 Mac os Intel处理器 描述 该问题在上午时还没有&#xff0c;下午突然毫无征兆的发生&#xff0c;当时没有更新vscode&#xff0c;没有更新插件。 分析 网上对于该问题的答案多是说磁盘空间不够vscode不能下载相应插件&#xff0c;我所遇到的并不是这种情况。报的错误多是…...

通达信动量线MTM指标原理详解及MTM底背离选股公式

MTM指标&#xff08;动量线指标&#xff09;用于衡量价格的动量和趋势&#xff0c;以判断未来价格的变化。计算方法很简单&#xff0c;用当前价格减去一段时间&#xff08;通常为12日&#xff09;前的价格&#xff0c;计算得到的差值的正负和大小&#xff0c;可以判断可能的趋势…...

汇编-DUP操作符

DUP操作符使用整数表达式作为计数器&#xff0c; 为多个数据项分配存储空间。 在为字符串或数组分配存储空间时&#xff0c;这个操作符尤其有用&#xff0c;并且可以使用初始化或非初始化数据&#xff1a; .data BYTE 20 DUP(0) ;20个字节&#xff0c;都等于0 BYTE 20 …...

2311C++抽象工厂

1,为啥需要工厂设计模式?工厂设计模式可解决什么问题? 先看一下示例,多态示例. #include <iostream> using namespace std; class Shape { public:Shape() { }virtual void drawShape(){cout << "base draw shape" << endl;} }; class Rectang…...

Lavarel定时任务的使用

系统为window 执行命令(执行一次命令只会根据当前时间运行一次定时任务) php artisan schedule:run创建一个任务类(在Jobs文件夹下面) <?phpnamespace App\Jobs;use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldBeUnique; use Illuminate\Contract…...

Java开发者的网络安全指南(二)

目录 一、加密和数据保护 二、身份验证和授权 三、Web应用程序安全 四、安全编码实践 五、网络防火墙和入侵检测系统 六、日志和监视 七、漏洞管理 八、安全教育和培训 九、结论 介绍&#xff1a; 简要说明网络安全的重要性和为什么Java开发者需要关注它。 一、加密…...

Python基础学习016__UnitTest

# UnitTest是python自带的一个单元测试框架,不需要额外安装 # 也是自动化脚本执行框架,使用UnitTest来管理,运行多个框架 # 为什么使用:能够组织多个用例去执行.提供了丰富的断言方法,能够生成测试报告 # 核心要素: # Testcase:测试用例:这个测试用例是UnitTest的组成部分,不是…...

一物一码需求,标签制作功能轻松解决

许多行业存在为人员、物品、设备等做一物一码标签的需求&#xff0c;可使用草料标签制作功能。直接选择标签样式&#xff0c;填入数据&#xff0c;即可批量生成标签&#xff0c;还可批量排版&#xff0c;更易落地。还可保存标签样式&#xff0c;后续多次复用样式&#xff0c;批…...