标签归档:硬创公开课

如何用自动驾驶系统工具箱设计和验证多目标跟踪算法 | 硬创公开课

雷锋网按:2017 年 6 月 28 日至 6 月 29 日,「第四届中国智能网联汽车技术年会「(CICV 2017)将于上海举办。为提前引发行业对会议议题的思考和讨论,雷锋网新智驾与中国汽车工程学会合作组织公开课,邀请智能网联汽车行业专家以及从业者分享相关成果和观点。

MathWorks 今年推出自动驾驶系统工具箱(ADST),借助这个新的工具箱提供的一系列设计和验证工具,能够更快速地开发感知算法,并简化算法的验证工作。

本文内容是 MathWorks 应用工程师王鸿钧在雷锋网与中国汽车工程学会组织的公开课上的分享。由雷锋网编辑与整理。

本期公开课要点:

  • 自动驾驶系统工具箱简介

  • 多目标跟踪原理

  • 使用自动驾驶系统工具箱设计多目标跟踪算法

  • 使用基准真值标注工具分析计算结果

  • 算法的实时验证技术

我们来回顾一下主动安全和自动驾驶系统的开发流程。

首先,我们会有一个系统的需求。然后,我们会在系统需求的基础上进行感知算法与控制算法的设计。感知算法包括了图象、雷达、GPS 以及一系列传感器的采集、目标检测以及感知算法。控制算法主要包括控制策略与控制执行部分。

开发完算法之后,我们需要进行系统的集成、测试和验证,然后自动生成代码,最后进行代码的测试和系统最终确认验证。

传感器融合与多目标跟踪的算法,其实是处于感知算法和控制算法中间的部分,对于控制工程师来说,我们需要对感知的传感器信息进行处理,得到用于控制的输入信息。这就是我们的工作。

MathWorks 在最新的 2017A 版本中推出了一个全新的自动驾驶系统工具箱,它希望为从事自动驾驶以及主动安全系统设计的工程师提供一系列加速自动驾驶系统及主动安全系统开发的工具。

主要包括三方面:

第一,测试与验证工具,包括真实值标签与场景生成;

第二,算法开发工具,包括传感器融合与目标跟踪,和视觉系统设计工具;

第三,可视化工具,包括鸟瞰图工具,以及雷达点云工具。

目标跟踪原理

什么是目标跟踪?要进行控制,首先必须从真实的世界采集到一定的信息,根据信息进行闭环控制。

我们要从真实的世界进行感知,感知部件包括一系列传感器,比如雷达、视觉、激光雷达等等。然后,我们需要在感知的基础上,对真实的世界进行估计。

这就是我们要介绍的目标跟踪等相关算法和传感器融合。

先介绍一些概念:

真实值指的是物体的实际运动。检测指的是通过传感器获得的含有分类属性的一系列目标列表,检测通常是根据时间的序列来完成的。

比如上图右版部分 6 个时刻,我们分别检测到了一系列目标:红色和蓝色代表车辆,绿色是行人。当然,检测的时候还可能出现一些问题,比如黑色的点就是我们没有办法对它进行分类的目标,黄色的点属于虚景,但是我们在实际检测的时候是不知道的,所以我们也把它归类为没有分类的目标。

其实从 T0 时刻一直到 T2、T3、T4、T5 时刻,我们对目标检测情况进行一系列分析,通过跟踪算法对物体进行实际运动估计。

在 T0 时刻,我们成功检测到了蓝色的车辆与绿色的行人,那么我们就将它作为车辆与行人跟踪。但是我们没有检测到红色车辆,所以我们添加了两个灰色的点进行试探性跟踪。

在 T1 时刻,我们观测到了红色车辆,所以我们现在确认了灰色跟踪当中其中一个是车辆,但另一个没有确认的跟踪,我们把它删除了。

T3 时刻,我们并没有观测到行人,但是我们通过预测,把被遮挡的行人目标预测出来,也把它作为跟踪的一部分。

T4 时刻,红色和蓝色的车辆离开了观测范围,所以我们对离开的目标位置也进行了预测。

最后,红色和蓝色的车辆都离开了观测范围,行人也穿过了马路,于是我们完成了对这三个物体的跟踪,我们将跟踪从我们跟踪的列表当中删除。

如果以上介绍过于抽象,我们在 2017A 自动驾驶系统工具箱当中提供了一个前向碰撞预警的 Demo。你们可以通过这个 Demo 来形象地了解到跟踪器是如何工作的。

  

视频当中通过右侧的鸟瞰图可以发现蓝色的是视觉目标,红色是雷达目标,方块形状是我们跟踪的目标。

我们会对车辆进行检测,然后将最近的最有可能发生碰撞的目标作为 MIO(最重要目标),防撞预警系统会对它进行监测并进行告警。

多目标跟踪算法

现在我们看到的是前向碰撞预警系统算法的框图,我们可以通过雷达目标与视觉目标进行传感器的融合以及卡尔曼滤波完成跟踪器的工作。

然后,我们会对跟踪到的目标进行威胁评估,最后得到 MIO,进行防撞预警。预警的结果还可以输入给 AEB(自动刹车系统)来进行控制处理。

我们可以借助计算机视觉工具箱当中代价矩阵的方法将雷达目标与视觉目标进行配对:根据配对的结果将匹配的雷达与视觉目标进行融合。

我们可以通过以下的函数来实现:

实际的跟踪算法会通过卡尔曼滤波来实现。卡尔曼滤波的含义或者是公式可能有些人比较熟悉,它就是通过前状态和协方差来对当前的状态进行预测,通过当前的测量值去更新当前的状态,将更新的状态进行输出。

在计算机视觉工具箱当中同样提供了卡尔曼滤波的函数。

实际多目标的跟踪,远远比一个卡尔曼滤波器更为复杂,因为它涉及到了我们提到的传感器融合,以及多目标跟踪管理,包括跟踪的初始化、确认、预测。

比如,刚才提到的可能会有一些未确认的目标,但是我们同样也要对这些目标进行跟踪。同时有些目标会被遮挡,我们要对被遮挡的目标进行预测。所以现在我们看到的就是一个完整的多目标跟踪器的逻辑。

上图,分别是目标检测数据需要包括的信息、目标跟踪数据能够提供的信息。

这些信息包括了时间测量值、测量噪声、传感器编号、目标 ID、目标属性等等。我们最后得到的跟踪数据包括了跟踪的 ID、时间、年龄、状态、协方差、确认标志、遮挡标志、目标类别的 ID 以及目标属性(如果大家对以上的信息还有疑问的话,在我们的帮助文件里会有更详细的描述)。

介绍一下多目标跟踪器的层级,一共分为三个层级。

第一,顶层与用户的交互界面,它同时负责分配多个检测到多个跟踪,进行这样一个匹配,以及维护跟踪的列表,进行新建或者是删除跟踪。

第二,对单个跟踪来说,会处理对单个跟踪的多个检测,就是完成传感器融合的算法,同时也会负责单个跟踪的确认与删除,以及维护跟踪的 ID 分类等信息。

第三,跟踪滤波器,用户自定义的滤波器,负责处理测量产生的滤波器更新,以及维护滤波器的状态和协方差。

对于非线性的扩展卡尔曼滤波或者无界卡尔曼滤波,用户还需要定义这一时刻的状态转移函数与测量函数,它取决于用户对目标模型的分析情况。

比如,目标运动状态,是否是匀速、匀加速或者是其他运动状态。

同时用户还需要配置跟踪器的其他属性,包括确认跟踪的阈值、被遮挡的更新次数、传感器的数量以及最大数量的跟踪数量等等。

简单介绍检测到跟踪的分配以及传感器的融合是如何实现的。

图一显示的是目标前一时刻的状态,图二显示的是跟踪器对目标当前位置的预测,图三是根据跟踪器对目标当前位置的预测,将检测到的一些目标的信息分配到跟踪的目标。

比如,可能有雷达的测量数据、视觉的测量数据,就是采用代驾矩阵的方法来进行分配的。

最后一步,进行传感器融合的计算,获得当前目标的位置,更新当前的状态。

对于跟踪的预测以及状态更新,我们提供了三种滤波的算法,分别是:KF 线性卡尔曼滤波、EKF 扩展卡尔曼滤波、UKU 无界卡尔曼滤波。

我们预设了三种滤波器的初始化函数,分别针对于匀速目标、匀加速目标和匀转向速目标。同时用户也可以添加自定义的滤波器初始化函数,这通常用于非线性的滤波器。

对于 EKF 和 UKF 来说,用户还需要定义它的运动函数和测量函数。同样,我们预先设置了匀加速、匀速、匀转向速度这三种情况,对于其他一些更复杂的情况,用户可以根据公式添加自定义模型。

单个跟踪来说,有一个生命周期,一共分为三个步骤。

第一,跟踪的初始化,我们会从从没有分配到跟踪的检测创建一个新的跟踪,这就说明我们检测到了一个新的目标,同时我们会创建和初始化滤波器。

第二,跟踪得到了确认,我们会将每个时刻的分配、检测到跟踪。通过检测到的信息我们对跟踪进行修正,同时跟踪也会计算一个预测,这个就是典型的卡尔曼滤波算法。

第三,如果一段时间内没有观测到跟踪目标,那么我们会判断是否删除这个跟踪,经过一个阈值,如果在阈值的范围之外,还是没有观测到跟踪,那么我们将其删除。

对于非线性滤波器来说,我们还会定期地修正它的测量函数与状态转移函数。

这是一个行人目标跟踪的案例,我们从案例中可以很清晰地看到一个跟踪的生命周期:它是如何被初始化和如何确认的,在被遮挡的时候如何进行预测以及最后如何进行删除。

真实值标签工具

我们在自动驾驶系统工具箱当中还提供了很多其他的工具,包括了一系列的算法验证工具,比如说真实值标签工具。

在 2012 版本的 Matlab2012B 之后,有一个 APP 的功能:提供了一系列的应用程序,这包括了我们在自动驾驶系统工具箱当中提供的真实值标签应用程序。

如上述右图所示,我们可以通过这个工具,在一段视频当中添加真实值的标签,将目标通过标签的形式记录下来,可以使用矩形的目标或者是直线的目标。

右图中,我们使用真实值标签标记了卡车、汽车、交通指示牌、车道线等等。

按通常理解,真实值标签一般是用来训练目标检测的算法以及评估目标检测的算法。在这里,我们还可以通过真实值标签的工具,去验证、跟踪和控制算法。

我们可以通过真实值标签去对视频进行处理,人工产生一些视觉目标,通过采集的记录的或者是实验室产生的雷达目标对它进行融合,通过多目标跟踪器与控制算法对整个系统的功能进行一个仿真工作。

使用真实值标签工具添加真实值标签的方法共分为五个步骤:

第一,载入视频。

第二,定义标签的类型。比如,我们可以定义车辆、车道线等目标,定义环境,比如说天气等全局的标签。

第三,通过时间轴的拖动,可以对每一帧进行标签的绘制。

第四,我们可以使用部分自动算法,为我们添加标签,包括中间帧的线性插补、KLT 目标跟踪以及 ACF 车辆检测这些自动化算法,可以逐帧地绘制选定的标签。

第五,我们通过手动的微调得到最终结果,将数据导出到文件或者是工作空间。

算法的实时验证

设计完成之后,就需要进行算法验证,我们可能会通过一些实车的测试进行验证,也可以在实验室里通过模拟方式,在实验室里进行可视化的验证。

Matlab 当中提供的一些数据导入的程序,以及一些可视化的应用,为仿真系统的搭建提供了便利。

比如,我们可以通过这些数据接口的操作函数,导入 excel 工作表、视频文件、CAN 总线数据,我们也可以通过自动驾驶系统工具箱当中提供的函数来生成鸟瞰图以及雷达点云图。

上图就是一个典型的仿真环境,上面是整个系统的架构,下面是仿真的硬件设备,我们采用一台目标机来运行车辆与环境的模型,然后另一台运行感知与控制算法,完成一个硬件再回路的仿真工作。

通过这个视频,我们所有的算法都是能够自动生成 C 语言代码的,我们将生成的代码下载到目标计算机当中,就可以很容易完成硬件再回路的仿真。

对算法进行实车的测试,也是必不可少的一个环节。我们在各种不同的路况下,可以对车载系统进行实车测试,这个系统可以是一台笔记本电脑,也可以是一台实时的仿真计算机。

我们通过 USB、CAN 总线、以太网等等,将它与各个传感器进行连接,就可以测试我们的目标跟踪,以及控制算法。


我们可以看到,在整个系统的设计与验证的过程中,MATLAB、Simulink 提供了一个通用的软件设计与硬件设施的平台,其中就包括使用 MATLAB 设计感知算法和 Simulink 来设计控制算法,将这些算法自动生成 C 语言代码,以及使用 Simulink Real-Time 完成算法的实时仿真工作,进行系统的验证。

雷锋网注:关于此次嘉宾演讲的 PPT,请关注雷锋网「新智驾」(公众号:AI-Drive),在后台回复「ADAS微课堂」即可下载。

雷锋网

《超智能体》作者讲述深层神经网络设计理念(附PPT+视频) | 硬创公开课

人工智能会在未来消灭很多工作,同时也会创造很多工作。它同机械、同计算机一样,是对人类能力的一次扩展,任何人都应该可以像应用机械一样应用人工智能,绝不应该是大公司的专利。

而深度学习可以说是目前各项人工智能技术的核心。因担心工作会被人工智能取代,越来越多的人想要入门深度学习。

然而如Ian Goodfellow所说,市面上很多教程都是大量的算法罗列,并不专注于如何利用这些算法来解决眼前的问题。这些教程很容易让人们误认为成为机器学习的专家就是知道所有算法。

事实上深度学习仍在迅速发展,今天的技术在明天就有可能被淘汰。并且每天都有大量新网络结构被提出,无法学完所有技术的我们需要找出各类网络结构的共性,尝试归类的理解其背后的设计理念。

本期雷锋网硬创公开课邀请到《超智能体》一书作者于建国,分享的内容就是理解为何“深层”比“浅层”网络要好,深度学习适用于什么任务,并尝试找出前馈神经网络、循环神经网络、卷及神经网络、残差网络、预训练、多任务学习、端到端学习、自动编码器、迁移学习、distillation、dropout、regularization、batch-normalization等技术背后的共享,让大家感受该如何设计符合自己任务的深层神经网络。以一种不一样的思路切入深度学习。

内容介绍

本期公开课包含但不限于以下内容:

  • 理解什么是学习

  • 深度学习为何高效

  • 神经网络的设计理念

  • 入门所需材料

嘉宾介绍

于建国,会津大学Human Interface实验室博士在读,硕士做的是利用深度学习将口型数据融于语音识别模型的训练中,而识别时无需口型数据,从而提高识别率的研究。也因为喜欢上了研究而继续了博士课程。希望将自己这几年的思考和自学经验分享给大家。可在知乎上搜索YJango找到分享的内容,或者在gitbook上查看其终身连载的关于如何机器学习,如何人脑学习的《超智能体》一书。

(本期公开课完整视频,共82分钟)

以下为雷锋网对嘉宾分享内容实录精编。关注雷锋网旗下微信公众号,回复「PPT」可获取嘉宾完整PPT。

大家好,我是于建国,日本会津大学博士一年生,硕士的研究是基于深度学习结合口型的语音识别。很高兴能和大家在这里分享。其他的不多说,让我们直接步入正题。

由于人工智能的火热,越来越多的人担心自己的工作会被所取代,因而想要入门深度学习,却发现它很“黑箱”,这次就是分享一些我个人心得,关于深层神经网络的设计理念。

智能:何谓学习

智能能够做到的事情太多太多,实在是难以用一句话给出一个让人信服的定义。

所以让我们从另一个角度来切入:为什么生命需要智能,智能的作用是什么?

而这个答案却是唯一的,那就是为了生存下去。

生存游戏

所以现在假设宇宙还没有产生生命,我们来想象一个生存游戏。

这个生存游戏和右上角的小游戏差不多,也就是躲避危险从而生存下来。需要注意的是,你要清空你大脑当中的所有先验知识。你并不知道这个游戏怎么玩,所有的规则都是随机的,并不是说碰到绿柱子就会死。稍微抽象一下就可以得到左边的这个模型。ABCD表示不同的环境,个体在接收到环境的刺激后会产生靠近或远离的行为,结果就是死亡或者存活。这时,环境就是输入x,个体是关联f(可以叫它function,mapping,我在随后都把它叫做关联),行为是输出y。

游戏规则是:

  • 1. 假设环境B和C都是危险的,靠近就会死亡。也可能是A和D是危险的,这是随机的。

  • 2. 同时个体的关联f都是大自然随机生成的。

如果你是大自然的造物主,你要怎么在上述条件下,设计出可以一直自我延续下去的生命?

直接暴力的方式就是:不断的随机生成,总有一个个体会满足条件。比如说这个映射就可以,用01表示B,10表示C,1代表远离,0代表靠近,当出现B和C时,我们希望个体f会产生1这个数值。

但这时我们追加另一个规则,环境会变。就像这个小游戏,如果规则变成没碰到柱子就会死呢?

应该有人玩过“猫里奥”,你会用你以前玩马里奥的方式去玩,就是各种死。所以当环境变成A和D是危险的时候,这个个体就会死亡。

所以,即便个体非常幸运的产生了能够满足生存的关联f,也会在下一次环境改变之际化为无机物。如果还用随机生成的方式,生命永远只能在最初始的阶段停留片刻,无法进入下一个阶段。

因此生命想要延续,就需要一种能力,可以适应变化的能力。这也是霍金对于智能的描述:Intelligence is the ability to adapt to change.

于是,大自然利用大量的个体不断繁殖,并且该繁殖过程并非完美复制,而是会产生变异,变异的个体就有机会适应变化后的环境而存活下来,无法适应环境的个体会被筛选掉。筛选下来的个体继续大量繁殖,产生差异性,迎接下一次环境的筛选。筛选后的结果便是进化。进化出适合当前环境的关联。用这种繁殖、变异、筛选的动态循环,就可以形成能相对稳定存在的生命。

游戏的关键在于,关联的更新速度>环境的变化速度。

所以自然界的很多生物大量繁殖这一行为并不浪费,它增大可供筛选的样本数量,防止环境变化后,个体全部被筛选掉。

生命起源

这个是关于RNA是生命起源的视频讲解,我不做描述。感兴趣的朋友可以下载我的ppt来自己观看。

生存核心

这张图粗略展示了几个概念之间的关系,大量的智能关联是依靠DNA来存储的,而DNA的复制会产生变异,形成差异性,差异性又反映于个体,变异的个体会被环境筛选,对种群进行改造,进而对智能关联进行筛选。

对以上的内容进行梳理,就会得到下面的几个总结。

1. 进化的对象不是个体,也不是基因,而是智能关联。个体的生死对种群只是起到了一次更新作用。而基因相当于硬盘,存储在上面的智能关联才是核心。进化的过程就是关联被不断筛选的过程。筛选出符合当前环境的关联。

2. 寻找关联f的过程也就是学习。自然选择的动态过程就是一种以种群为单位的学习方式。

3. 智能是适应变化的能力,智能的核心部分有:

  • 学习,关联的寻找,在低等生命中,对应的是自然选择。

  • 延续,关联的存储,将学习到的关联延续下去。别的星球可能产生过生命,但是却没有既能在该星球稳定存在又可以延续和自我复制的媒介。所以影片《普罗米修斯》中将DNA称为外星人留在地球上的火种。

  • 最后是决策,关联的应用,应用所学到的关联产生不同的行为来躲避危险。

DNA上存储的关联就好比是工具的蓝图,而各式各样的蛋白质就是根据蓝图造出的工具。蓝图是由自然选择来绘制的。

你会发现这和你所认识的智能不一样,似乎过于简单。因为刚才的描述仅停留在蛋白质层面上的低等智能的阶段。靠这种方式存活的生命是病毒,仅有保护性蛋白质外壳和DNA或者RNA,可以进行自我复制。但是单个蛋白质能够完成的任务很有限。为了增强适应变化的能力,大量蛋白质组合在一起,并行的工作,就到达了细胞层面的智能,同理大量细胞会形成组织,再到器官,系统,个体,团体,国家,越往上其能够完成的任务就越复杂。

我想用下面这段视频让大家感受,近几年所推崇的互联网思维其实始终都存在于你我的体内。只是科技让你我的连接速度提升后才得以凸显。我们自身就好比一个工厂,内部有大量的蛋白质在并行的完成各项生理功能。而处在互联网时代的我们,和在体内的蛋白质本质上没有什么区别。你并不是单个生命。

自然界无法瞬间产生特别复杂的功能,高等智能都是由低等智能迭代生成的。虽然大量的生物,用低等智能就可以很好的生存,但是我们依然想要弄清高级智能的原理将其服务于我们自身,因为我们的环境更为复杂。

高等智能最具代表性的就是可以思考。但是思考的原理实在难以解读。

还是用老方法,转而问为什么会进化出意识允许我们思考,它能够解决什么问题?

移动问题

因为环境的变化是随机的,所以进化并没有方向,但是却有增加差异性的趋势。还记得生存游戏的关键吗?就是关联的更新速度要尽可能大于环境的变化速度。而增加差异性就是增加了更新的幅度。

通过自我复制的方式,能够产生的差异性还是较弱。所以自然界慢慢的开始形成了有性繁殖,两个不同的个体进行交配,增加子代的差异性。 

但是有性繁殖带来了一个问题,如果生命不可以移动,那么个体只能与周围的其他个体进行繁殖,这一区域就始终都是那几种智能关联,有性繁殖的差异性能力被限制。

所以为了洗牌,大范围移动成为了必然需求。即便是植物这样不可移动的生物,也会利用果实让动物帮助他们传播种子。

可大范围移动也带来了另一个问题,环境会随着移动而变化,个体在上一环境中通过自然学习所学习到的关联,在下一个环境并不适用。比如你将热带植物放在沙漠中,环境的不同会杀死它。

预测模型

这时需要新的学习方式,如果还用自然选择的方式显然不可行。

因为增加了移动,感官等能力,个体的生长周期变长。设想一下,花了好几个月生下来的小动物,错走一步掉坑里摔死了。那么几个回合,这个物种就灭绝了。他们承担不起自然选择这种试错学习方式所带来的代价。

于是对于大范围可移动生物而言,他们需要原有智能的基础上增加了另一项能力:预测。

关联f不再是简单的应激反应,不再是从环境到行为的关联。而是从过去事件到未来事件的关联。生物会利用意识在大脑中模拟自己与环境的关系,通过预测下一步,甚至下几步会发生什么,从而进行决策。这就和下棋一样。

神经元

神经元细胞内部大量的蛋白质可以控制电离子的进出,进而有了控制电的能力。它们用不同的频率来表示不同的状态,大脑中的神经网络就有了模拟环境的状态与变化的能力。

可以允许生命以个体为单位学习任意两个空间的关联。不再是自然选择这种以种群为单位的学习方式。

视觉感知

而决策需要依据,就需要生命有感知能力,感知周围的信息。我们以深度学习擅长的画面识别为例,我们来看看它到底在做什么,同时也来进一步理解“建立两个空间的关联”这一概念。 

这里列出来了四个生物的视觉和人类的视觉的差异。而这就引出了一点知识,人眼看到的并非世界的原貌,而是适合自己生存的一种感知方式。

因为蛇的猎物一般是夜间行动,所以它就进化出了一种可以在夜间也能很好观察的感知系统。感热。

任何视觉系统都是将反光与“脑中”所看到的概念进行关联。相同的反光,经过不同的视觉系统会得到不同的感知。

所以画面识别实际上并不是识别这个东西本身是什么,而是学找人类的视觉关联方式,并再次应用。如果我们不是人类,而是蛇类,那么画面识别所寻找的f就和现在的不一样。

当x代表的是画面,而y代表的是画面在大脑中的概念时,神经网络所完成的就是画面识别。当x代表说过的话,而y代表将要说的话,那么神经网络所完成的就是语言模型,当x代表英语,而y代表中文,神经网络所完成的就是机器翻译。

神经网络的就是从很多输入到输出的例子中,寻找解释这两个空间的关联。就像y=ax+b这个线性方程,给你两个例子,让你确定a和b一样。确定后就可以在以后的活动中利用所建立的关联,通过输入特定的x得到我们想要的y。但自然界的关联可不像线性方程那么简单。

意识的作用

而代表着高等智能的意识允许我们在脑中预先模拟接下来会发生什么?从而决定下一步的行动。 

一个人的一生就是在不断建立自己所处环境中各式各样的预测模型,形成一个世界模型。你可以叫它世界观。

茶杯坠落会发生什么,如果有枪声会怎样。人站在高处,会预测自己坠落的后果,所以害怕。

随着环境的变化,所建立的预测模型需要跟着更新。比如我们现在生存的环境就和古人不同,有投资项目,未来几个月的股票、房价、汇率的变化等。 

所以你就可以看见,我们作为一个生命体,始终都在适应着这个时刻变化的世界。

智能的内容是关联,核心在于学习。但却不仅限于此,它还有围绕关联和学习的其他能力。

智能除了建立关联外还有何时搜集数据,因为我们是从历史经验中学习。

还有何时更新已建立的模型,何时使用哪个模型。这些都属于智能。

比如说,人脑的预测实际上是双向的,会时时刻刻预测即将发生的事情,并将实际发生的事情与自己的预测进行比较。通常这一过程不会得到你的意识的注意。只有那些与自己预测不符合的事件才会得到注意。例如你不会注意你每天都走的楼梯,但是当某个阶梯突然高出3厘米时,你却很容易察觉。这种与自己所建立的模型冲突的事件会更容易被记住并且作为训练数据搜集起来,用于以后的学习,为了让你更好的预测,更好的生存。所以思考的目的就是在于预测。 

而人的一生始终都需要学习,因为世界不断变化。并不存在小孩子比成人学习能力强这么一说。之所以造成这种现象的原因是人们依赖自己的世界模型。孩子并没有构造出完整世界模型,所以DNA中进化出的本性让我们小时候充满好奇心,会什么都好奇,什么都学习。而成人已经建立的较为完善的世界模型,需要有一种保护机制,防止被人忽悠。如果你还是像小孩子一样,什么都学习,什么都更新,那么你就很容易被洗脑。

但成人也会更新已建立的模型。比如说服一个成人,较好的做法是描述一个事件,这时他会不由自主的预测结果。但当你告诉他,他的预测是错误的时候,他就得到了“原来自己已有的模型并不可靠的信号”,关闭抵制学习的保护机制来更新已有模型。

智能始终都是并行执行的,唯独意识不可以同一时间出现在两个地方,原因之一在于意识必须要在某个时刻决定应用哪个关联。我们的四肢有各种各样的关联,有骑车的,有跑步的,意识会起到调控作用。

我们现在的人工智能还没有达到意识的层面,仅仅是建立两个空间的关联,所以画面识别,语音识别都可以完成的很好。但我们会在这个基础上逐步的迈向意识。

预备知识

人工智能

智能的三个核心部分,学习,存储,应用,在自然界中有自然界的实现方式。

而人工智能就是想要将这种能力在机器上实现。比如我们不靠蛋白质,而靠机器来应用关联;不靠DNA,而靠电脑来存储已经学到的关联;不靠自然选择,而靠机器学习算法来建立关联。大家的目的都是为了做出决策,更好的生存。

那么实现这一目标需要哪些知识?

世界是不断变化的,会从一个状态变化到另一种状态。这里牵扯到两个概念:状态与变化。

那么如何准确的描述状态和变化?

进化出能感知三维空间的我们习惯在三维空间下描述物体。然而除了长宽高,世界上还有很多决定事物状态的因素。如决定股票价钱的因素,决定天气的因素就不只是三个。

甚至我们生存的世界可能并非三维,仅仅是因为三维的空间感知已经足够让我们可以很好的生存。我们并没有进化出更高维度的感知能力。

但这些高维度的状态与变化又该如何合理的描述?

线性代数就是用来描述任意维度空间下状态和变化的学科,而线性代数中的矩阵是存储状态和变化信息的媒介。

通过线性代数,我们知道了该如何描述事物的状态及其变化。可遗憾的是,对一个微小的生物而言,很多时候信息是缺失的,我们没有办法百分之百确定事物在变化后会到达哪种状态。甚至世界的底层都是建立在纯随机下的。因此我们需要概率来在该种情况下帮助我们,预测未来状态从而做出合理的决策。

同时既然我们想要在计算机上实现智能,就需要懂得如何将自己的想法在计算机上实现。但你不需要什么都懂,你特别需要明白的是如何在计算机上控制存储着状态与变化的矩阵。

深层:为何高效

学习的难点

知道了什么是学习后,我们再来看看学习到底难在哪里。

这一部分的理解决定了你对神经网络的设计理念。学习是需要从历史经验中训练出一个关联f,希望可以用这个关联f解决新的问题。就拿高考来说,我们通过做历年的真题来训练自己的解题方法f。训练的方式是不断的做题,并且对照正确答案。等到高考,当看到新题目x时,希望可以利用自己所训练的关联f,来得到正确答案y。我们真正关心的并不是已经做过的历年真题,而是高考。

学习的难点在于:需要在未见过的任务上表现良好。

极端情况

我们考虑一个极端的情况。假如说,高考只有4道判断题,那么只需要记住4道题的对错,高考就可以拿满分了。可是实际的情况是,高考所能出的题是无限的。而我们可以训练的历年真题却是有限的。又比如要识别猫的图片,猫会有各种各样的形态、表情、颜色、大小,各式各样的变体。而我们无法穷举所有的猫,该如何从有限的图片样本中训练出能较好判断一张图片是否是猫的关联f。

学习就是需要从有限的例子中找到合理的关联f。一个方向也就是训练更多的数据,看到更多的情况。比如有的同学就用题海战术。这就是这些年大数据对人工智能所起到的作用。

然而单靠大数据是不足够的。另一个方向的例子就是那些只做一两道题就可以抓住问题核心的学霸们,而这个实际上才是深度学习在自然界的任务中超越其他机器学习算法的关键。也就是加入先验知识,调整假设孔空间。

当然学习是数据越多越好,但为了了解为什么光靠大数据不够,我们需要明白三个问题。

第一:维度诅咒。

上面提到学习的第一个方向就是见到更多的例子。可是当维度越高,其情况就越多,就越无法见到所有的情况。

只考虑离散的简单任务,1维的时候有10种情况,2维的时候100种,3维的时候有1000种。维度越高,我们越无法见到所有的情况。现在一个普通的任务就有上百维度,并且是连续的数据。

那么那些没见过的数据该如何预测?传统的方式依赖于一个假设,那就是数据是平滑的,一个数值和它左右的数值差不太多。所以当遇到没见过的数据时,就取左右两个遇见过的数据的平均值,但是在高维情况下,这种做法非常不可靠,因为它不符合这个假设,数据并不平滑,而是有激烈的凹凸。

那么想要预测的可靠就需要更多的数据,并且是不一样的样本数据,这在现实中即便是大数据也难以实现。玩过炉石传说的朋友可以想想如果纯粹靠买卡牌包,想要将所有卡片都搜集齐全需要投入多少资金?

第二:关联f的寻找。

我们是靠历史数据来训练关联f,但是能够解释历史数据的关联f并非唯一。比如我想要两个数字相加等于1,我可以让其中一个数字为1,另一个数字为0;也可以让其中一个数字为-299,另一个数字为300。都能完成任务。这就会造成,我们寻找的关联f或许可以完美的解释训练数据。但是却无法保证在新的预测中依然完美预测。

比如这两张图,左边学习到的关联f可以完美的预测训练集。但是实际应用在测试集上,红色的部分却预测错了。我们实际是想要一个非常规整的螺旋形状。

又比如高考,能够解题的方法有很多种。有的非常巧妙,但是这些巧妙的解题方式可能只适用于个别题目。其他题目就不再适用。学生可能找到了一个可以解除所有他做过的题的解题方式,但却无法保证该解题方式在高考时同样有效。

第三:无免费午餐。

这同时引出了无免费午餐定理。既然关联f是无限的,那么寻找关联f好比是大海捞针。不同的机器学习算法只是更擅长在某个海域打捞而已。如果重点打捞某个区域,那么其他的区域就会被忽略。

所以如果想要打捞的关联f可以存在于大海的任何地方,那么深度学习并不会比其他的机器学习算法更优秀。这种情况下,任何两个机器学习算法都是等价的。

这是不是意味着深度学习并不优秀呢?并非如此。因为自然界中的很多任务,其关联f并非像我之前可以出现在大海当中的任何位置,而是会集中在特定海域,那些符合自然物理现象的特定海域。而深度学习就是擅长打捞该海域的机器学习算法。

深度学习就是我先前所说的学习的第二个方向,加入先验知识,调整假设空间。

那如何理解加入先验知识?比如说你让你的朋友猜你脑中所想的一个事物,这个难度是相当大的。因为你可以想任何事物。而你的朋友通常会要求你,给他一个范围。比如食物,也可以进一步把范围缩小到水果。那么他就不需要在所有的事物当中乱猜,会更容易猜中。 

在二战时德军的Enigma(依尼格玛)密码机,可以生成成千上万密码,来传输作战信息。英军雇用包括人工智能之父图灵在内的数学家来直接破译它的加密原理。并不是假设这些数据是平滑的。机器学习也应该使用相同的思路,直接去思考数据是如何生成的。而我们所面临的很多任务,是由自然界的密码生成器所生成的。当时图灵等人是靠任何原文和密文之间不会相同字母这一特点来破解密码。

那么自然界的数据又有什么特点呢?

分布式表达

这就引入了第一个自然界的先验知识:并行组合。也就是深度学习中分布式表达distributed representation的思想。假设我们有8个不同的苹果,用一般的学习方式,我们需要看到8种不同情况才可以完美的学习。但是如果告诉你这些不同的苹果是由颜色、大小、形状,这三个因素组合形成呢。假如每个因素有两种情况,那么我们只需要学习好这六种情况即可。不需要见到8种变体。你会发现,加入了变体是由不同的因素组合形成的这一个先验知识后,我们降低了学习所需要的数据量。而椭圆其实也有变体,什么样的形状是椭圆?我们可以依照同样的思路继续分解下去,进一步降低训练所需要的数据量。

神经网络

拿人脸识别为例,各种各样的人脸是由五官组合而成的,而各种各样的五官,又是由不同的形状组合而成,各种各样的形状又是由像素点所组合而成。我们可以这样拆分下去来降低训练数据所需要的样本数量。

但是这样的拆分方式是有前提的。我们知道这个世界的事物是通过组合形成的,一个碳原子+两个氧原子形成二氧化碳,三个氧原子形成臭氧。同时又不是线性组合,所以我们来看神经网络最基本的变化公式,每一层都是将x内部的因素进行组合,再加入非线性变换得出一个y,仿照着自然界数据的生成规律。而训练神经网络就是给大量的x与对应的y,学习其中的W和b。就像线性方程y=ax+b,给你两个例子,让你求解a和b一样。在第一部分中我们也提到了人体也是由这种组合方式形成的,所以神经网络非常适合去做画面识别,语音识别。

如果在一个完全不同的物理规律的世界中,事物和我们的人体可能就不是以这种组合的方式形成,那么以这种拆分方式所学习到的关联f就无法很好的完成生成数据的工作。所得到的预测也不会可靠。

但是到目前为止,所讲的仅仅还是浅层神经网络为什么优秀的原因。具有一个隐藏层的神经网络只要有足够的隐藏节点,就可以拟合任意的训练数据。

但是,为什么深层学习比浅层学习要优秀。这其实在椭圆的位置就已经可以感受到了,就是将拆分后的因素再次拆分,可以进一步降低训练所需要的数据量。

然而,这里实际上已经增加了第二条先验知识:那就是迭代变换。

我们知道原子会形成分子,而事物是在原子所形成的分子的基础上,进一步迭代形成的,并非再从原子开始重新生成。飞机是由原子到分子再到各式各样的零件组合形成的。坦克同样也利用到了相同的分子层。虽然作为图片,坦克和飞机是不同的样本,但是他们都共享着相同的分子层。这意味着当你用深层神经网络时,训练飞机样本会间接的对坦克进行了训练,降低了训练所需要的数据量。 

以右边的两个图为例,每个图的左边是神经网络连接图,而右边是不同变体之间的关系图。链接在一起的圆圈表示一个节点可以取的不同数值,分开的圆圈就是不同的节点。

如果像上半部分那样用一个隐藏层的神经网络来学习,那么每个变体只被拆成了服务于它自己的独立因素,并不会对其他的样本起到作用。

但如果用深层网络,像下边这个图,就容易在a b c这三个因素的部分形成共享。那么在训练(3,0)这个样本的时候,就会对所有共享a b c的其他样本起到了间接的训练作用。

再拿编程做比较,我们不会去直接一步到位的编程,而是会分成很多个小模块。这些小模块可以在不同的需求下都适用,也就是共享。这样,就不需要每遇到一个细微变化就重新编写一次。

目前描述的网络叫做深层前馈神经网络,feedforward neural network。变换只会一层接着一层进行,不同层之间不会有跳跃,并且组合也是在同一层内的因素间进行的。

想象如果一个网络中的某个节点可以和其他的任何节点连接,那么这样的网络就没有任何的侧重。好比在你找人时被告知,他无处不在和他在哪都不在。这就相当于没有加入先验知识,没有缩小寻找关联f的海域。

所以前馈神经网络的这种连接方式,很好的缩小了训练所用的数据量。因为这种组合方式比较符合自然界的物理形成规律。

所以深层学习并不会在所有任务当中都强大,但是在很多自然形成的数据当中超越其他机器学习算法。

深层神经网络

这时再回过头来思考生命与环境的关系,环境会变得越来越复杂,但是复杂是在原有因素的基础上增加依照物理规律形成的各种变体。比如原本只有n个因素,但是每个因素可以有两种不同的状态,那么可以形成的变体就会有2的n次方。

而生物学习就是将这些变体再次拆分成因素,并且从中学到一个关联方式,而这个关联方式就是知识。

我们目前所讲到的深层前馈神经网络引入了自然界中两个固有的先验知识:

  • 并行:新状态是由若干旧状态并行组合形成。

  • 迭代:新状态可由已形成的状态再次迭代形成。

前馈神经网络可以适用于几乎所有的任务,但它非常一般性,所提供的先验知识的针对性很低。

先验知识不够针对,那么训练所需要的数据量就会变大,并且过深之后会将那些噪音的形成规则也学习到模型当中,而这些规律并不是我们想要的。

而神经网络的其他变体,比如循环神经网络,卷积神经网络就提供了更多十分具有针对性的先验知识,可以缩小搜索的海域面积,排除掉那些噪音规律所带来的额外干扰。

不同的神经网络变体,就在于你向其中加入了不同的先验知识。

那我希望用这个影片来让大家感受,自然界中,并行组合和迭代变换这两个先验知识的。

应用:设计理念

铺垫了这么多,终于到了核心的部分。知道了深度学习为什么高效后,对于如何设计网络也有了相应的指导。

基本理念

首先要明确两点:

  • 深度学习并非万能,使用深度学习的前提是你的数据可以使用这样的先验知识。不然就像是用解英语题的巧妙方式去解数学题。

  • 其次,深度学习没有固定形式,不要认为循环神经网络就是循环神经网络,卷积神经网络就是卷积神经网络。如果你以这样的方式去学习神经网络,你这辈子都学习不完。因为网络的链接方式是无限的。你需要抓住至少两个核心。拆分因素和因素共享。

每层内的节点表示的是因素,这些因素共同描述事物的一种状态。这些状态可以逐层发展,发展后的状态又可以进行拆分和合并,来进行下一个状态的转变。

你可以把一个方框视为神经网络,并且神经网络可以继续与其他神经网络形成更深的神经网络。比如卷积层处理完的输出可以接着再进行循环层的处理。

如右图,第二个阶段的因素就是由三个神经网络提供的,不同神经网络的因素之间可以进行相加,也可以合并成更高维度的状态。

设计神经网络更像是玩乐高积木,但是玩的规则在于如何拆分因素,如何使不同的样本之间形成因素共享。所以在看到很多新的网络结构时,请务必考虑,他们的结构是如何考虑因素拆分和因素共享的。

虽然大家习惯叫做循环神经网络,卷积神经网络,但请以“层”去理解它们。层是指从一个状态到另一个状态的变化。那个变化才是层。

神经网络变体

下面就看看循环层和卷积层是如何利用因素共享这个先验知识来降低训练所需数据量和排除噪音规律的干扰的。

另外记住,卷积层并不是只针对画面识别,循环层也不是只针对时序信号。关键在于时间共享和空间共享。

如果用前馈层处理时序信号,需要将前后所发生事物状态并成一个更大的向量。这样每一个维度的权重都需要学习,即使很多维度都是无关紧要的。并且这样的方式只能处理固定长度的时序信号,长度不足时需要补零。

但如果告诉你,不同的时刻的状态都是由相同的规则进行处理的,那么一个时序序列中,每个时刻的状态都可以为权重的学习提供帮助。比如在前馈层中,三个时刻只能对Wxh进行一次学习;但是在循环层中,三个时刻能对Wxh和Whh进行三次学习。

不同时刻的状态都是由相同规则进行处理的,就是循环层加入的一条可以降低训练数据量同时排除噪音规律干扰的先验知识。应用这种处理方式的原因是因为世界上很多的数据都符合时间共享的规律。比如你在演奏音乐,每个乐器的物理特性在时间维度上是不变的,并不会这个时刻是笛子的物理特性,而下一时刻变成了二胡的物理特性。

同时需要注意的是,循环层中有两个因素流,一个是从输入流得到的。另一个信息流是从上一个时刻的状态得到的,都是时间共享。所以你可以看到循环层有两个权重Whh和Wxh。

用前馈层做时序预测,相当于徒手捏陶瓷,耗时耗力不说,又无法保证各个角度都相同。而用循环层做时序预测,相当于使用转盘,摆出一个手型后,每个角度都是以这种手型去捏制的。

人们常说循环神经网络,比前馈神经网络要好的原因在于可以考虑更长的历史信息。但我曾经做过实验,使用相同长度的历史信息,将二者进行比较后。循环神经网络依然比前馈网络效果要好。一定程度上验证了共享的作用。

另外双向循环神经网络是两个循环层的堆叠,而堆叠后有两种合并方法,一种是相加,一种是合成并更长的向量。我做过的所有实验中,相加的效果都比合并要好。可能也是因为第二个方向起到了限制作用。只有那些既可以在正向产生此种规律,又可以在反向产生另一种规律的关联f才会被我们采用。

上述提到的是时间共享,还有空间共享的卷积层。前馈层同样可以进行画面识别,但如果用前馈层,那么在这个例子中,就需要学习81个权重,而如果知道这些权重在空间下是共享的,那么可能只需要学习9个权重。

我们眼睛在观察时并非将整个图片全部收入眼帘。而是一个区域,一个区域扫描。每个区域扫描的规则是共享的,你的眼球不会在扫描这个区域时是人眼,而在扫描下个区域时却成了猫的眼睛。 

调整假设空间

设计神经网络实质上就是在对假设空间进行调整。也就是选择在哪些片海域寻找你的关联f。

这里我总结了四条设计原则。

  • 增加共享,降低确定关联f所需要的数据量。如果你知道它大致在大海的哪个范围后,就可以使用更少的渔网,更快的打捞上来。

  • 增加惩罚,我们可能会事先知道关联f不满足哪些特点。那么一旦这种特点的关联f在训练中被找到时,我们就对结果进行惩罚,起到筛选作用。用打鱼做比喻的话,那些不符合条件的小鱼会被大孔渔网筛选掉。

  • 优化起点,我们优先从哪片海域先开始寻找,找不到再找其它的海域。

  • 降低变体数,变体数量越多,我们就需要见到越多的数据。所以我们可以预处理数据,将变体数量在学习之前就降低下去。比如将数据减去平均值,除以均差。

设计自己的神经网络

神经网络其实并不黑箱,黑箱的是你要学习的任务。就像高考的难点在于你不知道等待你的是什么题目。

神经网络也像是料理,并不是一种方式适用于所有的食材,你要根据你的食材特点选择合理的烹饪方式。

接下来我们再来看看应用这些设计原则的各项技术。

迁移学习

迁移学习是利用知识共享这一特点,将一个任务中已经学到的关联应用到其他任务当中去。比如在画面识别中,我们用大量的反光x到概念y来学习我们的视觉系统。

画面识别的前几层其实就可以想象成是人类的眼球是如何将反光关联到视网膜上的,而后几层可以想象成视网膜上的成像又是如何逐层变成抽象的图形概念的。

那么将已经训练好的,用于识别动物的神经网络的前几层这个f1拿出来,在识别植物的神经网络中,额外加两层再做轻微训练,同样适用,毕竟大家都是人眼,这部分的f1很大程度上是共享的。

多任务学习

多任务学习其实和迁移学习使用的是相同的先验知识。只是利用方式有些许不同。迁移学习是将已学到的知识用在另一个共享着相同知识的其他任务上。

而多任务学习,是在训练的时候用共享着相同底层知识的其他任务的数据来帮助一起训练。可以起到扩充训练数据量的作用。

同时寻找到的关联f更加优秀。因为三个不同的任务对底层的知识同时进行了约束。只有同时满足三个不同任务的关联f才会被采用,这就排除掉那些只符合单个任务的关联f。

跨层组合

这是另一条先验知识,我们知道前馈神经网络是不允许跨层组合的。

但现实中是否有跨层组合的现象? 比如说我们在判断一个人的时候,很多时候我们并不是观察它的全部,或者给你的图片本身就是残缺的。这时我们会靠单个五官,外加这个人的着装,再加他的身形来综合判断这个人。这样,即便图片本身是残缺的也可以很好的判断它是什么。这和前馈神经网络的先验知识不同,它允许不同层级之间的因素进行组合。

残差网络就是拥有这种特点的神经网络。大家喜欢用机器学习的方式去解释为什么残差网络更优秀。

这里我只是提供了一个以先验知识的角度去理解的方式。

需要注意的是每一层并不会像我这里所展示的那样,会形成明确的五官层,只是有这样的组合趋势,实际无法保证神经网络到底学到了什么内容。

蒸馏模型

其本质仍然属于迁移学习,但是将知识以不同的方式迁移。一般的迁移学习是将学到的权重直接用在新的模型当中,迁移的是权重。而蒸馏模型所迁移的是标签。

比如这张图中,有两个模型,完成的任务是相同的,但是叫做老师的这个模型拥有更好的特征(输入),而叫做学生的这个模型由于实际应用的约束,无法使用这样的特征。

蒸馏模型的做法是先训练老师模型,用老师模型的预测值作为一种额外的标签,在训练学生模型的时候和学生模型自己的标签一同使用,帮助学生模型寻找到更好的关联f。而这种帮助过程只发生在训练阶段,实际的使用中,只用学生模型。这就好比一个学生在做题的时候,他既有参考答案,又有一个家教的指导。虽然家教无法代替学生去考试。因为有家教的辅导,这个学生会比没有家教辅导的学生更容易学习。虽然作为叛逆学生的我不喜欢承认这一点。

因为不需要使用老师模型,这种技术也用于压缩深层神经网络的大小。同时也应用于那些只有训练时才可以获得,而实际应用时无法获得的额外信息。

我的硕士研究,结合口型的语音识别就是这种特点的任务。我不能在识别的时候在人的嘴里加一个用于测量口型移动的机器。口型数据只可以在训练的时候作为额外信息帮助我训练出更好的模型。

自动编码器

自动编码器是利用并行与迭代的这两个先验知识,来操控变体的一种技术。

当它用作生成模型时,它就可以仿造自然界的变体生成方式来生成出各种不同的变体。比如我输入7这个数字,他就可以利用自然界的变体生成方式来生成各种7的变体。

当它用作特征工程时,实际上就是disentangle the factors of variation不断的拆分变体的因素,达到减少变体数量的作用,所以会逐层减少节点,再以对称的方式将其变换到原来的输入,最后取变体数量最少的中间层作为特征表达。降低变体数量后,就可以降低学习所需要的数据量。

Batch normalization

一般我们会在输入和输出进行预处理,减去均值和标准差,降低变体数量。这个思路一样可以在隐藏层实施。因为输入和输出是事物的状态,有变体,隐藏层同样是发展的中间状态,也有变体。

端到端

这张图描述了机器学习历史。我们逐渐的减少人类知识在学习中的作用,而是让机器自己去学习知识。

假设我们的输入x是细胞层面,而输出的器官层面。如果使用传统的机器学习方式,我们会尽可能的,人工的去学习如何将细胞层面的输入x转换到一个线性可分的空间下去,然后再让机器来学习知识。但这需要一个专家用一生去学习细胞层是如何到达组织层的,并且还难以照顾到潜在细节。

而端到端的思想就是直接消除人工预处理和后续处理,尽可能让模型利用自然界的先验知识从输入自己形成到达输出的规则,增加模型的整体契合度。

抑制过拟合

过拟合是指你在学习时,过分拟合训练集的数据了。

拿右图举例,中间的是拟合的刚刚好。而左边的情况是欠拟合,而右边的情况是过分拟合训练数据了。

神经网络抑制过拟合有以下常用的几点,而这几点在人们日常学习中同样适用。拿历年真题为训练集,高考为测试集来说。

dropout(遗忘),训练神经网络是若干个样本,逐步送到神经网络中训练。这些样本当中不可能只包含一种规律,那些小细节也能形成规律。如果连续送入网络的几个样本都具有相同的细节规律,那么就会影响我们真正想要学习的规律。而使用dropout后,每次学习都会遗忘一些规律。这样,即使有几个拥有相同细节规律的样本很偶然的被连续的送入网络中训练,也会被忘掉。只有所有样本中都有的大规律才会被记住。

shuffle(乱序),训练的样本不要有固定顺序,而要随机打乱。和dropout的原因是一样的,防止拥有相同细节规律的样本连续被送入网络。比如我们不要一直从abandon,放弃,遗弃开始背英语单词一样。

L2 regularization(保持最简化),解决的方案不要过于复杂。不然只能顾及特例而失去普遍性。 就是老师提倡你在高考使用最普遍的解题方式一样。

mini-batch(多题一起做),相互比较后得出结论。比如同时看两本描述不同的书可以得到更好地理解。

noisy layer(加噪音),题目加入一些干扰项、改变考前环境、教室、平时状态等,增加鲁棒性。噪音会对我们的结果造成影响,改变数据的分布。而神经网络是干脆直接将噪音也一起建模在网络当中,将正常因素和噪音因素形成的组合作为最后的结果。

人工智能对我们的影响

机器,计算机,人工智能,这些都是人类自身能力的延伸,这些技术可以应用在任何行业之中。

曾经我们是靠锄头耕地,现在靠机器;曾经我们靠算盘算账,现在靠计算机。但是机械也好,计算机也好,所更换的仅仅是工具,不是工作内容。我们始终需要耕地,需要算账。

同样的人工智能仅仅帮助我们建立关联。有了合理的关联f,我们就可以根据特定情况产生相应的行为。 人工智能和机械以及计算机一样,都是工具,并不会改变我们想要完成的任务。而未来的所有任务都可以依靠这一项新工具来实现。

最后,所有的这些内容你在其他的材料基本不会看到。

因为很少有像我这么不务正业的学生,这也好奇,那也好奇,这抠一点,那抠一点。

这些内容都是我个人的思考,相当非主流。但是我将他们写在了我终身连载的《超智能体》当中。一个关于如何用人脑学习,如何机器学习的书。我希望这些内容可以给人们理解生命,理解智能的另一个视角。

同时我也以我自己所理解的方式写了一些深度学习的教程。这些教程的侧重点不一样,我希望读者可以理解其背后的道理,而不是单纯的搭建一个神经网络,完成某个特定的任务,在想要使用新任务时却无从下手。

最后呢,虽然我叫于建国,但是我不是国庆节出生的,我是非常倔强的白羊座。

雷锋网

神经认知学在机器人中的发展和应用(附PPT+视频) | 硬创公开课

如何让机器人的大脑“模仿”得更像人类的大脑?科学家们给出的答案是研究人脑结构的分子层面,尝试深入地了解人脑细胞的情况,进而将“拼图”完成,还原大脑。那么,什么是神经认知学,神经认知在机器人领域都有哪些应用?

本期雷锋网硬创公开课邀请到TIANBOT资深机器人研究工程师田博,为我们做主题为《神经认知学在机器人中的发展和应用》的分享。

内容介绍

  • 本期公开课包含但不限于以下内容:

  • 神经认知在机器人领域应用简介

  • BBD与神经区域连接猜想

  • RatSLAM,ehSLAM与空间认知细胞

  • HMax与视觉皮层

  • Neuromorphic与神经元连接

嘉宾介绍

田博,TIANBOT资深机器人研究工程师,清华大学企业家协会(TEEC)青创会员。温州市机器人与智能制造特聘专家,580计划创业人才。知乎机器人话题优秀回答者。于 2007 年开始从事机器人研发工作,工作范围涵盖机械设计、控制、算法等,在校期间获得 RoboCup 人形组第四名。参与过研发小型和大型的人形机器人,轮式机器人的环境感知算法。发表多篇机器人(IROS)和人工智能顶级国际会议(AAAI)文章,开发移动机器人超过十种,包括足式与轮式。回国后进行移动服务式机器人创业,受邀在人工智能大会、机器人核心器件计算法等大小会议上发表演讲,创业项目获得南京创赢未来金奖,创办南京天之博特机器人科技有限公司,志在培养机器人技术与开发人才。参加央视财经频道的创业英雄汇。

公开课完整视频(共96分钟):

以下为嘉宾分享内容实录精编。关注雷锋网旗下微信公众号,回复「PPT」可获取嘉宾完整PPT。

我从07年开始做机器人研究,并且有幸在2011年加入唐华锦博士在新加坡科技局信息所创建的计算神经组,从属于李海洲博士的人类语言科技部门与机器人技术项目部门。我于2011年5月至2015年1月在组内从事神经认知机器人的研发,也是这个组发展最好的时期。本次讲座的主要内容都来自我在组内三年半时间的研究经历,涉及到整个组的工作,而这个组由唐华锦领导,所以在这里介绍下他本人。

唐华锦教授于浙江大学、上海交通大学完成本科和硕士学习,于新加坡国立大学计算机工程系留学获得博士学位。 其后在意法半导体公司担任研发工程师,并于澳大利亚昆士兰大学脑科学研究所从事博士后研究,2008-2014年在新加坡科技研究局资讯通信研究院任认知计算和机器人认知实验室主任。2014 至今,担任四川大学计算机学院类脑计算研究中心主任。入选国家青年千人计划、四川省千人计划。

唐华锦教授担任多个国际一流学术期刊包括IEEE Transactions on Neural Networks and Learning Systems, IEEE Transactions on Cognitive and Developmental Systems 和 Frontiers in Neuromorphic Engineering 的Associate Editor,Frontiers in Robotics and AI 编委,并担任多个国际会议主席或程序委员会主席,IEEE计算智能学会教育分委会主席、IEEE认知与发育系统技术委员会副主席等。

唐华锦当时是计算神经组的主任,于2014年在四川大学正式任教授,他离开以后我也就在15年回国创业了。现在我主要从事ROS的职业培训,并进行移动式服务机器人的开发。另外我也在知乎上经常回答关于机器人的话题,ID为【贾子枫】,欢迎大家关注!

机器人技术发展趋势 

这是基于我个人对机器人发展的理解对机器人的划分。最早是工业机器人,研究内容是规划和控制,从1960s就开始了。

后来的军用机器人包括火星机器人、救灾机器人、水下机器人、空中机器人、地面机器人,研究的主要是机器人的移动性能,包括本田的ASIMO和波士顿动力的机器人,虽然本田的目标是让ASIMO成为服务机器人,但是研究的主要是机器人的移动性能。

军用机器人的下一步我们希望做服务机器人,这几年随着机器人的发展,大家对服务机器人的概念也越来越熟悉。让工业机器人变成移动机器人,我们需要增加它的移动性能,但是一个会动的机器人,我们往往用遥控的方式,如果想要它自己动是非常困难的,所以具备适用性和空间认知是服务机器人的共性基础技术,包括语音对话。

再往后,我们希望机器人能够发展成家庭机器人或是个人机器人,这时候机器人需要足够的理解能力和足够的安全性。

我们认为目前机器人的发展处在军用机器人向服务机器人跨越的阶段,现在所有技术都处在这个节点,也就是移动技术和语音交互方面。

为什么机器人要应用神经认知的方法?

传统的方法是用世界的模型加上机器人模型,也就是说在这两个模型里面我们需要知道所有的细节,然后得到一个非常工程的解决方案,比如早期的工业机器人上,我们知道它的关节、链接长短,我们用运用机器学算它的路径,得出一系列的解。但是,现在我们发现,这种解决方案只适合汽车工业,3C领域比如做分拣是不适用的,因为我们面临的环境是千变万化的,也就是说我们没办法用单一的世界模型去描述机器人所处的环境,所以我们要抛弃世界模型的方案。

这是我们设想的未来机器人结构,首先从大脑得出一个模型,然后得出一个记忆模型。为什么是记忆模型?因为大脑有很多功能, 从神经认知学的角度讲,人类之所以能成长为万灵之长,主要是因为人类大脑的新皮层足够大并且急剧扩张,而新皮层主要任务就是存储, 相当于我们记忆经过编码后存储在新皮层,而骨皮层和中皮层从最早的啮齿类动物到现在灵长类动物并没有发生特别大的变化,我们认为人类之所以产生智能,可能最主要的原因就是记忆的量变到质变。所以,我们希望将这个模型应用在机器人上,也就是把大脑放进去,工程师不需要为机器人做世界模型的建立,而是机器人自己去建立世界模型,这种机器人我们称之为NEural COgnitive Robot,即神经认知机器人。

当然,我们也在思考光一个大脑能否产生智能,目前普遍的说法是不行,所以光放入大脑是不行的,还需要很多传感器一起产生作用,因为在这个大闭环中,需要先获取外部的信息,经过大脑神经网络处理,最后到执行机构,然后再回到感知系统获取信息,是一个不断判断、反馈到抉择的过程,也就是产生智能的过程。 

神经认知(计算神经)的研究内容

我本身是做机器人的,但为什么当初会愿意加入这个神经认知组呢?我们感觉机器人发展到现阶段,算法是不足以支持我们对机器人的想象空间的,即使不断堆砌工程师,机器人能达到的智能水平也只是一个有限值,而神经认知学的方法有可能从根本上改变现下机器人智能低下的状况。 

神经认知学的整个体系有两个大的分类:微观的神经电路和宏观的人工智能。

对于微观的神经电路研究,大家是想研究模拟神经比较基本的规则,包括我们研究Synapse(突触)是怎样激发的,我们希望把一个神经元的模型做好,然后慢慢堆砌,当数量级达到一定程度的时候,也许系统就产生智能了,当然这也只是一种猜测。另外,人类的神经元实在太多了,所以我们会根据认知心理学做分类,包括Memory Coding(记忆编码)、Associative Memory(记忆关联)、Synaptic Learning(突触学习)、Neural Coding(神经编码)、Episodic Memory(片段记忆)。

从宏观的角度来说,我们希望在机器人上体现出智能,也就是说我们在研究机器人的时候不是特别在意内部怎样实现的,或者说当整个系统应用在机器人上的时候,我不关心你在生理级别与生物系统的类似性,我们只关心机器人体现出应有的智能。对于机器人的智能,我们 强调对环境的适应性,也就是对不同环境是否能够适应。

神经认知学及其在机器人学科中的发展简介

在这里介绍几位神经认知学或是机器人学研究领域比较有代表性的人物,也是代表着神经认知学在机器人应用上的发展。Edward Tolman是早期的心理学家,研究了很多认知相关的内容,所以他算一个认知心理学方面的专家,非常有名,主要是提出了空间认知地图的概念,不过已经过世了;Gerald Edelman 应该在2014年刚刚过世,我在神经认知组的时候参考了很多他的研究,他也是BBD(Brain-based Device)的提出者;做视觉的同学应该对Tomaso Poggio 比较熟悉,他是Hmax的创始人;Michael Milford 是做RatSLAM 的,也是我最为熟悉的。

这几个人的工作好像没什么关系,又是地图,又是BBD,又是视觉的,在这里也就不每个点都详细讲了,我就按照我们组为什么要去研究这个东西、我们是怎么想的这个思路来讲下。

一系列的神经认知机器人——NECO

我们当时做机器人,想法很简单,因为神经认知学试验刚开始大家都用老鼠,各种各样的迷宫里,给它们一些食物,研究它们的行为,所以我们就在想是否可以用机器人替代这只老鼠,把神经认知模型放进机器人里面。这也是为什么唐华锦教授当初要让做机器人的人加入他们神经认知组,而且他们其实主要偏向于计算神经学。我们去了之后,最开始就找对照模型,就是前面提到的心理学家Edward Tolman 在1940s年做的一个实验,让一个老鼠在一个十字型迷宫里(上图图左),我们是放了一个机器人进去(上图图中和图右),机器人可以看见墙上我们给出的landmark(地标),从而对环境做出判断,最终它的任务是找到奶酪。

这些也是我们做过的实验,机器人在实际环境中的应用,看机器人是否能适应各种不同的环境。

最初的认知机器人概念——类脑芯片的架构

这是我们对第一个十字迷宫做的类脑芯片的架构,首先要对空间有简单的感知,但这个空间只是一个十字型,所以我们只需要对几个选择有一个选择性,相当于机器人在空间的认知只有四个点,只有四个方向,所以只有四个选择。另外,我们需要机器人认识一些物体,因为用的是视觉方案,所以我们需要了解在记忆中是如何表达的,而不是传统的比如我看下颜色做二制化,然后与颜色模板进行匹配得出一个结果,我们是用整体图像做输入,给它一个记忆表达,然后会有神经连接的强化,促使输出。机器人最后得到的系统输出值,其实是在整个系统四个神经元里面选择一个神经元,这个神经元的输出就代表一个方向,会命令机器人转到某一方向。

这个架构是用神经认知的模型,部分架构用的是机器人工程化的方法,这个方法也是贯穿了我们那几年的研究,我们认为神经认知学难以解决的部分,就会用机器人工程化的方法去替代。当然,当神经认知模型比较成熟了以后,这部分也是可以替换的。

雷锋网按:接下来内容涉及到大量理论知识,嘉宾讲解了BBD、HMAX 、空间认知地图以及RatSLAM 的理念,文字难以描述,雷锋网直接附上PPT,感兴趣的读者可以观看上面的视频,此部分内容可在33min开始观看。

未来的工作

Behavior learning(行为学习):这是我们一直想实现的机器人功能,就是说我来教,它来学。能将学到的东西做举一反三。

Active and lifelong learning(主动和终生学习):像教小孩儿一样教机器人。让机器人从没有任何知识表达的存储就开始学习,以现在机器人的技术来说,是没办法实现的,所以未来需要借助于神经认知学。

Neuromorphic(神经形态学):人类大脑内所有的神经元最后都是将我们所看到的信息转化为电信号,整个神经系统是一个大的电路,Neuromorphic 的工作就是模拟神经元的连接,前面一个神经元的信号传过来,如何激发后面的神经元,形成一个大型的并行电路,再把每个部分的Neuromorphic 的芯片连接到执行机构上,形成一个与大脑神经架构类似的电路,这个时候我们可以做或者说只能做端到端的学习,现在深度学习非常喜欢讲端到端的学习,而人本身就是一个端到端学习的案例,我们自己的神经系统放上神经认知学,换上Neuromorphic 的芯片,这是一个很顺畅的逻辑,也是我们未来的工作,现在还是觉得比较远。

Q&A 环节

雷锋网读者:目前在研究中遇到最大的难点是什么?

田博:因为我本身是做机器人的,做神经认知研究后关于神经学的概念刚开始理解起来会比较吃力,因为是跨学科、强交叉,可以说在第一年我大量阅读Science、Nature 的文章,与我本身工作背景差异非常大,所以是非常吃力的。如果你是学工科的,想从事神经学的研究,这个坎儿是一定要过去的。CMU的机器人所和匹兹堡大学神经所有一个联合培养的人才项目,世界上最知名的研究机器人的学校也意识到传统的方法无法解决我们想解决的机器人问题。所以最主要还是客服跨学科的问题,跨过这个坎儿,后来就越来越顺了。

另外,就是神经的模型这块,因为我们得到的神经模型是神经学家从动物上经过表述过来的,这时候我们需要将计算模型翻译成程序,再把程序放在机器人里面,这个工作量相当大,从理论到实践,中间要做假设和测试,相对来说是比较累的。

雷锋网读者:目前在应用上有哪些走在前面的企业和产品?

田博:基本上还是大企业,IBM有一个类脑芯片TrueNorth,还有一个叫DVS的摄像头,这些摄像头我觉得最有可能最先应用的与Neuromorphic 相关的产品,对于机器人来说,我是觉得还有点难,当时研究的东西直接应用是非常困难,但是主导思想是非常关键的,会让我们在产品开发时,架构是合理的,但直接应用是非常难的。

雷锋网读者:神经认知学与意念控制是同一概念吗?

田博:不是,这个我非常肯定。就我自己的理解,意念控制大多偏向于EEG,主要就是获取脑电信号,包括康复机器人就是获取运动信号,然后让机器人带动你的肌肉运动,这个和神经认知有着根本性的区别,我们做神经认知是希望模拟神经活动的原理,而EEG希望扑捉神经的一些现象从而进行应用,所以简单来说,神经认知是一个更加根本性的问题,和意念控制还不太一样。

雷锋网

AI在金融风控领域的工业应用 | 硬创公开课

高风险、高收益是金融行业永恒的标签。也因如此,金融行业非常重视风控。据多位资深金融人士表示,从事风控后,他们总是处于战战兢兢的忧虑中。他们上一次大规模的忧虑发生在十几年前。世纪之交的美国缺乏对于风控意义的认知,明明借着互联网的东风却在半途摔了个七零八落。

新科技的出现必然会对原行业产生一定影响。技术无所谓利弊,问题在于人的使用。在风控得到足够重视,AI成为最热门科技的现在,诸多从业人士不由得开始思考AI的应用价值,如何将AI与风控相结合并发挥出其积极作用?

本期雷锋网公开课邀请到氪信资深数据科学家朱敏来分享他的从业经验,深度讲解如何构建基于AI的金融风控系统。

嘉宾简介:

朱敏,氪信资深数据科学家,深耕应用统计和数据挖掘领域。复旦大学生物统计学硕士,曾任职PayPal高级分析师,负责核心风险控制数据变量、排序策略、评价指标的设计研发,并在反欺诈策略、行为特征等方面拥有丰富的研究经验。曾任职eBay数据分析师,负责AB测试与搜索算法的评估。多年以来专注金融统计和风险评估算法研究,在互联网级别的机器学习算法和统计理论商业应用领域有着丰富的理论研究和实践经验。

以下是本次公开课实录,雷锋网做了不改变原意的编辑:

今天给大家分享的主题是AI在金融风控领域的工业应用,我主要负责数据和模型,所以今天的公开课除了分享宏观想法,在具体实践方面也会比较偏模型和数据。其实这个主题是非常大的topic,所以会聚焦到金融尤其是消费金融领域,阐述我们氪信是怎样利用互联网、机器学习和人工智能技术和经验去解决实际问题的。

金融AI时代已到来?

首先我想跟大家分享三个数字——40万亿消费信贷、35%征信覆盖以及44ZB数据。

有资料显示,2019年中国的消费信贷市场会达到40万亿,而在2015年这个数字还只是20万亿,这几年都保持着很高的增长速度。我们可以看到市场规模很大,并且在不断变大。 

而征信覆盖率并没有保持与市场规模的同步。第二个数字是35%,这是指消费金融领域只有35%的客户是有征信记录的,剩下65%没有信用记录,所以并不能用传统、成熟的风险评估方法去评估这些人的风险。

第三个要分享的数字是44ZB。对于65%没有传统征信数据的这类人,我们可以收集其他相关数据去评估,这相关数据可能是申请资料、互联网使用记录、通信记录等。而由于现在硬件的发展、数据收集的自动化,我们是可以收集到很多数据的,这个数据量也很庞大。大数据一方面是好事,另一方面也是一个难题,例如怎么运用一些技术手段从大量的数据中提取信息。而我们觉得消费金融是切入AI商业场景一个很好的契机。

大数据时代金融风控之痛

大数据时代金融风控市场规模大,需求旺盛,但要解决的问题很多。

从技术层面上来讲,有三个问题。

  • 第一是价值困境,虽然已经意识到了大数据的价值,但不知如何实践,怎样从数据中挖掘出有用的信息。

  • 第二是高维困境,对于65%未被传统征信覆盖的人群来说,他们的特征维度非常高,往往会产生上千维变量,那么该如何处理高位特征,如何将其有效融合,形成1+1>2效果?

  • 第三,敏捷困境。在人工智能和风险评估不断发展的同时,我们的敌人的欺诈演变速度也非常快。一旦发现了业务上的一个漏洞,它就会去钻模型的缺陷,利用缺陷来达到利益最大化。而单一的个体欺诈也正在演变成有组织、有规模的群体欺诈。

从战略层面来说,以上问题带来的后果是风控决策低效耗时,员工成本会很高,坏账率则更高。在金融场景里,一定需要人工智能、机器学习去帮助解决问题。

构建基于AI的金融风控系统

上图展示了一个理想的基于AI的金融风控系统。从左往右讲,我们一开始会去收集各个层面的数据源,这些数据源里包括交易数据、高价值黑名单,这些都是比较常见的传统信用数据。此外,我们也会搜集互联网行为、运营商数据、信贷申请资料等。

不同的数据源融合到一起的时候也会借鉴知识图谱技术,在知识图谱之上再去构建高价值金融属性的特征。

数据融合后有上千维度特征,接着我们会做一个基于深度学习的特征加工工程。再下一步是构建模型,这里列出了一些非常主流的机器学习、深度学习模型,像XGBoost或者是深度神经网络,这些模型再加上已经加工出的高价值金融特征,我们觉得这样就可以解决实际金融风控当中会遇到的问题。

而在解决问题过程中,经验会被抽象化,所以我们也会把这些经验转变成一个产品。上图列出了几个风控引擎,包括把刚刚提到的金融特征做成特征引擎、模型引擎、规则引擎,这些产品会帮助我们更好地积累数据,也更好地把已经积累的经验应用到更多场景中去。

接下来的内容也会按照这个模型来讲,首先是数据管理,关键字就是金融的知识图谱。第二部分是基于深度学习的特征工程。最后是集成模型,就是我们怎样把这些数据特征构建成一个分类模型来帮助我们判断。

知识图谱:重新定义金融数据架构体系

首先看知识图谱。知识图谱是谷歌在2012年5月发展出来的可以将搜索结果进行知识系统化,任何一个关键词都能获得完整的知识体系。本质是一个语义网络,是一个基于图的数据结构。在知识图谱当中,实体会被表示成一个节点,节点和节点之间会用关系来连接,所以这个构造方式和传统关系型数据网络是完全不同的。

在金融场景里,相比于传统的关系型数据库,它存在一些优点。

首先,金融知识图谱可扩展性更强。我们收集到的数据源无论是从结构上还是内容上来说,其实都有很大差别。如何管理这些不同结构和内容的数据源从来就是关系数据库一个大问题。

但是如果把所有的数据和知识都表示成知识图谱可以接受的结构,我们就可以把异质异构的数据统一融合在一起。无论是新的数据源变化,还是原有数据源的数据结构发生变动,都可以灵活地调整。这个灵活也是基于知识图谱的特点,无论是对于节点还是对于关系而言,增加或者更改它的属性都是非常灵活的。

从上图中,我们可以看到在金融风控中用到的数据还是很多的,包括历史积累数据、实时数据、第三方数据。分类方法当然有很多,但无论是怎么去看数据格式、结构都会完全不一样。

如果构建到统一的金融图谱当中去,对于下游的特征加工和模型其实会有很大帮助。对于数据库某一个数据结构的依赖就不是那么强,我们只要优化金融知识图谱的知识结构,工作中的相关问题都可以得到解决。

基于知识图谱的社交网络分析

金融知识图谱的第二个优点从上图中就可以看出来,知识图谱比较直接。用户面对的关系型数据库主要是表。而知识图谱可以将这些关系构建成图,更加可视化。 

反欺诈是很重要的一点,在反欺诈中我们经常会做交叉验证。一个用户有来自不同数据源的特征,如果它们描述的是同一件事情,那我可以去对它们做一个验证。如果这个进程中出现了矛盾,我们会觉得这个人的风险等级偏高。我们设想了一个场景,在这个场景下单独个体的数据源比较单一,在这种情况下,交叉验证是根本没有办法发现矛盾的。而知识图谱可以帮助我们。

上图两个例子印证了知识图谱的可视化和表现力。先看左边,我们要去判断这幅图中蓝点这个人的风险等级,我们能够拿到此人相关的信息有手机号、邮箱等。从这个个体的单一信息上面来看,其实很难判断他的风险等级的高低,但是如果我们把他置于一个网络,比较个体和个体的话,我们会发现一个有意思的地方——他的邮箱和好几个其他个体的邮箱是相同的,并且这几个人在我们的判断中已经是坏人,那么对于这个申请用户风险等级也就有了一个判断。

右边还有一个判断用户风险的例子。如果只看他的手机号或者邮箱,目前比较成熟的方法是去看邮箱是不是乱码注册的或者其他。而把他置于网络中后,我们会发现他的手机号和很多用户的手机号都有联系,并且都是单向的联系。那这个其实是很明显的特征——骚扰电话,类似中介或者是广告骚扰。基于这一点,也可以形成对于这个人的风险等级判断。

这两个例子都很好展示了知识图谱能够包含更多的信息量。这个信息量是可视化的,如果有专家人工去看这些案例的话,会从中找到一些特征来判断这个人的风险等级高低。而在一些先进算法的作用下,可以自动地从社交网络中发现一些特征,自动判断哪些是好人哪些是坏人。

深度学习:超越人工定义的深度以穷尽风险

接下来讨论一下特征。数据量大,维度很高是消费金融风控必然会遇到的实际问题。此外,还会遇到很多非结构化数据,例如文本、图像等。这些都不是传统征信会遇到的问题,而这在深度学习领域会有一些很成熟的应用。

深度学习的本质是特征学习的过程。对于人工难以加工的海量非结构化数据,基于深度学习的特征生成框架自动生成特征,能够弥补人工定义特征的局限性。

DNN文本类数据特征提取框架

首先说文本类数据特征提取框架。 金融风控过程中其实会遇到很多这样的非结构化数据,比方说申请资料的文本信息,或者是经过授信和合规要求的通讯文本。对于这些文本的分析,NLP领域其实已经有一些很成熟的技术,比如说CNN。而在金融场景中也能提取一些特征。如果这些特征能进入接下来的分类网络中去,它也可以去学习到好人或者坏人的特征。

实践的第一步是文本数据预处理,提取分词或者是关键词,并将每一个词做向量化的表示,然后这些向量化表示会进入一个卷积神经网络,并从这个卷积神经网络中去提取特征。下一步,这些特征会进入一个全连接的神经网络去学习分类,做成分类器。 

此外,嵌入学习在其中也展现了很大作用。虽然我们用小规模文本库去学习词向量来做特征也不是不可以,但是我们发现如果使用业界比较成熟的大规模语料库,能提升特征提取的性能。

DNN时序类数据特征提取框架

另一个例子是时序类数据特征提取框架,一句话来说就是,合并学习不同周期和时序模式的循环神经子网络,有效捕捉时序数据的特征隐含信息及不同时序模式下的协同影响 。

在实际中我们会遇到一些问题,比如并没有那么大的工作量去了解每一块的数据具体是什么样子的,分布是什么样的, 特征可以怎么提取。所以时序类的特征其实可以借鉴深度学习里的长短时记忆技术来做相同的事情,去做时间序列的分析。它主要考虑就在NLP里,用在文本比较多,就是说上下文之间是有关系的,根据这样的关系来构建一个提取特征的网络,我们把这样的思路借鉴到了通讯记录或者是交易记录当中。

在实际应用中,时序类特征可能是通话记录或者交易记录,所以它的特征不只是在一个阶段面上去提取,还在时间轴上去提取。金融场景中,我们把通话记录分成了不同的周期,按照不同的周期构建了三个LSTM子网络,并且会对这三个时序模式LSTM子网络做一个混合, 这样能大大减少时序数据分析和提取特征的工作量。

融合机器和专家经验,实现全量价值提取

这里还要提到一点,虽然刚才一直提深度学习特征,但是专家的特征也很重要。我们会融合机器和专家经验,实现全量价值提取。因为我们相信专家多年积累下来的成熟的风险评估方法也很有效。基于深度学习的特征智能生成框架,使用不同网络结构拟合不同的数据类型,自动从庞杂、非结构化的数据中生成高质量的深度学习特征,并且与专家人工特征结合共同融入模型。融合特征才会交给下一步模型去学习。

集成模型:最大化AI与现有业务的结合深度

前面已经说了数据和特征,现在说集成模型。

集成学习模型的优势表现在两点:

  • 不同维度/领域的数据具有不同的特点 ,需要使用不同的建模方法,集成学习框架可以支持不同类型模型算法作为子模型。集成模型成果已经很多,所以用集成模型会帮助提高模型的性能是毋庸置疑的。

  • 此外,在实际做金融风控的时候,从一个用户的角度来讲,我们能看到很多金融产品,例如分期产品或者消费金融产品,不同产品额度上也会不同,客群不同,获客渠道也不同(线上获客、地推获客)。面对不同的业务方式时,我们最终要抓住的坏人也是完全不同的,所以这要求我们构建不同的模型。那么这是不是要求我们面对不同业务场景都要从零开始去做数据、特征、建模呢?

    并非如此。单独领域的子模型可以快速迁移应用到新业务领域,实现快速成型和持续优化。

这在实践中最好的应用就是冷启动,对于一个新上的业务,所遇的坏人与以往的业务是完全不一样的,坏人所采取的欺诈手段也是完全不同,但是因为用了集成模型,有些特征、数据、模型经验都是可以借鉴的,这会有很大的帮助。

集成学习模型在大型现金贷场景的实际应用

上图对之前的内容做了一个汇总。数据有结构化、非结构化之分,并根据不同数据的特点进入不同的特征提取框架。和关系比较近的数据,用网络关联特征的方法去提取;有些数据是文本、图像,用卷积神经网络的方法去提取;时序类的数据,用LSTM方法去提取特征 ;还有专家人工特征提取框架。

综合特征提取框架,综合评估产生三种风险评分:行为风险、社交风险、语义风险。 

  • 社交风险其实主要是从网络关联特征体系框架这一块延伸上来的。

  • 行为风险主要从互联网的行为、运营商这一块延伸上来。

  • 语义风险主要从申请资料、通讯文本两方面来评估。

最后根据这三块风险做一个集成模型,然后给出违约概率。

集成模型能提高性能,氪信之前将集成模型应用到大型消费金融场景中。他们之前的风控用到的特征也不多,判断模型的分类性能的 KS值指标也比较一般。在和我们合作后,运用了刚才提到的技术和框架,模型的性能提升还是非常明显的,KS值从0.19提升到0.35。从业务来看,他们的坏账率直接下降了46%。

基于网络的反欺诈应对线上群体欺诈

接下来再说说基于网络的反欺诈。举个虚假申请的例子。

某个人通过篡改个人资料,提出贷款的申请,这个可以通过交叉验证来判断此人的风险等级。

但是在另一个场景,比如有人申请资料时,用的完全是张三的资料,因为张三的风险评级很安全。这种情况下对于金融这风控机构而言,评估是比较困难的。如果没有人工介入,这个人的风险评估都是基于张三的信息来做的。对于这种虚假的申请,若只根据个体的资料去判断,难度是相当大的。但是把他放到社交网络中情况会不同。不同的人共享了相同的属性或者相同的资料,那么我们就会有风险的疑虑。

还有群体欺诈。这主要是说在时间或者空间上的高频率焦点,或是高频率申请。一个简单的例子,我们发现申请资料的数量大得超出历史,然后这些申请资料,比方说手机定位的位置都来自于同一个地区,如果能排除线下获客的可能,这会是很奇怪的一件事情,存在很高的群体欺诈风险。

 

前面也已经提及了两个社交网络中交叉验证的例子。这里展示的是网络反欺诈流程。

首先收集数据,然后构建网络,基于这样的特征进行社交网络分析,构建反欺诈的规则。当然也会把这样的可视化展示给专家,专家会从可视化的社交网络中发现一些规则,然后利用这些规则去做早期反欺诈预警,包括把这些规则当作一个特征放到反欺诈模型当中。 

一方面,社交网络分析可以去做规则、模型,另一方面是它的可视化可以帮助我们融入专家的力量。所以这将构成一个闭环。我们从网络当中学习到了特征、运用的规则,专家会从规则当中获得启发,并提出新的规则,规则反馈给网络,告诉网络什么关系是值得怀疑的,这会是一个良性的循环。

我的分享就到这里,谢谢大家。

雷锋网公开课视频实录    

雷锋网

解读狼人杀虫洞连麦技术 | 硬创公开课

今年,最受欢迎的游戏当属狼人杀,据不完全统计,截止到现在已经有40多款狼人杀APP上线,热度毫不逊于如日中天的视频直播市场。

事实上,狼人杀与视频直播一样,也是高度依赖语音视频技术的应用,但前者对产品的互动能力的要求比后者更高。语音互动是狼人杀游戏当中的重要环节,但资深玩家肯定知道,很多排在前列的狼人杀APP即使在复盘讨论等社交环节,也不能让用户同时发言,更不要说相互能看到视频了,这大大影响了产品的用户体验。

从目前的趋势来看,越来越多的产品开始使用多路连麦技术来解决这一问题。然而多路连麦技术仍然存在很多挑战,例如如何解决跨网传输问题?如何在复杂的网络环境中降低延迟?…

雷锋网了解到,即构科技为狼人杀的特定应用场景量身定做了一项名为“狼人杀虫洞连麦技术”的语音视频通讯云计算服务。那么,这一项技术的核心是什么?解决了什么痛点?如何进行验证?

本期硬创公开课邀请到了即构科技市场运营总监冼牛为大家深度解读狼人杀虫洞连麦技术。

嘉宾介绍

冼牛,即构科技市场运营总监,资深技术人,市场营销新兵,客串投资顾问,骨灰级游泳者。北京邮电大学计算机硕士,香港大学工商管理硕士,一直秉承人丑应该多读书的理念,读书不断。2008年起旅居香港至今,2015年回流深圳南山创业,服务过爱立信香港,摩根大通香港,和分期乐集团等老东家。

2002年北邮硕士期间开始钻研视频会议,现深耕语音视频云服务,直播技术应用和直播行业研究。

以下内容整理自本期公开课,雷锋网做了不改变愿意的编辑:

顾名思义,狼人杀虫洞连麦技术是为狼人杀应用量身定做的一款产品,连麦技术不是新鲜的技术,在2016年网络直播元年,就已经被很多一线的直播公司应用。

2017年,狼人杀引领了一波新的浪潮到来,这款应用的直播技术也因此发生了一些变化。今天主要讲的是狼人杀虫洞连麦技术的系统结构以及它能为狼人杀这种场景解决哪些痛点。

背景

我们可以从两个维度来比较市面上的狼人杀游戏:1)有没有视频;2)能不能同时说话。

从市面上主流的狼人杀游戏的比较中可以发现,有些只支持音频,比较少能支持视频,有些只支持单向的语音,比较少能支持连麦互动。

参考去年直播行业的发展趋势,请允许我断言,今年乃至明年狼人杀会把直播行业发展成熟的语音视频技术继承过来,并且结合本身的应用场景,发展出更多丰富的玩法。

目前,狼人杀的产品形态主要是游戏环节,同时在探索复盘讨论环节的玩法,甚至还有才艺表演等更多的玩法。后两种玩法包含更多的社交元素,对语音视频互动有更高的要求。

在游戏环节,通过单向的语音视频通讯技术就可以实现;在社交环节,对语音视频互动技术的要求甚高,必须要有多路连麦技术才能获得良好的用户体验。

技术痛点

目前,狼人杀类APP存在以下技术痛点:延迟大、无连麦、无视频、语音失真、卡顿不流畅、和语音有回声等。

延迟比较大可能因为目前的狼人杀类APP主要是采用单向音视频通讯,拉流端直接推流到CDN网络,然后拉流端直接从CDN网络拉流,一般的延迟会大于3秒。

狼人杀包含游戏环节和讨论复盘环节,甚至才艺表演等环节。在游戏环节中,用户轮流发言,发言之间会需要思考时间,因此还勉强可以玩,但是用户体验比较差。

在讨论复盘环节甚至其他社交环节,用户会同时发言,而且要求能看到其它用户的视频。在这种应用场景下,这么大的延迟会成为狼人杀类APP往社交化发展的绊脚石。

另外,很多狼人杀游戏中,卡顿不流畅,背景噪音,语音失真、回声的问题都是普遍存在。

失真有可能是因为回声消除和噪音抑制过度造成的。卡顿可能是因为在语音网络传输的过程中处理得不好,丢包或者抖动等网损都会造成的,也可能是因为终端设备解码和播放处理不流畅而造成。

解决方案

要在语音视频通讯中获得超低的延迟,就要在网络中找到最短最优的传输路径。

在网络中,从A点到B点最短的距离,我们借用宇宙学中的概念,把它叫做网络上的虫洞。

狼人杀虫洞连麦技术所做的就是通过一系列的策略和算法优化各个环节,配以优质的网络资源,绕开网络拥塞、穿越物理距离,选择最优网络路径,实现超低延迟的连麦互动。

即构的狼人杀连麦解决方案可以在超低延迟和流畅的基础上实现语音视频连麦互动,让身处世界不同角落的用户,感觉就像是在面对面对话一样玩狼人杀。回声消除,噪声抑制,和自动增益控制等痛点都得到有效的解决。

在图中,左边显示的是即构的客户美播直播的9路连麦的场景,最右边是12路连麦的场景,中间是使用即构狼人杀虫洞连麦SDK开发的贴近狼人杀应用场景的DEMO,按住按钮就可以显示视频同时说话。

连麦的流程

狼人杀连麦和直播连麦的流程是类似的。图中深蓝颜色代表的是终端和业务层的逻辑,浅蓝色代表的是服务器端的逻辑。

首先是第一主播先发布直播,把流推到服务器,然后服务器再流转推到CDN,普通用户再从CDN拉流。这一过程是单向的音视频通讯,并没有连麦互动的。

然后第二主播向业务服务器申请连麦,业务服务器再把这个请求传递给第一主播。通过业务服务器,连麦双方用信令完成了连麦的申请和应答。

两个主播连麦时,可以相互看到对方,所以拉流和推流都必须在媒体服务器,因为媒体服务器网络资源更好,而对于处于观看模式下的观众则可以采取低成本的方式,即从CDN拉流。

另外,从图中可以看出,整个传输和处理环节可以分为三个部分:推流端、拉流端和云端。

推流端包括采集、前处理、编码和推流,采集是推流端的麦克风或者摄像头采集音视频的数据,前处理包括音频变声、视频滤镜等。推流可以推到云端或者CDN,在云端会做混流、转码工作,随后就是分发,把流分发到CDN网络然后推到边缘节点,让观众端拉流。

拉流端和推流端的过程是相反的,拉流后进行解码,然后做后处理、渲染。

在图中,左边处于连麦模式的用户在进行连麦互动时,语音视频、信令全部是经过媒体服务器集群,右边是不需要连麦的用户,只需要从CDN网络拉流。

系统架构

连麦模式的用户接入到连麦模式的服务器集群,这些服务器的计算资源和网络资源比较优质,而且在算法策略上做了很多工作,可以获得比较低的延迟。连麦模式的服务器集群包括语音视频服务器集群,信令服务器和调度服务器。语音视频服务器集群负责语音视频流的转码等处理,信令服务器负责信令的同步和通讯,调度服务器负责网络资源,计算资源,存储资源,和流量等的全局调度。

中间是混流服务器,它支持旁路混流服务,从语音视频服务器集群拉取多路单独的语音视频流,然后进行解码,音画同步,混流,然后在重新编码,最后推送到CDN网络。

聆听模式的用户要看这些语音视频,可以从CDN网络的边缘节点拉流播放。混流服务器加上CDN网络提供了旁路直播的服务,虽然一定程度牺牲了实时性,但是可以维持相对比较低的成本。

语音视频终端

语音视频的连麦涉及到了三部分内容:终端的处理,包括回声消除、噪音抑制、音量自动增益这些语音前处理部分;在网络传输上,为了对抗网络损伤必须要配置三个模块,抖动缓冲、前向纠错、丢帧补偿;另外还需做到兼容性跨平台,安卓手机稂莠不齐,在安卓的兼容性上需要花很多功夫。

语音前处理:回声消除具有挑战性,当两个用户对讲的时候对技术要求很高,这需要看对讲时语音的通透度,语音消除本质就是参考远端信号把近端的回声处理掉,处理后可能会有两个问题,如果处理过度会造成语音失真,如果处理不够则会导致一部分回声没被消除。

噪音抑制:也有同样的要求,在没有噪音的时候需要尽可能的把语音保护好。传统的降噪的做法是通过分析背景噪音的强度和频谱分布,分析用户的声音的频谱,然后根据分析的结果建模模型,构建一个滤波器;这个滤波器能区分用户的声音和背景噪音,把噪音频段外的声音予以保留,把噪音频段内的声音能量降低,最终的效果就是抑制了噪音,让用户的声音更加清晰。

音量自动增益:主要在两个场景中发挥作用,一是在嘈杂环境中,它能自动调整麦克风的音量,增强有效的声音信息;另外,如果用户离麦克风较远,拾音效果会调整得比较好。

自适应复杂网络:包括三个模块:抖动缓冲、前向纠错、和丢帧补偿。网络抖动是不可避免的,抖动会导致数据的损伤,为了对抗抖动需要在算法上做一系列的处理,及适当地增加延迟,让抖动变得比较平缓。

前向纠错:用空间换时间,一次传送多个冗余数据包,就算丢包丢到20%-30%,接收方也可以把有效数据恢复,但是数据量是变多了,占的带宽也会更多。前向纠错和丢帧补偿一般结合起来互补使用。

丢帧补偿:用时间换空间,如果传一个数据包没接收到,就通过一定的智能策略来重传,由于每次传输的数据不包含冗余数据,因此占的带宽资源比较少,然后由于可能要多次重传,因此花费的时间也会比较多。

兼容性:主要体现在安卓设备上,因为安卓手机中低端的机型很多,在声学的设计上不太合理,扬声器和麦克风会出现耦合,这就会导致声学的算法在这些设备商运行的效果不好。即构的做法是尽量调用底层C接口,而不去调用Java接口,抹平设备之间的差异,以实现兼容性。

跨平台:现在一般采用的是QT开发框架,它开发的一套代码可以同时跑在Windows和Mac上。QT开发框架还不完美,开发出来的代码在Mac上跑还多多少少会有些问题,需要花时间去发现和修正。

语音视频云端

云端主要考虑五个要素:海量并发、全网覆盖、热备容灾、QoE保障、扩容能力。

海量并发:要做到海量并发系统架构必须是分布式服务器群,每一个节点能感知周围的网络环境,把信息上报给调度服务器,调度服务器对全网的网络资源,计算资源,和流量资源进统一调度和负载均衡。

全网覆盖:采用多个核心机房覆盖主要城市,在偏远地区采用多节点代理,把请求转发给核心节点处理,这样能做到全网覆盖。

热备容灾:采用多个公有基础云服务,不同的公有云之间相互热备容灾。

QoE保障: 跨运营商网络传输是瓶颈,即构在所有接入点都采用BGP,确保接入的质量和不受跨网瓶颈的影响。;

无上限扩容:随着用户规模的增长,即构能为客户进行无感知无上限扩容,免除扩容过程中的成本和对用户的负面影响。

难点1:低延迟

连麦互动最基础的需求是延迟要低。一般情况下要做到300-500ms左右,才能有好的互动体验。

以这张图为例,推流端在北京,拉流端有两个用户(一个在广州,一个在深圳),这三个玩家在玩狼人杀游戏的时候,音视频的推流要传到广州和深圳,可能会经过武汉或者宁波。

要做到低延迟的话,首先要有好的基建,另外需要选择最佳路径,第三个策略就是要在每个环节(采集、前处理、编码、推流、混流、转码等)做到最优。

难点2:混流

目前市面上混流的选择有三种:一种是在推流端进行混流,第二种是在拉流端进行混流,第三种是在云端进行混流。

推流端混流:把和推流端连麦的其它用户的音视频流汇集在某一个玩家手机上,在手机上进行混流再转推到CDN上,这种成本很低。

拉流端混流:拉流端拉多流,然后进行混流,最后在终端设备进行渲染播放。

云端混流:所有连麦用户的音视频流汇集到云端,把多路音视频流混合成一路音视频流,然后转推CDN网络。

云端混流是推荐的做法,它能借用云端的能力:稳定而且充足的网络资源,计算资源,可扩展性,和运维能力

例如上图显示的,三个主播向语音视频服务器集群推流,然后进行连麦。连麦客户端必须从媒体服务器拉单独的多路流,这样才能保证低延迟,

旁路服务器还会从语音视频服务器把单流拉出去进行混流,同时保留多路流,给观众端保留两个选择,可以拉混流也可以拉多流。

如果要节省成本,就把混流转推到CDN网络,观众从边缘节点拉混流;如果要让观众获取好的体验,也可以拉多流。

难点3:回声消除

这张图描述了回声消除的基本原理。

下行信号传过来,通过语音终端扬声器播放,这个声音也会被设备的麦克风采集,所以麦克风采集到的声音包含用户有效的语音,还包括扬声器发出来的回声,这时候就要把回声和有效的语音分离。

分离的前提是要有一个参考信号——下行信号,虽然经过扬声器播放下行信号和回声会有差异,但二者是高度相似,简单来说回声和下行信号存在一个函数关系。

回声消除的本质就是把这个函数解出来,通过AEC再把回声消除掉。

测试方法总结

在这些技术条件都满足后,上线之前,需要做一系列测试。

语音视频测试的影响因素包括:

1)语音视频参数设置

2)网络环境

3)移动终端

4)声音环境

而具体评估指标包括:

1)延迟情况

2)卡顿情况

3)连麦路数

4)自动增益控制

5)噪音抑制

6)回声消除

一般来说,测试方法有两种:第一种是比较客观的测试方法,例如使用消音室;第二种是主观测试方法,测试人员的样本数目要多到具有统计意义。

这两种方法对于互联网创业团队的实操性不够强。这里推荐第三种实操性比较强的测试方法,可以由互联网创业团队因地制宜来操作。

1)设定不同的语音视频设置;

2)真实网络的环境,和使用网损模拟设备来模拟各种网络情况;

3)跨国家地区,跨运营商网络,还有不同的接入方式;

4)各种移动终端设备,重点是安卓手机,按照出货量排行,充分覆盖各种安卓机型。

总的原则就是,首先要贴近用户的场景,接着要覆盖影响因素的组合,然后是关注核心评估指标,最后是方案必须是团队容易实施的。

精彩问答

Q:在网络状况比较差的情况下,有没有比较好的降低延迟的办法?

A:网络状况差在传输层面表现出来的问题就是延迟比较大,和丢包率高。

要做低延迟的话会面临协议上的选择:标准RTMP协议还是UDP私有协议。无论是标准RTMP协议还是UDP私有协议,即构科技都做到了网络自适应,实现了稳定的低延迟和流畅的效果。

RTMP的优点:标准协议,业界公开透明,更加开放、可控、和可替代;天然支持和CDN对接。

RTMP的不足:在大方面受限于网络底层的拥塞控制,在个别网络极端糟糕情况下延迟会增大;RTMP标准协议对流控等没有端到端双向支持,恶劣情况下效果保障会比较复杂。

使用UDP私有协议,即构实现了端到端全链条可控,包括流控码控、冗余和重传等等,对抗恶劣网络更有保障。即构专门支持了把私有协议和格式转换成RTMP标准协议和格式,可以转码推向标准CDN等第三方服务器。 

Q:跨地区、跨运营商如何实现?

A:要解决跨网通信的瓶颈的话,必须在接入的时候使用BGP,虽然成本会增加,但能够有效解决跨网问题。

跨地区的话,需要设计好分布式的网络架构,用优质的节点资源去保证全面覆盖,要有调度服务器进行全局智能调度。

Q:即构科技的方案最多可以支持几个人的视频互动?具体方案和视频直播有什么区别?

A:即构的狼人杀虫洞连麦技术在移动端最多可以支持20路,在PC端最多可以支持32路,目前有客户在用。

狼人杀技术方案和视频直播技术方案的区别还是很多的,这里只提一个点:狼人杀对超多路语音视频连麦的需求会更大,12路连麦是最基本的需求,连麦互动的频率会更加强;

而视频直播对超多路的连麦需求不会太大。因此,即构科技在技术上会对狼人杀超多路连麦和强互动的需求作出全面的支持。

Q:音视频编解码这块,即构的方案有什么特点?

A: 音视频的解码器,音频是AAC,视频是x264。在这个基础上我们做了两个事情:1)音视频编解码器的深度优化;2)音视频编解码器的智能调度策略。

(雷锋网此前也针对多路连麦技术做出了解读,欢迎查阅!)

雷锋网

一周预告 :TK 教主来了,揭秘 CTF 背后的故事;AI 在金融风控有哪些应用,资深数据科学家告诉你 | 硬创公开课

本周、公开课君邀请到了国际顶尖白帽黑客,在国内黑客界被尊称为 “TK 教主” 的于旸、腾讯 eee 战队队长谢天忆、氪信资深数据科学家朱敏,Strikingly 创始团队成员龚凌晖,给大家带来三场精彩的公开课分享,名额有限,大家赶紧报名听课吧~

TK 教主公开课首秀,揭秘 CTF 背后的故事 | 硬创公开课预告

嘉宾简介

于旸,国际顶尖白帽黑客,腾讯安全联合实验室旗下玄武实验室负责人,在国内黑客界被尊称为 “TK 教主”,微软漏洞缓解技术绕过悬赏十万美元大奖全球三个获得者之一,CISP 认证 “恶意代码” 课程的最初设计者。2016 年曾获得 Pwnie Awards“最具创新性研究奖” 提名,成为该奖项设立 10 年来唯一获得过该提名的亚洲人。

谢天忆,腾讯安全联合实验室旗下科恩实验室安全研究员,腾讯 eee 战队队长,带领战队获得 SECCON 大赛季军,Nuit du Hack 2017 CTF 线上赛冠军。毕业于上海交通大学,在校期间是国内知名 CTF 战队 0ops 队长,2016 年 DEF CON CTF 亚军团队 b1o0p 成员。

内容简介

本期公开课包含但不限于以下内容

  • CTF 的历史和发展情况

  • CTF 和信息安全人才培养

  • 信息安全人才的职业发展

  • TCTF 线上预赛试题解读

  • Q&A

活动详情

时间:4 月 18 日晚上 8 点

形式:线上视频直播

同步播放平台:雷锋网 APP、腾讯学院、斗鱼、ZAKER、全民直播。

互动方式:

1. 雷锋网 App 直播频道内 “问答区” 直接提问;

2. 加入本次硬创公开课直播的微信群。扫描下方海报上的二维码,关注 “雷锋网” 公众账号后,公众号内回复 “161” 报名,进入行业微信群讨论。

AI 在金融风控领域的工业应用 | 硬创公开课

嘉宾简介:

朱敏,氪信资深数据科学家,深耕应用统计和数据挖掘领域。复旦大学生物统计学硕士,曾任职 PayPal 高级分析师,负责核心风险控制数据变量、排序策略、评价指标的设计研发,并在反欺诈策略、行为特征等方面拥有丰富的研究经验。曾任职 eBay 数据分析师,负责 AB 测试与搜索算法的评估。多年以来专注金融统计和风险评估算法研究,在互联网级别的机器学习算法和统计理论商业应用领域有丰富的理论研究和实践经验。

内容简介:

1、为什么说现在到了需要金融 + AI 的时代?

2、如何构建基于 AI 的金融风控系统?

  • 全域金融知识图谱

  • 深度学习

  • 集成学习模型

  • 大规模反欺诈网络

3、从算法到产品,完整的 AI-DRIEVEN 金融风控系统落地思考

活动详情:

时间:4 月 17 日周一晚 8 点

形式:

  • 雷锋网 APP: 直播频道

  • 斗鱼直播:(房间号:788495)

  • zaker : 直播频道 首页房间

互动方式:

1. 雷锋网 App 直播频道内 “问答区” 直接提问;

2. 加入本次硬创公开课直播的微信群。扫描下方海报上的二维码,关注 “雷锋网” 公众账号后,公众号内回复 “162” 报名,进入行业微信群讨论。

谈谈 Serverless 服务,颠覆你对云的理解 | 硬创公开课预告

嘉宾介绍

龚凌晖,Strikingly 创始团队成员,第一个工程师。毕业于复旦大学计算机学院,在加入 Strikingly 之前,曾在 Morgan Stanley 的 Enterprise Infrastructure 部门任职。2013 年加入 Strikingly 之后,做过产品,搞过运维自动化,研究过 Web Analytics 和 SEO,玩过数据分析,目前在团队中负责后端开发,系统运维以及数据分析等部门的项目研发和团队管理。

内容介绍

  • Serverless 是什么?到底长什么样?

  • 它在业界的现状发展如何?

  • 它的优势和问题是什么?

  • 对开发者的意义在哪里?

  • …………

活动详情:

时间:4 月 19 日,周三晚上 8 点

形式:

  • 雷锋网 APP: 直播频道

  • 斗鱼直播:(房间号:788495)

  • zaker : 直播频道 首页房间

互动方式:

1. 雷锋网App 直播频道内 “问答区” 直接提问;

2. 加入本次硬创公开课直播的微信群。扫描下方海报上的二维码,关注 “雷锋网” 公众账号后,公众号内回复 “163” 报名,进入行业微信群讨论。

雷锋网

三大案例分享:如何用物联网数据来构建工业智能 | 硬创公开课

得益于物联网和工业4.0的兴起,最近几年,不少企业已经通过物联网的手段,建立起了数据采集,监控和展示的平台。对于数据的深层次应用,例如利用最新的机器学习算法,对数据进行智能化提升,则是目前工业用户进行数字化转型的必由之路。

从现在的趋势来看,人工智能的热点领域都集中在语言、图像交互类, 或者商业应用类。对于工业领域,基于物联网获取的流式数据,如何通过人工智能来实现效率提升?在使用这些数据的过程中,如何避免踩坑,顺利进行方案的部署?这是工业界需要解决的问题。为此,本期硬创公开课,雷锋网邀请了觉云科技CEO常伟来为大家讲解如何用物联网数据来构建工业智能。

嘉宾介绍

常伟先生是觉云科技的的创始人及CEO,在成立觉云科技前,他来自于微软上海,是物联网方案部门负责人,负责基于云端的物联网的服务组件设计和推广,包括了Azure的PaaS和SasS的服务在中国的落地,提供云端的数据接入,协议转换,服务分配,平台集成,分析和展示。主要客户包括上海观致,中国福特、中国通用等企业。

以下内容整理自本期公开课,雷锋网做了不改变愿意的编辑:

整个互联网到物联网走到现在是可以通过数据其解决一些问题的。

在信息化时代,我们经历了从数据到信息到知识再到智能的过程,我们也相信在商业、工业领域都有大量的信息或者数据,而这些数据的价值就需要业界来挖掘,最后才会走到金字塔顶端智能所要解决的问题。

大家常见的是交互类的智能,例如语音识别、图像识别等,毋庸置疑,这是现在很热门的一类课题,但今天讲的内容主要聚焦工业领域,怎么利用工业智能解决工业领域的问题。

算法是基础

这张图片列举了常见的几种算法,分类、回归、推荐、异常点检测、聚类。分类主要是用来区分不同的群体,回归主要用来预测,例如预测一台设备什么时候发生故障;推荐主要解决的是,用户买了商品A之后,可以推荐商品B或者C;异常点检测主要针对没有历史记录如何在一个矢量集来找出异常点。

现在这些算法都已经存在,我们的任务主要是利用这些算法来应用到商业应用或者工业应用当中。

工业物联网的范围很大,包括数据传输、采集、通信以及平台的展示等。觉云目前做的是工业算法和模块。这处于工业物联网中游的位置,即拿到工业领域的流失数据后,再进行智能分析得出结果后在跟企业应用系统做集成。

工业智能怎么做?

在工业智能里面,一般使用的数据是流式数据,采集的数据大部分来自设备端的数据,例如,泵、变速箱和机床这些和设备相关的变量。

在采集完数据后,可以通过算法模型进行建模评估,评估完之后就可以给客户提供预测性维护、能效管理以及质量管理等。

针对不同业务领域提供算法模型,这些算法模型还会推送出一些结果。最后还会有不同的部署方式。有两种,一种是结果会嵌入到现有的设备管理系统平台,第二种是会构建SaaS服务平台,例如机床诊断模块。

大数据分析项目的基本流程

工业大数据分析是最近一两年有了工业物联网后才兴起的。目前觉云是基于既有经验,已经有行业的know how,可以在8周的时间里进行部署。

在这期间,主要做两大工作:第一阶段是数据的准备,包括数据导入、数据清洗和基本的可视化;第二部分是数据建模,包括特征和算法的选择、模型测试和评估。这两大工作后面会结合实际案例作分析。

在这两部分工作做完后,就是数据运营了。上述模型通过可视化之后会部署到现有的平台或者是SaaS服务云。在这部分,需要有日常的运营工作,例如应用端的部署、分值计量和衡量指标,到最后还会反馈到第一个阶段,算法不是一成不变的,随着数据的积累、故障调优,会重新反馈到第一阶段。所以实际上,算法是在云端或者在本地的自学习的算法,随着数据的积累,也会更加智能。

案例分享

一、电梯预测性维护

电梯是量很大的设备,对安全质量要求很高。在电梯的智能化转型过程中,有三个阶段。

第一阶段以安全监控为主,主要是东芝、日立这些日系企业通过总线系统收集电梯运行的实时数据,根据预先定义的阈值(例如最高速度)进行报警。

第二阶段就是三菱电梯通过历史数据进行存储,然后对地洞次数、运行时间做统计。统计指的是数据分析来预测电梯的健康状况。第一阶段和第二阶段主要用的是历史数据或者是人工统计的方式来做分析。

第三阶段就是智能预测了,这一阶段可以通过电机总线和外加传感器的方式来收集实时数据,这些数据可以从系统层面来分析故障、能耗等。与此同时,随着这些数据的积累,还可以建立一个回修专家系统,像OTIS、蒂森克虏伯这些公司已经在做这部分工作。

Gartner曾对蒂森克虏伯的方案做出这样评价,它是电梯预测性维护的第一个方案,它可以告诉技术工人怎么去维护。蒂森是一家德国高端电梯公司,在北美一共有一百万的电梯在运行。蒂森和微软、CGI合作,通过物联网监控平台BlueBox,可以把数据实时上传到云端,在云端进行数据存储分析,最后把结果展现到终端,所以售后团队就可以提前知道电梯的情况,这样就可以实现停机时间缩短一半。

虽然很多都能做到实时监控,但大数据需要做的是用云来做实时的分析。

这张图显示了某台电梯在某个位置的健康状况。从图中可以看到,这台设备的健康指数是70%,这其中采集了温度、电梯速度高速、电梯门关门时间等,通过这些数值的综合评估来给电梯做健康值的打分。

下一步就是实时性预测。采集这些电梯变量之后,通过分析就可以得出预测,再对工作人员进行通知,设备在几天之后会出现故障。

这是蒂森电梯的应用架构

从图中可以看出,BlueBox获取数据后,进行前端处理并做存储。事实上,在这一阶段,做存储并不容易,流式数据的采集、展示和分析,对数据质量要求很高。此外,还可以利用机器学习来对实时监控做评判。

做大数据分析出发点是解决用户痛点,工业物联网和传统交互体验的人工智能相比,最大的区别就是工业智能解决的是显示存在的问题。预测维护可以帮助客户进行提前预警、备货,减少人力成本;创建新的可靠性标准;实时监控,可以给电梯提供商、业务和用户带来安全保障。

二、变速箱预测性维护

和电梯一样,变速箱也是一台成套设备,由电机、减速箱、驱动器、钢丝绳等部分组成。而对成套设备做预测性维护并非是预测成套设别的生命周期,最终都是对系统的组成单元做预测性维护,把问题聚焦。

这是整体的分析框架

数据源来自客户,包括报警数据、模拟数据(电流电压温度等)、数字数据(开关位置)、标签描述。拿到这些数据后,就要做相应的数据存储和分析。这里主要做两部分工作:1.可视化,主要目的发现问题的时间分布在哪,从该图可以看出,我们收集到的数据量非常大,模拟数据175M,数字数据10M,报警历史记录有1740条。。

然后再通过机器学习进行建模,对故障模型进行分析,分析后把故障预测的结果推送到可视化工具。

在之前的案例中我们发现,每个这些问题发生的频率是不同的。变速箱过热是常态问题,5个月一共发生了1340起,占到了整个故障的77%,如果能准确预测这类问题,那么就能结局大部分问题。

除此之外,需要注意的是,有些问题之间也存在关联,例如变速箱过热会产生其它的问题。当某天变速箱过热问题特别集中,我们要分析这其中的原因,这对数据建模、特征分析、特征工程非常有帮助。

拿到数据做完分析之后,下一个工作是要工程处理。

工业智能数据有个特点:低维高频,维度不多(相比购买行为预测的变量很少),但是频次很高,每秒都在采集。所以,我们需要有相应的处理办法:对传感器的数据做聚合,最大、最小、中值、标准方差等,主要目的是让初始变量更加丰富,变量越多预测的准确性也越高。

然后是数据建模。对于故障预测,我们进行了多个模型的选择,尤其是在分类和异常检测方面。分类是要告诉设备是否会坏,这会用到二元分类、回归、多元分类和异常点检测。

建模后要进行模型评估

这张图显示的是,在自由的算法包中进行评估来预测下5个小时内发生变速箱过热的概率。右下角是预测的对比值(逻辑回归、增强决策树、决策树、支持向量机):

最终评估下来,增强决策树算法在准确性、精准度等拥有很好的表现,所以最后选择用这个算来作为变速箱过热的预测。

最后是模型部署。做完模型之后,输出的结果是一条记录,例如变速箱在未来5个小时发生过热的概率是多少。这之后有三种选择:第一是和现场维修工单系统对接,第二是把结果推送到系统监控平台,另外也会发邮件提醒给管理人员。

从目前来看,能做数据采集的公司一般都具备这样的维修工单系统平台。

变速箱智能化主要给客户带来了四个方面的价值:提升设备、人员的生产力;减少故障停机,提高客户满意度;建立智能码头;构建新的价值体系。

另外,这个案例还得出了一个结论:如果要做成套设备的话,一定要从组件开始做预测。

三、通过预测性模型进行刀具故障预测

在工业制造里面,机床最核心的问题就是刀具问题。实际上,刀具之于机床就如牙齿之于人类,如果刀具发生问题能提前感知,才能第一时间修复。

如果问题发生之后,再去修复就已经产生了废品,这也会造成更大的损失。

上图显示的是某公司通过控制器收集了不同机床运行的数据,包括电流、电压等。这里有几个原则:因为影响刀具寿命的变量很多,所以需要人工智能算法来预测;另外,可以和多年经验曲线进行结合;刀具寿命是非线性关系,一定要通过实时数据进行在线学习。

应用大数据算法形成智能化机床设备管理体系之后,会根据数据建模分为两大问题:第一类,刀具会不会发生故障,第二类是多久发生故障。

针对第一类问题,用分类模型来解决,例如选择用逻辑回归、决策树还是神经网络来告诉我们会不会坏,如果会坏,就来到下一个问题。预测多久发生故障,则主要用决策树、泊松回归、神经网络回归等来告诉设备提供商设备多久会坏。

总结

之前,我们看到的智能算法主要聚焦在商业或者交互领域,现在我们正在尝试把智能算法带到工业领域。

工业智能,解决问题的算法体系主要分为三大类:第一是预测性维护,这对于基于物理损耗为主的设备是最行之有效的算法;第二类是能效管理;第三类是质量管理。

精彩问答

Q:对于流程工业生产环境下的生产设备故障预测,在数据采集汇总阶段,需要考虑哪些因素?或者需要哪些数据输入呢?

A:这里面有两个层次的问题:第一个是自上而下来做,现在流程工业里面,DCS(雷锋网注:分布式控制系统,Distributed Control System)已经采取了很多数据,现在我们用这些DCS数据,我们可以做一些基本预测性维护;

第二种是自下而上,以泵为例,DCS有些数据是关于泵的,但是有些数据是没有的,在这种情况下,一定是前装+后装的方式。前装就是利用DCS固有的数据,后装就是加装一些没有的数据,这样配合才能准确预测泵或者管道的预测性维护的点。

我认为前装方式所拿到的数据是最好的,后装则更具挑战。

Q:阿里云正式发布了ET工业大脑。这个大脑目前已经被用在了协鑫光伏工厂里,可以提高1%的生产良品率。常伟老师如何看待这个产品?对传统工厂来说,怎么选择?

A:阿里云这个是上文提到的第三类解决方案,质量管理方案。对于生产良品率来说,每个工厂都要case by case做分析,对传统工厂肯定需要找一个比较靠谱的方案。

Q:小型工厂缺乏数据的积累,以您的经验来看,对我们来说接入大数据方案需要考虑哪些问题?

A:小型工厂我建议采用SaaS解决方案,现在很多服务商提供一些现成的SaaS解决方案,帮助现有的工厂机床、泵等做到云端,然后再来根据数据做分析,对小型工厂来说,这种方案还是比较靠谱可行的。

Q:国内政府一直在喊数字化转型,从目前来看,国内技术是否成熟了?

A:从现在来看,尤其是对制造企业而言,技术是比较成熟了,数字化转型无非是数据采集、传输、存储和分析这几块。目前的企业在几部分都有比较成熟的解决方案,不过有些企业的管理水平有待提高。

大家一直在谈我们的工业水平比较低,现在有一个问题是我们的管理能力是否能支持中国制造2020。

Q:工业化转型最大的挑战是什么?怎么去克服这些问题?

A:最大的挑战我们认为有两个方面:一个是人的管理水平;第二个是技术方面的问题。

觉云有一个客户是做刀具的,通过传统的方式他认为没有法提升了。他们希望通过数字化的方式来提取数据,来告诉他这种刀具在加工哪种材料和工艺是最佳的,这就可以帮助他去挑战国外一些企业。

目前来看,数字化转型是解决技术问题的主要方式。做数字化平台第一步是建立数字化预测,第二步是数字化工单系统,第三步建立和工艺之间的关系,这几步下来最少要2-3年,所以工厂要对这个周期有一个认知。

雷锋网

报名:AI在金融风控领域的工业应用 | 硬创公开课

高风险、高收益是金融行业永恒的标签。也因如此,金融行业非常重视风控。据多位资深金融人士表示,从事风控后,他们总是处于战战兢兢的忧虑中。他们上一次大规模的忧虑发生在十几年前。世纪之交的美国缺乏对于风控意义的认知,明明借着互联网的东风却在半途摔了个七零八落。

新科技的出现必然会对原行业产生一定影响。技术无所谓利弊,问题在于人的使用。在风控得到足够重视,AI成为最热门科技的现在,诸多从业人士不由得开始思考AI的应用价值,如何将AI与风控相结合并发挥出其积极作用?AI-DRIEVEN的金融风控系统在从算法到产品落地期间面临着怎样的挑战?又该如何应对?

本期雷锋网公开课邀请到氪信资深数据科学家朱敏来分享他的从业经验,深度讲解如何构建基于AI的金融风控系统。

嘉宾简介:

朱敏,氪信资深数据科学家,深耕应用统计和数据挖掘领域。复旦大学生物统计学硕士,曾任职PayPal高级分析师,负责核心风险控制数据变量、排序策略、评价指标的设计研发,并在反欺诈策略、行为特征等方面拥有丰富的研究经验。曾任职eBay数据分析师,负责AB测试与搜索算法的评估。多年以来专注金融统计和风险评估算法研究,在互联网级别的机器学习算法和统计理论商业应用领域有丰富的理论研究和实践经验。

内容简介:

1、为什么说现在到了需要金融+AI的时代?

2、如何构建基于AI的金融风控系统?

  • 全域金融知识图谱

  • 深度学习

  • 集成学习模型

  • 大规模反欺诈网络

3、从算法到产品,完整的AI-DRIEVEN金融风控系统落地思考

活动详情:

活动时间:

4月17日周一晚8点

活动形式:

雷锋网 APP 视频直播,两种互动提问方式:雷锋网 App 直播频道内“问答区”;加入本次硬创公开课直播的微信群。

同步直播:

斗鱼直播平台:(房间号:788495

zaker : 直播频道 首页房间

报名方式:

扫描下方海报上的二维码,关注“雷锋网(公众号:雷锋网)”公众账号后,公众号内回复“162”报名,进入行业微信群讨论。

雷锋网

行业无人机在飞控开放性、安全性、智能化方面的挑战与实践 | 硬创公开课

近年来,民用无人机市场异常火爆。其中消费类无人机在过去的2016年得到了长足的发展,各家厂商纷纷发布各种尺寸和功能的无人机,而人工智能技术的踪迹也在消费类无人机上出现,领头羊DJI已经实现了利润与市场份额的大丰收。

相比于消费类无人机市场的如火如荼,百家争鸣,行业用无人机因市场还处于萌芽阶段,各种行业需求还有未能标准化、行业背景知识要求高等特点,并未呈现出消费类无人机市场那样的爆发式增长。其中很重要的原因,就是行业无人机在飞控技术上需要有相当高的开放性、安全性、智能化。在军工飞控无法提供高性价比,工业标准的飞控又没有大面积应用的情况下,市场上主要流通的还是消费类飞控,来满足不断增长的农业、电力等市场的需求。为此,本期硬创公开课,雷锋网邀请了若联科技(RobSense)创始人CEO金洁来为大家讲解行业无人机市场以及对应飞控的发展方向。

嘉宾介绍

金洁,若联科技(RobSense)创始人 、CEO & CTO。

爱尔兰都柏林城市大学博士,曾获剑桥大学NetFPGA设计比赛第一名,此前曾参与两个欧盟项目(EcoNET, INPUT)以及法国空客公司、中国航天院的多个项目。在丹麦留学期间曾多次创业,对嵌入式机器人控制、计算机网络有深刻的理解。

公开课完整视频:

以下为金洁的演讲全文实录精编:

行业无人机发展现状

无人机从在消费市场爆发、到行业应用进入萌芽阶段,经历了大概三年左右的时间,我们来回顾一下无人机在行业应用这块的发展情况。

我们先来看一个Gartner的报告。

Gartner每年会抽取一千多项技术去分析这些技术的走势,从14年开始,Gartner才将无人机技术放到这个报告中,正儿八经开始分析这个行业。

在报告中,我们可以看到,智能机器人和无人驾驶技术也在其中。无人机的爆发,主要还是因为其技术模块早期在智能机器人以及自动驾驶技术上的爆发,比如扫地机器人、无人驾驶汽车等,这些设备上面的传感器技术、控制技术、导航技术等发展到一定阶段,再加上智能手机将MEMS传感器、控制芯片的成本、体积都优化到了一定程度,从而可以部署在小型的无人机上,比如小型航拍和工业应用等等,我们今天主要来谈工业应用。

从这张图总结图来看,未来五到十年,无人机才会走到相对成熟的位置。从媒体到资本,人们对这个领域的期待都是从渐进增长,再达到一个顶点,然后慢慢降温,回归到一个理性的状态, 最后慢慢趋向一个成熟。

任何技术都是这样一个发展的历程。

无人机飞控现状

总体来说,无人机在行业应用方面有很多的可能性,比如说现在非常火爆的农业植保。

中国目前大概有两亿亩耕地,当然这个数据不一定准确,但是采用无人机喷洒农药的耕地比例很小,由此看来,这个增长空间非常大。另外物流无人机、电力巡线等行业应用也一样有很大的市场增长空间。根据第三方的一些数据显示,行业应用无人机在未来五年左右的潜力是非常大的,整个规模也会达到近千亿人民币,这些数据不一定十分精准,但也可作为一个参考。

而从无人机机体的成本来看,飞控和通信占了将近34%,飞控单一项占了20%,综合上图FAA的数据来看,未来五年飞控将占据整个无人机市场20%左右,有将近200个亿人民币的市场容量,而且这只是硬件方面,还不包括服务。所以整个市场潜力很大,但由于目前属于发展早期,还有很多事情需要做。

我们先看一下农业这块的现状。

在劳动力不断上升的今天,在农业领域,无人机是一个非常好的替代人力的方案。无人机在整个作业效率和成本都将会比人力有优势。

为了让无人机更高效地去执行植保任务,无人机的飞控系统还需要整合一些其他的技术。比如地形跟随的毫米波雷达、或者激光雷达的一些技术, 来让无人机与作物之间一直保持一个高度距离来作业。再比如高精度的RTK的导航技术,拿极飞为例,他们在进行植保操作的时候,会先有技术人员对田地进行测绘,拿到测绘地图之后,通过RTK导航系统可以让无人机精准的对农田作业。

目前来说,人们对无人机植保的需求是远远大于植保无人机的产能和无人机服务的覆盖面的。

刚才讲的是农业的机械化方面,接下来说说农业无人机的信息化方面。

从图中看,首先我们会在田中部署一些无源传感器节点,去收集一些农田的参数,主要是大气、环境、水 文、土质等各方面的信息,当无人机飞过这个节点的时候,无人机的充电装置会对传感器进行充电,充电的同时又会将储存在传感器节点中的历史数据收集回来,将这些日积月累的数据汇总到数据中心并且进行加工之后,该田地的历史健康状况、作物健康状况都可以图示化,并建立起来,人们就可以详细地了解这块农田的状况了。

上述这种方式是有拓展性的,假如说我们把同样的系统放到铁路的高架上面,通过无人机来收集这些建筑装置的健康状况,整个铁路或桥的一些隐藏危机就可以被提早发现,并及时修补。再比如说无人机3D建模这一块,无人机经过自动飞行,在所测绘的建筑物外围采集足够多的图片之后,将图片导入后台的软件,经过处理渲染之后就能生成3D图像,人们就能得到一个片区的建筑物信息。另外一个就是藏得比较深的电网方向,在电网方面的无人机应用技术壁垒还是挺高的, 它有自己的一些体系的要求,它的行业纵深深度是比较高的。

比如图中,施工方需要对电网压接部分进行测量,压接线方面曾经出现过很多事故,这个测量非常的重要,关于这方面的数据监理方需要实时看到,为了防止施工方作弊,监理方就需要看到测量的实时相应数据。在测量中,无人机的作用就是把施工方测量的数据通过中继回传给监理方,将采集数据的这个点采集出来。

除了这个之外,电网还有一些非常深度的一些需求。比如风机的巡检,在风力发电厂,巡检人员需要知道叶片有没有破损、干体有没有倾斜、避雷针是否失效等信息,风力发电厂的风机设备都非常的昂贵,维护成本非常高,所以无人机对这类的巡检有天然的优势。

总的来说,市场上有林林总总的需求,每个行业对无人机的需求都在提升,所以他们对飞控也有各种不同的要求。为了满足这些要求,很多无人机公司也在提供不同的无人机方案和飞控。

这些方案解决办法大概为以下两种:

第一种是采用军用无人机的飞控。军用无人机飞控传感器要求指标非常高,使用起来效果也非常好,但是其中也些问题,比如军用无人机的飞控会非常的笨重,体积非常大,且造价昂贵,动辄百万,价格成本不适合大面积的商用,所以,军用飞控还会有很长的一个军转民的过程。


第二种就是目前市面上的主流,即用消费类飞控安装在行业应用无人机上。这种方法也会造成一些问题,比如说整个无人机的可靠性就不能完全保证,无人机在复杂恶劣的环境中能否完成任务,对本身飞控的可靠性要求非常高。另外,行业无人机的需求是多种多样的,面对林林总总的需求消费类飞控的二次开发的接口是否能够满足,也是一个问题。

工业无人机的要求很高,主要有三点:

第一,可靠性。在行业应用的无人机上,其挂载的设备可能是热成像仪等非常昂贵的设备,所以需要非常稳定的飞行状态,对飞控的可靠性依赖很大。


第二,价格。由于是应用生产力工具,价格不能非常高。


第三,电网等应用需要专业的挂载体系,需要不同的应用能力、不同的数据,所以无人机可定制、可扩展需求非常旺盛,目前很难出现一款标准的无人机或飞控能解决所有的需求。

飞控的进化

多旋翼飞控已经经过了十多年的迭代。

从上图看,第一代控制飞控主要在2005年前后出现,算法主要运行在相对比较弱的单片机上,能够让飞机起飞和飞稳,但是飘的还是很厉害,加之单片机的运算能力和扩展能力都很有限,所以整体较弱。

第二代飞控起始于2012年前后,主要运行在32位单片机上,性能更强,支持更多的接口,除了让飞机飞行飞稳意外还能执行一些自动飞航点等简单的任务。

第三代飞控在2015年前后开始,具有更强的嵌入式计算机以及多传感器数据融合增稳等特点,这一代的智能飞控具备有感知计算和现场运算能力,其中最核心的特点是能将飞行视觉整合到飞行计算当中,能够自动精准着陆等等。

猜想下一代行业飞控的软硬件架构

基于前三代的发展,我们接下来就猜想一下下一代行业飞控的软硬件架构。之所以是猜想,是因为目前还没有一个标杆式的飞控出来。

我们先看几个主流厂商的飞控。

高通

高通芯片方案做得非常小,只有信用卡差不多大。

高通芯片把CPU、传感器等目前所有航拍类所需要的零部件都整合到了一块板卡上,在智能化这块做得很不错了,用户拿到之后直接在上面迭代软件算法就可以了。但是在安全性方面高通并没有做太多的冗余机制,主要是因为其面向消费类电子。而开放性这块高通没有办法做更深度的扩展。

英伟达

英伟达在之前也推出过用在无人机上的集成板卡。整个方案和高通大同小异。主要不同点在,英伟达有大规模的GPU去做一些基于视觉的高精尖的算法,缺点是功耗非常高。

Intel

Intel的飞控相对前两者的特点是加了个FPGA,此前Intel收购了一家名叫AItera的FPGA公司,在这方面有更深入的研究。另外Intel的飞控在接口定制和算法定制方面有优势,可以扩展更多的接口。

另外,对于Intel值得一提的是,其不仅提供了飞行控制计算机,还提供了一个RealSence的视觉系统,让无人机有个全向的视觉感知。

RobSence

我们RobSence也做了一点工作,在这里介绍一下,跟Intel不同是,Intel的跑飞控和跑计算的是两颗不同的芯片,而我们把两颗集成到了一个芯片中,从图上看,单芯片内三个处理器核心,第一个是控制飞行姿态的CPU1;第二个CPU0系统的作用是,当整个飞行系统启动的时候,它就会唤醒CPU1,让飞控算法跑起来,同时它还要兼顾将其他大数据带宽的传感器接入进来,融合到整个飞控系统里面,做整个全局资源的管理。当我们发现有些算法出现计算瓶颈的时候,我们就可以将这些算法部署到第三块的FPGA里面进行加速,这对于无人机对周边环境进行实时反映是非常重要的。

总体来说,第三代飞控主要做的是三件事情:

第一,飞行控制,这个第一代就已经做了,第三代能完善更好。

第二,任务管理,也就是设置飞行任务。

第三,感知预算能力,遇到突发状况是否有应对能力,对障碍物目标进行一些识别。

上面四个厂商的四种方案的介绍,再对比之前第一、第二代的飞控,我们会发现之前早期的飞控大部分会将飞行控制放到MCU中去跑,虽然单片机在跑飞控方面已经做得很好了,但是如果想要做一些额外的事情,就会显得捉襟见肘。当我们拆开早期的无人机系统时就会发现,飞控是一个板卡,信号处理会是另一个板卡,接口扩展等等都是分开的。所以总的来说整个上一代的思路就是将不同的系统部署在不同的处理器上面,造成整个系统非常庞大,导致无人机的体积也变得很大。

而第三代系统,将不再是一个简单的控制器,更多的是可以将其定义为一个飞行的计算机,兼顾控制、计算、接口和通信,将所有计算的部分整合在一起。这么做有很多好处,比如在整个开发难度上只需要一个开发环境、板卡会很小很集成等等。

如果我们把它定义为一个计算机的话,那么它就可以完成很多事情,它除了可以完成简单的控制,更重要的是还可以完成计算机视觉处理、深度学习甚至无线电部分做图传、大数据带宽等一系列应用。

基于下一代飞控的软件架构的应用于服务开发

基于上述这样一个飞行计算机,因为它的计算能力更好、接口更丰富,我们就可以做很多的开发。比如在这个图中,无人机的整个控制环分为两部分。

由于目前MEMS传感器的刷新能力和电机的响应能力来看,从飞行数据、姿态的解读到返回控制系统再到驱动电机去调整飞行姿态整个闭环走完,整个频率能达到400hz,如果我们基于下一代的飞控系统去改进的话,就能够将整个控制周期缩短,比如将频率提升,就能提升无人机的控制性能,并且能运行一些更加复杂的算法,让飞机的控制更加精准以满足行业需求。

另外,对于”飞行控制计算机“来说,除了要完成飞控的任务之外,还要充当一个计算机的角色,其中就可以做一些算法的加速工作。

拿我们现在做的一个事情来举例:我们将一幅1080P的图像导到导入到最终算法里面,假如说整个过程分成四步走的话,用CPU去算,整个耗时接近400毫秒,这个时间对于低速飞行的无人机是没有什么问题的,但是一旦无人机行进速度相对比较快的时候,它要躲避前面的障碍物的话,就需要更快的视觉处理的算法。

我们做的就是要把前三部放到FPGA里去加速,最后一步的分析算法放到CPU中,整个时间只用时10毫秒左右,整个性能就提升了一大截,能够帮助飞机进行实时的环境感知,并进行决策。

刚才讲了很多飞行控制和感知计算的问题,无人机已经不是一个简单的控制器了,更重要的是将其定义为一个计算机,这个时候我们就可以参考计算机的发展历程来看待飞控。比如计算机从单体到组网的发展,无人机也会经历这样一个过程,未来整个飞控会是组网控制器、组网计算机、组网飞控。其实业界和学术界已经做了很多这样的尝试,包括15年Intel做了一百多架无人机的编队,大家可以查一下他们当时的效果。

无人机在编队的通信过程中会遇到很多问题,其中最重要的是通信子系统的延时和抗干扰能力,因为无人机首先要保障稳定飞行,如果无人机延时非常厉害,那么编队过程中飞机之间就很容易发生碰撞。

另外,我们现在很容易通过一些无线电的装置去学习无人机的2.4G的通信频段,从而反向截获无人机,就算是军方的无人机也不是百分之百不可截获的。

也就是说整个通信方面还有很多问题还要在下一代通信系统中去解决,目前还没有一个关于无人机编队方面的专业网络,如果这个技术被突破,那么无人机的编队会大面积铺开,未来无人机集群用在测绘、搜救方面起到很大作用。

看这张图,框图下面最两层是系统的硬件和软件,基于这些硬件和软件,开发者可以做很多事情,主要包括两部分,一部分是现场的计算和控制、接入更多传感器之后的目标追踪、障碍物躲避。另一部分是,相对于局部的计算和控制,当无人机有了组网能力之后,它的全局控制和通信就显得非常重要。

无人机市场展望

从技术角度来讲,未来无人机一定会集成更多设备和传感器,这些设备和传感器都通过飞控系统进行采集、存储、预处理。如果这个数据还有全局价值的话,就会被发送到远程,比如说地面站。当数据越来越多,即会获得更大的价值,使用到更多的领域里面。

由此,我们把无人机飞控作为很重要的一个物联网端数据入口,无人机作为一个终端,等到市场真正成熟的时候,无人机将作为工业领域的一个生产工具价值将越来越大。


想更多关于智能智造方面的资讯?欢迎关注雷锋网旗下垂直栏目微信公众号「新智造」,跟雷锋网一起读懂智能&未来。

雷锋网

一周预告:狼人杀背后的连麦技术有哪些痛点?听腻了视频鉴黄,音频审核的技术你了解么?| 硬创公开课

本周大群主邀请了构科技市场运营总监,资深技术人冼牛、极限元智能科技联合创始人马骥,以及TIANBOT 资深机器人研究工程师田博,免费给大家带来一大波技术干货,赶紧来听课吧!

解读狼人杀虫洞连麦技术 | 硬创公开课预告

嘉宾介绍:

冼牛,即构科技市场运营总监,资深技术人,市场营销新兵,客串投资顾问,骨灰级游泳者。北京邮电大学计算机硕士,香港大学工商管理硕士,一直秉承人丑应该多读书的理念,读书不断。2008 年起旅居香港至今,2015 年回流深圳南山创业,服务过爱立信香港,摩根大通香港,和分期乐集团等老东家。2002 年北邮硕士期间开始钻研视频会议,现深耕语音视频云服务,直播技术应用和直播行业研究。

内容介绍:

本期公开课包含但不限于以下内容:

1. 狼人杀的应用场景

2. 狼人杀连麦的技术痛点

3. 虫洞连麦技术的系统架构

4. 虫洞连麦技术的音视频引擎

5. 狼人杀连麦技术痛点的解决方案

6. 虫洞连麦技术的测试方法

活动详情

时间:4 月 11 日(周二) 晚 20:00       

形式:雷锋网 APP 视频直播,可以在雷锋网 App 直播频道内 “问答区” 进行提问。

报名方式:扫描下方海报上的二维码,下载雷锋网 App,点击 “直播” 进行报名。

关注「雷锋网」公众号,回复 157,进入行业微信群讨论。

预告:神经认知学在机器人中的发展和应用 | 硬创公开课

嘉宾介绍

田博,TIANBOT 资深机器人研究工程师,清华大学企业家协会(TEEC)青创会员。温州市机器人与智能制造特聘专家,580 计划创业人才。知乎机器人话题优秀回答者。于 2007 年开始从事机器人研发工作,工作范围涵盖机械设计、控制、算法等,在校期间获得 RoboCup 人形组第四名。参与过研发小型和大型的人形机器人,轮式机器人的环境感知算法。发表多篇机器人(IROS)和人工智能顶级国际会议(AAAI)文章,开发移动机器人超过十种。

内容介绍

本期公开课包含但不限于以下内容:

1. 神经认知在机器人领域应用简介

2. BBD 与神经区域连接猜想

3. RatSLAM,ehSLAM 与空间认知细胞

4. HMax 与视觉皮层

5. Neuromorphic 与神经元连接

活动详情

时间:4 月 13 日(周四) 晚 20:00       

形式:雷锋网 APP 视频直播,本次硬创公开课可以在雷锋网 App 直播频道内 “问答区” 进行提问。

报名方式:扫描下方海报上的二维码,下载雷锋网 App,点击 “直播” 进行报名。

关注「雷锋网」公众号,回复 158,进入行业微信群讨论。

都在聊视频鉴黄,音频审核背后的技术你了解么 | 硬创公开课预告

嘉宾介绍

马骥:极限元智能科技联合创始人,曾先后就职于中科院软件研究所、华为技术有限公司,获得多项关于语音及音频领域的专利,资深软件开发工程师和网络安全解决方案专家,擅长从用户角度分析需求,提供有效的技术解决方案,具有丰富的商业交流和项目管理经验。

内容介绍

本期公开课包含但不限于以下内容:

1. 音频内容审核的需求

2. 音频直播中数据的来源

3. 如何解决网络直播存在的问题

4. 音频检测的方案及案例介绍

活动详情

时间:2017 年 4 月 13 日,周四晚上 8 点

形式:雷锋网 APP 视频直播,可在雷锋网 App 直播频道内 “问答区” 进行提问。

报名方式:扫描下方海报上的二维码,下载雷锋网 App,点击 “直播” 进行报名。关注「雷锋网」公众号,回复 159,进入行业微信群讨论。

雷锋网