首页 资讯正文

专家观点 | 人工智能现状及发展(中)

图书简介:

江厦智库策划出版《中国新基建与5G智慧城市建设》图书,组织以中科院院士为顾问、以各领域研究专家为核心的编委会。汇聚各类专家和企业家,包含在新基建5G网络、数据中心、人工智能、工业互联网、特高压、高铁、轨道交通和新能源汽车充电桩、新一代信息技术、新材料及航空航天等不同领域的关键技术研究+创新应用案例组织研究文章。

本文作者简介:

边小勇 ,《中国新基建与5G智慧城市建设》图书课题组成员。博士,副教授,江厦智库科技合伙人 。

人工智能与深度学习

深度学习是近10年机器学习领域发展最快的一个分支,由于其重要性,Geoffrey Hinton、Yann Lecun和Yoshua Bengio三位教授因此同获2018年图灵奖。随着计算机核心算力的稳步提高,将大数据交给超强的集群计算机,深度神经网络从中学习潜在的模式和目标知识。

1、深度学习发展历程

深度学习是机器学习中使用深度神经网络的的子领域,最近30年来深度学习取得了快速发展。深度学习的概念源于人工神经网络(Artificial Neural Network ,ANN)的研究,它的概念由Hinton等人于2006年提出,深度学习模型通常由多层的非线性运算单元组合而成,其将较低层的输出作为更高一层的输入,通过这种方式自动地从大量训练数据中学习抽象的特征表示,以发现数据的分布式特征。与浅层网络相比,传统的多隐藏层网络模型有更好的特征表达能力,但由于计算能力不足、训练数据缺乏、梯度弥散等原因,使其一直无法取得突破性进展。直到2006 年,Hinton 等人提出了一种训练深层神经网络的基本原则:先用非监督学习对网络逐层进行贪婪的预训练,再用监督学习对整个网络进行微调。这种预训练的方式为深度神经网络提供了较理想的初始参数,降低了深度神经网络的优化难度。2019中国人工智能产业年会发布《2019人工智能发展报告》,罗列了深度学习的四个主要脉络,最上层是卷积网络,中间层是无监督学习脉络,再下面一层是序列深度模型发展脉络,最底层是增强学习发展脉络。这四条脉络全面展示了“深度学习技术”的发展近况。第一个发展脉络以计算机视觉和卷积网络为主,其重要发展历程为:

(1)1943年神经网络出现雏形,1958年研究认知的心理学家Frank发明了感知机,当时掀起一股热潮。后来Marvin Minsky(人工智能大师)和Seymour Papert发现感知机的缺陷—不能处理亦或回路等非线性问题,计算能力不足以处理大型神经网络,导致整个神经网络的研究停滞。

(2)1979年,Fukushima提出Neocognitron(神经认知机),给出了卷积和池化的思想。

(3)1986年,Hinton正式地提出反向传播训练MLP,解决了感知机不能处理非线性学习的问题。

(4)1998年,以Yann LeCun为首的研究人员实现了一个七层的卷积神经网络LeNet-5以识别手写数字。后来SVM兴起,这些神经网络的方法并没有很受重视。

(5)2012年,Hinton组的AlexNet在ImageNet上以巨大优势夺冠,引发了深度学习的热潮。其实AlexNet是一个设计精巧的CNN,加上ReLU、dropout等技巧,并且网络规模更大。这条思路被后人发展,出现了VGG、GoogLeNet等新模型。

(6)2016年,青年计算机视觉科学家何恺明在层次之间加入跳跃连接,提出残差网络ResNet,极大增加了网络深度,效果有很大提升。

(7)2017年,黄高将这个思路继续发扬光大,在CVPR最佳论文《Densely Connected Convolutional Networks》提出了DenseNet模型。同年,Hinton认为反向传播和传统神经网络有缺陷,提出Capsule Net,该模型增强了可解释性。但目前在CIFAR等数据集上效果一般,这个思路还需要继续验证和发展。

此后几年,各种深度学习模型被相继提出,包括堆栈式自动编码器(Stacked AutoEncoder,SAE)、受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)、深度信念网络(Deep Belief Network,DBN)、循环神经网络(Recurrent Neural Network,RNN)等。随着训练数据的增长和计算能力的提升,这些深度神经网络在深度、宽度、规模和功能模块等方面不断扩展,形成了极为丰富的网络分支。整个深度神经网络发展脉络如图所示。

专家观点 | 人工智能现状及发展(中)

深度神经网络最近若干年的发展脉络

不论往哪个分支发展,组成深度神经网络最为核心的东西是训练(Training)和推理(Inference)。作为机器学习算法中的一员,那么深度神经网络的基本编程思想仍然是学习。即通过学习确定网络的权重值,使得正确分类的得分最高(图片所对应的正确分类在训练数据集中标出),而使其他不正确分类的得分尽可能低。理想的正确分类得分与目前的权重所计算出的得分之间的差距被称为损失函数(loss)。通常,学习过程被称为训练网络。一旦训练完成,程序可以使用由训练确定的权值进行计算,这个使用网络完成任务的操作被称为推断。例如,当我们使用一个深度神经网络对一组输入图片进行训练,并得到最小损失的网络模型后,对测试图像进行分类,产生到不同类别的概率得分,最后基于软最大化对此测试图片进行判别。

2、卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)开始在各领域中得到广泛应用。Krizhevsky 等人在2012 年提出了一种称为AlexNet的深度卷积神经网络,并在当年的ImageNet 图像分类竞赛中,大幅度降低了图像识别的top-5 错误率。此后,卷积神经网络得到快速发展,图 给出了CNN结构演化的脉络。起点是神经认知机模型,已经出现了卷积结构,但是第一个CNN模型诞生于1989年,1998年诞生了LeNet。随着ReLU和dropout的提出,以及GPU和大数据带来的历史机遇,CNN在12年迎来了历史突破。12年之后,CNN的演化路径可以总结为四条:

(1)增加网络的层数。在2014 年,视觉几何组(Visual Geometry Group,VGG)的Simonyan等人提出了VGG-Net 模型,进一步降低了图像识别的错误率。He 等人提出了一种扩展深度卷积神经网络的高效方法;

(2)增加卷积模块的功能。Lin 等人利用多层感知卷积层替代传统的卷积操作,提出了一种称为Network in Network(NIN)的深度卷积网络模型。Szegedy 等人在现有网络模型中加入一种新颖的Inception 结构,提出了NIN 的改进版本GoogleNet,并在2014 年取得了ILSVRC 物体检测的冠军;

(3)增加网络层数和卷积模块功能。He 等人提出了深度残差网络(Deep Residual Network,DRN),并在2015 年取得了ILSVRC 物体检测和物体识别的双料冠军.Szegedy 等人进一步将Inception 结构与DRN 相结合,提出了基于Inception结构的深度残差网络(Inception Residual Network,IRN)。此后,He 等人提出了恒等映射的深度残差网络( Identify Mapping Residual Network ,IMRN),进一步提升了物体检测和物体识别的准确率;

(4)增加新的网络模块。向卷积神经网络中加入循环神经网络(Recurrent Neural Network,RNN)、注意力机制(Attention Mechanism,AM)等结构。

CNN主要的经典结构包括:LeNet、AlexNet、ZFNet、VGG、NIN、GoogleNet、ResNet、SENet等。

专家观点 | 人工智能现状及发展(中)

CNN结构的演化脉络(2019人工智能发展报告)

深度强化学习

深度强化学习是将深度学习和强化学习各自的优势进行组合后形成的一种接近人类思维方式的人工智能方法。强化学习的本质为一马尔科夫决策过程,它与机器学习中的监督学习不一样,强化学习不给定输入所对应的类标,而是给出一个回报函数,即决定在某状态下执行某动作的风险(结果好坏均有可能)。然而,强化学习性能的优劣取决于人工特征提取技术,深度学习的优势可以弥补此短板。目前,主流的深度强化学习都是针对离散状态和动作的优化问题,而实际应用中状态和动作常是连续的,针对连续状态和动作的情形研究较少,从而也限制了深度强化学习应用的范围。实际上,深度强化学习在智能驾驶、智能机器人、智能医疗、智慧城市、智慧物流和智能制造等领域产生深厚的应用。

深度强化学习的主要方法为:

(1)基于值函数的深度强化学习

(2)基于策略梯度的深度强化学习

(3)基于搜索与监督的深度强化学习

目前这个方向的前沿研究包括:

(1)层次化深度强化学习

(2)多任务迁移深度强化学习

(3)多智能体深度强化学习

(4)基于记忆与推理的深度强化学习

而且,深度强化学习也取得了一些卓有成效的应用,例如:阿尔法围棋程序Alphago。

深度神经网络的进一步研究方向

目前,针对深度学习的研究主要集中在以下几个方面:1)算法理论层面,有关算法的稳定性和收敛性等;2)深入应用方面,包括DeepMind团队研发的AlphaGo升级版,百度深度学习研究院研发的机器人“小度”。

专家观点 | 人工智能现状及发展(中)

深度神经网络与人工智能的关系

深度学习今天已经有各种各样的应用,到处都是它,不管图像也好,视频也好,声音自然语言处理等。深度学习目前如此有效,是因为基于超强算力和大数据。然而深度学习却不容易获取知识,这是个巨大的挑战。

人工智能与区块链

区块链是近十年来出现的最激动人心、最有前途的新技术之一。全世界的开发者都在忙于学习区块链,并应用它来解决自己感兴趣的问题。

区块链技术架构

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。

专家观点 | 人工智能现状及发展(中)

区块链技术架构图

以上各个模块的具体内容如下:

1)基础设施(Infrastructure),提供区块链系统正常运行的操作系统和硬件设施(包括物理服务器,云主机等等)。具体可细分为3个方面:

· 计算资源(CPU、GPU、ASIC等)

· 存储资源(硬盘)

· 网络资源(带宽)

2)基础组件(Utility),实现区块链系统中信息的记录、验证和传播。区块链是建立在传播机制、验证机制和存储机制基础上的一个分布式系统,整个网络没有中心化的硬件或者管理机构,任何节点都有机会参与总账的记录和验证,将计算结果广播发送给其他节点,且任一节点的损坏或者退出都不影响整个系统的运作。具体子功能包括:

· 网络发现

· 数据收发

· 密码库

· 数据存储

· 消息通知

3)账本(Ledger),负责区块链系统的信息存储,包括收集交易数据,生成数据区块,对本地数据进行合法性校验,以及将校验通过的区块加到链上。

账本层有两种数据记录方式:基于资产和基于账户。基于资产的模型中,首先以资产为核心进行建模,然后记录资产的所有权,即所有权是资产的一个字段。基于账户的模型中,建立账户作为资产和交易的对象,资产是账户下的一个字段。

4)共识(Consensus),共识层负责协调保障全网各个节点数据记录的一致性。区块链系统中的数据由所有节点独立存储,在共识机制的协调下,共识层同步各节点的账本,从而实现节点选举、数据一致性验证和数据同步控制等功能。数据同步和一致性协调使得区块链系统具有信息透明、数据共享的特性。

5)智能合约(Smart Contract),智能合约层负责将区块链系统的业务逻辑以代码的形式实现、编译并部署,完成既定规则的条件触发和自动执行,最大限度的减少人工干预。智能合约的操作对象大多为数字资产,数据上链后难以修改、触发条件强等特性决定了智能合约的适用具有高价值和高风险,如何规避风险并发挥价值是当前智能合约大范围应用的难点。

智能合约根据图灵完备与否分成两类:图灵完备和非图灵完备。

6)系统管理(System Management),系统管理层负责对区块链体系结构中其他部分进行管理,主要包括权限管理和节点管理两大类功能。权限管理是区块链技术的关键部分,尤其对于数据访问有更多要求的许可链而言。权限管理可以通过以下几种方式实现:

· 将权限列表提交给账本层,实现分散权限控制

· 使用访问控制列表

· 使用权限控制,例如评分/子系统,通过权限管理,可以确保数据和函数调用只能由响应的操作员操作。节点管理的核心是节点标识的识别,通常有以下技术实现:

· CA认证,集中式颁发CA证书给系统中的各个应用程序,身份和权限由这些证书进行认证和确认

· PKI认证,身份由基于PKI的地址确认

· 第三方身份验证,身份由第三方提供的认证信息确认

由于各种区块链具有不同的应用场景,因此节点管理具有更多差异。

7)接口(Interface),接口层主要用于完成功能模块的封装,为应用层提供简洁的调用方式。应用层通过调用RPC接口与其他节点进行通信,通过调用SDK工具包对本地账本数据进行访问、写入等操作。同时,RPC和SDK应遵守以下规则:

· 功能齐全,能够完成交易和维护分布式账本,有完善的干预策略和权限管理机制

· 可移植性好,可以用于多种环境中的多种应用,而不仅限于某些绝对的软件或者硬件平台

· 可扩展和兼容,应尽可能向前和向后兼容,并在设计中考虑可扩展性

· 易于使用,应使用结构化设计和良好的命名方法方便开发人员使用。常见的实现技术包括调用控制和序列化对象等。

8)上层应用(Application),应用层作为最终呈现给用户的部分,主要作用是调用智能合约层的接口,适配区块链的各类应用场景,为用户提供各种服务和应用。

由于区块链具有数据确权属性以及价值网络特征,目前产品应用中很多工作都可以交由底层的区块链平台处理。

在开发区块链应用的过程中,前期工作必须非常谨慎,应当合理选择去中心化的公有链、高效的联盟链或者安全的私有链作为底层架构,以确保在设计阶段核心算法无致命错误问题。因此,合理封装底层区块链技术,并提供一站式区块链开发平台将是应用层发展的必然趋势。同时,跨链技术的成熟可以让应用层选择系统架构时增加一定的灵活性。

9)运维管理(Maintenance),运维管理层主要负责区块链系统的日常运维工作,包括日志、监控、管理和扩展等。在统一的架构之下,各主流平台根据自身需求和定位不同,其区块链体系中存储模块、数据模型、数据结构、编程语言、沙盒环境等也都存在很大的差异。

人工智能与区块链

区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构。每个区块包括区块头和区块体。

区块头包括三组元数据:

· 用于连接前面的区块、索引自父区块哈希值的数据。

· 挖矿难度、Nonce(随机数,用于工作量证明算法的计数器)、时间戳

· 能够总结并快速归纳校验区块中所有交易数据的Merkle(默克尔)树根数据

区块体主要包含交易数据(Transaction),交易包括一个输入和多个输出。并且输入和输出相等。已确认的交易被称为Transaction identifiers(TXIDs),未确认的被称为Unspent Transaction Outputs(UTXOs)。

区块头和区块体数据项描述如表3.x所示。参考链接:https://blog.csdn.net/yinanmo5569/article/details/80313710

表3.x 区块头和区块体数据项

n n n n

数据项

n

描述

n

大小(字节)

n

更新时间

n n n

区块头

n

Version(版本)

n

区块版本号

n

4

n

更新软件后,指定了新的版本号

n n n

hashPrevBlock(前一区块的Hash)

n

前一区块的256位Hash值

n

32

n

新的区块进来时

n n n

hashMerkleRoot(根节点Hash值)

n

基于一个区块中所有交易的256位Hash值

n

32

n

接受一个交易时

n n n

Time(时间戳)

n

从1970-01-01 00:00 UTC开始到现在(s)

n

4

n

每几秒就更新

n n n

Bits(当前目标的Hash值)

n

压缩格式的当前目标Hash值

n

4

n

当挖矿难度调整时

n n n

Nonce(随机数)

n

从0开始的32位随机数

n

4

n

每次产生Hash随机数时

n n n

区块体

n

Magic no(魔法数)

n

总是0xD9B4BEF9

n

4

n

-

n n n

Blocksize(区块大小)

n

到区块结束的字节数

n

4

n n n

Blockheader(区块头)

n

包含6个数据项

n

80

n n n

Transaction counter(数量)

n

正整数VI=VarInt

n

1-9

n n n

Transactions(交易)

n

交易列表(非空)

n

许多交易

n n n

注意:

(1) 区块链中的时间戳从区块生成那一刻起就存在于区块中,它对应的是每一次交易记录的认证,证明交易记录的真实性。

(2) Merkle树的数据结构存放所有叶子节点的值,并以此为基础生成一个统一的哈希值。Merkle的叶子节点存储的是数据信息的哈希值,非叶子节点的存储是对其下面所有叶子节点的组合进行哈希计算后得出的哈希值。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://www.chinaai.com/zixun/656.html

评论