精华内容
下载资源
问答
  • 基础学C#编程—C#从小白到大咖

    万人学习 2019-06-04 13:18:37
    本课程从初学者角度出发,提供了C#从入门到成为程序开发高手所需要掌握的各方面知识和技术。 【课程特点】 1 由浅入深,编排合理; 2 视频讲解,精彩详尽; 3 丰富实例,轻松易学; 4 每章总结配有难点解析文档。...
  • 基础学会C语言

    千人学习 2021-06-02 14:50:02
    从0基础入门C语言,小白也能看懂的C语言教程,适用于大学生的C语言课程,可以和学校的教学同步学习
  • 8小时Python基础轻松入门

    万人学习 2020-05-20 19:33:44
  • 开始自然语言处理

    千人学习 2019-08-07 14:38:22
    本课程隶属于自然语言处理(NLP)实战系列。自然语言处理(NLP)是数据科学里的一个分支,它的主要覆盖的内容是:以一种智能与高效的方式,对文本数据进行系统化分析、理解与信息提取的过程。通过使用NLP以及它的组件,...
  • 5小时基础入门小程序云开发

    千人学习 2019-10-31 10:07:11
    本套课程带领大家基础入门小程序云开发。 通过10小时的学习,你可以获得下面收获 1,学会小程序云开发 2,摆脱后台自己实现小程序后台 3,学会音视频小程序的开发 4,学会小程序图片的上传与管理 5,学习云开发...
  • .NET5基础实战教程合集

    千人学习 2020-12-08 17:41:58
    课程从.NET5跨平台基础环境开始,全方位覆盖.NET5的新特点,涉及到跨平台开发的各项知识要点,从应用开发到到原理揭秘,着重解析Web开发,.NET5 MVC开发,.NET5 MVC组件式开发设计,揭秘.NET5管道处理模型,适合中...
  • 基础学Scratch3.0

    2020-08-08 21:17:00
    以实战案例出发,为小朋友们逐一讲解Scratch3.0的各个知识 和小朋友们一起来领略Scratch编程带给我们的乐趣
  • 本课程为Access数据库知识系列课程第1部,课程目标:结合实例讲解,基础快速学习Access数据库。 本课程章节计划表: 第一章:Access数据库概述 1、Access数据库概述 第二章:Access数据库安装文件下载及安装 1、...
  • Vue3.0来了,你还学的动吗? 2020年9月底,Vue3.0正式版终于发布了。Vue在全球拥有 130 多万用户 ,它被应用于各种不同的场景中。而在国内,更是最火热的前端框架,2.0与3.0的开发模式有了很大的改变,所以3.0的全新...
  • 【超实用课程内容】 本课程根据实际开发中总结出来的一些学习思路,从开始详细讲解Flutter的基础知识点。从简到难,从浅入深,逐步带领大家了解Flutter,熟悉Flutter的组成部分,并且带领大家学习如何使用Flutter...
  • MATLAB基础入门教程

    万人学习 2019-05-12 18:47:12
    MATLAB基础入门教程,主要介绍数组和矩阵、数据类型和M文件设计等。很详细地介绍了MATLAB语言的基础知识。 本课程的特点是内容系统全面,条理清晰,并且内容比较新,讲了表、时间表等新的数据类型。
  • 标题以下程序从读入的整数数据中,统计大于的整数个数和小于的整数个数。用输入来结束输入,程序中用i统计大于的个数,用变量j统计小于的整数。 在这里插入代码片 #include<stdio.h> int main() { ...

    标题以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。

    在这里插入代码片
    

    #include<stdio.h>
    int main()
    { int n, i, j;
    printf(“Enter INT numbers,with 0 to end\n”);
    i=j=0;
    scanf ("%d",&n);
    while (n!=0)
    { if (n>0)
    i++;
    if(n<0)
    j++;
    scanf ("%d",&n); ;

        }
    

    printf(“i=%4d j=%4d\n”,i,j);

     }
    
    展开全文
  • DelphiXE10基础实战快速入门

    千人学习 2019-06-06 15:12:11
    通过课堂上一个一个的实战例子,演示DelphiXE10的用法,最后通过一个完整的通讯录程序,让学员初步掌握软件开发的全部流程 让基础学员快速入门Delphi编程,快速掌握Delphi的使用方法,并能够制作出自己的软件来。...
  • stm32+4G从开始连接阿里云IOT

    千人学习 2021-03-06 18:33:46
    本课程着重介绍如何使用stm32+4G通信模组连接阿里云物联网平台,实现数据属性上报以及远程升级功能。在本课程中,大家可以学习到如何使用操作阿里云物联网平台;4G模块和AT指令的编程技巧;以及MQTT协议的内容和源码...
  • 文章目录 产生背景 传统边界安全理念及其不足 新技术发展对安全产生了新的要求和挑战 信任理念 信任标准的发展 传统边界安全理念和信任理念对比 传统边界理念 信任理念 总结 信任与传统安全产品/设备的...

    产生背景

    传统边界安全理念及其不足

    对于资源的访问保护,传统方式是划分安全区域,不同的安全区域有不同的安全要求。在安全区域之间就形成了网络边界,在网络边界处部署边界安全设备,包括防火墙、IPS、防毒墙、WAF等,对来自边界外部的各种攻击进行防范,以此构建企业网络安全体系,这种传统方式可称为边界安全理念。
    **边界内:**安全区域内的用户默认都是可信的(安全的)对边界内用户的操作不再做过多的行为监测,(存在过度信任的问题)
    **边界外:**在安全区域边界外的用户默认是不可信的(不安全的),没有较多访问权限,边界外用户想要接入边界内的网络需要通过防火墙、VPN等安全机制.
    **不足:**由于边界安全设备部署在网络边界上,缺少来自终端侧、资源侧的数据,且相互之间缺乏联动,对威胁的安全分析是不够全面的,因此内部威胁检测和防护能力不足、安全分析覆盖度不够全面。对边界内用户存在过度信任问题。

    新技术发展对安全产生了新的要求和挑战

    1、云计算、物联网以及移动办公等新技术新应用的兴起,给传统边界安全理念带来了新的挑战,比如云计算技术的普及带来了物理安全边界模糊的挑战,远程办公、多方协同办公等成为常态带来了访问需求复杂性变高和内部资源暴露面扩大的风险;各种人员接入带来了对设备、人员的管理难度和不可控安全因素增加的风险。这些都对传统的边界安全理念和防护手段,如部署边界安全设备、仅简单认证用户身份、静态和粗粒度的访问控制等提出了挑战

    零信任理念

    零信任代表了新一代的网络安全防护理念,并非指某种单一的安全技术或产品,其目标是为了降低资源访问过程中的安全风险,防止在未经授权情况下的资源访问,其关键是打破信任和网络位置的默认绑定关系。
    零信任理念要点:
    1)所有访问主体都需要经过身份认证和授权。
    2)访问主体对资源的访问权限是动态的(不是静止不变的)分配访问权限时应遵循最小权限原则
    4)身份认证不仅仅针对用户,还将对终端设备、应用软件、链路等多种身份进行多维度、关联性的识别和认证,
    5)在访问过程中可以根据需要多次发起身份认证。
    6)授权决策不仅仅基于网络位置、用户角色或属性等传统静态访问控制模型,而是通过持续的安全监测和信任评估,进行动态、细粒度的授权。

    零信任在所有需要对资源访问进行安全防护的场景都可以使用,但是否采用,应根据企业可接受的安全风险水平和投入综合考虑决定

    零信任标准的发展

    1、2014年,国际云安全联盟CSA的SDP工作组发布了《SDP Specification 1.0》。
    2、2019年7月,腾讯联合CNCERT、中国移动设计院、奇虎科技、天融信等产学研机构,发起CCSA《零信任安全技术参考框架》行业标准立项,率先推进国内的零信任标准研制工作。
    3、2019年9月,在瑞士日内瓦举办的ITU-T(国际电信联盟通信标准化组织) SG17安全研究组全体会议上,由腾讯、CNCERT、中国移动设计院主导的“服务访问过程持续保护参考框架”国际标准成功立项。
    4、2019年9月,美国国家标准技术研究所(NIST)发布了《零信任架构》草案(《NIST.SP.800-207-draft-Zero Trust Architecture》);2020年2月,NIST对《零信任架构》的草案进行了修订;8月11日,标准正式发布。
    5、2020年,奇安信公司牵头在全国信息安全技术标准化委员(TC260)申请的《信息安全技术 零信任参考
    体系架构》标准在WG4工作组立项。

    传统边界安全理念和零信任理念对比

    传统边界理念

    边界安全理念在早期网络环境中是有效的,因为当时的网络规模不大,业务也不复杂,通过边界隔离可以很好的阻断蠕虫类攻击传播和一些未授权的访问,总的来说具有以下优点
    优点
    1、简单可靠:通过明确的边界和策略,保护目标资源。
    2、阻断掉过彻底:可以基于网络层彻底阻断请求数据进入区域内
    3、业务入侵低:业务不用做过多改造,边界隔离系统和检测系统可以透明部署

    缺点
    1、同域横向攻击难以防护:安全设备通常无法覆盖到同域环境内的系统,也自然无法进行防护
    2、合法权限的复用难以防护:攻击者通常可以复用合法权限(如口令、访问票据等),边界安全理念系统难以区分是正常访问,还是攻击数据
    3、安全检测盲点:边界防护通常不介入到业务中,难以还原所有的轨迹,不能有效关联分析,存在监测盲点
    4、边界容易绕过:难以抵御高级威胁攻击,防护机制容易被绕过
    5、对云计算等新技术新应用的适应性不强

    零信任理念

    零信任安全架构提供了增强安全机制,在新的架构模型下,可以区分恶意和非恶意的请求,明确人、终端、资源三者关系是否可信,并进行“持续校验”(NeverTrust,Always Verify),优点如下:
    优点
    1、安全可信度更高:信任链条环环相扣,如果状态发生改变,会更容易被发现
    2、动态防护能力更强:持续校验,更加安全。
    3、支持全链路加密,分析能力增强、访问集中管控、资产管理方便等

    缺点
    1、单点风险:零信任是强管控架构,对资源的控制都集中在网关上,因此一旦单点故障会导致整个业务中断
    2、权限集中风险:零信任架构将很多风险收敛集中起来,降低了管理成本但集中化管理如果失控也会带更大风险
    3、复杂化:零信任架构覆盖面很广,架构涉组件多,更加复杂,增加了故障判断和修复成本
    4、投入风险:零信任架构建设周期比一般架构体系要更长,如果不能持续投入容易功亏一篑

    总结

    比如传统安全模型结构简单,零信任架构复杂,可是安全防护能力更强,对比如下表
    在这里插入图片描述

    零信任与传统安全产品/设备的关系

    零信任是一种安全理念,本质上和传统安全产品/设备并不是同一个维度的概念,但是零信任架构落地的时候,会和传统安全产品/设备产生协作,甚至可能会替代某些传统安全产品/设备

    和防火墙的关系

    协作补充关系:防火墙提供了划分网络边界、隔离阻断边界之间的流量的一种方式,通过防火墙可以提供简单、快速有效的隔离能力。防火墙和零信任在实践中可以互相补充,常见的场景是在实施了零信任的环境中,通过防火墙限制除了零信任网关端口外的一切访问,最小化非信任网络到信任网络的权限,将攻击面降到最低。

    与IAM的关系

    协作支撑关系:零信任强调基于身份的信任链条,传统IAM系统可以为零信任提供身份(账号)唯一标识,身份属性,身份全生命周期管理等支持。

    与SOC/SIEM/Snort等产品的关系

    协作支撑关系:零信任重要理念之一是持续安全校验。校验对象包含了用户、环境、资源、行为是否可信。一些深层次的安全分析往往需要大量数据支撑和较多资源的投入,集中在零信任的策略引擎中会带来引擎负载过大、影响引擎稳定性等风险。因此零信任可以依赖 SOC/SIEM/Snort等产品来实现更深入的风险分析等。
    1、SOC/SIEM/Snort等产品的分析检测结果可以输出给零信任,协助零信任做风险评估和判断
    2、零信任可以将用户行为数据传给SOC/SIEM/Snort等产品,这些产品根据数据进行分析

    与OTP(一次一密)的关系

    协作支撑关系:一次一密(OTP)结合PIN码或其他鉴权因子可以实现更加可信的身份鉴别,提高零信任系统中用户可信这一层面的安全性。

    与虚拟专用网络(VPN)关系

    虽然零信任和VPN是不同维度的概念,但在安全接入和数据加密通信等方面有相似性。Gartner预测到2023年将有60%的VPN被零信任取代。下表是零信任和VPN的比较。
    在这里插入图片描述

    零信任参考架构

    什么样的架构来落地零信任理念,目前尚没有统一的定义,但业界已有多个组织正在为给出零信任架构设计和定义而努力。目前业界比较熟知的架构有SDP软件定义网络和NIST提出的零信任体系架构。企业可以通过多种架构方式引入零信任理念,不同的应用场景可以使用不同的架构,每种架构的侧重点有所不同。企业可以根据自身需求,使用一种或多种架构作为落地零信任理念的主要驱动元素。

    SDP架构

    SDP软件定义边界是国际云安全联盟(CSA)于2013年提出的新一代网络安全架构,CSA《SDP标准规范1.0》给出的SDP的定义是:“SDP旨在使应用程序所有者能够在需要时部署安全边界,以便将服务与不安全的网络隔离开来,SDP将物理设备替换为在应用程序所有者控制下运行的逻辑组件并仅在设备验证和身份验证后才允许访问企业应用基础架构。”–“应用程序/应用/服务”在本文语境下均指资源

    架构图如下:
    在这里插入图片描述
    SDP架构主要包括三大组件:SDP控制器(SDP Controler)、SDP连接发起主机(IH,Initial host)、SDP连接接受主机(AH,Accept host)。
    SDP控制器根据安全、及权限数据动态控制 AH 和 IH 的连接情况。该结构使控制层与数据层保持分离,保证更好的可扩展的性。也可以通过组件冗余,用于扩容或提高稳定运行时间

    NIST架构

    架构及核心组件图如下:
    在这里插入图片描述

    用户访问企业资源时,需要通过策略决策点(PDP)和相应的策略执行点(PEP)授予访问权限。
    NIST给出的架构图更接近ISO国际标准中经典的访问管理(Access management-AM)架构,将访问控制分为PDP和PEP。PEP定义决策(如定义规则 角色A只能访问指定系统A),PEP执行决策,如通过PDP定义的规则判断某一次访问是否合法。

    通用参考架构

    对比看SDP的架构和NIST提出的架构,可以发现,SDP的控制器功能上类似于NIST的PDP,SDP的AH功能上类似于NIST的PEP。综合SDP、NIST的架构图,以及实践经验,我们认为目前业界对零信任架构的理解正在趋于一致,总结的通用零信任架构如下:
    在这里插入图片描述
    零信任安全控制中心组件作为SDP的Controller和NIST的PDP的抽象,零信任安全代理组件作为SDP的AH和NIST的PEP的抽象。
    零信任安全控制中心核心是实现对访问请求的授权决策,以及为决策而开展的身份认证(或中继到已有认证服务)、安全监测、信任评估、策略管理、设备安全管理等功能;
    零信任安全代理的核心是实现对访问控制决策的执行,以及对访问主体的安全信息采集,对访问请求的转发、拦截等功能。

    微隔离架构

    微隔离本质上是一种网络安全隔离技术,能够在逻辑上将数据中心划分为不同的安全段,一直到各个工作负载(根据抽象度的不同,工作负载分为物理机、虚拟机、容器等)级别,然后为每个独立的安全段定义访问控制策略。
    微隔离提出以来主要聚焦在东西向流量的隔离上,一是有别于传统物理防火墙的隔离作用,二是更贴近云计算环境中的真实需求。
    微隔离将网络边界安全理念发挥到极致,将网络边界分割到尽可能的小,能很好的缓解传统边界安全理念下边界内过度信任带来的安全风险。
    在这里插入图片描述
    从架构上看,微隔离管理中心可以扩展为零信任安全控制中心组件,微隔离组件可以扩展为零信任安全代理组件。
    微隔离本身也在发展过程中,目前业界有很多厂商正在基于微隔离的技术思路来实现零信任理念的落地,并开发出了相关的零信任安全解决方案和产品。因此,从架构上看,微隔离具备扩展为零信任架构的条件,并适应一定的应用场景,其自动化、可视化、自适应等特点也能为零信任理念发展带来一些好的思路。

    展开全文
  • 主要讲解PHP的入门知识,包含PHP环境的安装、基础语法、PHP数据类型、运算符、常用语句、常用变量、函数、数组等,以及和mysql的数据操作,实战制作一个表单和数据库的互动:录入数据、修改数据、删除数据。
  • 本课程是《数据分析技术应用》系列进阶课程的初级入门课程,学员研修完毕后能够进行较为复杂的描述性统计分析、推断性统计分析、数据可视化分析、预测分析等常用数据分析处理,满足商务运营和科学研究所需的常规数据...
  • Bluetooth SIG MESH 协议从到深入

    千人学习 2019-12-31 10:03:52
    本课程主要深度剖析蓝牙技术联盟关于蓝牙组网(mesh)的技术,相比于Zigbee,Wifi等技术,使用蓝牙组网是近几年非常火的一个新技术方案,阿里的天猫精灵、小米的小爱都是采用蓝牙mesh的方案进行组网,详细的说每年都...
  • 完整:小甲鱼python3全套ppt课件.py源码
  • 样本学习

    千次阅读 多人点赞 2020-07-14 23:30:31
    样本学习 (Zero-shot learning).,样本学习是迁移学习的一种特殊场景;在样本学习过程中,训练类集和测试类集之间没有交集,需要通过训练类与测试类之间的知识迁移来完成学习,使在训练类上训练得 到的模型...

    前言

    这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删!

    论文:

    • 零样本学习研究进展
    • 零样本图像识别

    概念:

    零样本学习 (Zero-shot learning).,零样本学习是迁移学习的一种特殊场景;在零样本学习过程中,训练类集和测试类集之间没有交集,需要通过训练类与测试类之间的知识迁移来完成学习, 使在训练类上训练得 到的模型能够成功识别测试类输入样例的类标签。更一般来说,零样本学习如果模型在训练过程中,只使用训练类的样本进行训练,,且在测试阶段可以识别从未见过的测试类样例,,那么就认为该模型实现 了零样本学习。

    迁移学习:

    迁移学习简单来说,就是将一个学习任务A建立的模型可以迁移到学习任务B中;这里举个例子:人在实际生活中有很多迁移学习,比如学会了骑自行车,就比较容易学摩托车,学会了C语言,再学一些其它编程语言会简单很多。

    应用:

    在机器视觉领域,你如果想实现一个应用,而不想从零开始训练权重,比方从随机初始化开始训练,实现最快的方式通常是下载已经训练好的权重的网络结构,把它当做预训练迁移到你感兴趣的新任务上,这样可以节省大量的训练时间。

    如上图所示,已有一个模型,该模型输入x最后经Sigmoid处理可以输出猫和狗的概率;但现在我们有一个新任务分类猫、狗、猪、其他动物。这时我们不需要重新训练模型的所有参数,只需要修改模型最后一层并训练改层的参数。

    当然这不是绝对的,如果我们的训练集比较充分,可以选择从零开始训练我们模型的参数,这样分类效果可能更高;但如果我们的数据集较少,也可以选择冻结模型参数的一部分,训练模型的其他参数,实现特定任务的分类。

    零样本学习的基本思想:

    零样本学习利用训练集中的样本,和样本对应的辅助信息 (例如文本描述或者属性特征等) 对模型进行训练,在测试阶段利用在训练过程中得到的信息,以及模型的测试类辅助信息对模型进行补足,使得模型能够成功对测试集中的样例进行分类。我的理解,在训练样本中假设有个牛的样本,我们可以运用该样本集对神经网络模型进行训练,我们知道神经网络可以将输入样本压缩成隐空间的一个向量表示,如果在训练过程还得知,对应隐空间的第i维数值表示待识别动物的体重,第j维数值表示待识别动物鼻子的长短;当我们如果规定,在隐空间的对应牛和训练样本距离很近,且第j维数值较大,我们有理由相信待识别的图像为大象图像。

    零样本学习结构示意图 :

    零样本学习的相关领域:

    • 单样本学习 

    单样本学习 (One-shot learning)是与零样本学习最为相似的研究领域,单样本学习希望识别模型可以实现仅使用某些对象类极为少量 (100 以 内, 甚至只有 1 个) 的训练样本,,就可以对这些类的样例进行识别。但是,单样本学习模型较差的泛化能力是它所具有的致命缺陷,如果测试阶段的样例与训练样例不是十分相似的话,那么单样本学习模型很有可能无法准确地识别测试样例的类标签.。因此,为了回避这一问题,零样本学习在单样本学习的基础上得以产生。

    • 偶然学习 

     “偶然学习” (Serendipitous learning, SL) 方法,该方法希望能够在给定的标签空间之外,识别未定义类标签的测试样例所属类标签;这一方法的核心思想是在对见过的训练类的样例进行识别的同时,也可以对从未见过的未见类样例进行聚类分析

    零样本学习经典模型:

    • 新任务的零数据学习 

    零数据学习的目标在于如何构造模型学习没有可用的训练数据、且只有类描述的分类器学习问题。因此在定义上,零数据学习与零样本学习本质上是相同的。零数据学习主要有(1)输入空间方法 (2)模型空间方法 。

    • (1)输入空间方法

    核心思想:

    利用训练类和测试类中对应于每一类的描述信息,对模型进行信息补充, 使得模型不再是简单的学习由输入样例到类标签的映射关系,而是把输入样例与对应类描述的信息对作为新的输入, 并学习其到类标签的映射关系。 在训练阶段,输入空间方法利用训练类的样本以及对应的类描述信息对模型进行训练,因为是直接在输入阶段,对模型所需要的信息进行了补充,所以该 方法被命名为输入空间方法。个人理解:即测试阶段将测试集类描述信息与已知训练集的辅助联系起来,从而确定未知样本的类别。

    示意图 : 

    上述过程简单来说:训练过程,将训练样例的描述信息D_{tr}看做该样例的类别和训练样例^{}X_{tr}一块输入到模型中进行训练,得到D_{tr}X_{tr}映射关系f。测试阶段,将未知类别的测试样例输入到模型f中,找到待分类样例的描述信息,从而确定类别的方法。

    • (2)模型空间方法 

    核心思想:

    模型空间方法假设对于每一类 y, 都存在对应的分类函数 d(y)∈D。 假定 d(y)为该类所对应的描述信息,用把分类函数参数f_{f}(.)化为g_{d(y)}(x)即令: 

    零数据学习问题变为用 d(y) 和输入样例学习g_{d(y)}(x)的表示问题,例如,可以使用以下平均损失最小化来求解模型参数::

    通俗来讲:训练阶段,如果可以利用给定的 x_{i}y_{i}以及 d(y)^{i}对函数 g 进行充分的训练,在测试阶段,假定每一个测试类都具有给定的 d(y) 时,就可以利用训练阶段学习到的函数 g, 计算每个测试类样例所对应的分类函数g_{d(y)}(x),这样,就可以利用这一系列测试类函数族,来判断测试类输入样例的类标签。

    示意图 : 

    个人感觉这个和输入空间方法是一样的,但论文给的解释为:与输入空间方法相比, 模型空间方法具有更 强的泛化能力, 输入空间方法相当于令 gd(y)(x) = g(x,d(y)), 可看作是模型空间方法的特例. 模型空 间方法将 d(y) 作为调整模型 gd(y)(x) 的参数,不太理解。

    • 语义输出编码零样本学习

    具体做法:先定义多维的语义特征空间,每个维度都对应一个二值编码特征。例如,对于 “狗” 这一类标签来说,在 “多毛”、“有尾巴”、“水下呼吸”、“肉食 性” 和 “可以快速移动” 5 条语义特征下的语义空间中,“狗” 这一类可以利用布尔值表示为语义特征向量 [1, 1, 0, 1, 1],(这里假设知识库只有这5个语义知识)。定义语义输出编码分类器为 H :X → Y,假定 H 是复合映射函数H = L(S(·)),S 函数负责将图像映射到语义空间,L 函数负责将语义编码空间映射到标签集上。 L函数通过查询知识库 K 中语义编码与类标签的对应关 系实现映射。

     学习过程示意图:

    个人感觉这个和新任务的零数据学习相比,就是把新任务的零数据学习中的描述信息D_{tr}进行了one_hat编码而已。

    • 基于属性类间迁移的未见类学习 

    基于属性类间迁移的未见类检测方法, 这一模型可谓是零样本学习的奠基之作,现有的零样本学习方法大多都继承了该模型的思想,Lampert 等建立的数据集 “Animals with attributes” 也成为研究零样本学习所必须使用的数据集之一。

    下面介绍两种拓扑结构零样本学习模型,分别为(1)直接属性预测 (Direct attribute prediction, DAP) 模型,(2)间接属性预测 (Indirect attribute prediction, IAP) 模型。

    • (1)直接属性预测 (Direct attribute prediction, DAP) 模型

    假定y_{1} ,··· ,y_{k}为训练类, y_{k+1},··· ,y_{k+L} 为 测试类; a_{1},··· ,a_{M}为全部属性特征的集合。在测试阶段时,尽管模型从未针对测试类进行训练,但属性层仍然可以利用训练阶段得到的属性分类器 β 对输入的测试类图像所具有的属性进行判断,得到输入图像的属性特征估计之后,就可以利用得到测试样例的属性特征估计以及测试类的属性指示对输入样例进行分类判断。通俗来讲:假设我们要通过{有无尾巴,体积大小、头有没有角}来对动物种类识别,属性分类器 β 可以提取输入图像有无尾巴?体积有多大?头有没有角?,得到的结果与测试类的属性指示对输入样例进行分类判断。

    • (2)间接属性预测 (Indirect attribute prediction, IAP) 模型

    分类公式如下图所示:

    •  跨模态迁移的零样本学习 

    核心思想:

    跨模态迁移学习的核心思想是将图像和类标签同时映射到相同的子空间内, 目前通常是将图像和类标签同时映射 (或称为嵌入 (Embedding)) 到语义空间中, 并在语义空间内, 利用一定的相似性度量方法,去确定测试类输入图像的类标签。

    学习示意图:

    上图五边形白点代表测试类 “猫” 的输入图像在语义空间中的表示, 除此之外的白点代表训练类的输入图像在语义空间中的映射向量。在该方法中,黑点代表所有类标签的语义向量,所有的语义向量都是预先给定的辅助信息,这些语义向量可以是 属性向量,也可以是使用文本描述生成的单词语义向量。 训练阶段,首先利用训练类标签对应的语义向量和训练类的样例对跨模态映射模型进行训练。训练后,映射模型可以成功地将输入样例映射到语义空间中,并准确地映射到输入样例所对应的类标签的语义向量附近,测试阶段,输入测试类的样例时, 首先利用训练阶段得到的跨模态映射模型将测试类输入样例映射到语义空间中,并根据相似性判断方法 (如余弦相 似性、K 近邻方法等), 将与输入样例的的语义向量估计最为相似的语义向量的类标签, 作为测试类图 像的类标签估计。

    简单来说,将类标签映射到语义空间中,根据训练集依据一定原则来训练样例到语义空间的映射关系f,原则即:“样例映射到语义空间中应该在类标签向量周围”,依据映射关系f将测试集也映射到语义空间中,并根据相似性判断方法确定其类别。

    零样本学习关键问题:

    • 广义零样本学习 (Generalized zero-shot learning)

    零样本学习在测试阶段,只有未 见类样例出现。” 这在实际应用中是不现实的,已见类的对象往往是现实世界中最为常见的对象, 而且,如果在训练阶段已见类样本容易得到、未见类样本难以获取, 那么在测试阶段就也不应只有未见类样例出现。

     广义零样本学习定义:

    如果模型在训练过程 中,只可以使用训练类的样本进行训练,并且在测试 阶段可以准确识别已见类样例以及从未见过的未见类样例,那么就认为该模型实现了广义零样本学习。

    虽然广义零样本学习定义十分简单, 但传统零样本学习方法仍会出现上述未见类识别准确率较低的问题,这是因为模型在训练过程中只使用了已见类样本进行训练,已见类的先验知识也更为丰富,从而使得已见类模型占主导地位。所以在输入测试样例时,模型会更加倾向于对未见类样例标注为已见类的标签,从而造成识别准确率与传统零样本学习相比的大幅度下跌对于这一问题, 一般有两种解决方法,一种是 在输入样例时,判断其属于已见类或未见类,这种方 法称为新颖检测;另一种方法是在模型判断输入样例为已见类时,叠加一个校准因子以平衡模型对已见类识别的倾向性, 这一种方法称为叠加校准,两种方法具体内容如下。

    • 枢纽度问题 (Hubness)

    这一问题是指将原始空间 (例如图像特征空间或类标签空间) 中的某个元素映射到特征子空间中,得到原始空间中某个元素的在特征子空间中的新表示,这时如果使用 K 近邻方法进行相似性度量时,可能会有某些原始空间中无关元素映射到多个测试样本特征空间中表示最近的几个近邻中, 而这些无关向量,就称为 “枢纽 (hub)”, 枢纽的出现,污染了测试类的近邻列表,对零样本学习产生了较大的影响。所有利用特征子空间的机器学习模型,都会存在这一现象,维度越高,这一现象愈发明显。简单来说,就是在原特征空间类别可分的样例,映射到特征空间中出现类别不可分的现象。

    枢纽化现象的示意图:.

    • 映射域偏移问题 (The projection domain shift problem)

    映射域偏移问题的根源在于映射模型较差的泛化能力:模型使用了训练类样本学习由样例特征空间到类标签语义空间的映射,由于没有测试类样本可以用于训练,因此,在映射测试类的输入样例时,就会产生一定的偏差。示意图如下所示:白色圆点为训练类标签的语义向量,黑色圆点为测试类标签的语义向量,灰色圆点为测试类输入在语义空间中的映射向量,其余为训练类在语义空间的映射向量,可以看出,老虎、马和斑马为训练类, 熊猫为测试类,训练类的样本都很好地映射到了训练类语义向量的附近,而测试类输入样例映射到语义空间后,却与它所对应的类标签距离较远。 因此,如果想要解决映射域偏移问题,就需要提高映射模型的泛化能力。

    映射域偏移问题示意图:

    零样本学习方法研究进展 :

    目前的零样本学习方法一般都沿袭了将输入和输出映射到子空间的思路,在这一思路下的零样本学习方法可以分为两类:“相容性模型” (主要是DAP 模型)和 “混合模型”(主要是IAP 模型)。

    • (1)相容性模型结构示意图(主要是DAP 模型)

    相容性模型又分为线性相容性模型和非线性相容性模型。 非线性相容性模型使用非线性相容函数,与线性相容性模型相比具有着更强的表达能力;因此, 目前的零样本学习研究中,非线性相容性模型在相容性模型中占据主流地位。

    • 线性相容性模型分类示意图 :

    线性相容性模型与非线性相容性模型的主要区别在于 F(θ(x),ϕ(y),w) 是否为线性函数。 在线性相容性模型中,相容性函数定义为:

    线性相容性零样本学习模型:分别是深度语义嵌入模型、属性标签嵌 入模型、属性描述替换模型、文本描述替换模型、多视图零样本学习模型和细粒度数据视觉描述的深度表示模型。

    • 深度语义嵌入模型:

    • 属性标签嵌 入模型:

    •  属性描述替换模型:

    • 文本描述替换模型:

    • 多视图零样本学习模型:

    • 细粒度数据视觉描述的深度表示模型:

    • 非线性相容性模型分类示意图 :

     顾名思义,非线性相容性模型的相容性函数是非线性的, 一般来说有两种常见形式:(1)距离函数形式 (2)概率形式。我们将介绍 7 种典型非线性相容性模型:语义自编码器模型、语义嵌入一致 性度量模型、联合隐变量相似嵌入模型、隐嵌 入模型、反向深度嵌入模型、基于文本描述的 深度零样本卷积神经网络和基于随机森林的零 样本学习模型。 

    • 语义自编码器模型

    • 语义嵌入一致 性度量模型

    • 联合隐变量相似嵌入模型

    • 隐嵌 入模型

    • 反向深度嵌入模型

    • 基于文本描述的深度零样本卷积神经网络

    • 基于随机森林的零 样本学习模型

    • (2)混合模型结构示意图(主要是IAP 模型)

    利用训练类类标签所对应的特征子空间映射的混合组合来表示测试类输入样例在特征子空间中的映射,进而判断输入样例的映射与测试类类标签映射之间的相似性,得到输入样例类标签估计的模型,称为混合模型。简单来说:训练样例映射到特征子空间中,测试阶段过来一个测试样例同样方法可以映射到特征子空间中,且可以用其他已知样例的特征向量表示出来,比如熊猫 = 猫+熊,这样我们就可以预测输入的类别。

    混合模型分类示意图 : 

    •  语义凸组合模型 

    • 综合零样本学习模型 

    • 语义相似嵌入模型 

    • 高斯混合模型 

    • 结构预测模型 

    • 相关知识迁移模型

    • 属性回归类原型矫正模型 

    • 基于神经网络输出无监督学习应用的零样本学习

    • 辅助信息介绍 :

    辅助信息用于描述训练类和测试类, 并将训练类和测试类关联起来,使得训练类和测试类之间可以共享某些特征, 是成功实现零样本学习的关键,目前来说,有三种形式的辅助信息成功应用于零样本学习中,分别为:手工标注的属性、文本学习模型、 以及层次结。 

    • (1)手工标注的属性 (也称:基于属性的方法)

    属性特征向量表示形式为:a^{l} = \left \{ a_{1}^{l},a_{2}^{l},....,a_{M}^{l} \right \}l代表类标签索引值,,M为第 l个类标签中所有可能出现的属性个数;这种方法带来巨大的人力损耗。

    • (2)文本学习 (也称:基于词嵌入向量的方法)

    运用自然语言处理领域语义向量来表示,得到的特征表示为类标签单词在语义空间中的特征向量。目前,应用在零样 本学习中的自然语言处理工具共有三种:Bag-ofWords、Word2Vec和 GloVe。

    • (3)类层次结构关系 (也称:基于知识图的方法)

    WordNet 为包含100000 个英语单词的数据库, 可以提供大量的类层次结构关系, 可以使用多个相似性度量函数对各个类标签的相似度进行度量;层次结构信息在零样本学习中应用较少。

    零样本图像识别

    零样本图像识别通俗来讲,处理对象为图片的零样本学习。
    机器学习方法对比表:

    零样本图像学习技术结构图:

    其中,函数f是由训练数据集学习而来,用来完成 图像特征到嵌入空间的映射,函数一般选用最近邻算法或是其他更复杂的相似度计算方法,用来确定图像所属的类别标签 。目前根据在训练阶段是否使用未知类的无标记数据,可以将零样本学习分为两大类,分别是直推式零样本学习归纳式零样本学习。 

    •  直推式零样本学习:

    直推式零样本学习是指在训练阶段使用未知类的无标记数据,在训练阶段使用无标签未知类数据提高最终分类器对未知类的判别能力,如下图所示:一方面,利用未知类中的数据训练分类器可以提高在未知类上的泛化能 力;另一方面,未知类与已知类的数据相互结合用于学习,可以联合优化分类器 。 

    直推式零样本学习结构示意图如下: 

    • 归纳式零样本学习:

    归纳式零样本学习是指在分类器训练阶段只使用训练集数据学习函数 ,在测试阶段以并行方式对所有测试集数据进行类标签预测,预测过程相互独立,如下图所示:该方法也是目前零样本学习问题中应用最广泛的一种解决思路。 在归纳式零样本学习中最经典的方法就是 Lampert等人提出的直接预测模型(Direct Attribute Prediction, DAP)和间接预测模型(Indirect Attribute Prediction, IAP),前面已经介绍过,这里就不赘述啦。

     归纳式零样本学习结构示意图:

     工程应用 :

    (1)图像处理领域:

    • 人类姿态识别模型(可以精确地识别图片中人类的姿态)
    • 种不依赖于局部 和低维特征的指纹识别方法(实现在低廉的商用设 备上就能达到高精度的识别效果)
    • 基于零样本学习的语义输出编码分类器(对fMRI图像进行解码分析,做到了对从未见过的图像的预测功能)
    • Zero-shot Hashing算法(实现较以往哈希算法更优越的图像检索性能,同时规避了 高昂的人工标签成本)

    (2)视频处理领域:

    • 基于属性的零样本学习将属性特征运用在人类行为识别上
    • 了一种学 习潜在属性的模型(解决了稀疏标签群体社会活动理解中的 属性学习问题)
    • objects2action 模型(利用零样本学习实现在视频中动作的时空定位)
    • 辅助图像传输编码(解决了基于深度特征编码的 大规模视频情绪识别中对未知情绪的识别问题)

    (3)自然语言处理领域:

    • 多语种的神经机器翻译(NMT)模型(提升了在训练源数据不充足时的翻译质量)
    • 一种简单的零样本学习方法解决了预测一个文档的多个以前从未出现过的可能标签的问题

    关键技术:

    处理零样本学习问题中使用的普遍的步骤为:(1)提取视觉特征构建视觉空间; (2)提取语义特征构建语义空间;(3)实现视觉空间 与语义空间之间的映射构建嵌入空间。 

    • 视觉特征:(一般包括颜色、纹理、 形状等信息)

    (1)传统方法(只能提取图像的低级特征):

    •  描述颜色信息   {HSV、 Lab、HIS等颜色模型和HOG特征}
    • 描 述纹理信息   {灰度共生矩阵、Tamura特征、自回归模型和LBP算子}
    • 描述形状信息  {Hough变换、傅里叶形状描述符、SIFT、 SURF、Haar等特征 }

    (2)基于深度学习方法(可以提取图像的高级特征):

    tip:在零样本图像识别任务中,一般使用基于深度学习方法提取特征效果较好。

    零样本学习中使用较为广泛主要有(1)VGG(2)GoogleNet(3)ResNet

    零样本学习中深度卷积神经网络使用情况统计表:

    • 语义特征(类别的特征表示):

    语义特征提取的目的在于构建语义向量,它必须同时具有足够的语义性和较强的判断性。两者相 互矛盾,语义性强要求语义向量能够包含更多对象 的细节信息,其中包含了与分类任务不相关的信息,如动物的习性、人类的习惯、场景的描述等; 而判断性强则要求语义向量更应该关注最能区分不同对象类别的信息。如何平衡两者之间的权重,强 化零样本学习的泛化能力也是目前零样本学习领域的研究重点之一。

    零样本学习中主要的语义特征提取方法分为(1)基于属性(2)基于词嵌入向量(3)基于知识图;其中这3中属性前面已经介绍过了,这里同样不在赘述了。

    • 视觉---语义映射 :

    视觉-语义映射是解决零样本学习问题必不可少的基石,是图像特征与语义向量之间的连接的枢纽。一旦建立好视觉-语义映射,便可以计算任意未知类数据和未知类原型之间的相似度,并基于该相似度对未知类进行分类。

    构建视觉-语义映射主要有3种方式:

    (1)正向映射

    在视觉端构建,将图片特征映射到语义向量空间, 并在语义向量空间进行未知类识别。(通俗来讲:就是将图片特征映射成语义向量的形式

    (2)反向映射

    在语义端构建,将语义向量映射到图片特征空间,并在图片特征空间进行未知类识别。(通俗来讲:就是将语义向量映射成图片特征的形式

    (3)公共 映射

    该方式为零样本学习的主流映射方式;在公共端构建,将图片特征和语义向量映射到公共空间,比如嵌入空间,并在公共空间内完成识别任务。

     3种视觉-语义映射示意图:

    零样本学习领域常用数据集:

    它们分别是(1)AwA(2)CUB(3)aPY(4)SUN(5)Flower (6)Dogs(7)ImageNet。其中前6个数据集为小规模数据集,最后一个为大规模数据集。

    传统零样本学习VS泛化零样本学习 :

    • 传统零样本学习(conventional Zero-Shot Learning, cZSL)是指在实验阶段仅使用已知类训练模型,仅使用未知类测试模型。
    • 泛化零样本学习 (generalized Zero-Shot Learning, gZSL)是指在实验阶段仅使用已知类训练模型,则不再将测试数据强制认定为仅来自未知类,而是对测试数据的来源做更松弛化的假设(测试数据可以来自于所有类别中的任意对象类)。

    注意:上面两项与直推式零样本学习/归纳式零样本学习的区别与联系。

    一个切实有用的零样本学习系统应该既能精确地识别已知类,又能准确地区分未知类。它不但可以区分待识别对象是来自于已知类还是未知类,也可以识别待识别对象属于已知类或未知类中的哪种 物体。但是由于传统零样本学习的测试阶段设置过 于严苛,不能真实反映现实世界中物体识别的情 景,为了更好地评价零样本学习模型在实际情况中 的性能,泛化零样本学习必不可少。

     零样本学习性能比较(%):

    传统零样本学习性能比较选取两个量化指标对模型性能进行分析,其中SS表示数据集在标准分割规则下得到的识别精度,PS表示数据集在新提出的分割规则下得到的识别精度:(1)早期基于浅层图像特征的模型性能普遍较低,当使用深度卷积神经网络提取图像的深度特征后,性能大幅度提升。(2)零样本学习对于粗粒度数据集的性能要优于细粒度数据集,在表中表现为各个模型在AwA数据集上的性能均大于在CUB和 SUN数据集上的性能。

    泛化零样本学习性能比较选取3个量化指标对模型性能进行分析,其中U->T表示假设测试数据来自于未知类,但在所有对象类中进行识别, S->T表示假设测试数据来自于已知类,但在所有对象类中进行识别, H表示调和平均数。从对比结果可以发现:(1)大多数模型在泛化零样本学习设置下的性能指标都不理想,这说明了传统的零样本学习设置存在一定程度的缺陷,未能较真实地契合现实世界的分类情况;(2)QFSL模型在泛化能力上要明显好于其他模型,由于该模型属于直推式零样本学习模型,所以从侧面说明了只依靠已知类数据构建的 算法缺乏泛化能力。

    展开全文
  • 开始学习机器学习视频教程

    万人学习 2017-12-04 22:38:30
    人工智能作为现在最为火热的领域,使得机器学习被越来越多的人所了解。机器学习难学,主要的难度在于算法模型多不好理解,各种各样的工具不知道如何使用,实际项目不知道如何开发。本门课程将系统入门机器学习,课程...
  • 我们的课程是通过《王者荣耀》这个案例,基础系统学习Unity游戏和VR开发。学习过程有趣,学成之后能够达到就业水平,甚至有1-2年经验水平。特色是:寓教于乐、专业丰富。PS:课程资源包在q群(210768602)公告里。...
  • Scratch3.0趣味编程L1-基础轻松体验

    千人学习 2019-01-16 17:30:56
    主要讲解最新版本Scratch3.0的基础使用方法,以案例教学的方式,培训兴趣,让同学们不知不觉中学会软件的基础知识。并可以完成简单的游戏程序。
  • 相对于Flash,Flex,Silverlight等富客户端技术,WebGL之ThreeJS:通过OpenGL ES 2.0,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能...
  • 基础学Java Web开发 jSP+Servlet+Struts +Spring+Hibernate+Ajax基础学Java Web开发 jSP+Servlet+Struts +Spring+Hibernate+Ajax基础学Java Web开发 jSP+Servlet+Struts +Spring+Hibernate+Ajax基础学Java ...
  • 基础掌握 Python 入门到实战

    万人学习 2019-11-08 15:16:01
    【为什么学Python】 Python 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就...
  • 一篇论文说激光雷达技术从原理上可以分为相干测量和直接测量,其中,相干探测也可以分为差探测和外差探测;直接探测则可以分为模拟探测和单光子探测。 由于不懂"相干探测也可以分为差探测和外差探测"中的差...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,499,367
精华内容 599,746
关键字: