精华内容
下载资源
问答
  • SDN

    千次阅读 多人点赞 2017-06-29 11:35:37
    SDN包含控制器和openflow两大部分,控制器是一个软件,可以对整个网络设备进行管理和控制,管理包括下发转发表项,控制包括对所有网络设 备运行状态进行监控。Openflow是控制器与网络设备之间互通的语言,控制器...

    未来的数据中心网络包括三大件:SDN、Overlay无状态网络、vDC虚拟私有数据中心。

    1 SDN最早为人们所熟知,即软件定义网络。核心理念是将网络功能和业务处理功能与网络设备硬件解耦,变成抽象化的功能,再通过外置的控制器来控制这 些抽象化对象。通过把传统网络的紧耦合架构拆分为应用、控制、转发三层分离的架构,网络将不再成为制约业务上线和云效率的瓶颈,而是在完成数据传输任务的 同时,也能变得和虚拟化后的计算、存储资源一样,成为一种可灵活调配的资源。

    SDN包含控制器和openflow两大部分,控制器是一个软件,可以对整个网络设备进行管理和控制,管理包括下发转发表项,控制包括对所有网络设 备运行状态进行监控。Openflow是控制器与网络设备之间互通的语言,控制器通过Openflow对所有网络设备进行转发表项下发,设备管理。

    2 Overlay无状态网络技术也是未来数据中心的重要组成部分。Overlay是叠加的意思,即通过在现有网络上叠加一个软件定义的逻辑网络,原有 网络尽量不做改造,通过定义其上的逻辑网络,实现业务逻辑,从而解决原有数据中心的网络问题,极大的节省传统用户投资。Overlay是一种将(业务的) 二层网络构架在(传统网络的)三层/四层报文中进行传递的网络技术。这样的技术实际上就是一种隧道封装技术。其实在网络技术里已经有了不少的封装技术,比 如MPLS、VPLS、GRE等等,那么为什么还需要这样一种新的封装技术呢。
    Overlay最为关键的是要实现无状态网络,即在多个数据中心之间互访,虚拟机迁移都可以无感知地进行。对于上层应用业务无告知,也许一种业务是 多个数据中心同时多个虚拟机提供的,这个在Overlay网络里再正常不过了。Overlay目前包含有三大标准技术,其中当属VXlan技术最受关 注,VXlan是思科和VMware共同提出来的,自从被提出来就广受关注。从封装的结构上来看,VXlan提供了将二层网络overlay在三层网络上 的能力,VXlan Header中的VNI有24个bit,数量远远大于4096,并且UDP的封装可以穿越三层网络,比VLAN有更好的扩展性。在数据中心 里,Overlay提供了一种解决数据平面转发和多租户隔离的技术手段,而之前说到的SDN,是定义了一种控制和管理的网络架构。两者在未来数据中心里作 用并不冲突,而且VXlan技术还是SDN部署的必要条件,只有部署了VXlan才能上SDN,两者可以有机地结合,共同发挥作用。

    3 未来的数据中心有了SDN和Overlay,是不是就够了?当然不够。还有一个重要的组成部分,那就是vDC虚拟私有数据中心。vDC虚拟私有数据 中心其实包含很多内容,安全的虚拟化,服务器的虚拟化以及网络的虚拟化,对数据中心全面做虚拟化。vDC虚拟私有数据中心网络部分的典型技术目前是 VMware的Neutron网络技术。Neutron目的是为 OpenStack 云更灵活地划分物理网络,在多租户环境下提供给每个租户独立的网络环境。另外,Neutron 提供 API 来实现这种目标。Neutron 中用户可以创建自己的网络对象,如果要和物理环境下的概念映射的话,这个网络对象相当于一个巨大的交换机,可以拥有无限多个动态可创建和销毁的虚拟端口。 Neutron是一个站在SDN之上的,提供接近应用层的网络虚拟,偏应用层的技术,是SDN的有效补充。SDN实现的是三层以下的虚拟化,而vDC网络 关注的是四到七层的虚拟化。

    SDN的本质定义就是软件定义网络,也就是说希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。

    1 SDN标准:ONF

    网站:https://www.opennetworking.org/


    参考:http://www.cnblogs.com/qq952693358/p/5835640.html

    SDN的核心:可编程性

    SDN的思想:SOA面向服务

    面向服务的体系结构(service-oriented architecture SOA)

    使网络连接的大量计算机易于合作,以 服务 而不是人工交互来交流信息。
    使得更可用的,更灵活又可拓展的应用和服务得以构建,测试,部署和管理。

    软件定义网络

    网络是IT行业的基石。
    网络如果以正确的方法来架构和运用,就能成为目前最大的业务推动者:把网络,服务器和存储紧密联系在一起,使SOA原则应用于网络层。
    SDN 和 API 更加方便地实现 对网络和服务的 编程意图 和 状态接收。
    将SOA原则应用于网络层,网络变的更加容易,它提供的服务更加可以通过编程来实现,更加灵活。使得企业可以以更快的速度转换IT技术。

    究竟什么是软件定义网络?

    SDN是一种简化网络的方法 和 体系架构,使得 网络对其工作负载和服务的要求更具有反应性,从中也可以窥探出未来网络的发展趋向:走向智能化。
    SDN提供一种功能:使得网络能够被运营商以编程的方式来访问,这样的目的是 1)实现网络自动化管理 以及服务编排。 2)能够跨路由器,跨交换机进行网络配置。3)对执行操作的应用程序 和 网络设备的操作系统 进行解耦合;即将应用程序和操作系统之间的关系理顺。

    注:耦合就是程序中的一部分跟其他部分之间的关系。解耦合就是把必要的耦合理顺,同时尽量减少不必要的耦合(这一句其实就是高内聚低耦合的通俗解释)。

    SDN为什么会出现?

    从历史上看,网络配置的特征 是静态的,不变的,通常是不允许触碰的。需要在设备上面人工手动,基于命令行来进行配置。

    静态的网络配置导致了什么问题?
    1)可管理性差 2)核心的可拓展性差

    需要对付一个比较大的网络(有许多的交换机,路由器以及服务器)的时候,比如需要一个操作来应用到在整个操作系统的所有设备的时候,人工管理很明显力不从心:根本不够灵活和敏捷;并且不能支持动态配置和瞬时数据(即配置并不是持久地保持在配置文件中)。

    于是乎,SDN出现了。

    SDN体系的一个主要功能是:在一个平台上编写应用程序,利用从不同来源获得的信息,根据这个网络的拓扑结构和情况 专门定制对这个网络的操作。

    SDN体系 三种理解

    理解一:集中式的管理下 分布式1)控制2)管理3)数据平面。

    这句话,从前半句话和后半句话进行理解。首先 集中式的管理,代表着SDN体系和传统体系的不同:由我们计划的策略决定的一些规则 集中地进行管理(比如策略的安全性,质量以及监控)。其次 分布式的平面,代表着我们决定的策略以及一些规则 是具体应用在网络中的每一台网络设备上的。

    策略针对特定的网络 集中地进行一些修改和增删。而策略所需要执行的操作,则是具体到这个特定网络中的每一台网络设备中。

    这样做的好处:灵活,可拓展性强,比起之前的旧的网络体系来说,控制能力大大增强。

    理解二:SDN并不是取代现有的路由器和交换机的控制平面,而是进行补充。

    怎么补充?SDN提供整个网络的拓扑结构,原有的控制平面只能看到小部分,而现在SDN提供了整个网络的拓扑结构和状态,这使得我们的决策更加具有准确,更加具有弹性:比如某一台网络设备出现了故障,我们能够迅速的根据相关的网络拓扑以及周围网络设备所提供的信息解决故障,提供了最大的保护。

    理解三:SOA 和 SDN

    开篇介绍了SOA的概念:使网络连接的大量计算机易于合作,以 服务 而不是人工交互来交流信息。

    从上文来看,SDN是如何贯彻SOA的?
    SDN提供一种功能:使得网络能够被运营商以编程的方式来访问
    与SOA联系:使得服务的构建和测试,部署与管理,通过编程的方法来实现,更加灵活,具有可拓展性。

    也就是说,SDN是一种面向服务的体系结构(SOA),这是它通过 可编程性 来实现的。

    可编程性,体现了SOA的理念,是SDN的核心。

    小结一:

    从上文来看,SDN可以从两个方面入手:
    1)它是如何解决传统网络的问题(可拓展性差,不灵活等等)的?-利用 集中式的管理下的 分布式控制平面,管理平面,数据平面;提供全局的网络拓扑图。
    2)它所贯彻的思想?SOA面向服务,利用服务来进行网络设备之间的交流。如何实现?SDN的可编程性
    3)SOA和SDN的可编程性 带来了什么?提升了SDN网络的可拓展性和灵活程度,这一点和解决传统网络的问题联系了起来;使用户能够更加便捷的管理网络,运维人员和管理员能够迅速响应需求;使得应用程序更加贴近网络。

    我没有什么雄心壮志,我只想给自己和关心自己的家人和朋友一个交代,仅此而已。


    SDN前瞻 网络的前世今生


    目前网络层面流行的技术概念:虚拟中心;公有云私有云;数据中心等等。

    SDN主要的模拟器:Mininet OpenDaylight(Cisco) ONOS(AT&T等运营商主流的SDN工具)

    重要技术:SDN控制器。

    标准的定义:ONF:是由 Microsoft Google 等互联网公司定义SDN标准。而不是传统的ISO,RFC。

    传统网络

    PC-PC:网线连接

    网卡 + 网线 + 协议栈 组成最小单元网络
    1)网线提供物理介质,承载比特流/电信号(数字信号)。
    2)网卡进行数据处理,将比特流转换为数据,将磁盘上的数据/字节 转换为 网线上的比特/电流。
    3)协议栈作为沟通语言,实现通信过程中的数据解析,地址寻址,数据流控制。

    缺陷:无法实现远距离的通信。

    网线不够长?物理限制 -> 中继器

    信号中继,整形滤波,中继和放大信号。

    缺陷:中继器只有两个接口,无法实现多主机的直接通信。

    解决中继器的缺陷 -> 集线器 Hub

    集线器,即多口中继器,是OSI七层模型的物理层模型。

    缺陷:带宽利用率低,处在同一个冲突域中,会往所有接口洪泛信息。

    解决集线器的缺陷 -> 网桥 Bridge

    网桥是链路层产品,能够阅读和记录MAC信息,生成MAC通信表。代表着快速以太网来临
    它能够进行冲突域隔离。

    缺陷:接口默认两个,对网络的冲突隔离有限。速度慢。

    解决网桥的缺陷 -> 交换机 Switch

    交换机是当代计算机网络中比较重要的产品和技术,每一台连接到Switch的主机都处于一个独立的冲突域内。同时利用MAC通信表进行转发数据流。

    交换机是在网桥的基础上进行改进的,相比网桥有以下优点:
    1)接口数量更加密集,每一台主机在独立的冲突域,带宽利用率大大增强。
    2)利用ASIC硬件芯片进行高速的转发。
    3)能够进行VLAN虚拟局域网的隔离:不仅仅能够隔离冲突域,还能通过VLAN隔离广播域。

    它是一种局域网产品,目前处于主流地位的仍然是以太网技术。

    缺陷:一般用于本地网络通信,无法实现广域网通信。

    在后面的SDN学习过程中,它是主要的转发数据的工具。

    实现远程网络的通信 -> 路由器

    路由器是网络层产品,基于IP寻址,采用路由表来进行数据转发。
    路由器实现了不同局域网之间的通信连接,可以是不同的介质,比如以太网和令牌环网可以互通,实现广播域隔离,实现远程通信(WAN广域网连接)
    路由器的诞生,是互联网络大爆炸的主要原因,跨不同介质,跨不同网络的联系得以实现。
    IP寻址机制,利用了路由器之间的路由选择协议等,保证了数据的准确传输:只要连接两端的两台主机有配置合理的逻辑IP地址,就可以进行通信。

    布线,路由器配置 麻烦 -> 无线AC/AP

    无线AC/AP Access point 可以看成带有无线功能的交换机/路由器。随着移动办公的趋势,网络中无线产品越来越多。

    根据部署方法分类:
    1)胖AP:无线AP具有独立的操作系统,可以独立调试网络热点中的所有配置。eg. TP-LINK
    2)瘦AP:无线AP只具备无线信号发射的功能,所有的命令调试全部集中在后台的AC/无线控制器上面。
    小型无线网络,比如家庭网络,使用胖AP即可解决;大型无线网络,比如无线城市,则需要使用瘦AP方案解决。

    这种后台控制器的思想 和 SDN有一些渊源。

    解决安全问题 -> 防火墙

    防火墙Firewall 是一种网络安全产品,对网络进行安全访问限制,一般在互联网边缘使用,防止外部黑客的攻击。
    防火墙可以看成是带有安全功能的路由器,很多防火墙的内容可以在路由器上看到,比如路由协议,访问控制列表,地址翻转技术。

    是否有了防火墙就可以不用路由器了呢?路由器一般和防火墙同时存在,防火墙负责安全隔离,路由器负责路由选路。

    根据防火墙的技术特征,可以分为包过滤,应用代理,状态监测防火墙;根据产品形态,可以分为软件和硬件防火墙。

    解决网络拥塞 -> 流量控制

    网络拥塞一直是传统网络中的永恒问题,从TCP的流量控制机制:滑动窗口,防止小包,慢启动拥塞避免等等;到中间路由器提高转发效率的做法:比如OSPF取代传统的RIP,避免了大量的RIP更新,更高效地转发数据同时也避免了大量的路由交换信息;再到流控产品。
    这些措施,策略,产品的出现是必然的:网络如今以一种极快的速度在发展,每时每刻都有大量的数据需要进行处理,倘若没有合理的流量控制,网络拥塞会使得整个网络的效率非常之低。

    由以上这些产品所构成的各式各样的网络

    家庭SOHO网络,小型创业公司网络,园区网,政务网,数据中心网,电信/互联网······

    那么网络到底要多大才能满足以上种种?

    要满足 端到端的主机通信,远程网络的主机通信,不同局域网络之间的通信,处理泛洪问题,解决安全问题,解决流量控制问题 等等一系列十分复杂 实现困难的问题,可想而知,配置网络是一件多么庞大,多么困难的事情了。
    在网络速度迅猛发展的今天,网络流量越来越多,网络拥塞也日益见长。在解决以上问题的同时,解决 网络安全控制,网络拥塞控制,保证网络效率,解决网络配置难,管理网络难,更新服务难 等一系列困扰以久的问题也迫在眉睫。传统网络越来越为人诟病,原有架构在解决这些问题的路径上举步维艰,难以维系。

    因此,我认为,SDN的出现是必然的,在网络领域是一种伟大的历史革命。

    总结:需求 驱动 技术

    传统网络行业的发展,是一种按需发展的思路:出现什么问题就解决什么问题催生出什么产品。”这句话是根据传统网络的发展历程得出的结论:从刚刚开始的中继器 到 现在如此庞杂的互联网络,每一次革命性的网络设备的发明,都是源于需求。

    但是,这样的发展速度是十分缓慢的:大部分网络产品是硬件产品,更新迭代远不如软件快。
    最致命的一点:“底层是对用户封闭的,客户的意见只能反映到厂商,由厂商来解决他们的需求,周期长,效率低。

    因此,我们的思考,就从这些问题入手:我们能不能做出一个架构,让网络像软件一样,更新快,用户体验好,可管理性强,用户如果有需求可以直接对它进行相关操作。

    于是乎,有了这么强烈的需求,技术就出现了:SDN。



    SDN前瞻 传统网络架构的危机:危机“四”起

    在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题(3+1)。

    1)传统网络的部署和管理 非常困难
    2)分布式网络架构凸显瓶颈
    3)流量控制十分棘手

    4)可编程性

    本文从以上三个角度出发,结合视频内容和自己的理解进行一个阐述。

    为什么要介绍传统网络架构的危机?只有在了解了传统网络架构的不足与缺陷之后,才能更好的理解SDN新型网络 “新”在哪里,优在哪里。

    网络产商的分类

    1)综合厂商/全栈厂商:提供交换机,路由器,防火墙,无线等技术产品 和 整体的解决方案。比如Cisco,Huawei,H3C等等。
    2)安全厂商:对外提供防火墙,入侵检测,入侵防御,安全网关,防止病毒等等技术产品。比如Checkpoint。
    3)流控厂商:提供流量控制产品。比如F5,Randware。

    如何对网络设备进行操作?

    不同的厂商所生产的网络设备,需要不同的方式进行调试和配置。
    一般通过命令行和Web界面。

    我们的网络,大部分是混合型网络,各大厂商的网络设备鱼龙混杂。
    这就使得,对一个网络中不同的厂商生产的网络设备进行 统一 的调试和配置,是一件困难又复杂的事情。

    但是好在底层有 路由选择协议等等用于路由器交换信息的协议,使得 不同厂家生产的路由器互相交流 是没有问题的。因此客户采购网络设备的时候,可以根据自身的需要 选择合适的方案。

    关键点:网络厂商的不同,造成了网络设备的不同,给网络的管理和配置带来了非常大的困难。

    目前,我们是如何管理这么多的网络设备呢?

    如何统一来管理这么多的 不同品牌的网络设备呢?是通过 在服务器上搭建的网管软件。

    比如学校利用的就是网管软件,架设在服务器中;网管软件生成网络的拓扑图,知道哪一台PC在哪里,出现故障能够进行报警。

    关键:网管服务器 是目前主流的网络设备管理方案,网络设备(路由器,交换机,防火墙等等)和 网管系统(H3C iMC等等) 部署SNMP协议:这是一种 侧重监控网络 的协议。
    通过网管系统能够对全网进行 可视化拓扑发现,配置管理,链路质量检测等等。

    网管系统一般部署于安全管理区域。

    SNMP协议:简单网络管理协议,侧重监控,而不是配置和部署。
    当某一台网络设备发生故障的时候,SNMP协议监控到了这一异常,发出警告;用户通过网管软件的警告,来获知相关错误信息,通过远程登录或者是下机房 进行命令行配置和调试。

    注意:网管软件起到的只是一个监视器的作用,真正去修改配置解决问题 还是需要我们自己手动。

    引出我们的第一个问题:传统网络的部署和管理 非常困难!

    网络产商杂乱;网络设备种类多,数量也多;配置和管理的 命令不一致。 -> 配置难,管理烦


    不同的网络设备是如何协同工作的?

    网络设备之间,大部分都是采用 路由交换协议等 网络协议 来进行信息的交互。比如 OSPF/BGP/MPLS 等。
    这些协议大部分的逻辑基础,都是【邻居建立 -> 信息共享 -> 选择路径】这样的工作流程。

    这句话很重要:大部分网络采用的是 典型的分布式网络架构:设备和设备之间相互交流路由信息,然后根据这些信息建立拓扑信息库,按照一些选路的算法计算路径。

    举个例子:OSPF,建立邻居关系之后,交换第一类LSA,建立拓扑数据库,然后把数据库的内容作为SPF/Dijkstra算法的输入,确定最短路径,然后添加到路由表项中。

    每一个设备都会进行独立的计算,相当于都具有一个独立的大脑与一个独立的转发硬件。

    协议是 网络设备的语言,相当于人类沟通的语言。

    关键:不同的网络设备之间 通过协议进行交流,大部分协议都是通过 建立关系->信息共享->选择路径 这三个步骤来实现的。
    分布式网络架构,实现的是 网络设备与网络设备互相交流本地的信息。比较典型的代表是 OSPF的分区域。

    与现在的SDN最大的区别就是:传统的网络,每一个底层设备(路由器,交换机等等)都有一个独立的大脑;而SDN除了控制器有大脑,转发层的 交换机 就是个傻逼。

    如果网络发生动荡,设备怎么进行交互?

    网络设备以 接力棒 的形式不断告诉下一跳邻居设备,然后将故障的链路删除。
    但是可能会有多余的重复的信息。

    当流量 暴增 时,网络拓扑 膨胀 时···

    现在的云计算,大数据等互联技术的发展,导致网络中的流量越来越多,几乎以指数增长的形式上升,这使得底层网络设备的数量不断增加,压力越来越大,路由收敛的时间越来越长,效率越来越低。

    在所有的网络类型中,数据中心网络(互联网公司),电信网络(运营商) 网络压力最大,改革的意愿最强。
    因此,SDN新型网络的主要引导者及其标准的指定者,是 运营商 和 互联网公司(主要)。

    关键:网络数据膨胀,路径就会出现故障,有可能出现环路,这导致了路由收敛的时间(所有路由器更新路由表项的时间)非常之漫长。

    如今,上千上万台交换机在传统网络的底层工作,硬件方面的变革(就像我上一篇随笔提到的那样)无法继续满足人类的需求。因此,网络的整体设计,需要从底层,甚至从设计思想上面做出变革。

    引出第二个问题:分布式网络-接力棒模式 凸显瓶颈!路由表更新太慢了!网络设备需要分配的资源太多了!这个理念需要革新了!

    分布式 可以理解为是 传递接力棒 的模式:你传递给它,它再传递给另外的网络设备。
    网络设备独立计算,网络设备和网络设备之间 接力棒式 的交换路由信息,以及它的分布式架构 -> 凸显瓶颈:独立计算导致计算量庞大,每一台网络设备需要分配的资源多;分布式导致路由汇聚缓慢,路由器更新路由表项慢 等等

    这也就说明了,原有的 分布式设计网络的理念 需要进行革新。


    传统的网络带宽是如何分配的呢?关键词:负载均衡

    数据的负载均衡 在传统的网络中并没有很好的解决:前往同一个目的地的带宽相同的路径A和B,有可能 A 95%的带宽都用于承担数据了,压力非常大,而 路径B 的带宽则只有20%利用率。
    这在数据中心里是非常容易发生的一件事情,当非常多的数据进来的时候,并没有完全的实现路径的负载均衡,这就很可能出现这种很危险的情况:某一个设备,在某一个瞬间压力过大崩溃了。

    因此,当今网络最大的一个问题之一,就是 流量的可视化。现在的 流量控制网络设备,并不能做到对全网,全链路进行流量控制,进行合理的负载均衡。

    有人可能会问,为什么不使得所有的 交换机和流量控制网络设备,实时监控和共享链路状态信息:是否拥塞,这样的话就能构建成一幅实时的流量图,根据这个流量图来进行流量控制?
    虽然这个想法很不错,但是很遗憾,目前并没有一项技术能够支持构造实时的流量图:大部分流量控制设备都是独立进行控制的。

    关键:负载均衡 和 流量的可视化,是传统网络难以解决的问题。
    如果实现了流量的可视化,实现了负载均衡,那么就可以节省 为了负载均衡 而购买的网线/接口的钱,网络更加稳定,设备压力没有那么大,网络程序员的生活也就越来越美好了呢。

    流量全局可视化难!

    1)常规的网管软件,只能对故障进行监视,无法实现全网全局的链路状态检测。
    2)常规的流量控制软件,只能实现区域化的流量控制,以及区域化的流量可视化。

    理想的,也就是SDN所实现的,是通过软件上的按键,或者编写一段代码,把 带宽利用高的链路 的一部分信息,转移到 带宽利用率低的,相对来说网络拥塞不是那么严重的链路上面去。
    It‘s perfect!

    引出第三个问题:流量控制 是 棘手难题!带宽静态分配,流量可视化难!


    第四个问题 -> 转向新的内容 是传统网络不曾涉及的 可编程性

    能否自定义网络设备的转发策略

    • 传统的网络设备,工作方式是固定的:不修改目的IP地址和源IP地址,交换机根据MAC地址表进行转发,路由器根据路由表转发(不修改目的IP地址,不修改源IP地址,只修改MAC地址)。

    • SDN,根据业务需求,也就是客户需求,对转发设备的策略进行 自定义,这和传统固定的转发策略大为不同:传统是厂商决定,用户很难对固定的策略做出改变;而SDN允许用户通过编程的方式,来实现自定义转发策略,达到一些特定的目的。

    能否将这个软件应用到网络设备上面?

    目前市面上买来的网络设备,大多不支持;就算允许的话,也需要配置与该软件配套的操作系统。

    老规矩:无法按需,不可编程!

    第四个问题:无法按需!不可编程!吃硬不吃软!


    小结:

    本部视频导论 介绍了 传统网络的局限性,主要从四个方面对它的不足进行了描述:这四个方面,每一个方面都相互联系,难以解决。

    • (1)统一管理配置 不同厂商生产的 不同网络设备 难!
    • (2)“接力棒模式” -分布式的网络设计理念 过时了!路由器更新速度 太慢了!资源分配 太多了!
    • (3)流量控制,负载均衡,网络拥塞,流量可视化 这些迫在眉睫的问题 怎么解决?网络时时刻刻都在发送拥塞,数据传输效率低下,网络设备容易崩溃!压力太大了!
    • (4)要是能让程序员以他喜欢的方式:编程 自定义一个转发策略,或者 产品狗今天提出了一个网络需求,程序员能够通过软件的形式,以代码或者是图形界面的按钮 来控制网络设备,那该多好啊!传统网络定的规矩太死板了!

    总而言之,传统网络的设计理念(分布式,不可按需,流量控制,不可统一配置)与目前的需求 格格不入!
    我们需要更换我们固定的思维,来重新思考如何设计网络架构,以满足当代人们的需求。

    这就进入了SDN的内容。


    SDN前瞻 该来的来了!SDN 软件定义网络

    SDDC:Software Defined Data Center 软件定义数据中心,全数据中心软件化。
    在我们接触SDN概念之前,服务器虚拟化,软件虚拟化技术已经是非常成熟了。如果网络能够被虚拟化,那么整个数据中心的虚拟化运维就完全不是问题了。

    那么,SDN是什么?

    So Diao Network?

    Still Don't Know Network?

    对于学术界来说,SDN是什么?又是斯坦福!

    SDN的主导,是ONF开放网络基金会。

    发展简介:(详情咨询百度)

    • 2007年,斯坦福大学的学生Martin Casado 领导了一个关于网络安全与管理的项目Ethane,该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通讯的安全控制。
    • 2008年,基于Ethane 及其前续项目Sane的启发, Nick McKeown 教授等人提出了OpenFlow 的概念,并于当年在ACM SIGCOMM 发表了题为《OpenFlow: Enabling Innovation in Campus Networks》的论文,首次详细地介绍了OpenFlow 的概念。该篇论文除了阐述OpenFlow 的工作原理外,还列举了OpenFlow 几大应用场景。
    • 基于OpenFlow 为网络带来的可编程的特性,Nick McKeown教授和他的团队进一步提出了SDN(Software Defined Network,软件定义网络)的概念。2009年,SDN 概念入围Technology Review年度十大前沿技术,自此获得了学术界和工业界的广泛认可和大力支持。
      ···

    注:全球第一台路由器 是由斯坦福大学的 莱昂纳德·波萨克 夫妇创造的,用于斯坦福校内网络,全球网络行业的领头羊思科Cisco就是这对夫妇创建的;无独有偶,20年后,仍然是斯坦福大学,开创了SDN/Openflow的基础:实现跨世纪的接力棒,为互联网络注入未来!

    SDN三层模型:应用层,控制层,转发层

    在上图中,交换机没有“大脑”,即区别传统网络的交换机/路由器需查找MAC表/路由表,仅具备转发功能;所有的路径计算,安全策略等等全部在 控制器 上面计算;然后通过 Openflow 协议下放给交换机;交换机 根据流表(Flow Table) 进行转发。

    Ethane 与传统网络最大的不同是 控制平面 和 转发平面 分离;控制层实施集中式控制,可编程化,可视化,自动化等策略,转发层通过流表和硬件进行快速转发。

    对于商业界来说,SDN是什么?一马当先的Google B4网络 考虑链路带宽的利用率

    Google是第一个实现SDN商业化的网络厂商;每天用Google搜索的量是非常大的,Google有非常多的数据中心,每个数据中心之间通过租用的线路和BGP外部网关协议进行信息交互;由于流量十分巨大,而且负载均衡不到位,带宽资源有的管道接近崩溃,有的闲的没事情干:这造成了非常巨大的开销。

    Google采用控制器来控制底层的交换机,这些控制器是采用OpenFlow协议的,能够实时监控每一个交换机的每一个接口上跑的流量,这对他们是一个非常大的好消息。
    每一个数据中心,用一个控制器来管理,然后这些控制器连接到一个集中的服务器:Gateway/Te server。这样的话,当运维人员坐在电脑前,就能够清楚的知道各个数据中心的分布以及流量。

    SDN有多强?在使用传统网络的时候,Google架设的管道带宽利用率是20%-30%,架设了SDN网络架构之后,直接提升到99%!这反应了SDN 控制与转发平面分离的分布式架构 强大的控制流量能力。

    对于运营商来说,SDN是什么?NFV/ETSI 考虑运营成本

    NFV:Network Function Virtualization 网络功能虚拟化。
    运营商也在不断的寻求解决方案来提高利用率,降低运营成本;在遇到SDN之前,他们的解决方案是,将所有的网络设备,集中于一个大盒子里面,这样的话,就很容易达到 虚拟化,省成本,易迁移,易拓展,易部署的目标。
    于是乎,运营商提出了NFV,刚好这个思路和SDN很类似,因为在SDN中,也希望将这些流量控制的网络设备,网络安全的设备虚拟化;应用了SDN同时也就应用了NFV。

    NFV和SDN虽然是不同的组织来引导和研发,但是基本诉求是一致的:将 传统网络架构 虚拟化/软件化,统一部署,节省大量成本。

    因此,SDN并不是突然出现的,而是学术界,网络运营商,互联网公司一起摸索,逐渐形成的一个概念。

    SDN到底是什么?Software Defined Network

    SDN vs 传统网络

    控制转发分离 <-----> 控制转发隅合
    集中式控制 <-----> 分布式控制
    可编程 <-----> 不可编程
    开放接口 <-----> 不开放
    虚拟化 <-----> 硬件化

    SDN概念图

    图解:
    SDN Software Defined Network 软件定义网络,是一种网络设计理念

    或者是一种推倒重来的理念:网络设备可以集中式软件管理,可编程化,控制转发层面分开。

    所以说,SDN并不是一项网络技术,也不是一个协议,而是一种思想,一种框架。

    举个例子:你在PC上写了一个python的脚本,通过北向接口API在控制器上面执行该脚本;控制器执行OpenFlow协议,通过南向接口应用到转发层的交换机上面;交换机傻傻的通过 流表 来进行转发。

    狭义上的SDN:软件定义网络。广义上的SDN:软件定义安全,软件定义存储,软件定义数据中心等等。可以说SDN是一个浪潮,席卷了整个的IT行业。

    其他

    • 对网络的操作,从不同的命令行操作转移到了编写脚本语言,可编程化。
    • 哪些组织在推动SDN:ONF,ODL,ONOS ···

    SDN原理 控制层 Controller控制器

    本文参照SDN原理视频而成:SDN原理

    Controller 概念

    从上面这个图片,我们能够知道,Controller 是一个非常重要的东西:承上启下,左右拓展。

    从整个SDN的架构来看,控制器 处在整个架构最核心的部分:控制层。上面承接应用,下面承接网络硬件设备。

    在SDN的商业战争中,谁掌握了控制器,谁制定了控制器的标准,谁在产业链就最有发言权。华为,思科等传统大厂商仍然在主导核心的控制器。

    比如你开发了一个控制器,也就是提供了一个平台,所有的开发者都基于你这个控制器来进行开发,你就处在一个主导的地位。Windows 的开发平台在之前没有取得成功,其中的一个原因就是开发者没有过多的参与进来。

    所以,抓住控制器,也就抓住了SDN的核心:向下需要控制一定数量的网络设备,易于管理和配置;向上的应用和客户需要有一定的开放程度,能够执行应用的请求;东西接口的话,这使得Controller 能够采用一种分布式的策略部署,通过跑选举协议,做匹配的切换。

    Controller 功能

    南向功能支持 OpenFlow

    通过OpenFlow等南向接口技术,对网络设备进行监控:比如拓扑监视,流表下发,策略定制等等。

    需要注意的是,SDN中并不是所有的交换机都需要采用OpenFlow。这里引一段文字,来源于《SDN:网络创新的利器》文:张卫峰

    SDN != OpenFlow
    
    尽管SDN是基于OpenFlow提炼并发展起来的, 但两者并不等同。SDN是一个网络架构级的概念,强调软件定义网络,强调软硬件的分离。而 OpenFlow 则是一项具体的技术,它强调转发面的 标准化。
    
    SDN的转发面和南向接口可以通过OpenFlow来实 现,也可以通过别的技术,比如转发面可以不遵循OpenFlow标准,而是通过传统表项的组合来实现。只是OpenFlow是目前看起来最可能标准化的技术,也是跟SDN关系最深的技术。现在一个新的组织 OpenDayLight 正在制定从上到下全套的新标准,也许到时候不会使用OpenFlow也说不定。

    北向功能支持 仍然处在讨论阶段

    目前SDN除了南向接口的OpenFlow有了标准化的文案和规范之外,北向接口技术仍然没有一个标准。
    但是,就算是这样,Controller也需要对北向接口技术提供支持:比如 REST API(主),SOAP,OSGI等等。这样才能被上层应用所调用。

    东西向功能支持

    分布式的控制器架构 仍然是业界的共识,在后续的SDN版本中,应该会慢慢加大支持力度。
    东西向技术指的是 多控制器之间 如何进行选举(类比OSPF根据RID选举DR/BDR),协同(交互),主控制器和备用控制器的切换等等。
    Google B4 就是采用 分布式的控制器架构 的实例。

    如果我们只使用一个控制器,那么如果黑客破解了这个控制器,就控制了整个网络;因此为了安全性,需要多个控制器,并利用东西向接口技术来交互。

    控制器列表:开源SDN控制器和商用SDN控制器一览



    展开全文
  • 神经网络算法

    千次阅读 2015-10-23 14:38:18
    它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的...

    神经网络算法

     锁定

    本词条由科普中国百科科学词条编写与应用工作项目 审核

    逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。

    中文名

    神经网络算法

    外文名

    Neural network algorithm

        

    根据逻辑规则进行推理的过程

    第二种方式

    人工神经网络就是模拟人思维

    目录

    .         1 神经网络

    .         2 人工神经网络

    .          工作原理

    .          特点

    .          应用及发展

    神经网络

    思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。

    人工神经网络就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。

    神经网络的研究内容相当广泛,反映了多学科交叉技术领域的特点。主要的研究工作集中在以下几个方面:

    1)生物原型研究。从生理学、心理学、解剖学、脑科学、病理学等生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。

    2)建立理论模型。根据生物原型的研究,建立神经元、神经网络的理论模型。其中包括概念模型、知识模型、物理化学模型、数学模型等。

    3网络模型与算法研究。在理论模型研究的基础上构作具体的神经网络模型,以实现计算机模拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。

    4人工神经网络应用系统。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构造专家系统、制成机器人等等。

    纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子,生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。

    人工神经网络

    人工神经网络(Artificial Neural NetworksANN)系统是 20 世纪 40 年代后出现的。它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理、分布式信息存储、良好的自组织自学习能力等特点。BPBack Propagation)算法又称为误差反向传播算法,是人工神经网络中的一种监督式的学习算法。BP 神经网络算法在理论上可以逼近任意函数,基本的结构由非线性变化单元组成,具有很强的非线性映射能力。而且网络的中间层数、各层的处理单元数及网络的学习系数等参数可根据具体情况设定,灵活性很大,在优化、信号处理与模式识别、智能控制、故障诊断等许多领域都有着广泛的应用前景。

    工作原理

    人工神经元的研究起源于脑神经元学说。19世纪末,在生物、生理学领域,Waldeger等人创建了神经元学说。人们认识到复杂的神经系统是由数目繁多的神经元组合而成。大脑皮层包括有100亿个以上的神经元,每立方毫米约有数万个,它们互相联结形成神经网络,通过感觉器官和神经接受来自身体内外的各种信息,传递至中枢神经系统内,经过对信息的分析和综合,再通过运动神经发出控制信息,以此来实现机体与内外环境的联系,协调全身的各种机能活动。

    神经元也和其他类型的细胞一样,包括有细胞膜、细胞质和细胞核。但是神经细胞的形态比较特殊,具有许多突起,因此又分为细胞体、轴突和树突三部分。细胞体内有细胞核,突起的作用是传递信息。树突是作为引入输入信号的突起,而轴突是作为输出端的突起,它只有一个。

    树突是细胞体的延伸部分,它由细胞体发出后逐渐变细,全长各部位都可与其他神经元的轴突末梢相互联系,形成所谓突触。在突触处两神经元并未连通,它只是发生信息传递功能的结合部,联系界面之间间隙约为(1550)×10米。突触可分为兴奋性与抑制性两种类型,它相应于神经元之间耦合的极性。每个神经元的突触数目正常,最高可达10个。各神经元之间的连接强度和极性有所不同,并且都可调整、基于这一特性,人脑具有存储信息的功能。利用大量神经元相互联接组成人工神经网络可显示出人的大脑的某些特征。

    人工神经网络是由大量的简单基本元件——神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。

    人工神经网络反映了人脑功能的若干基本特性,但并非生物系统的逼真描述,只是某种模仿、简化和抽象。

    与数字计算机比较,人工神经网络在构成原理和功能特点等方面更加接近人脑,它不是按给定的程序一步一步地执行运算,而是能够自身适应环境、总结规律、完成某种运算、识别或过程控制。

    人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对于写“A”“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”

    所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(01)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”“0”概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。

    如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。如此操作调整,当给网络轮番输入若干个手写字母“A”“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。

    特点

    1)人类大脑有很强的自适应与自组织特性,后天的学习与训练可以开发许多各具特色的活动功能。如盲人的听觉和触觉非常灵敏;聋哑人善于运用手势;训练有素的运动员可以表现出非凡的运动技巧等等。

    普通计算机的功能取决于程序中给出的知识和能力。显然,对于智能活动要通过总结编制程序将十分困难。

    人工神经网络也具有初步的自适应与自组织能力。在学习或训练过程中改变突触权重值,以适应周围环境的要求。同一网络因学习方式及内容不同可具有不同的功能。人工神经网络是一个具有学习能力的系统,可以发展知识,以致超过设计者原有的知识水平。通常,它的学习训练方式可分为两种,一种是有监督或称有导师的学习,这时利用给定的样本标准进行分类或模仿;另一种是无监督学习或称无为导师学习,这时,只规定学习方式或某些规则,则具体的学习内容随系统所处环境(即输入信号情况)而异,系统可以自动发现环境特征和规律性,具有更近似人脑的功能。

    2泛化能力

    泛化能力指对没有训练过的样本,有很好的预测能力和控制能力。特别是,当存在一些有噪声的样本,网络具备很好的预测能力。

    (3)非线性映射能力

    当对系统对于设计人员来说,很透彻或者很清楚时,则一般利用数值分析,偏微分方程等数学工具建立精确的数学模型,但当对系统很复杂,或者系统未知,系统信息量很少时,建立精确的数学模型很困难时,神经网络的非线性映射能力则表现出优势,因为它不需要对系统进行透彻的了解,但是同时能达到输入与输出的映射关系,这就大大简化设计的难度。

    (4)高度并行性

    并行性具有一定的争议性。承认具有并行性理由:神经网络是根据人的大脑而抽象出来的数学模型,由于人可以同时做一些事,所以从功能的模拟角度上看,神经网络也应具备很强的并行性。

    多少年以来,人们从医学、生物学、生理学、哲学、信息学计算机科学、认知学、组织协同学等各个角度企图认识并解答上述问题。在寻找上述问题答案的研究过程中,这些年来逐渐形成了一个新兴的多学科交叉技术领域,称之为神经网络。神经网络的研究涉及众多学科领域,这些领域互相结合、相互渗透并相互推动。不同领域的科学家又从各自学科的兴趣与特色出发,提出不同的问题,从不同的角度进行研究。

    下面将人工神经网络与通用的计算机工作特点来对比一下:

    若从速度的角度出发,人脑神经元之间传递信息的速度要远低于计算机,前者为毫秒量级,而后者的频率往往可达几百兆赫。但是,由于人脑是一个大规模并行与串行组合处理系统,因而,在许多问题上可以作出快速判断、决策和处理,其速度则远高于串行结构的普通计算机。人工神经网络的基本结构模仿人脑,具有并行处理特征,可以大大提高工作速度。

    人脑存贮信息的特点为利用突触效能的变化来调整存贮内容,也即信息存贮在神经元之间连接强度的分布上,存贮区与计算机区合为一体。虽然人脑每日有大量神经细胞死亡(平均每小时约一千个),但不影响大脑的正常思维活动。

    普通计算机是具有相互独立的存贮器和运算器,知识存贮与数据运算互不相关,只有通过人编出的程序使之沟通,这种沟通不能超越程序编制者的预想。元器件的局部损坏及程序中的微小错误都可能引起严重的失常。

    应用及发展

    心理学家和认知科学家研究神经网络的目的在于探索人脑加工、储存和搜索信息的机制,弄清人脑功能的机理,建立人类认知过程的微结构理论。

    生物学、医学、脑科学专家试图通过神经网络的研究推动脑科学向定量、精确和理论化体系发展,同时也寄希望于临床医学的新突破;信息处理和计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。

    人工神经网络早期的研究工作应追溯至上世纪40年代。下面以时间顺序,以著名的人物或某一方面突出的研究成果为线索,简要介绍人工神经网络的发展历史。

    1943年,心理学家W·Mcculloch和数理逻辑学家W·Pitts在分析、总结神经元基本特性的基础上首先提出神经元的数学模型。此模型沿用至今,并且直接影响着这一领域研究的进展。因而,他们两人可称为人工神经网络研究的先驱。

    1945·诺依曼领导的设计小组试制成功存储程序式电子计算机,标志着电子计算机时代的开始。1948年,他在研究工作中比较了人脑结构与存储程序式计算机的根本区别,提出了以简单神经元构成的再生自动机网络结构。但是,由于指令存储式计算机技术的发展非常迅速,迫使他放弃了神经网络研究的新途径,继续投身于指令存储式计算机技术的研究,并在此领域作出了巨大贡献。虽然,·诺依曼的名字是与普通计算机联系在一起的,但他也是人工神经网络研究的先驱之一。

    50年代末,F·Rosenblatt设计制作了感知机,它是一种多层的神经网络。这项工作首次把人工神经网络的研究从理论探讨付诸工程实践。当时,世界上许多实验室仿效制作感知机,分别应用于文字识别、声音识别、声纳信号识别以及学习记忆问题的研究。然而,这次人工神经网络的研究高潮未能持续很久,许多人陆续放弃了这方面的研究工作,这是因为当时数字计算机的发展处于全盛时期,许多人误以为数字计算机可以解决人工智能、模式识别专家系统等方面的一切问题,使感知机的工作得不到重视;其次,当时的电子技术工艺水平比较落后,主要的元件是电子管或晶体管,利用它们制作的神经网络体积庞大,价格昂贵,要制作在规模上与真实的神经网络相似是完全不可能的;另外,在1968年一本名为《感知机》的著作中指出线性感知机功能是有限的,它不能解决如异感这样的基本问题,而且多层网络还不能找到有效的计算方法,这些论点促使大批研究人员对于人工神经网络的前景失去信心。60年代末期,人工神经网络的研究进入了低潮。

    另外,在60年代初期,Widrow提出了自适应线性元件网络,这是一种连续取值的线性加权求和阈值网络。后来,在此基础上发展了非线性多层自适应网络。当时,这些工作虽未标出神经网络的名称,而实际上就是一种人工神经网络模型

    随着人们对感知机兴趣的衰退,神经网络的研究沉寂了相当长的时间。80年代初期,模拟与数字混合的超大规模集成电路制作技术提高到新的水平,完全付诸实用化,此外,数字计算机的发展在若干应用领域遇到困难。这一背景预示,向人工神经网络寻求出路的时机已经成熟。美国的物理学家Hopfield1982年和1984年在美国科学院院刊上发表了两篇关于人工神经网络研究的论文,引起了巨大的反响。人们重新认识到神经网络的威力以及付诸应用的现实性。随即,一大批学者和研究人员围绕着 Hopfield提出的方法展开了进一步的工作,形成了80年代中期以来人工神经网络的研究热潮。

    1985年,AckleyHintonSejnowski模拟退火算法应用到神经网络训练中,提出了Boltzmann机,该算法具有逃离极值的优点,但是训练时间需要很长。

    1986年,RumelhartHintonWilliams提出了多层前馈神经网络的学习算法,即BP算法。它从证明的角度推导算法的正确性,是学习算法有理论依据。从学习算法角度上看,是一个很大的进步。

    1988年,BroomheadLowe第一次提出了径向基网络:RBF网络。

    总体来说,神经网络经历了从高潮到低谷,再到高潮的阶段,充满曲折的过程。

     

    展开全文
  • 卷积神经网络入门详解

    万次阅读 多人点赞 2017-11-08 15:52:14
    这主要因为《Neural Networks and Deep Learning》这本书中的大部分章节在介绍神经网络,而仅在最后一个部分介绍了卷积神经网络,只介绍了卷积神经网络中的相关概念,如“感受野”、“卷积层”、“池化层”、“权值...

      本文主要内容为 CS231n 课程的学习笔记,主要参考 学习视频 和对应的 课程笔记翻译 ,感谢各位前辈对于深度学习的辛苦付出。在这里我主要记录下自己觉得重要的内容以及一些相关的想法,希望能与大家多多交流~

    0. 回顾之前所写过的博客

      在之前的博客《十四、卷积神经网络(1):介绍卷积神经网络》《十五、卷积神经网络(2):卷积神经网络的结构》中只是介绍性的给出了一些关于卷积神经网络的知识。这主要因为《Neural Networks and Deep Learning》这本书中的大部分章节在介绍神经网络,而仅在最后一个部分介绍了卷积神经网络,只介绍了卷积神经网络中的相关概念,如“感受野”、“卷积层”、“池化层”、“权值共享”等等,而且也只介绍了一种较为简单的卷积神经网络结构。而且在这上述两节内容中的图像也是单通道的图像,并没有考虑多通道图像。

      作为补充和完善,在本文中将对卷积神经网络中的多个问题具体展开讲解。

    1. 卷积神经网络结构概述

      如果用全连接神经网络处理大尺寸图像具有三个明显的缺点:

      (1)将图像展开为向量会丢失空间信息;

      (2)参数过多效率低下,训练困难;

      (3)大量的参数也很快会导致网络过拟合。

    而使用卷积神经网络可以很好地解决上面的三个问题。

      与全连接神经网络不同,卷积神经网络的各层中的神经元是3维排列的:宽度、高度和深度。其中的宽度和高度是很好理解的,因为本身卷积就是一个二维模板,但是在卷积神经网络中的深度指的是激活数据体的第三个维度,而不是整个网络的深度,整个网络的深度指的是网络的层数。

      举个例子来理解什么是宽度,高度和深度,假如使用 CIFAR-10 中的图像是作为卷积神经网络的输入,该输入数据体的维度是32x32x3(宽度,高度和深度)。**卷积神经网络中,层中的神经元将只与前一层中的一小块区域连接,而不是采取全连接方式。**对于用来分类CIFAR-10中的图像的卷积网络,其最后的输出层的维度是1x1x10,因为在卷积神经网络结构的最后部分将会把全尺寸的图像压缩为包含分类评分的一个向量,向量是在深度方向排列的。下面是例子:

    图 1. 全连接神经网络与卷积神经网络的对比

    图1中左侧是一个3层的神经网络;右侧是一个卷积神经网络,将它的神经元在成3个维度(宽、高和深度)进行排列。卷积神经网络的每一层都将3D的输入数据变化为神经元3D的激活数据并输出。在图1的右侧,红色的输入层代表输入图像,所以它的宽度和高度就是图像的宽度和高度,它的深度是3(代表了红、绿、蓝3种颜色通道),与红色相邻的蓝色部分是经过卷积和池化之后的激活值(也可以看做是神经元) ,后面是接着的卷积池化层。

    2. 构建卷积神经网络的各种层

      卷积神经网络主要由这几类层构成:输入层、卷积层,ReLU层、池化(Pooling)层和全连接层(全连接层和常规神经网络中的一样)。通过将这些层叠加起来,就可以构建一个完整的卷积神经网络。在实际应用中往往将卷积层与ReLU层共同称之为卷积层,所以卷积层经过卷积操作也是要经过激活函数的。具体说来,卷积层和全连接层(CONV/FC)对输入执行变换操作的时候,不仅会用到激活函数,还会用到很多参数,即神经元的权值w和偏差b;而ReLU层和池化层则是进行一个固定不变的函数操作。卷积层和全连接层中的参数会随着梯度下降被训练,这样卷积神经网络计算出的分类评分就能和训练集中的每个图像的标签吻合了。

    2.1 卷积层

      卷积层是构建卷积神经网络的核心层,它产生了网络中大部分的计算量。注意是计算量而不是参数量

    2.1.1 卷积层作用

      1. 滤波器的作用或者说是卷积的作用。卷积层的参数是有一些可学习的滤波器集合构成的。每个滤波器在空间上(宽度和高度)都比较小,但是深度和输入数据一致(这一点很重要,后面会具体介绍)。直观地来说,网络会让滤波器学习到当它看到某些类型的视觉特征时就激活,具体的视觉特征可能是某些方位上的边界,或者在第一层上某些颜色的斑点,甚至可以是网络更高层上的蜂巢状或者车轮状图案。

      2. 可以被看做是神经元的一个输出。神经元只观察输入数据中的一小部分,并且和空间上左右两边的所有神经元共享参数(因为这些数字都是使用同一个滤波器得到的结果)。

      3. 降低参数的数量。这个由于卷积具有“权值共享”这样的特性,可以降低参数数量,达到降低计算开销,防止由于参数过多而造成过拟合。

    2.1.2 感受野(重点理解)

      在处理图像这样的高维度输入时,让每个神经元都与前一层中的所有神经元进行全连接是不现实的。相反,我们让每个神经元只与输入数据的一个局部区域连接。该连接的空间大小叫做神经元的感受野(receptive field),它的尺寸是一个超参数(其实就是滤波器的空间尺寸)。在深度方向上,这个连接的大小总是和输入量的深度相等。需要再次强调的是,我们对待空间维度(宽和高)与深度维度是不同的:连接在空间(宽高)上是局部的,但是在深度上总是和输入数据的深度一致,这一点会在下面举例具体说明。

    图 2. 举例说明感受野的连接及尺寸说明

      在图 2 中展现的卷积神经网络的一部分,其中的红色为输入数据,假设输入数据体尺寸为[32x32x3](比如CIFAR-10的RGB图像),如果感受野(或滤波器尺寸)是5x5,那么卷积层中的每个神经元会有输入数据体中[5x5x3]区域的权重,共5x5x3=75个权重(还要加一个偏差参数)。注意这个连接在深度维度上的大小必须为3,和输入数据体的深度一致。其中还有一点需要注意,对应一个感受野有75个权重,这75个权重是通过学习进行更新的,所以很大程度上这些权值之间是不相等(也就是对于某一个特定的卷积核,在它输入数据体的每一个深度切片上的权重都是独特的,不是将 N × N × 1 N \times N \times 1 N×N×1 重复输入数据题的深度那么多次就可以的)。在卷积神经网络中,某一个特定的卷积核,可以根据输入数据题体的维度,拆解为一个一个传统意义上的 N × N × 1 N \times N \times 1 N×N×1 的卷积模板,输入数据题的深度切片与和自己对应的卷积模板做完卷积之后,再将各个深度的结果加起来,再加上偏置(注意是一个偏置,无论输入输入数据是多少层,一个卷积核就对应一个偏置)就获得了这个卷基层卷积之后的结果。

    2.1.3 神经元的空间排列

      感受野讲解了卷积层中每个神经元与输入数据体之间的连接方式,但是尚未讨论输出数据体中神经元的数量,以及它们的排列方式。3个超参数控制着输出数据体的尺寸:深度(depth),步长(stride)和零填充(zero-padding)。

      (1) 输出数据体的深度:它是一个超参数,和使用的滤波器的数量一致,而每个滤波器在输入数据中寻找一些不同的东西,即图像的某些特征。如图2 所示,将沿着深度方向排列、感受野相同的神经元集合称为深度列(depth column),也有人使用纤维(fibre)来称呼它们。

      (2) 在滑动滤波器的时候,必须指定步长。当步长为1,滤波器每次移动1个像素;当步长为2,滤波器滑动时每次移动2个像素,当然步长也可以是不常用的3,或者更大的数字,但这些在实际中很少使用 ,这个操作会让输出数据体在空间上变小。

      (3) 有时候将输入数据体用 0 在边缘处进行填充是很方便的。这个零填充(zero-padding)的尺寸是一个超参数。零填充有一个良好性质,即可以控制输出数据体的空间尺寸与输入数据体的空间尺寸相同,使得输入和输出的宽高都相等。但是要注意,只能保证宽和高相等,并不能保证深度,刚刚讲过,深度与滤波器(或者称卷积核)的数量有关。

      输出数据体在空间上的尺寸 W 2 × H 2 × D 2 W_2 \times H_2 \times D_2 W2×H2×D2 可以通过输入数据体尺寸 W 1 × H 1 × D 1 W_1 \times H_1 \times D_1 W1×H1×D1,卷积层中神经元的感受野尺寸(F),步长(S),滤波器数量(K)和零填充的数量(P)计算输出出来。

    W 2 = ( W 1 − F + 2 P ) / S + 1 H 2 = ( H 1 − F + 2 P ) / S + 1 D 2 = K \begin{matrix} W_2=(W_1-F+2P)/S+1 \\ H_2=(H_1-F+2P)/S+1 \\ D_2=K \\ \end{matrix} W2=(W1F+2P)/S+1H2=(H1F+2P)/S+1D2=K

      一般说来,当步长S=1时,零填充的值是P=(F-1)/2,这样就能保证输入和输出数据体有相同的空间尺寸。

      步长的限制:注意这些空间排列的超参数之间是相互限制的。举例说来,当输入尺寸W=10,零填充 P=0,滤波器尺寸 F=3,此时步长 S=2 是行不通,因为 (W-F+2P)/S+1=(10-3+0)/2+1=4.5,结果不是整数,也就是说神经元不能整齐对称地滑过输入数据体。因此,这些超参数的设定就被认为是无效的,一个卷积神经网络库可能会报出一个错误,通过修改零填充值、修改输入数据体尺寸,或者其他什么措施来让设置合理。在后面的卷积神经网络结构小节中,读者可以看到合理地设置网络的尺寸让所有的维度都能正常工作,是相当让人头痛的事;而使用零填充和遵守其他一些设计策略将会有效解决这个问题。

    2.1.4 权值共享

      在卷积层中权值共享被用来控制参数的数量。假如在一个卷积核中,每一个感受野采用的都是不同的权重值(卷积核的值不同),那么这样的网络中参数数量将是十分巨大的。

      权值共享是基于这样的一个合理的假设:如果一个特征在计算某个空间位置 ( x 1 , y 1 ) (x_1,y_1) (x1,y1) 的时候有用,那么它在计算另一个不同位置 ( x 2 , y 2 ) (x_2,y_2) (x2,y2) 的时候也有用。基于这个假设,可以显著地减少参数数量。举个例子,我们将深度维度上一个单独的2维切片看做深度切片(depth slice),对于一个经过卷积后尺寸为 [55x55x96] 的数据体就有96个深度切片,每个尺寸为[55x55],其中在每个深度切片上的结果都使用同样的权重和偏差获得的。对于 [55x55x96] 的这个数据体,我们可以知道他经过的卷基层有96个卷积核,也就是对应 96 个不同的权重集了,一个权重集对应一个深度切片,如果卷积核的大小是 11x11的,图像是RGB 3 通道的,那么就共有96x11x11x3=34,848个不同的权重,总共有34,944个参数(因为要+96个偏差),并且在每个深度切片中的55x55 的结果使用的都是同样的参数(即权值共享)。

      在反向传播的时候,都要计算每个神经元对它的权重的梯度,但是需要把同一个深度切片上的所有神经元对权重的梯度累加,这样就得到了对共享权重的梯度。这样,每个切片只更新一个权重集。这样做的原因可以通过下面这张图进行解释

    图 3. 将卷积层用全连接层的形式表示

    如上图所示,左侧的神经元是将每一个感受野展开为一列之后串联起来(就是展开排成一列,同一层神经元之间不连接)。右侧的 Deep1i 是深度为1的神经元的第 i 个, Deep2i 是深度为2的神经元的第 i 个,同一个深度的神经元的权值都是相同的,黄色的都是相同的(上面4个与下面4个的参数相同),蓝色都是相同的。所以现在回过头来看上面说的卷积神经网络的反向传播公式对梯度进行累加求和也是基于这点考虑(同一深度的不同神经元共用一组参数,所以累加);而每个切片只更新一个权重集的原因也是这样的,因为从图3 中可以看到,不同深度的神经元不会公用相同的权重,所以只能更新一个权重集。

      注意,如果在一个深度切片中的所有权重都使用同一个权重向量,那么卷积层的前向传播在每个深度切片中可以看做是在计算神经元权重和输入数据体的卷积(这就是“卷积层”名字由来)。这也是为什么总是将这些权重集合称为滤波器(filter)(或卷积核(kernel)),因为它们和输入进行了卷积。

      注意,有时候参数共享假设可能没有意义,特别是当卷积神经网络的输入图像是一些明确的中心结构时候。这时候我们就应该期望在图片的不同位置学习到完全不同的特征(而一个卷积核滑动地与图像做卷积都是在学习相同的特征)。一个具体的例子就是输入图像是人脸,人脸一般都处于图片中心,而我们期望在不同的位置学习到不同的特征,比如眼睛特征或者头发特征可能(也应该)会在图片的不同位置被学习。在这个例子中,通常就放松参数共享的限制,将层称为局部连接层(Locally-Connected Layer)。

    2.1.5 卷积层的超参数及选择

      由于参数共享,每个滤波器包含 F ⋅ F ⋅ D 1 F \cdot F\cdot D_1 FFD1 个权重(字符的具体含义在2.1.3中有介绍),卷积层一共有$ F\cdot F\cdot D_1\cdot K$个权重和 K K K 个偏置。在输出数据体中,第d个深度切片(空间尺寸是 W 2 × H 2 W_2\times H_2 W2×H2),用第d个滤波器和输入数据进行有效卷积运算的结果(使用步长S),最后在加上第d个偏差。

      对这些超参数,常见的设置是 F = 3 , S = 1 , P = 1 F=3,S=1,P=1 F=3S=1P=1。同时设置这些超参数也有一些约定俗成的惯例和经验,可以在下面的“卷积神经网络结构”中查看。

    2.1.6 卷积层演示

      因为3D数据难以可视化,所以所有的数据(输入数据体是蓝色,权重数据体是红色,输出数据体是绿色)都采取将深度切片按照列的方式排列展现。输入数据体的尺寸是 W 1 = 5 , H 1 = 5 , D 1 = 3 W_1=5,H_1=5,D_1=3 W1=5,H1=5,D1=3,卷积层参数 K = 2 , F = 3 , S = 2 , P = 1 K=2,F=3,S=2,P=1 K=2,F=3,S=2,P=1。就是说,有2个滤波器,滤波器的尺寸是 3 ⋅ 3 3\cdot 3 33,它们的步长是2。因此,输出数据体的空间尺寸是 ( 5 − 3 + 2 ) / 2 + 1 = 3 (5-3+2)/2+1=3 (53+2)/2+1=3。注意输入数据体使用了零填充 P = 1 P=1 P=1,所以输入数据体外边缘一圈都是0。下面的例子在绿色的输出激活数据上循环演示,展示了其中每个元素都是先通过蓝色的输入数据和红色的滤波器逐元素相乘,然后求其总和,最后加上偏差得来。

    无法正常显示,请参考http://cs231n.github.io/convolutional-networks/ 的动图
    图 4. 卷积层演示过程

    2.1.7 用矩阵乘法实现卷积

      卷积运算本质上就是在滤波器和输入数据的局部区域间做点积。卷积层的常用实现方式就是利用这一点,将卷积层的前向传播变成一个巨大的矩阵乘法。

      (1) 输入图像的局部区域被 i m 2 c o im2co im2co l操作拉伸为列。比如输入是[227x227x3],要与尺寸为11x11x3的滤波器以步长为4进行卷积,就依次取输入中的[11x11x3]数据块,然后将其拉伸为长度为11x11x3=363的列向量。重复进行这一过程,因为步长为4,所以经过卷积后的宽和高均为(227-11)/4+1=55,共有55x55=3,025个个神经元。因为每一个神经元实际上都是对应有 363 的列向量构成的感受野,即一共要从输入上取出 3025 个 363 维的列向量。所以经过im2col操作得到的输出矩阵 X c o l X_col Xcol 的尺寸是[363x3025],其中每列是拉伸的感受野。注意因为感受野之间有重叠,所以输入数据体中的数字在不同的列中可能有重复。

      (2) 卷积层的权重也同样被拉伸成行。举例,如果有96个尺寸为[11x11x3]的滤波器,就生成一个矩阵 W r o w W_row Wrow,尺寸为[96x363]。

      (3) 现在卷积的结果和进行一个大矩阵乘法 n p . d o t ( W r o w , X c o l ) np.dot(W_row, X_col) np.dot(Wrow,Xcol) 是等价的了,能得到每个滤波器和每个感受野间的点积。在我们的例子中,这个操作的输出是[96x3025],给出了每个滤波器在每个位置的点积输出。注意其中的 n p . d o t np.dot np.dot 计算的是矩阵乘法而不是点积。

      (4) 结果最后必须被重新变为合理的输出尺寸[55x55x96]。

      这个方法的缺点就是占用内存太多,因为在输入数据体中的某些值在 X c o l X_col Xcol中被复制了多次;优点在于矩阵乘法有非常多的高效底层实现方式(比如常用的BLAS API)。还有,同样的im2col思路可以用在池化操作中。反向传播:卷积操作的反向传播(同时对于数据和权重)还是一个卷积(但是和空间上翻转的滤波器),所以依然可以使用矩阵相乘来计算卷积的反向传播。

      为什么卷积的反向传播还是卷积,这个可以参考另一篇文章 《CNN中卷积层与转置卷积层的关系(转置卷积又称反卷积、分数步长卷积)》 2.2 卷积的前向传播和反向传播 中的内容。

    2.1.8 其他形式的卷积操作

      1x1卷积:一些论文中使用了1x1的卷积,这个方法最早是在论文Network in Network中出现。人们刚开始看见这个1x1卷积的时候比较困惑,尤其是那些具有信号处理专业背景的人。因为信号是2维的,所以1x1卷积就没有意义。但是,在卷积神经网络中不是这样,因为这里是对3个维度进行操作,滤波器和输入数据体的深度是一样的。比如,如果输入是[32x32x3],那么1x1卷积就是在高效地进行3维点积(因为输入深度是3个通道);另外的一种想法是将这种卷积的结果看作是全连接层的一种实现方式,详见本文2.4.2 部分。

      扩张卷积:最近一个研究(Fisher Yu和Vladlen Koltun的论文)给卷积层引入了一个新的叫扩张(dilation)的超参数。到目前为止,我们只讨论了卷积层滤波器是连续的情况。但是,让滤波器中元素之间有间隙也是可以的,这就叫做扩张。如图5 为进行1扩张。

    图 4. 扩张卷积的例子及扩张前后的叠加效果

    在某些设置中,扩张卷积与正常卷积结合起来非常有用,因为在很少的层数内更快地汇集输入图片的大尺度特征。比如,如果上下重叠2个3x3的卷积层,那么第二个卷积层的神经元的感受野是输入数据体中5x5的区域(可以成这些神经元的有效感受野是5x5,如图5 所示)。如果我们对卷积进行扩张,那么这个有效感受野就会迅速增长。

    2.2 池化层

      通常在连续的卷积层之间会周期性地插入一个池化层。它的作用是逐渐降低数据体的空间尺寸,这样的话就能减少网络中参数的数量,使得计算资源耗费变少,也能有效控制过拟合。汇聚层使用 MAX 操作,对输入数据体的每一个深度切片独立进行操作,改变它的空间尺寸。最常见的形式是汇聚层使用尺寸2x2的滤波器,以步长为2来对每个深度切片进行降采样,将其中75%的激活信息都丢掉。每个MAX操作是从4个数字中取最大值(也就是在深度切片中某个2x2的区域),深度保持不变。

      汇聚层的一些公式:输入数据体尺寸 W 1 ⋅ H 1 ⋅ D 1 W_1\cdot H_1\cdot D_1 W1H1D1,有两个超参数:空间大小 F F F和步长 S S S;输出数据体的尺寸 W 2 ⋅ H 2 ⋅ D 2 W_2\cdot H_2\cdot D_2 W2H2D2,其中
    W 2 = ( W 1 − F ) / S + 1 H 2 = ( H 1 − F ) / S + 1 D 2 = D 1 \begin{matrix} W_2=(W_1-F)/S+1 \\ H_2=(H_1-F)/S+1 \\ D_2=D1 \\ \end{matrix} W2=(W1F)/S+1H2=(H1F)/S+1D2=D1
    这里面与之前的卷积的尺寸计算的区别主要在于两点,首先在池化的过程中基本不会进行另补充;其次池化前后深度不变。

      在实践中,最大池化层通常只有两种形式:一种是 F = 3 , S = 2 F=3,S=2 F=3,S=2,也叫重叠汇聚(overlapping pooling),另一个更常用的是 F = 2 , S = 2 F=2,S=2 F=2,S=2。对更大感受野进行池化需要的池化尺寸也更大,而且往往对网络有破坏性。
      普通池化(General Pooling):除了最大池化,池化单元还可以使用其他的函数,比如平均池化(average pooling)或L-2范式池化(L2-norm pooling)。平均池化历史上比较常用,但是现在已经很少使用了。因为实践证明,最大池化的效果比平均池化要好。

      反向传播:回顾一下反向传播的内容,其中max(x,y)函数的反向传播可以简单理解为将梯度只沿最大的数回传。因此,在向前传播经过汇聚层的时候,通常会把池中最大元素的索引记录下来(有时这个也叫作道岔(switches)),这样在反向传播的时候梯度的时候就很高效。

      下面将简单介绍平均池化和最大池化反向传播的计算过程。首先是平均池化,在前向传播的过程中,是计算窗口中的均值,很容易理解;在反向传播的过程中,是将要反向传播的梯度组分在平均分在四个部分传回去,具体如下所示

    forward: [1 3; 2 2] -> [2]
    backward: [2] -> [0.5 0.5; 0.5 0.5]
    

    对于最大池化,就如上面所说的,会把池中最大元素的索引记录下来,在反向传播的时候只对这样的位置进行反向传播,忽略其他的位置

    forward: [1 3; 2 2] -> 3
    backward: [3] -> [0 3; 0 0]
    

      不使用汇聚层:很多人不喜欢汇聚操作,认为可以不使用它。比如在Striving for Simplicity: The All Convolutional Net一文中,提出使用一种只有重复的卷积层组成的结构,抛弃汇聚层。通过在卷积层中使用更大的步长来降低数据体的尺寸。有发现认为,在训练一个良好的生成模型时,弃用汇聚层也是很重要的。比如变化自编码器(VAEs:variational autoencoders)和生成性对抗网络(GANs:generative adversarial networks)。现在看起来,未来的卷积网络结构中,可能会很少使用甚至不使用汇聚层

    2.3 归一化层

      在卷积神经网络的结构中,提出了很多不同类型的归一化层,有时候是为了实现在生物大脑中观测到的抑制机制。但是这些层渐渐都不再流行,因为实践证明它们的效果即使存在,也是极其有限的

    2.4 全连接层

      这个和常规神经网络中的一样,它们的激活可以先用矩阵乘法,再加上偏差。

    2.4.1 将卷积层转化成全连接层

      对于任意一个卷积层,都存在一个能实现和它一样的前向传播函数的全连接层。该全连接层的权重是一个巨大的矩阵,除了某些特定块(感受野),其余部分都是零;而在非 0 部分中,大部分元素都是相等的(权值共享),具体可以参考图3。如果把全连接层转化成卷积层,以输出层的 Deep11 为例,与它有关的输入神经元只有上面四个,所以在权重矩阵中与它相乘的元素,除了它所对应的4个,剩下的均为0,这也就解释了为什么权重矩阵中有为零的部分;另外要把“将全连接层转化成卷积层”和“用矩阵乘法实现卷积”区别开,这两者是不同的,后者本身还是在计算卷积,只不过将其展开为矩阵相乘的形式,并不是"将全连接层转化成卷积层",所以除非权重中本身有零,否则用矩阵乘法实现卷积的过程中不会出现值为0的权重。

    2.4.2 将全连接层转化成卷积层

      任何全连接层都可以被转化为卷积层。比如,一个K=4096的全连接层,输入数据体的尺寸是 7 × 7 × 512 7\times 7\times 512 7×7×512,这个全连接层可以被等效地看做一个 F = 7 , P = 0 , S = 1 , K = 4096 F=7,P=0,S=1,K=4096 F=7,P=0,S=1,K=4096的卷积层。换句话说,就是将滤波器的尺寸设置为和输入数据体的尺寸设为一致的。因为只有一个单独的深度列覆盖并滑过输入数据体,所以输出将变成 1 × 1 × 4096 1\times 1\times 4096 1×1×4096,这个结果就和使用初始的那个全连接层一样了。这个实际上也很好理解,因为,对于其中的一个卷积滤波器,这个滤波器的的深度为512,也就是说,虽然这个卷积滤波器的输出只有1个,但是它的权重有 7 × 7 × 512 7\times 7\times 512 7×7×512,相当于卷积滤波器的输出为一个神经元,这个神经元与上一层的所有神经元相连接,而这样与前一层所有神经元相连接的神经元一共有4096个,这不就是一个全连接网络嘛~

      在上述的两种变换中,将全连接层转化为卷积层在实际运用中更加有用。假设一个卷积神经网络的输入是224x224x3的图像,一系列的卷积层和汇聚层将图像数据变为尺寸为7x7x512的激活数据体(在AlexNet中就是这样,通过使用5个汇聚层来对输入数据进行空间上的降采样,每次尺寸下降一半,所以最终空间尺寸为224/2/2/2/2/2=7)。从这里可以看到,AlexNet使用了两个尺寸为4096的全连接层,最后一个有1000个神经元的全连接层用于计算分类评分。我们可以将这3个全连接转化为3个卷积层:

      (1) 针对第一个连接区域是[7x7x512]的全连接层,令其滤波器尺寸为F=7,这样输出数据体就为[1x1x4096]了。

      (2) 针对第二个全连接层,令其滤波器尺寸为F=1,这样输出数据体为[1x1x4096]。

      (3) 对最后一个全连接层也做类似的,令其F=1,最终输出为[1x1x1000]。

      这样做的目的是让卷积网络在一张更大的输入图片上滑动,得到多个输出,这样的转化可以让我们在单个向前传播的过程中完成上述的操作。

      举个例子,如果我们想让224x224尺寸的浮窗,以步长为32在384x384的图片上滑动,把每个经停的位置都带入卷积网络,最后得到6x6个位置的类别得分。上述的把全连接层转换成卷积层的做法会更简便。如果224x224的输入图片经过卷积层和汇聚层之后得到了[7x7x512]的数组,那么,384x384的大图片直接经过同样的卷积层和汇聚层之后会得到[12x12x512]的数组(因为途径5个汇聚层,尺寸变为384/2/2/2/2/2 = 12)。然后再经过上面由3个全连接层转化得到的3个卷积层,最终得到[6x6x1000]的输出(因为(12 - 7)/1 + 1 = 6)。这个结果正是浮窗在原图经停的6x6个位置的得分!

      面对384x384的图像,让(含全连接层)的初始卷积神经网络以32像素的步长独立对图像中的224x224块进行多次评价,其效果和使用把全连接层变换为卷积层后的卷积神经网络进行一次前向传播是一样的。相较于使用被转化前的原始卷积神经网络对所有36个位置进行迭代计算,使用转化后的卷积神经网络进行一次前向传播计算要高效得多,因为36次计算都在共享计算资源。

      这里有几个问题,首先为什么是以32为步长,如果我以64为步长呢?再或者如果我们想用步长小于32(如16)的浮窗怎么办

      首先回答其中的第一个问题。这个是因为其中一个有五个汇聚层,因为 2 5 = 32 2^5=32 25=32,也就是在原始图像上的宽或者高增加 32 32 32 个像素,经过这些卷积和汇聚后,将变为一个像素。现在进行举例说明,虽然例子并没有32那么大的尺寸,但是意义都是一样的。假设较小的输入图像尺寸为 4×4,进行一次卷积核为 F = 3 , S = 1 , P = 1 F=3, S=1, P=1 F=3,S=1,P=1的卷积后,再进行一次 2 × 2 2\times 2 2×2 的 maxpooling;然后在进行一次这样的卷积,再进行一次池化。假设较大的原始图像的尺寸为 8×8,以步长为4进行滑窗操作,对于每个窗内进行同样的卷积池化操作,如图5所示

    图 5. 以步长为4在原始图像上滑动取出4×4窗口再计算卷积的结果

    对较小的原始图像(图5左图红框)进行卷积得到的结果是图5右图红色框内的结果,通过划窗取样再进行卷积运算获得的结果为图5中右侧四种颜色加在一起的样子。所以以步长为4在8x8的图片上滑动,把每个经停的位置都带入卷积网络,最后得到2x2个位置的卷积结果,但是如果直接使用卷积核 F = 3 , S = 1 , P = 1 F=3, S=1, P=1 F=3,S=1,P=1进行两次卷积池化的话,得到的结果的大小显然也是2×2的。

      所以从获得结果来看,这两者是相同的,但是不同点在哪呢?如图6所示,是在整个图像上进行卷积运算和以步长为4在8x8的图片上滑动所经停的第一个位置,这两种方法使用相同的卷积核进行计算的对比图。

    这里写图片描述
    图6. 使用整张图像和一部分图像计算某一点处的卷积

    如图6所示,左图代表使用整张图像时计算a点处的卷积,右图代表使用滑动的方法第一次经停图像上a点的卷积,两张图中的a点是同一个a点。虽然同一个卷积模板进行计算,但是在计算卷积的过程是不同的!因为在右图中a的右侧及右下侧是0,而在左图中是原始的像素值,所以计算的卷积一定是不同的。但是要怎么理解这样的差别呢?这要从补零的意义讲起,补零是因为如果不补零的话,图像经过卷积之后的尺寸会小于原始的尺寸,补零可以保证图像的尺寸不变,所以归根结底补零实际上是一种图像填充的方法。左图中a的右边及右下角的像素是原始图像的像素,相当于在计算a点的时候,不是用0进行的补充,而是原始像素值进行补充,这样的不仅可以保持卷积前后图像的大小不变,而且可以这种图像填充方法得到的结果显然要比填0更接近与原始图像,保留的信息更多。

      小结

      (1) 用一整图像进行卷积和在较大的图像上通过滑动窗提取出一个个子图象进行卷积得到的效果是相同的。

      (2) 可以这样做的主要原因在于将最后的全连接层改写成了卷积层。

      (3) 在一整张图像做卷积的效率要远远高于在图像上滑动的效率,因为前者只需要一次前向传播,而后者需要多次

      (4) 用整张图像计算与滑动窗口的方法对比,所补充的零更少(如上所讲,不用零而是用在其旁边的像素代替),提取的信息损失的更少。

      即,用整张图像直接计算卷积不仅仅在效率上高于使用滑动窗口的方法,而且更多的保留了图像的细节,完胜!

      还可以得到另一个结论在较大的图像上以步长为 2 L 2^L 2L进行滑动然后再计算的卷积结果,其效果与 以步长为 1 在大图像直接卷积得到的结果上 移动 所获得的结果 是等价的。如图5中的大红色框对应小红色框,大黄色框对应小黄色框。所以当步长为64时,将相当于以步长为2在大图的卷积结果上移动。

      对于第二个问题,如果我非要以16为步长呢?是可以的,只是这个时候所获得结果不再是如图5的那种滑动的计算方式了。还是举例说明,在上一个例子中,我们将步长32改为4,所以这里将步长16改为2进行分析。假如说原始的输入图像为一个 4×4 的图像,现在将使用一个比原来大的图像,是一个8×8的图像,使用卷积核为 4×4 大小,步长为4,则在图像进行卷积运算的如图6左侧的4个部分(红黄绿蓝),而图6 右侧的是步长为2时与原始相比增加的部分。将图 6中两个部分相加就可以得到步长为2它时所有进行卷积运算的部分了。

    这里写图片描述
    图6 .步长为4时原始图像进行卷积的部分及将步长改为2时比原来多出的部分

      获得步长为2的时进行卷积的区域。首先像之前一样对原始图像做以4为步长的卷积,这时进行卷积的部分就是图6中左侧的部分;其次将原始图片沿宽度方向平移2个像素之后,依旧进行步长为4的卷积,这个时候进行卷积的部分为图6中的红色部分和绿色部分;然后沿高度方向平移2个像素之后,按步长为4进行卷积,这个时候进行卷积的部分为图6中的蓝色部分和黄色部分;最后沿高度方向和宽度方向同时移动2个像素,按步长为4进行卷积,这个时候进行卷积的部分为图6中的紫色部分。将这些部分加在一起就是进行卷积运算你得所有区域了。

      这个结果明显是无法通过像图5中的那样滑动得到了,这样的方法所需要进行卷积的区域要远远大于以4为步长时所需要就进行卷积运算的区域;后续的卷积都是在这一卷积的结果上进行的,所以后面的都会发生改变。

      综上,步长为32的正整数倍只是保证 直接在最后的卷积结果上进行滑动和滑窗效果相等 的下限值。

    3. 卷积神经网络的结构

      卷积神经网络通常是由三种层构成:卷积层,汇聚层(除非特别说明,一般就是最大值汇聚)和全连接层(简称FC)。ReLU激活函数也应该算是是一层,它逐元素地进行激活函数操作,常常将它与卷积层看作是同一层。

    3.1 层的排列规律

      卷积神经网络最常见的形式就是将一些卷积层和ReLU层放在一起,其后紧跟汇聚层,然后重复如此直到图像在空间上被缩小到一个足够小的尺寸,在某个地方过渡成成全连接层也较为常见。最后的全连接层得到输出,比如分类评分等。换句话说,最常见的卷积神经网络结构如下:
    I N P U T → [ C O N V → R E L U ] ∗ N → [ P O O L ? ] ∗ M → [ F C → R E L U ] ∗ K → F C INPUT \rightarrow [CONV \rightarrow RELU]*N \rightarrow [POOL?]*M \rightarrow [FC \rightarrow RELU]*K \rightarrow FC INPUT[CONVRELU]N[POOL?]M[FCRELU]KFC

    其中*指的是重复次数,POOL?指的是一个可选的汇聚层。其中N >=0,通常N<=3,M>=0,K>=0,通常K<3。例如,下面是一些常见的网络结构规律:

    • INPUT -> FC ,实现一个线性分类器,此处N = M = K = 0。

    • INPUT -> CONV -> RELU -> FC,单层的卷积神经网络

    • *INPUT -> [CONV -> RELU -> POOL]2 -> FC -> RELU -> FC,此处在每个汇聚层之间有一个卷积层,这种网络就是简单的多层的卷积神经网络。

    • **INPUT -> [CONV -> RELU -> CONV -> RELU -> POOL]3 -> [FC -> RELU]2 -> FC ,此处每个汇聚层前有两个卷积层,这个思路适用于更大更深的网络(比如说这个思路就和VGG比较像),因为在执行具有破坏性的汇聚操作前,多重的卷积层可以从输入数据中学习到更多的复杂特征。

      最新进展:传统的将层按照线性进行排列的方法已经受到了挑战,挑战来自谷歌的Inception结构和微软亚洲研究院的残差网络(Residual Net)结构。这两个网络的特征更加复杂,连接结构也不同。

    3.2 卷积层的大小选择

      几个小滤波器卷积层的组合比一个大滤波器卷积层好。假设你一层一层地重叠了3个3x3的卷积层(层与层之间有非线性激活函数)。在这个排列下,第一个卷积层中的每个神经元都对输入数据体有一个3x3的视野。第二个卷积层上的神经元对第一个卷积层有一个3x3的视野,也就是对输入数据体有5x5的视野。同样,在第三个卷积层上的神经元对第二个卷积层有3x3的视野,也就是对输入数据体有7x7的视野。假设不采用这3个3x3的卷积层,而是使用一个单独的有7x7的感受野的卷积层,那么所有神经元的感受野也是7x7,但是这样有一些缺点。首先,多个卷积层与非线性的激活层交替的结构,比单一卷积层的结构更能提取出深层的更好的特征。其次,假设所有的数据有C个通道,那么单独的7x7卷积层将会包含 C × ( 7 × 7 × C ) = 49 C 2 C\times (7\times 7\times C)=49C^2 C×(7×7×C)=49C2个参数,而3个3x3的卷积层的组合仅有 3 × ( C × ( 3 × 3 × C ) ) = 27 C 2 3\times (C\times (3\times 3\times C))=27C^2 3×(C×(3×3×C))=27C2个参数。直观说来,最好选择带有小滤波器的卷积层组合,而不是用一个带有大的滤波器的卷积层。前者可以表达出输入数据中更多个强力特征,使用的参数也更少。唯一的不足是,在进行反向传播时,中间的卷积层可能会导致占用更多的内存。所以他减少的是参数量,而非计算量。

    3.3 层的尺寸设置规律

    • 输入层 ,应该能被2整除很多次。常用数字包括32(比如CIFAR-10),64,96(比如STL-10)或224(比如ImageNet卷积神经网络),384和512。

    • 卷积层 ,应该使用小尺寸滤波器(比如3x3或最多5x5),使用步长S=1。还有一点非常重要,就是对输入数据进行零填充,这样卷积层就不会改变输入数据在空间维度上的尺寸。比如,当F=3,那就使用P=1来保持输入尺寸。当F=5,P=2,一般对于任意F,当P=(F-1)/2的时候能保持输入尺寸。如果必须使用更大的滤波器尺寸(比如7x7之类),通常只用在第一个面对原始图像的卷积层上。

    • 汇聚层 ,负责对输入数据的空间维度进行降采样。最常用的设置是用用2x2感受野(即F=2)的最大值汇聚,步长为2(S=2)。注意这一操作将会把输入数据中75%的激活数据丢弃(因为对宽度和高度都进行了2的降采样)。另一个不那么常用的设置是使用3x3的感受野,步长为2。最大值汇聚的感受野尺寸很少有超过3的,因为汇聚操作过于激烈,易造成数据信息丢失,这通常会导致算法性能变差。

      上文中展示的两种设置(卷积层F=3,P=1,汇聚层F=2,P=2)是很好的,因为所有的卷积层都能保持其输入数据的空间尺寸,汇聚层只负责对数据体从空间维度进行降采样。如果使用的步长大于1并且不对卷积层的输入数据使用零填充,那么就必须非常仔细地监督输入数据体通过整个卷积神经网络结构的过程,确认所有的步长和滤波器都尺寸互相吻合,卷积神经网络的结构美妙对称地联系在一起。

      为何使用零填充?使用零填充除了前面提到的可以让卷积层的输出数据保持和输入数据在空间维度的不变,还可以提高算法性能。如果卷积层值进行卷积而不进行零填充,那么数据体的尺寸就会略微减小,那么图像边缘的信息就会过快地损失掉。

      因为内存限制所做的妥协:在某些案例(尤其是早期的卷积神经网络结构)中,基于前面的各种规则,内存的使用量迅速飙升。例如,使用64个尺寸为3x3的滤波器对224x224x3的图像进行卷积,零填充为1,得到的激活数据体尺寸是[224x224x64]。这个数量就是一千万的激活数据,或者就是72MB的内存(每张图就是这么多,激活函数和梯度都是)。因为GPU通常因为内存导致性能瓶颈,所以做出一些妥协是必须的。在实践中,人们倾向于在网络的第一个卷积层做出妥协。例如,可以妥协可能是在第一个卷积层使用步长为2,尺寸为7x7的滤波器(比如在ZFnet中)。在AlexNet中,滤波器的尺寸的11x11,步长为4。

    4. 案例学习

      下面是卷积神经网络领域中比较有名的几种结构:

    • LeNet ,第一个成功的卷积神经网络应用,是Yann LeCun在上世纪90年代实现的。当然,最著名还是被应用在识别数字和邮政编码等的LeNet结构。

    • AlexNet ,AlexNet卷积神经网络在计算机视觉领域中受到欢迎,它由Alex Krizhevsky,Ilya Sutskever和Geoff Hinton实现。AlexNet在2012年的ImageNet ILSVRC 竞赛中夺冠,性能远远超出第二名(16%的top5错误率,第二名是26%的top5错误率)。这个网络的结构和LeNet非常类似,但是更深更大,并且使用了层叠的卷积层来获取特征(之前通常是只用一个卷积层并且在其后马上跟着一个汇聚层)。

    • ZF Net ,Matthew Zeiler和Rob Fergus发明的网络在ILSVRC 2013比赛中夺冠,它被称为 ZFNet(Zeiler & Fergus Net的简称)。它通过修改结构中的超参数来实现对AlexNet的改良,具体说来就是增加了中间卷积层的尺寸让第一层的步长和滤波器尺寸更小

    • GoogLeNet ,ILSVRC 2014的胜利者是谷歌的Szeged等实现的卷积神经网络。它主要的贡献就是实现了一个奠基模块,它能够显著地减少网络中参数的数量(AlexNet中有60M,该网络中只有4M)。还有,这个论文中没有使用卷积神经网络顶部使用全连接层,而是使用了一个平均汇聚,把大量不是很重要的参数都去除掉了。GooLeNet还有几种改进的版本,最新的一个是Inception-v4

    • VGGNet ,ILSVRC 2014的第二名是Karen Simonyan和 Andrew Zisserman实现的卷积神经网络,现在称其为VGGNet。它主要的贡献是展示出网络的深度是算法优良性能的关键部分。他们最好的网络包含了16个卷积/全连接层。网络的结构非常一致,从头到尾全部使用的是3x3的卷积和2x2的汇聚。他们的预训练模型是可以在网络上获得并在Caffe中使用的。VGGNet不好的一点是它耗费更多计算资源,并且使用了更多的参数,导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。后来发现这些全连接层即使被去除,对于性能也没有什么影响,这样就显著降低了参数数量。

    • ResNet ,残差网络(Residual Network)是ILSVRC2015的胜利者,由何恺明等实现。它使用了特殊的跳跃链接,大量使用了批量归一化(batch normalization)。这个结构同样在最后没有使用全连接层。读者可以查看何恺明的的演讲,以及一些使用Torch重现网络的实验。ResNet当前最好的卷积神经网络模型(2016年五月)。何开明等最近的工作是对原始结构做一些优化,可以看论文Identity Mappings in Deep Residual Networks,2016年3月发表。

    4.1 VGGNet的细节

      我们进一步对VGGNet的细节进行分析学习。整个VGGNet中的卷积层都是以步长为1进行3x3的卷积,使用了1的零填充,汇聚层都是以步长为2进行了2x2的最大值汇聚。可以写出处理过程中每一步数据体尺寸的变化,然后对数据尺寸和整体权重的数量进行查看:

    INPUT: [224x224x3]        memory:  224*224*3=150K   weights: 0
    CONV3-64: [224x224x64]  memory:  224*224*64=3.2M   weights: (3*3*3)*64 = 1,728
    CONV3-64: [224x224x64]  memory:  224*224*64=3.2M   weights: (3*3*64)*64 = 36,864
    POOL2: [112x112x64]  memory:  112*112*64=800K   weights: 0
    CONV3-128: [112x112x128]  memory:  112*112*128=1.6M   weights: (3*3*64)*128 = 73,728
    CONV3-128: [112x112x128]  memory:  112*112*128=1.6M   weights: (3*3*128)*128 = 147,456
    POOL2: [56x56x128]  memory:  56*56*128=400K   weights: 0
    CONV3-256: [56x56x256]  memory:  56*56*256=800K   weights: (3*3*128)*256 = 294,912
    CONV3-256: [56x56x256]  memory:  56*56*256=800K   weights: (3*3*256)*256 = 589,824
    CONV3-256: [56x56x256]  memory:  56*56*256=800K   weights: (3*3*256)*256 = 589,824
    POOL2: [28x28x256]  memory:  28*28*256=200K   weights: 0
    CONV3-512: [28x28x512]  memory:  28*28*512=400K   weights: (3*3*256)*512 = 1,179,648
    CONV3-512: [28x28x512]  memory:  28*28*512=400K   weights: (3*3*512)*512 = 2,359,296
    CONV3-512: [28x28x512]  memory:  28*28*512=400K   weights: (3*3*512)*512 = 2,359,296
    POOL2: [14x14x512]  memory:  14*14*512=100K   weights: 0
    CONV3-512: [14x14x512]  memory:  14*14*512=100K   weights: (3*3*512)*512 = 2,359,296
    CONV3-512: [14x14x512]  memory:  14*14*512=100K   weights: (3*3*512)*512 = 2,359,296
    CONV3-512: [14x14x512]  memory:  14*14*512=100K   weights: (3*3*512)*512 = 2,359,296
    POOL2: [7x7x512]  memory:  7*7*512=25K  weights: 0
    FC: [1x1x4096]  memory:  4096  weights: 7*7*512*4096 = 102,760,448
    FC: [1x1x4096]  memory:  4096  weights: 4096*4096 = 16,777,216
    FC: [1x1x1000]  memory:  1000 weights: 4096*1000 = 4,096,000
    
    TOTAL memory: 24M * 4 bytes ~= 93MB / image (only forward! ~*2 for bwd)
    TOTAL params: 138M parameters
    

      注意,大部分的内存和计算时间都被前面的卷积层占用,大部分的参数都用在后面的全连接层,这在卷积神经网络中是比较常见的。在这个例子中,全部参数有140M,但第一个全连接层就包含了100M的参数

    5. 计算上的考量

      在构建卷积神经网络结构时,最大的瓶颈是内存瓶颈,所以如何降低内存消耗量是一个值得思考的问题。三种内存占用来源:

    • 1 来自中间数据体尺寸:卷积神经网络中的每一层中都有激活数据体的原始数值,以及损失函数对它们的梯度(和激活数据体尺寸一致)。通常,大部分激活数据都是在网络中靠前的层中(比如第一个卷积层)。在训练时,这些数据需要放在内存中,因为反向传播的时候还会用到。但是在测试时可以聪明点:让网络在测试运行时候每层都只存储当前的激活数据,然后丢弃前面层的激活数据,这样就能减少巨大的激活数据量。这实际上是底层问题,在编写框架的过程中,设计者会进行这方面的考虑。

    • 2 来自参数尺寸:即整个网络的参数的数量,在反向传播时它们的梯度值,以及使用momentum、Adagrad或RMSProp等方法进行最优化时的每一步计算缓存。因此,存储参数向量的内存通常需要在参数向量的容量基础上乘以3或者更多。

    • 3 卷积神经网络实现还有各种零散的内存占用,比如成批的训练数据,扩充的数据等等。

      一旦对于所有这些数值的数量有了一个大略估计(包含激活数据,梯度和各种杂项),数量应该转化为以GB为计量单位。把这个值乘以4,得到原始的字节数(因为每个浮点数占用4个字节,如果是双精度浮点数那就是占用8个字节),然后多次除以1024分别得到占用内存的KB,MB,最后是GB计量。如果你的网络工作得不好,一个常用的方法是降低批尺寸(batch size),因为绝大多数的内存都是被激活数据消耗掉了。

    展开全文
  • 什么叫大数据 大数据的概念

    千次阅读 2018-10-07 16:03:17
    随着社交网络的激增,技术博客和专业人士为“大数据” 概念注入新的生机。“当前世界范围内已有的一些其他工具将被大量数据和应用 算法 所取代”。《 连线 》的 克里斯·安德森 认为当时处于一个“理论终结时代”。...

    1、大数据定义

     对于“大数据”(Big data)研究机构Gartner给出了定义,“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力

    的海量、高增长率和多样化的信息资产。

    大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。

    从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。它的特色在于对海量数据进行分布式数据挖掘,但它必须依托云计算分布式处理分布式数据库云存储虚拟化技术

    随着云时代的来临,大数据(Big data)也吸引了越来越多的关注。《著云台》的分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化数据半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。

    大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘电网、分布式文件系统、分布式数据库云计算平台、互联网和可扩展的存储系统。

    最小的基本单位是bit,按顺序给出所有单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB,它们按照进率1024(2的十次方)来计算:

    8bit= 1Byte

    1KB= 1,024 Bytes

    1MB= 1,024 KB = 1,048,576 Bytes

    1GB= 1,024 MB = 1,048,576 KB

    1TB= 1,024 GB = 1,048,576 MB

    1PB= 1,024 TB = 1,048,576 GB

    1EB= 1,024 PB = 1,048,576 TB

    1ZB= 1,024 EB = 1,048,576 PB

    1YB= 1,024 ZB = 1,048,576 EB

    1BB= 1,024 YB = 1,048,576 ZB

    1NB= 1,024 BB = 1,048,576 YB

    1 DB = 1,024 NB = 1,048,576 BB

    1887–1890年

    赫尔曼·霍尔瑞斯美国统计学家赫尔曼·霍尔瑞斯为了统计1890年的人口普查数据发明了一台电动器来读取卡片上的洞数,该设备让美国用一年时间就完成了原本耗时8年的人口普查活动,由此在全球范围内引发了数据处理的新纪元。

    1935–1937年

    美国总统富兰克林·罗斯福利用社会保障法开展了美国政府最雄心勃勃的一项数据收集项目,IBM最终赢得竞标,即需要整理美国的2600万个员工和300万个雇主的记录。共和党总统候选人阿尔夫兰登scoffs嘲笑地说,“要整理如此繁多的职工档案,还必须而调用大规模的现场调查人员去核实那些信息不完整的人员记录。”

    1943年

    一家英国工厂为了破译二战期间的纳粹密码,让工程师开发了系列开创性的能进行大规模数据处理的机器,并使用了第一台可编程的电子计算机进行运算。该计算机被命名为“巨人”,为了找出拦截信息中的潜在模式,它以每秒钟5000字符的速度读取纸卡——将原本需要耗费数周时间才能完成的工作量压缩到了几个小时。破译德国部队前方阵地的信息以后,帮助盟军成功登陆了诺曼底。

    1997年

    美国宇航局研究员迈克尔·考克斯和大卫·埃尔斯沃斯首次使用“大数据”这一术语来描述20世纪90年代的挑战:超级计算机生成大量的信息——在考克斯和埃尔斯沃斯按案例中,模拟飞机周围的气流——是不能被处理和可视化的。数据集通常之大,超出了主存储器本地磁盘,甚至远程磁盘的承载能力。”他们称之为“大数据问题。”

    2002年

    在9/11袭击后,美国政府为阻止恐怖主义已经涉足大规模数据挖掘。前国家安全顾问约翰·波因德克斯特领导国防部整合现有政府的数据集,组建一个用于筛选通信、犯罪、教育、金融、医疗和旅行等记录来识别可疑人的大数据库。一年后国会因担忧公民自由权而停止了这一项目。

    2004年

    9/11委员会呼吁反恐机构应统一组建“一个基于网络的信息共享系统”,以便能快处理应接不暇的数据。到2010年,美国国家安全局的30000名员工将拦截和存储17亿年电子邮件、电话和其它通讯日报。与此同时,零售商积累关于客户购物和个人习惯的大量数据,沃尔玛自吹已拥有一个容量为460字节的缓存器——比当时互联网上的数据量还要多一倍。

    2007–2008年

    随着社交网络的激增,技术博客和专业人士为“大数据” 概念注入新的生机。“当前世界范围内已有的一些其他工具将被大量数据和应用算法所取代”。《连线》的克里斯·安德森认为当时处于一个“理论终结时代”。一些政府机构和美国的顶尖计算机科学家声称,“应该深入参与大数据计算的开发和部署工作,因为它将直接有利于许多任务的实现。”

    2009年1月

    印度政府建立印度唯一的身份识别管理局,对12亿人的指纹、照片和虹膜进行扫描,并为每人分配12位的数字ID号码,将数据汇集到世界最大的生物识别数据库中。官员们说它将会起到提高政府的服务效率和减少腐败行为的作用,但批评者担心政府会针对个别人进行剖面分析并与分享这些人的私密生活细节。

    2009年5月

    大数据或成反恐分析利器美国总统巴拉克·奥巴马政府推出data.gov网站作为政府开放数据计划的部分举措。该网站的超过4.45万量数据集被用于保证一些网站和智能手机应用程序来跟踪从航班到产品召回再到特定区域内失业率的信息,这一行动激发了从肯尼亚到英国范围内的政府们相继推出类似举措。

    2009年7月

    应对全球金融危机,联合国秘书长潘基文承诺创建警报系统,抓住“实时数据带给贫穷国家经济危机的影响” 。联合国全球脉冲项目已研究了对如何利用手机和社交网站的数据源来分析预测从螺旋价格到疾病爆发之类的问题。

    2011年2月

    扫描2亿年的页面信息,或4兆兆字节磁盘存储,只需几秒即可完成。IBM的沃森计算机系统在智力竞赛节目《危险边缘》中打败了两名人类挑战者。后来纽约时报配音这一刻为一个“大数据计算的胜利。”

    2012年3月

    美国政府报告要求每个联邦机构都要有一个“大数据”的策略,作为回应,奥巴马政府宣布一项耗资2亿美元的大数据研究与发展项目。国家卫生研究院将一套人类基因组项目的数据集存放在亚马逊的计算机云内,同时国防部也承诺要开发出可“从经验中进行学习”的“自主式”防御系统。中央情报局局长戴维·彼得雷乌斯将军在发帖讨论阿拉伯之春机构通过云计算收集和分析全球社会媒体信息之事时,不禁惊叹我们已经被自卸卡车倒进了“‘数字尘土”中。

    2012年7月

    美国国务卿希拉里·克林顿宣布了一个名为“数据2X”的公私合营企业用来收集统计世界各地的妇女和女童在经济、政治和社会地位方面的信息。“数据不只是测量过程——它能给予我们启发,”她解释说。“一旦人们开始对某个问题实施测量时,就更倾向于采取行动来解决它们,因为没有人愿意排到名单的最低端去。”让大数据开始竞赛吧。

    HadoopMapReduce

    思维模式转变的催化剂是大量新技术的诞生,它们能够处理大数据分析所带来的3个V的挑战。扎根于开源社区,Hadoop已经是目前大数据平台中应用率最高的技术,特别是针对诸如文本、社交媒体订阅以及视频等非结构化数据。除分布式文件系统之外,伴随Hadoop一同出现的还有进行大数据集处理MapReduce架构。根据权威报告显示,许多企业都开始使用或者评估Hadoop技术来作为其大数据平台的标准。

    大数据NoSQL数据库

    我们生活的时代,相对稳定的数据库市场中还在出现一些新的技术,而且在未来几年,它们会发挥作用。事实上,NoSQL数据库在一个广义上派系基础上,其本身就包含了几种技术。总体而言,他们关注关系型数据库引擎的限制,如索引、流媒体和高访问量的网站服务。在这些领域,相较关系型数据库引擎,NoSQL的效率明显更高。

    内存分析

    在Gartner公司评选的2012年十大战略技术中,内存分析在个人消费电子设备以及其他嵌入式设备中的应用将会得到快速的发展。随着越来越多的价格低廉的内存用到数据中心中,如何利用这一优势对软件进行最大限度的优化成为关键的问题。内存分析以其实时、高性能的特性,成为大数据分析时代下的“新宠儿”。如何让大数据转化为最佳的洞察力,也许内存分析就是答案。大数据背景下,用户以及IT提供商应该将其视为长远发展的技术趋势。

    集成设备

    随着数据仓库设备(Data Warehouse Appliance)的出现,商业智能以及大数据分析的潜能也被激发出来,许多企业将利用数据仓库新技术的优势提升自身竞争力。集成设备将企业的数据仓库硬件软件整合在一起,提升查询性能、扩充存储空间并获得更多的分析功能,并能够提供同传统数据仓库系统一样的优势。在大数据时代,集成设备将成为企业应对数据挑战的一个重要利器。

    结构

    大数据就是互联网发展到现今阶段的一种表象或特征而已,没有必要神话它或对它保持敬畏之心,在以云计算为代表的技术创新大幕的衬托下,这些原本很难收集和使用的数据开始容易被利用起来了,通过各行各业的不断创新,大数据会逐步为人类创造更多的价值。

    其次,想要系统的认知大数据,必须要全面而细致的分解它,我着手从三个层面来展开:

    第一层面是理论,理论是认知的必经途径,也是被广泛认同和传播的基线。在这里从大数据的特征定义理解行业对大数据的整体描绘和定性;从对大数据价值的探讨来深入解析大数据的珍贵所在;洞悉大数据的发展趋势;从大数据隐私这个特别而重要的视角审视人和数据之间的长久博弈。

    第二层面是技术,技术是大数据价值体现的手段和前进的基石。在这里分别从云计算、分布式处理技术、存储技术和感知技术的发展来说明大数据从采集、处理、存储到形成结果的整个过程。

    第三层面是实践,实践是大数据的最终价值体现。在这里分别从互联网的大数据,政府的大数据,企业的大数据和个人的大数据四个方面来描绘大数据已经展现的美好景象及即将实现的蓝图。

    特点

    大数据大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。《计算机学报》刊登的“架构大数据:挑战、现状与展望”一文列举了大数据分析平台需要具备的几个重要特性,对当前的主流实现平台——并行数据库、MapReduce及基于两者的混合架构进行了分析归纳,指出了各自的优势及不足,同时也对各个方向的研究现状及作者在大数据分析方面的努力进行了介绍,对未来研究做了展望。

    大数据的4个“V”,或者说特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。前文提到的网络日志、视频、图片、地理位置信息等等。第三,处理速度快,1秒定律,可从各种类型的数据中快速获得高价值的信息,这一点也是和传统的数据挖掘技术有着本质的不同。第四,只要合理利用数据并对其进行正确、准确的分析,将会带来很高的价值回报。业界将其归纳为4个“V”——Volume(数据体量大)、Variety(数据类型繁多)、Velocity(处理速度快)、Value(价值密度低)。

    从某种程度上说,大数据是数据分析的前沿技术。简言之,从各种各样类型的数据中,快速获得有价值信息的能力,就是大数据技术。明白这一点至关重要,也正是这一点促使该技术具备走向众多企业的潜力。

    大数据最核心的价值就是在于对于海量数据进行存储和分析。相比起现有的其他技术而言,大数据的“廉价、迅速、优化”这三方面的综合成本是最优的。

    当前用于分析大数据的工具主要有开源与商用两个生态圈

    开源大数据生态圈:

    1、Hadoop HDFS、HadoopMapReduce, HbaseHive 渐次诞生,早期Hadoop生态圈逐步形成。

    2、. Hypertable是另类。它存在于Hadoop生态圈之外,但也曾经有一些用户。

    3、NoSQL,membase、MongoDB

    商用大数据生态圈:

    1、一体机数据库/数据仓库:IBM PureData(Netezza), OracleExadata, SAP Hana等等。

    2、数据仓库:TeradataAsterData, EMC GreenPlum, HPVertica 等等。

    3、数据集市:QlikView、 Tableau 、 以及国内的Yonghong Data Mart 。

    数据采集

    定义:利用多种轻型数据库来接收发自客户端的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。

    特点和挑战:并发系数高。

    使用的产品:MySQLOracleHbaseRedis和 MongoDB等,并且这些产品的特点各不相同。

    统计分析

    大数据定义:将海量的来自前端的数据快速导入到一个集中的大型分布式数据库 或者分布式存储集群,利用分布式技术来对存储于其内的集中的海量数据 进行普通的查询和分类汇总等,以此满足大多数常见的分析需求。

    特点和挑战:导入数据量大,查询涉及的数据量大,查询请求多。

    使用的产品:InfoBright,Hadoop(Pig和Hive),YunTable, SAP Hana和OracleExadata,除Hadoop以做离线分析为主之外,其他产品可做实时分析。

    挖掘数据

    定义:基于前面的查询数据进行数据挖掘,来满足高级别 的数据分析需求。

    特点和挑战:算法复杂,并且计算涉及的数据量和计算量都大。

    使用的产品:R,Hadoop Mahout

    SOA模型

    我们需要的是以数据为中心的SOA还是以SOA为中心的数据?答案取决于如何处理的SOA-数据关系的三个不同模型来管理大数据、云数据和数据层次结构。在越来越多的虚拟资源中,将这些模型之间所有类型的数据进行最优拟合是SOA所面临的巨大挑战之一。本文详细介绍了每个SOA模型管理数据的优点、选择和选项。

    SOA的三个数据中心模型分别是数据即服务(DaaS)模型、物理层次结构模型和架构组件模型。DaaS数据存取的模型描述了数据是如何提供给SOA组件的。物理模型描述了数据是如何存储的以及存储的层次图是如何传送到SOA数据存储器上的。最后,架构模型描述了数据、数据管理服务和SOA组件之间的关系。

    SOA和数据企业的例子

    也许以极限情况为开始是理解SOA数据问题的最好方式:一个企业的数据需求完全可以由关系数据库管理系统(RDBMS)中的条款来表示。这样一个企业可能会直接采用数据库设备或者将专用的数据库服务器和现有的查询服务连接到SOA组件(查询即服务,或QaaS)上。这种设计理念之前已经被人们所接受。该设计之所以成功是因为它平衡了上述三个模型之间的关系。QaaS服务模型不是机械地连接到存储器上;而是通过一个单一的架构——RDBMS(关系型数据库管理系统)。数据去重和完整性便于管理单一的架构。

    通过大数据的例子可以更好地理解为什么这个简单的方法却不能在更大的范围内处理数据。多数的大数据是非关系型的、非交易型的、非结构化的甚至是未更新的数据。由于缺乏数据结构因此将其抽象成一个查询服务并非易事,由于数据有多个来源和形式因此很少按序存储,并且定义基础数据的完整性和去重过程是有一些规则的。当作为大数据引入到SOA的应用程序中时,关键是要定义三种模型中的最后一种模型,SOA数据关系中的架构模型。有两种选择:水平方向和垂直方向。

    大数据:“人工特征工程+线性模型”的尽头SOA和各类数据模型

    在水平集成数据模型中,数据收集隐蔽于一套抽象的数据服务器,该服务器有一个或多个接口连接到应用程序上,也提供所有的完整性和数据管理功能。组件虽不能直接访问数据,但作为一种即服务形式,就像他们在简单情况下的企业,其数据的要求是纯粹的RDBMS模型。应用程序组件基本上脱离了RDBMS与大数据之间数据管理的差异。尽管由于上述原因这种方法不能创建简单的RDBMS查询模型,但是它至少复制了我们上面提到的简单的RDBMS模型。

    垂直集成的数据模型以更多应用程序特定的方式连接到数据服务上,该方式使得客户关系管理、企业资源规划或动态数据认证的应用程序数据很大程度在服务水平上相互分离,这种分离直接涉及到数据基础设施。在某些情况下,这些应用程序或许有可以直接访问存储/数据服务的SOA组件。为了提供更多统一的数据完整性和管理,管理服务器可以作为SOA组件来操作各种数据库系统,以数据库特定的方式执行常见的任务,如去重和完整性检查。这种方法更容易适应于遗留应用和数据结构, 但它在问数据何访方式上会破坏SOA即服务原则,也可能产生数据管理的一致性问题。

    SOA和水平数据模型

    毫无疑问水平模型更符合SOA原则,因为它更彻底地从SOA组件中抽象出了数据服务。不过,为了使其有效,有必要对非关系型数据库进行抽象定义和处理低效率与抽象有关的流程——SOA架构师知道除非小心的避免此类事情否则这将会成为不可逾越的障碍。

    水平的SOA数据策略已经开始应用于适用大数据的抽象数据。解决这个问题最常见的方法是MapReduce,可以应用于Hadoop形式的云构架。Hadoop以及类似的方法可以分发、管理和访问数据,然后集中查询这一分布式信息的相关结果。实际上,SOA组件应将MapReduce和类似数据分析功能作为一种查询功能应用。

    效率问题

    效率问题较为复杂。因为水平数据库模型可能是通过类似大多数SOA流程的信息服务总线来完成的,一个重要的步骤是要确保与该编排相关的开销额度保持在最低程度。这可以帮助减少与SOA相关的数据访问开销,但它不能克服存储系统本身的问题。因为这些存储系统已经通过水平模型脱离了SOA组件,很容易被忽略与延迟和数据传输量相关的问题,特别地,如果数据库是云分布的,那么使用他们就会产生可变的网络延迟

    上述问题的一个解决方案是现代分层存储模式。数据库不是磁盘,而是一组相互连接的高速缓存点,其存储于本地内存中,也可能转向固态硬盘,然后到本地磁盘,最后到云存储。缓存算法处理这些缓存点之间的活动,从而来平衡存储成本(同时也是平衡同步地更新成本)和性能。

    大数据应用领域对于大数据,它也是经常可以创建适用于大多数分析的汇总数据。例如一个计算不同地点车辆数量的交通遥测应用。这种方法可以产生大量的数据,但是如果汇总数据最后一分钟还存储在内存中,最后一小时存储在闪存中,最后一天存在磁盘上,那么控制应用程序所需的实际时间可以通过快速访问资源得到满足,然而假设分析时我们可以使用一些更便宜、更慢的应用程序是会怎样。

    SOA都是抽象的,但当抽象隐藏了底层影响性能和响应时间的复杂性时,这种抽象的危险程度会提高。数据访问也是这样的,因此,SOA架构师需要认真地考虑抽象与性能之间的平衡关系,并为其特定的业务需求优化它。

    Hadoop

    Hadoop旨在通过一个高度可扩展的分布式批量处理系统,对大型数据集进行扫描,以产生其结果。Hadoop项目包括三部分,分别是Hadoop Distributed File System(HDFS)、HadoopMapReduce编程模型,以及Hadoop Common。

    Hadoop平台对于操作非常大型的数据集而言可以说是一个强大的工具。为了抽象Hadoop编程模型的一些复杂性,已经出现了多个在Hadoop之上运行的应用开发语言。Pig、Hive和Jaql是其中的代表。而除了Java外,您还能够以其他语言编写map和reduce函数,并使用称为Hadoop Streaming(简写为Streaming)的API调用它们。

    流定义

    从技术角度而言,流是通过边缘连接的节点图。图中的每个节点都是“运算符”或“适配器”,均能够在某种程度上处理流内的数据。节点可以不包含输入和输出,也可以包含多个输入和输出。一个节点的输出与另外一个或多个节点的输入相互连接。图形的边缘将这些节点紧密联系在一起,表示在运算符之间移动的数据流。

    右图一个简单的流图,它可以从文件中读取数据,将数据发送到名为Functor的运算符(此运算符能够以某种编程方式转换所传入的数据),然后将这些数据传入另一个运算符。在此图片中,流数据被传送至Split运算符,而后又将数据传入文件接收器或数据库(具体情况视Split运算符的内部状况而定)。

    利用Apache Hadoop等开源项目,通过传感器、RFID、社交媒体、呼叫中心记录和其他来源提供的新型数据创造价值。

    Streams

    大数据应用领域即,IBM InfoSphere Streams。在IBMInfoSphere Streams(简称Streams)中,数据将会流过有能力操控数据流(每秒钟可能包含数百万个事件)的运算符,然后对这些数据执行动态分析。这项分析可触发大量事件,使企业利用即时的智能实时采取行动,最终改善业务成果。

    当数据流过这些分析组件后,Streams将提供运算符将数据存储至各个位置,或者如果经过动态分析某些数据被视为毫无价值,则会丢弃这些数据。你可能会认为Streams与复杂事件处理(CEP) 系统非相似,不过Streams的设计可扩展性更高,并且支持的数据流量也比其他系统多得多。此外,Streams还具备更高的企业级特性,包括高可用性、丰富的应用程序开发工具包和高级调度。

    出于这样的目的,许多组织开始启动自己的大数据治理计划。所谓大数据治理,指的是制定策略来协调多个职能部门的目标,从而优化、保护和利用大数据,将其作为一项企业资产。

    容量问题

    这里所说的“大容量”通常可达到PB级的数据规模,因此,海量数据存储系统也一定要有相应等级的扩展能力。与此同时,存储系统的扩展一定要简便,可以通过增加模块或磁盘柜来增加容量,甚至不需要停机。在解决容量问题上,不得不提LSI公司的全新Nytro™智能化闪存解决方案,采用Nytro产品,客户可以将数据库事务处理性能提高30倍,并且超过每秒4.0GB的持续吞吐能力,非常适用于大数据分析

    延迟问题

    “大数据”应用还存在实时性的问题。特别是涉及到与网上交易或者金融类相关的应用。有很多“大数据”应用环境需要较高的IOPS性能,比如HPC高性能计算。此外,服务器虚拟化的普及也导致了对高IOPS的需求,正如它改变了传统IT环境一样。为了迎接这些挑战,各种模式的固态存储设备应运而生,小到简单的在服务器内部做高速缓存,大到全固态介质可扩展存储系统通过高性能闪存存储,自动、智能地对热点数据进行读/写高速缓存的LSI Nytro系列产品等等都在蓬勃发展。

    安全问题

    某些特殊行业的应用,比如金融数据、医疗信息以及政府情报等都有自己的安全标准和保密性需求。虽然对于IT管理者来说这些并没有什么不同,而且都是必须遵从的,但是,大数据分析往往需要多类数据相互参考,而在过去并不会有这种数据混合访问的情况,大数据应用催生出一些新的、需要考虑的安全性问题,这就充分体现出利用基于DuraClass™ 技术的LSI SandForce®闪存处理器的优势了,实现了企业级闪存性能和可靠性,实现简单、透明的应用加速,既安全又方便。

    大数据应用领域成本问题

    对于那些正在使用大数据环境的企业来说,成本控制是关键的问题。想控制成本,就意味着我们要让每一台设备都实现更高的“效率”,同时还要减少那些昂贵的部件。重复数据删除等技术已经进入到主存储市场,而且还可以处理更多的数据类型,这都可以为大数据存储应用带来更多的价值,提升存储效率。在数据量不断增长的环境中,通过减少后端存储的消耗,哪怕只是降低几个百分点,这种锱铢必较的服务器也只有LSI推出的Syncro™ MX-B机架服务器启动盘设备都能够获得明显的投资回报,当今,数据中心使用的传统引导驱动器不仅故障率高,而且具有较高的维修和更换成本。如果用它替换数据中心的独立服务器引导驱动器,则能将可靠性提升多达100倍。并且对主机系统是透明的,能为每一个附加服务器提供唯一的引导镜像,可简化系统管理,提升可靠性,并且节电率高达60%,真正做到了节省成本的问题。

    数据的积累

    许多大数据应用都会涉及到法规遵从问题,这些法规通常要求数据要保存几年或者几十年。比如医疗信息通常是为了保证患者的生命安全,而财务信息通常要保存7年。而有些使用大数据存储的用户却希望数据能够保存更长的时间,因为任何数据都是历史记录的一部分,而且数据的分析大都是基于时间段进行的。要实现长期的数据保存,就要求存储厂商开发出能够持续进行数据一致性检测的功能以及其他保证长期高可用的特性。同时还要实现数据直接在原位更新的功能需求。

    灵活性

    大数据存储系统的基础设施规模通常都很大,因此必须经过仔细设计,才能保证存储系统的灵活性,使其能够随着应用分析软件一起扩容及扩展。在大数据存储环境中,已经没有必要再做数据迁移了,因为数据会同时保存在多个部署站点。一个大型的数据存储基础设施一旦开始投入使用,就很难再调整了,因此它必须能够适应各种不同的应用类型和数据场景。

    应用感知

    最早一批使用大数据的用户已经开发出了一些针对应用的定制的基础设施,比如针对政府项目开发的系统,还有大型互联网服务商创造的专用服务器等。在主流存储系统领域,应用感知技术的使用越来越普遍,它也是改善系统效率和性能的重要手段,所以,应用感知技术也应该用在大数据存储环境里。

    针对小用户

    依赖大数据的不仅仅是那些特殊的大型用户群体,作为一种商业需求,小型企业未来也一定会应用到大数据。我们看到,有些存储厂商已经在开发一些小型的“大数据”存储系统,主要吸引那些对成本比较敏感的用户。

    大数据大数据治理计划也需要关注与其他信息治理计划类似的问题。这些计划必须解决以下问题:

    ■元数据

    大数据治理需要创建可靠的元数据,避免出现窘境,例如,一家企业重复购买了相同的数据集两次,而原因仅仅是该数据集在两个不同的存储库内使用了不同的名称。

    ■隐私

    企业需要严格关注遵守隐私方面的问题,例如利用社交媒体进行数据分析。

    ■数据质量

    考虑到大数据的庞大数量和超快速度,组织需要确定哪种级别的数据质量属于“足够好”的质量。

    信息生命周期管理。大数据治理计划需要制定存档策略,确保存储成本不会超出控制。除此之外,组织需要设定保留计划,以便按照法规要求合理处置数据。

    ■管理人员

    最终,企业需要招募大数据管理员。例如,石油与天然气公司内的勘探开采部门的管理员负责管理地震数据,包括相关元数据在内。这些管理员需要避免组织因不一致的命名规范而付款购买已经拥有的外部数据。除此之外,社交媒体管理员需要与法律顾问和高级管理人员配合工作,制定有关可接受的信息使用方法的策略。

    数据价值

    众所周知,企业数据本身就蕴藏着价值,但是将有用的数据与没有价值的数据进行区分看起来可能是一个棘手的问题。

    显然,您所掌握的人员情况、工资表和客户记录对于企业的运转至关重要,但是其他数据也拥有转化为价值的力量。一段记录人们如何在您的商店浏览购物的视频、人们在购买您的服务前后的所作所为、如何通过社交网络联系您的客户、是什么吸引合作伙伴加盟、客户如何付款以及供应商喜欢的收款方式……所有这些场景都提供了很多指向,将它们抽丝剥茧,透过特殊的棱镜观察,将其与其他数据集对照,或者以与众不同的方式分析解剖,就能让您的行事方式发生天翻地覆的转变。

    但是屡见不鲜的是,很多公司仍然只是将信息简单堆在一起,仅将其当作为满足公司治理规则而必须要保存的信息加以处理,而不是将它们作为战略转变的工具。

    毕竟,数据和人员是业务部门仅有的两笔无法被竞争对手复制的财富。在善用的人手中,好的数据是所有管理决策的基础,带来的是对客户的深入了解和竞争优势。数据是业务部门的生命线,必须让数据在决策和行动时无缝且安全地流到人们手中。

    大数据应用所以,数据应该随时为决策提供依据。看看在政府公开道路和公共交通的使用信息这样看起来甚至有点晦涩的数据时会发生什么:这些数据来源为一些私营公司提供了巨大的价值,这些公司能够善用这些数据,创造满足潜在需求的新产品和服务。

    企业需要向创造和取得数据方面的投入索取回报。有效管理来自新旧来源的数据以及获取能够破解庞大数据集含义的工具只是等式的一部分,但是这种挑战不容低估。产生的数据在数量上持续膨胀;音频、视频和图像等富媒体需要新的方法来发现;电子邮件、IM、tweet和社交网络等合作和交流系统以非结构化文本的形式保存数据,必须用一种智能的方式来解读。

    但是,应该将这种复杂性看成是一种机会而不是问题。处理方法正确时,产生的数据越多,结果就会越成熟可靠。传感器、GPS系统和社交数据的新世界将带来转变运营的惊人新视角和机会。请不要错过。

    有些人会说,数据中蕴含的价值只能由专业人员来解读。但是泽字节经济并不只是数据科学家和高级开发员的天下。

    数据的价值在于将正确的信息在正确的时间交付到正确的人手中。未来将属于那些能够驾驭所拥有数据的公司,这些数据与公司自身的业务和客户相关,通过对数据的利用,发现新的洞见,帮助他们找出竞争优势。

    数据机遇

    自从有了IT部门,董事会就一直在要求信息管理专家提供洞察力。实际上,早在1951年,对预测小吃店蛋糕需求的诉求就催生了计算机的首次商业应用。自那以后,我们利用技术来识别趋势和制定战略战术的能力不断呈指数级日臻完善。

    今天,商业智能 (使用数据模式看清曲线周围的一切) 稳居 CXO 们的重中之重。在理想的世界中,IT 是巨大的杠杆,改变了公司的影响力,带来竞争差异、节省金钱、增加利润、愉悦买家、奖赏忠诚用户、将潜在客户转化为客户、增加吸引力、打败竞争对手、开拓用户群并创造市场。

    大数据分析是商业智能的演进。当今,传感器、GPS 系统、QR 码、社交网络等正在创建新的数据流。所有这些都可以得到发掘,正是这种真正广度和深度的信息在创造不胜枚举的机会。要使大数据言之有物,以便让大中小企业都能通过更加贴近客户的方式取得竞争优势,数据集成和数据管理是核心所在。

    面临从全球化到衰退威胁的风暴, IT部门领导需要在掘金大数据中打头阵,新经济环境中的赢家将会是最好地理解哪些指标影响其大步前进的人。

    大数据应用当然,企业仍将需要聪明的人员做出睿智的决策,了解他们面临着什么,在充分利用的情况下,大数据可以赋予人们近乎超感官知觉的能力。Charles Duigg是《习惯的力量》一书的作者,他找出的一个黄金案例分析的例子是美国零售商 Target,其发现妇女在怀孕的中间三个月会经常购买没有气味的护肤液和某些维生素。通过锁定这些购物者,商店可提供将这些妇女变成忠诚客户的优惠券。实际上,Target 知道一位妇女怀孕时,那位妇女甚至还没有告诉最亲近的亲朋好友 -- 更不要说商店自己了。

    很明显,在可以预见的将来,隐私将仍是重要的考量,但是归根结底,用于了解行为的技术会为方方面面带来双赢,让卖家了解买家,让买家喜欢买到的东西。

    再看一下作家兼科学家 Stephen Wolfram的例子,他收集有关自身习惯的数据,以分析他的个人行为,预测事件在未来的可能性。

    大数据将会放大我们的能力,了解看起来难以理解和随机的事物。对其前途的了解提供了获取崭新知识和能力的机会,将改变您的企业运作的方式。

    发展前景

    大数据的意义是由人类日益普及的网络行为所伴生的,受到相关部门、企业采集的,蕴含数据生产者真实意图、喜好的,非传统结构和意义的数据 。

    2013年5月10日,阿里巴巴集团董事局主席马云淘宝十周年晚会上,将卸任阿里集团CEO的职位,并在晚会上做卸任前的演讲,马云说,大家还没搞清PC时代的时候,移动互联网来了,还没搞清移动互联网的时候,大数据时代来了。

    大数据正在改变着产品和生产过程、企业和产业,甚至竞争本身的性质。把信息技术看作是辅助或服务性的工具已经成为过时的观念,管理者应该认识到信息技术的广泛影响和深刻含义,以及怎样利用信息技术来创造有力而持久的竞争优势。无疑,信息技术正在改变着我们习以为常的经营之道,一场关系到企业生死存亡的技术革命已经到来。

    借着大数据时代的热潮,微软公司生产了一款数据驱动的软件,主要是为工程建设节约资源提高效率。在这个过程里可以为世界节约40%的能源。抛开这个软件的前景不看,从微软团队致力于研究开始,可以看他们的目标不仅是为了节约了能源,更加关注智能化运营。通过跟踪取暖器、空调、风扇以及灯光等积累下来的超大量数据,捕捉如何杜绝能源浪费。“给我提供一些数据,我就能做一些改变。如果给我提供所有数据,我就能拯救世界。”微软史密斯这样说。而智能建筑正是他的团队专注的事情。

    随着全球范围内个人电脑、智能手机等设备的普及和新兴市场内不断增长的互联网访问量,以及监控摄像机智能电表等设备产生的数据爆增,使数字宇宙的规模在2012到2013两年间翻了一番,达到惊人的2.8ZB。 IDC预计,到2020年,数字宇宙规模将超出预期,达到40ZB。

    大数据应用40ZB究竟是个什么样的概念呢?地球上所有海滩上的沙粒加在一起估计有七万零五亿亿颗。40ZB相当于地球上所有海滩上的沙粒数量的57倍。也就是说到2020年,数字宇宙将每两年翻一番;到2020年,人均数据量将达5,247GB。

    该报告同时显示,尽管个人和机器每天产生大量数据,使数字宇宙前所未有地不断膨胀,但仅有0.4%的全球数据得到了分析。由此可见,大数据的应用几乎是一块未被开垦的处女地。

    价值

    谷歌搜索、Facebook的帖子和微博消息使得人们的行为和情绪的细节化测量成为可能。挖掘用户的行为习惯和喜好,凌乱纷繁的数据背后找到更符合用户兴趣和习惯的产品和服务,并对产品和服务进行针对性地调整和优化,这就是大数据的价值。大数据也日益显现出对各个行业的推进力。

    大数据时代来临首先由数据丰富度决定的。社交网络兴起,大量的UGC(互联网术语,全称为User Generated Content,即用户生成内容的意思)内容、音频、文本信息、视频、图片等非结构化数据出现了。另外,物联网的数据量更大,加上移动互联网能更准确、更快地收集用户信息,比如位置、生活信息等数据。从数据量来说,已进入大数据时代,但硬件明显已跟不上数据发展的脚步。

    以往大数据通常用来形容一个公司创造的大量非结构化和半结构化数据,而提及“大数据”,通常是指解决问题的一种方法,并对其进行分析挖掘,进而从中获得有价值信息,最终衍化出一种新的商业模式。

    虽然大数据在国内还处于初级阶段,但是商业价值已经显现出来。首先,手中握有数据的公司站在金矿上,基于数据交易即可产生很好的效益;其次,基于数据挖掘会有很多商业模式诞生,定位角度不同,或侧重数据分析。比如帮企业做内部数据挖掘,或侧重优化,帮企业更精准找到用户,降低营销成本,提高企业销售率,增加利润。

    未来,数据可能成为最大的交易商品。但数据量大并不能算是大数据,大数据的特征是数据量大、数据种类多、非标准化数据的价值最大化。因此,大数据的价值是通过数据共享、交叉复用后获取最大的数据价值。未来大数据将会如基础设施一样,有数据提供方、管理者、监管者,数据的交叉复用将大数据变成一大产业。据统计,大数据所形成的市场规模在51亿美元左右,而到2017年,此数据预计会上涨到530亿美元。

    存储

    随着大数据应用的爆发性增长,它已经衍生出了自己独特的架构,而且也直接推动了存储、网络以及计算技术的发展。毕竟处理大数据这种特殊的需求是一个新的挑战。硬件的发展最终还是由软件需求推动的,我们很明显的看到大数据分析应用需求正在影响着数据存储基础设施的发展。从另一方面看,这一变化对存储厂商和其他IT基础设施厂商未尝不是一个机会。随着结构化数据和非结构化数据量的持续增长,以及分析数据来源的多样化,此前存储系统的设计已经无法满足大数据应用的需要。存储厂商已经意识到这一点,他们开始修改基于块和文件的存储系统的架构设计以适应这些新的要求。

    针对大数据的世界领先品牌存储企业有:IBM、EMC、LSISandForce 、 云创存储、INTEL、惠普、戴尔、甲骨文、日立、赛门铁克等。

    “大数据”的商业价值简而言之,企业可以通过思考数据战略的总体回报,来应对大数据的挑战,抓住大数据的机会。Informatica所指的‘数据回报率’,是为帮助高级IT和业务部门领导者进行大数据基本的战术和战略含义的讨论而设计的一个简单概念。等式非常简单:如果您提高数据对于业务部门的价值,同时降低管理数据的成本,从数据得到的回报就会增加 -- 无论是用金钱衡量,还是更好的决策

    数据回报率=数据价值/数据成本

    在技术层面,数据回报率为数据集成、数据管理、商业智能和分析方面的投入提供了业务背景和案例。它还与解决业务的基础有关:挣钱、省钱、创造机会和管理风险。它涉及对效率的考虑,同时推动了改变游戏规则的洞察力。

    实现回报

    Informatica深知,对于很多企业来说,向数据回报模型的转变不会一蹴而就。管理数据并将其成本降低的短期要求将会是首要焦点,同样还需要打破障碍以了解数据。企业只有这时才可以开始从传统和新兴数据集获得更多价值。Informatica可提供数据集成平台和领导力,为企业提供全程帮助。

    在大数据的世界中,最灵活和成功的企业将会是那些善用大机遇的公司。

    意义

    1.变革价值的力量

    未来十年,决定中国是不是有大智慧的核心意义标准(那个”思想者”),就是国民幸福。一体现到民生上,通过大数据让事情变得澄明,看我们在人与人关系上,做得是否比以前更有意义;二体现在生态上,看我们在天与人关系上,做得是否比以前更有意义。总之,让我们从前10年的意义混沌时代,进入未来10年意义澄明时代。

    2.变革经济的力量

    生产者是有价值的,消费者是价值的意义所在。有意义的才有价值,消费者不认同的,就卖不出去,就实现不了价值;只有消费者认同的,才卖得出去,才实现得了价值。大数据帮助我们从消费者这个源头识别意义,从而帮助生产者实现价值。这就是启动内需的原理。

    3.变革组织的力量

    随着具有语义网特征的数据基础设施和数据资源发展起来,组织的变革就越来越显得不可避免。大数据将推动网络结构产生无组织的组织力量。最先反映这种结构特点的,是各种各样去中心化WEB2.0应用,如RSS、维基、博客等。 大数据之所以成为时代变革力量,在于它通过追随意义而获得智慧。

    用途

    大数据可分成大数据技术、大数据工程、大数据科学和大数据应用等领域。目前人们谈论最多的是大数据技术和大数据应用。工程和科学问题尚未被重视。大数据工程指大数据的规划建设运营管理的系统工程;大数据科学关注大数据网络发展和运营过程中发现和验证大数据的规律及其与自然和社会活动之间的关系。

    大数据与云计算的关系物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。

    有些例子包括网络日志,RFID,传感器网络社会网络,社会数据(由于数据革命的社会),互联网文本和文件;互联网搜索索引;呼叫详细记录,天文学,大气科学,基因组学,生物地球化学,生物,和其他复杂和/或跨学科的科研,军事侦察,医疗记录;摄影档案馆视频档案;和大规模的电子商务。

    弊端

    虽然大数据的拥护者看到了使用大数据的巨大潜力,但也有隐私倡导者担心,因为越来越多的人开始收集相关数据,无论是他们是否会故意透露这些数据或通过社交媒体张贴,甚至他们在不知不觉中通过分享自己的生活而公布了一些具体的数字细节。

    分析这些巨大的数据集会使我们的预测能力产生虚假的信息,将导致作出许多重大和有害的错误决定。此外,数据被强大的人或机构滥用,自私的操纵议程达到他们想要的结果。

    洛杉矶警察局加利福尼亚大学合作利用大数据预测犯罪的发生。

    google流感趋势(Google Flu Trends)利用搜索关键词预测禽流感的散布。

    统计学家内特.西尔弗(Nate Silver)利用大数据预测2012美国选举结果。

    麻省理工学院利用手机定位数据和交通数据建立城市规划。

    梅西百货的实时定价机制,根据需求和库存的情况,该公司基于SAS的系统对多达7300万种货品进行实时调价。

    Tipp24 AG针对欧洲博彩业构建的下注和预测平台。该公司用KXEN软件来分析数十亿计的交易以及客户的特性,然后通过预测模型对特定用户进行动态的营销活动。这项举措减少了90%的预测模型构建时间。SAP公司正在试图收购KXEN。“SAP想通过这次收购来扭转其长久以来在预测分析方面的劣势。”Laney分析到。

    PredPol Inc. 公司通过与洛杉矶和圣克鲁斯的警方以及一群研究人员合作,基于地震预测算法的变体和犯罪数据来预测犯罪发生的几率,可以精确到500平方英尺的范围内。在洛杉矶运用该算法的地区,盗窃罪暴力犯罪分布下降了33%和21%。

    American Express(美国运通,AmEx)和商业智能。以往,AmEx只能实现事后诸葛式的报告和滞后的预测。“传统的BI已经无法满足业务发展的需要。”Laney认为。于是,AmEx开始构建真正能够预测忠诚度的模型,基于历史交易数据,用115个变量来进行分析预测。该公司表示,对于澳大利亚将于之后四个月中流失的客户,已经能够识别出其中的24%。

    大数据实践 基础架构先行Express Scripts Holding Co.的产品制造。该公司发现那些需要服药的人常常也是最可能忘记服药的人。因此,他们开发了一个新产品:会响铃的药品盖和自动的电话呼叫,以此提醒患者按时服药。

    Infinity Property & Casualty Corp.的黑暗数据(dark data)。Laney对于黑暗数据的定义是,那些针对单一目标而收集的数据,通常用过之后就被归档闲置,其真正价值未能被充分挖掘。在特定情况下,这些数据可以用作其他用途。该公司用累积的理赔师报告来分析欺诈案例,通过算法挽回了1200万美元的代位追偿金额。

    利用起互联网大数据,对消费者的喜好进行判定。商户可以为消费者定制相应的独特的个性服务,甚至可以在一些商品或者服务上匹配用户心情等等。商家还可以根据大数据为消费者提供其可能会喜好的特色产品,活动,小而美的小众商品等等 。

    地产业的升级改造,具有令人兴奋的商业前景。一个Shopping Mall的投资往往高达数十亿元,设想一下,如果智能化升级能够让一个Shopping Mall的顾客数量和人均消费提升30%-50%,为此投入几百万元甚至上千万元对于投资方来说非常划算,那么仅仅针对国内Shopping Mall的智能化升级就是一个千亿元级别的市场。

    经典大数据案例-沃尔玛经典营销:啤酒与尿布

    “啤酒与尿布”的故事产生于20世纪90年代美国沃尔玛超市中,沃尔玛的超市管理人员分析销售数据时发现了一个令人难于理解的现象:在某些特定的情况下,“啤酒”与“尿布”两件看上去毫无关系的商品会经常出现在同一个购物篮中,这种独特的销售现象引起了管理人员的注意,经过后续调查发现,这种现象出现在年轻的父亲身上。

    在美国有婴儿的家庭中,一般是母亲在家中照看婴儿,年轻的父亲前去超市购买尿布。父亲在购买尿布的同时,往往会顺便为自己购买啤酒,这样就会出现啤酒与尿布这两件看上去不相干的商品经常会出现在同一个购物篮的现象。如果这个年轻的父亲在卖场只能买到两件商品之一,则他很有可能会放弃购物而到另一家商店, 直到可以一次同时买到啤酒与尿布为止。沃尔玛发现了这一独特的现象,开始在卖场尝试将啤酒与尿布摆放在相同的区域,让年轻的父亲可以同时找到这两件商品,并很快地完成购物;而沃尔玛超市也可以让这些客户一次购买两件商品、而不是一件,从而获得了很好的商品销售收入,这就是“啤酒与尿布” 故事的由来。

    当然“啤酒与尿布”的故事必须具有技术方面的支持。1993年美国学者Agrawal提出通过分析购物篮中的商品集合,从而找出商品之间关联关系的关联算法,并根据商品之间的关系,找出客户的购买行为。艾格拉沃从数学及计算机算法角度提 出了商品关联关系的计算方法——Aprior算法。沃尔玛从上个世纪 90 年代尝试将 Aprior 算 法引入到 POS机数据分析中,并获得了成功,于是产生了“啤酒与尿布”的故事。

    IBM战略

    IBM的大数据战略以其在2012年5月发布智慧分析洞察“3A5步”动态路线图作为基础。所谓“3A5步”,指的是在“掌握信息”(Align)的基础上“获取洞察”(Anticipate),进而采取行动(Act),优化决策策划能够救业务绩效。除此之外,还需要不断地“学习”(Learn)从每一次业务结果中获得反馈,改善基于信息的决策流程,从而实现“转型”(Transform)。

    大数据基于“3A5步”动态路线图,IBM提出了“大数据平台”架构。该平台的四大核心能力包括Hadoop系统、流计算(StreamComputing)、数据仓库(Data Warehouse)和信息整合与治理(Information Integration and Governance)。

    在大数据处理领域,IBM于2012年10月推出了IBMPureSystems专家集成系统的新成员——IBM PureData系统。这是IBM在数据处理领域发布的首个集成系统产品系列。PureData系统具体包含三款产品,分别为PureDataSystem for Transactions、PureData System forAnalytics和PureData System for Operational Analytics,可分别应用于OLTP(联机事务处理)、OLAP(联机分析处理)和大数据分析操作。与此前发布的IBMPureSystems系列产品一样,IBM PureData系统提供内置的专业知识、源于设计的集成,以及在其整个生命周期中的简化体验。

    斯隆数字巡天收集在其最初的几个星期,就比在天文学的历史上之前的2000年的收集了更多的数据。自那时以来,它已经积累了140兆兆 字节的信息。这个望远镜的继任者,大天气巡天望远镜,将于2016年在网上将获得数据公布,沃尔玛每隔一小时处理超过100万客户的交易,录入量数据库估计超过2.5 PB相当于美国国会图书馆的书籍的167倍 。FACEBOOK从它的用户群获得并处理400亿张照片。解码最原始的人类基因组花费10年时间处理,如今可以在一个星期内实现。

    “大数据”的影响,增加了对信息管理专家的需求,甲骨文,IBM,微软和SAP花了超过15亿美元的在软件智能数据管理和分析的专业公司。这个行业自身价值超过1000亿美元,增长近10%,每年两次,这大概是作为一个整体的软件业务的快速。

    大数据已经出现,因为我们生活在一个有更多信息的社会中。有46亿全球移动电话用户有20亿人访问互联网。基本上,人们比以往任何时候都与数据或信息交互。 1990年至2005年,全球超过1亿人进入中产阶级,这意味着越来越多的人收益的这笔钱将反过来导致更多的信息增长。思科公司预计,到2013年,在互联网上流动的交通量将达到每年667艾字节。

    大数据,其影响除了经济方面的,它同时也能在政治、文化等方面产生深远的影响,大数据可以帮助人们开启循“数”管理的模式,也是我们当下“大社会”的集中体现,三分技术,七分数据,得数据者得天下。

    大数据实践国内网络广告投放正从传统的面向群体的营销转向个性化营销,从流量购买转向人群购买。虽然市场大环境不好,但是具备数据挖掘能力的公司却倍受资本青睐。

    163大数据是一个很好的视角和工具。从资本角度来看,什么样的公司有价值,什么样的公司没有价值,从其拥有的数据规模、数据的活性和这家公司能运用、解释数据的能力,就可以看出这家公司的核心竞争力。而这几个能力正是资本关注的点。

    移动互联网与社交网络兴起将大数据带入新的征程,互联网营销将在行为分析的基础上向个性化时代过渡。创业公司应用“大数据”告诉广告商什么是正确的时间,谁是正确的用户,什么是应该发表的正确内容等,这正好切中了广告商的需求。

    社交网络产生了海量用户以及实时和完整的数据,同时社交网络也记录了用户群体的情绪,通过深入挖掘这些数据来了解用户,然后将这些分析后的数据信息推给需要的品牌商家或是微博营销公司。

    实际上,将用户群精准细分,直接找到要找的用户正是社交内容背后数据挖掘所带来的结果。而通过各种算法实现的数据信息交易,正是张文浩为自己的社交数据挖掘公司设计的盈利模式。这家仅仅五六个人的小公司拿到了天使投资。未来的市场将更多地以人为中心,主动迎合用户需求,前提就是要找到这部分人群。

    在移动互联网领域,公司从开发者角度找到数据挖掘的方向,通过提供免费的技术服务,帮助开发者了解应用状况。

    国内的企业跟美国比较,有一个很重要的特性就是人口基数的区别,中国消费群体所产生的这种数据量,与国外相比不可同日而语。

    伴随着各种随身设备、物联网和云计算云存储等技术的发展,人和物的所有轨迹都可以被记录。在移动互联网的核心网络节点是人,不再是网页。数据大爆炸下,怎样挖掘这些数据,也面临着技术与商业的双重挑战。

    首先,如何将数据信息与产品和人相结合,达到产品或服务优化是大数据商业模式延展上的挑战之一。

    其次,巧妇难为无米之炊,大数据的关键还是在于谁先拥有数据。

    从市场角度来看,大数据还面临其他因素的挑战。

    产业界对于大数据的热情持续升温的同时,资本也敏锐地发现了这一趋势,并开始关注数据挖掘和服务类公司。

    最早提出“大数据”时代已经到来的机构是全球知名咨询公司麦肯锡。麦肯锡在研究报告中指出,数据已经渗透到每一个行业和业务职能领域,逐渐成为重要的生产因素;而人们对于海量数据的运用将预示着新一波生产率增长和消费者盈余浪潮的到来。

    大数据时代:如何节省存储成本“麦肯锡的报告发布后,大数据迅速成为了计算机行业争相传诵的热门概念,也引起了金融界的高度关注。”随着互联网技术的不断发展,数据本身是资产,这一点在业界已经形成共识。“如果说云计算为数据资产提供了保管、访问的场所和渠道,那么如何盘活数据资产,使其为国家治理、企业决策乃至个人生活服务,则是大数据的核心议题,也是云计算内在的灵魂和必然的升级方向。”

    事实上,全球互联网巨头都已意识到了“大数据”时代,数据的重要意义。包括EMC、惠普、IBM、微软在内的全球IT 巨头纷纷通过收购“大数据”相关厂商来实现技术整合,亦可见其对“大数据”的重视。

    “大数据”作为一个较新的概念,目前尚未直接以专有名词被我国政府提出来给予政策支持。不过,在2011年12月8日工信部发布的物联网“十二五”规划上,把信息处理技术作为4项关键技术创新工程之一被提出来,其中包括了海量数据存储、数据挖掘、图像视频智能分析,这都是大数据的重要组成部分。而另外3项关键技术创新工程,包括信息感知技术、信息传输技术信息安全技术,也都与“大数据”密切相关。

    大数据是继云计算、物联网之后IT产业又一次颠覆性的技术变革。云计算主要为数据资产提供了保管、访问的场所和渠道,而数据才是真正有价值的资产。企业内部的经营交易信息、物联网世界中的商品物流信息,互联网世界中的人与人交互信息、位置信息等,其数量将远远超越现有企业IT架构和基础设施的承载能力,实时性要求也将大大超越现有的计算能力。如何盘活这些数据资产,使其为国家治理、企业决策乃至个人生活服务,是大数据的核心议题,也是云计算内在的灵魂和必然的升级方向。

    大数据时代网民和消费者的界限正在消弭,企业的疆界变得模糊,数据成为核心的资产,并将深刻影响企业的业务模式,甚至重构其文化和组织。因此,大数据对国家治理模式、对企业的决策、组织和业务流程、对个人生活方式都将产生巨大的影响。如果不能利用大数据更加贴近消费者、深刻理解需求、高效分析信息并作出预判,所有传统的产品公司都只能沦为新型用户平台级公司的附庸,其衰落不是管理能扭转的。

    大数据时代将引发新一轮信息化投资和建设热潮。据IDC预测,到2020年全球将总共拥有35ZB的数据量,而麦肯锡则预测未来大数据产品在三大行业的应用就将产生7千亿美元的潜在市场,未来中国大数据产品的潜在市场规模有望达到1.57万亿元,给IT行业开拓了一个新的黄金时代。

    当前还处在大数据时代的前夜,预计今明两年将是大数据市场的培育期,2014年以后大数据产品将会形成业绩。

    大数据给城市带来的重大变革宋清辉:大数据正改变我们的未来

    大数据时代,与其让对你感兴趣的人去搜寻你的隐私,就不如自曝隐私。当我在全球不同城市演讲结束交换名片的时候,基本从来不发载有自己名字、电话、地址等基本信息的名片,因为那根本用不着,也不符合大数据时代的精髓。所以我的名片简单到只有一个名字和几个二维码,只要百度一下或者扫一扫二维码,关于个人的信息别人就会一览无余,包括在写什么文章、在哪里演讲等信息……

    不想说一个人若拒绝大数据就去失去生命这样沉重的话题,但大数据确实在深刻改变着你和我的未来。

    2015年5月26日,中共贵州省委副书记、省政府省长陈敏尔在峰会上透露,国家在制定大数据国家战略及行动计划。贵州省将抓住和用好战略机遇,深入挖掘大数据的商业价值、管理价值和社会价值。[2]

    工信部信息服务处处长李琰在论坛期间则表示,工信部将抓紧研究制定大数据发展的指导性文件。下一步,工信部将和有关部门加强协同,积极营造良好的环境,推动应用和产业相互促进、良性发展,为我国大数据产业和大数据创新发展探索积累经验。

    大数据时代来了!不得不承认如今数据量的激增越来越明显,各种各样的数据铺天盖地的砸下来,企业选择相应工具来存储、分析与处理它们。从Excel、BI工具,到现在最新的可视化数据分析工具大数据魔镜,数据分析软件进步越来越快,免费的大数据魔镜已经可以达到500多种可视化效果和实现数据共享。那么在大数据时代中,都新出现了哪些数据类型呢?

    1)过于一些记录是以模拟形式方式存在的,或者以数据形式存在但是存贮在本地,不是公开数据资源,没有开放给互联网用户,例如音乐、照片、视频、监控录像等影音资料。现在这些数据不但数据量巨大,并且共享到了互联网上,面对所有互联网用户,其数量之大是前所未有。举个例子,Facebook每天有18亿张照片上传或被传播,形成了海量的数据。[3]

    2)移动互联网出现后,移动设备的很多传感器收集了大量的用户点击行为数据,已知IPHONE有3个传感器,三星有6个传感器。它们每天产生了大量的点击数据,这些数据被某些公司所有拥有,形成用户大量行为数据。

    3)电子地图如高德、百度、Google地图出现后,其产生了大量的数据流数据,这些数据不同于传统数据,传统数据代表一个属性或一个度量值,但是这些地图产生的流数据代表着一种行为、一种习惯,这些流数据经频率分析后会产生巨大的商业价值。基于地图产生的数据流是一种新型的数据类型,在过去是不存在的。

    4)进入了社交网络的年代后,互联网行为主要由用户参与创造,大量的互联网用户创造出海量的社交行为数据,这些数据是过去未曾出现的。其揭示了人们行为特点和生活习惯。

    5)电商户崛起产来了大量网上交易数据,包含支付数据,查询行为,物流运输、购买喜好,点击顺序,评价行为等,其是信息流和资金流数据。

    6)传统的互联网入口转向搜索引擎之后,用户的搜索行为和提问行为聚集了海量数据。单位存储价格的下降也为存储这些数据提供了经济上的可能。

    上面我们所指的大数据不同与过去传统的数据,其产生方式、存储载体、访问方式、表现形式、来源特点等都同传统数据不同。大数据更接近于某个群体行为数据,它是全面的数据、准确的数据、有价值的数据。这些新类型数据相信大家都很熟悉,它们已经比传统数据类型更深入地走进了我们生活。

    —–乐于分享,共同进步!
    —–更多文章请看:http://blog.csdn.net/BLSPers

    展开全文
  • 经济学中的100个基本概念

    千次阅读 2021-02-27 10:31:13
    税赋的四项原则:公平、确定、便利、节省 英国人约翰·梅纳德·凯恩斯(John Maynani Keynes,1833~1946年),1905年毕业于剑桥大学,1936年发表《就业、利息和货币通论》,创立现代宏观经济学体系,推翻了萨伊定律...
  • 局域网的概念

    千次阅读 2016-12-28 21:57:13
    介质访问控制的概念介质访问控制(MAC)是所有共享介质类型的局域网的共性问题 共享介质:连接多台计算机的同轴电缆,双绞线与光纤等 多路访问:多个主机需要通过一条共享介质发送和接受数据 冲突:如果两个或多...
  • 其目的是为了将用户模式转入内核模式并把控制移交给操作系统,使得用户程序可以调用内核函数或者相关硬件从而获得操作系统提供的服务。 题目四: 直接访问(DMA)主要用于高速I/O设备以避免增加CPU的执行负荷。...
  • [转]微服务概念解析

    千次阅读 2016-04-05 14:44:55
    “微服务架构”概念的提出已经有很长一段时间了,但在最近几年却开始频繁地出现。微服务架构是一种特定的软件应用程序设计方式——将大型软件拆分为多个独立可部署服务组合而成的套件方案。
  • 云计算的概念、原理和关键技术

    千次阅读 2020-06-03 18:53:14
    1 云计算的定义 NIST(美国国家标准及技术研究所)对云计算的...1959年6月,Christopher Strachey发表虚拟化论文,虚拟化是今天云计算基础架构的基石。 1984年,Sun公司的联合创始人John Gage说出了“网络就是计...
  • APC 基本概念及APC注入的实现(Ring3 + Ring0)—-概念介绍基本术语 中断—-一个异步事件,可能在任何时候发生,与处理器当前正在执行的代码无任何关系。—-中断的产生主要有:I/O 设备、处理器始终,或者定时器...
  • 2019年中国大学生计算机设计大赛--心得总结

    万次阅读 多人点赞 2019-07-28 22:59:12
    这点当时也没有想到,当然大数据应用赛与作品赛两者差别还是很大的,也完全不是一个概念,参加过的都应该知道应用赛的临场发挥及解题水平,不过最终也跟评委老师们解释说明了。总体答辩后感觉还行,虽然提醒自己不要...
  • Lesiri概念是解决加纳上西部地区Waala之间首领冲突的一种本土机制。 该研究论文致力于解决一些基本问题,以帮助研究人员记录研究结果。 研究人员对酋长管辖争端和解决冲突的性质进行了文献综述。 定性和定量方法...
  • 基础概念2. 整合管理3. 范围管理4. 进度管理5. 成本管理6. 质量管理7. 资源管理8. 沟通管理9. 风险管理10. 采购管理11. 相关方管理 1. 基础概念 1. “管理层在项目管理方面缺乏经验” 不是 项目失败的原因。 管理...
  • 深度学习基本概念

    万次阅读 2016-04-13 13:59:36
     2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton和他的学生RuslanSalakhutdinov在《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。这篇文章有两个主要观点:1)多隐层的人工...
  • 同步/异步,阻塞/非阻塞概念深度解析

    万次阅读 多人点赞 2017-10-03 13:10:26
    IO 概念区分NIO 现在已经是一个耳熟能详的名词了, 好像人人都能对所谓的 NIO ( Non-Blocking IO, 非阻塞 IO ) 发表一些如何如何提高效率的言论。 但很多东西, 追问几句就会难以自圆其说。 四个相关概念: 同步...
  • 知识产权(笔记 1-3章)

    千次阅读 2020-12-22 13:17:44
    著作权的内容 (1)著作人身权 发表权 署名权 修改权 保护作品完整权 (2)著作财产权 复制权 发行权 出租权 展览权 表演权 放映权 广播权 信息网络传播权 摄制权 改编权 翻译权 汇编权 邻接权 由著作权人享有的其他...
  • 【知识产权之专利】论述题题库

    千次阅读 2020-12-13 21:43:26
    知识产权之专利论述题 1.简述实用新型的概念和特点 答:实用新型也称小发明,实用新型是指对产品的形状、构造或者其组合所提出的新的技术方案。其特点如下: (1)实用新型是针对产品而言的,任何方法(不论是否新颖...
  • 声明:本文转至Big大鸟的博客下,转载的名为《什么叫大数据 大数据的概念》一文,链接地址http://blog.csdn.net/qq_36738482/article/details/728235091、大数据定义 对于“大数据”(Big data)研究机构Gartner给...
  • 林大师讲区块链之分布式账本概念

    千次阅读 2018-12-09 16:09:00
    2008年末,中本聪发表了一篇名为《比特币:一种点对点的电子现金系统》的论文,文中首次提到了“blockchain”这个概念。简单说就是对区块形式的数据进行哈希加密并加上时间戳,然后将哈希广播出去,使其公开透明而且...
  • 【1】图与网络模型及方法:图与网络的基本概念 【2】图&网络模型应用—最短路径问题 【3】树:基本概念与最小生成树 【4】匹配问题: 匈牙利算法 、最优指派、相等子图 【5】Euler 图和 Hamilton 图 【6】...
  • 软件著作申请文档模版

    万次阅读 2020-07-30 09:10:52
    计算机软件著作申请表 计算机软件著作登记申请表 软 件 基 本 信 息 软件名称 版本号 ...
  • 【高效复习】计算机网络重要概念总结

    千次阅读 多人点赞 2019-01-10 21:12:38
    本文适合面试问答使用,对计算机网络中绝大多数常见概念进行了简要梳理。 一、基础 (重)1、结合Internet,说说有连接服务和无连接的服务? 连接,就是两个对等实体进行数据通信。 面向连接服务具有连接建立、...
  • 大数据的概念

    万次阅读 2017-06-03 12:33:51
    随着社交网络的激增,技术博客和专业人士为“大数据” 概念注入新的生机。“当前世界范围内已有的一些其他工具将被大量数据和应用 算法 所取代”。《 连线 》的 克里斯·安德森 认为当时处于一个“理论终结时代”。...
  • 云计算的概念及分类

    千次阅读 2012-01-20 09:45:00
    云计算的概念及分类 2010年12月10日  有人认为云计算是计算机发展的未来,是革命性的变化,所谓云计算就像水和电一样,打开开关或者拧开水龙头就可以了。但也有人对云计算嗤之以鼻,认为这是业界的概念炒作。...
  •  发表于 2013-9-12 16:39:33 | 查看: 255| 回复: 1 对象树与拥有 版权声明 该文章原创于Qter开源社区 导语 学习完前面的内容,大家对应用Qt编程应该...
  • 集群概念集群通信系统是一种用于集团调度指挥通信的移动通信系统,主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用,具有自动选择信道功能,它是共享资源、分担费用、共用信道设备及服务的...
  • 最近看了看类的相关题,感觉简单的题很简单,但是难题的转化如果对概念不清楚,很难写,我怕我要是不看,过段时间就又模糊了,故总结一下。 tarjan老先生是一位大牛,发表了很多算法,名字都叫tarjan 名叫Tarjan的三...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,278
精华内容 6,111
关键字:

发表权的概念