3月18日,亚信数据与北京邮电大学联合主办的“开源技术与深度学习meetup”在北京邮电大学举行。来自亚信数据硅谷研发中心高级数据科学家常剑发表了《Aura: 以开源机器学习框架为核心的数据驱动型应用开发平台》主题演讲。
常剑演讲实录:
现今大数据和人工智能科技的发展大多是由开源技术驱动的。大家逐渐意识到独自开发一项专有技术并推动其他人接受和使用是比较低效的,更有效率的方法是整合资源大家共同创造一个技术生态圈,这样可以更好的推动进步。今天的题目是Aura - 以机器学习的技术为基础进行高效的数据驱动型应用开发的平台。希望借今天Meetup这个平台和契机与大家共同交流。
先简单介绍一下亚信,亚信是中国互联网的缔造者。多年以来,亚信一直以电信运营商领域为核心并向其他领域辐射,勤奋耕耘,积累颇丰。亚信数据是亚信集团旗下专注于大数据和人工智能应用子公司。大数据产业本身是依靠诸多开源技术为基础发展起来的,亚信数据在这方面一直大力投入,亚信数据橘云团队也以其技术实力强在业内闻名。橘云团队为Hadoop等大数据开源软件贡献了很多Contributors和Patches。亚信数据的橘云产品集合了诸多先进的大数据处理平台,是亚信数据一个强有力的产品。
大数据与人工智能的历史和未来
大部分企业的数据分析和应用一般属于Business Intelligence (BI)这个范畴,企业内的数据分析师利用企业已经积累的客户、产品等各方面数据,为企业发展提出更好的建议。传统的企业BI分析大部分是Descriptive Analytics和Diagnostic Analytics。Descriptive Analytics是把数据中的事实呈现出来。Diagnostic Analytics是诊断性,它的作用是发现企业运营中的问题,并找出原因,通过深挖数据,寻找更多价值。这两项分析是企业里各种数据分析的支柱性任务。
随着企业BI业务的不断深入,大家发现可以应用这些数据做更多更智能的事情,并构建一些更智能的应用。也就是Predictive Analytics或者Prescriptive Analytics。企业不仅想要知道过去发生什么,更希望能找到一些规律来帮助预测将来,帮助企业抢占先机,为客户提供更好的提供服务。根据这些预测和分析,指导企业行动,把这些信息和预测能力转化成生产力。大数据平台发展支撑了现代企业大部分的Descriptive Analytics和Diagnostic Analytics任务。而更有价值的Predictive Analytics或者Prescriptive Analytics就要靠各类人工智能技术来实现。
想理解“人工智能”就先要明确定义什么是“智能”。人作为智能体的典范和非智能的物体有三个方面主要区别。首先,智能的人可以通过“感知”可以从非结构化的信息中获取各类信息。人有语言并能利用语言进行交流,视觉听觉等各类感知功能也给人提供各种信息。其次,智能体现在人可以根据获得的信息做复杂的判断。最后,智能体可以形成获取信息,决策判断、调整策略的反馈闭环。这三点是智能和非智能的重要区别。
机器学习这个领域正是关注智能中“决策分析“这个领域。计算机的程序源代码就是计算机做决策分析全部逻辑的呈现。传统方式一直是人通过编程语言将人类的决策分析过程以程序的形式输出给计算机。而机器学习则提供了一个新的典范,它通过处理期望的输入输出数据,自动形成决策程序,大大提高效率。深度学习是机器学习中的一个子领域。深度学习受人脑结构启发,进行端到端的模型训练。近几年来,深度学习领域发展很快,主要依靠理论不断改进,并行计算能力提高,大数据技术提供海量数据这三个因素,不断发展,使许多问题从不可能变成了可能。
Aura平台的产品设计和架构
亚信一直在实践把人工智能带入各个领域,我们做了大量的工作来帮助企业建立属于自己的数据驱动型应用。什么是数据驱动型应用呢?与“数据驱动型应用”相对的概念是“事务驱动型应用”。事务驱动型应用是业务专家的经验固化为程序代码。数据驱动型应用则是在已经积累了相关业务数据的条件下,利用机器学习和人工智能技术来挖掘规律指导业务,这也是对企业本身的数据资源的开发。作为中国最大的大数据技术提供商,我们从与众多企业的深入互动中获得了宝贵的经验,也使我们能够深刻了解到数据驱动运营在实践中的一些重要问题:
首先,要有过硬技术,人工智能和机器学习是一个非常活跃的快速变化的领域,充分理解技术本质,并不断的提供最新最好的技术是一切的基础。其次,数据驱动型应用做的好,离不开对业务知识的熟悉。任何在数据中发现的规律和特征,应该找到具体的业务意义来支撑,对于模糊的甚至是误导性的发现,也可以通过业务知识的启发进行规避。第三,是要有数据强有力的支撑,很多重要行业的数据是独占性的,如果想涉猎这个行业,技术和业务都要向数据靠拢。最后,是人员方面。传统软件功能往往是确定性的,开发之后可以维持相对稳定。而对于数据驱动型的应用,程序语义和数据本身的特性相关度高,很可能随时间变化而需要进行增量训练或者增强。这使得数据驱动型应用的生命周期对持续性的人员投入要求较高。
基于这些理解,我们设计了Aura,一个高效的数据驱动型应用程序开发的机器学习平台。Aura把这四个重点有机的结合了起来,极大的提升了数据驱动型应用的开发效率。通过结合技术、业务、数据,并不断的更新迭代,形成效能逐步提高的正反馈闭环过程。在Aura平台上的最上层,我们为各种行业提供了广泛的经过实践检验的数据驱动应用程序,可以直接(或经过微调)应用于解决业务问题。提高数据驱动应用开发效率的最佳方案是已有应用的迁移,充分发挥业务与技术经验结合的最大价值。
Aura通过使用“通用数据模型” (Common Data Model),强调领域知识的保存,标准化和重用。Aura底层是业界最领先的技术,包括人工智能和机器学习技术的领先框架和大数据处理技术。连接底层和高层应用开发的是科学高效的应用开发环境。Aura提供了两种方式与用户交互进行应用开发:(a)适用于数据科学家或具有编程技能的分析师的强大笔记本(b)积累了科学方法和最佳实应用开发践的向导式的数据分析和建模场景。机器学习和人工智能的技能知识门槛较高,为了简化学习曲线。我们定义了一些非常典型的机器学习的场景,这些典型场景是我们经过很多探索和实践抽象出来的。针对每个场景,我们都将最科学的分析建模过程形成一个向导式的流程。使用者只需要提供一些必要的信息,就可自动生成一个有效的应用模型,也使整个流程变得水到渠成。
数据驱动型应用实例 – 支付风控
与大家分享一个具体的数据驱动型应用的案例。随着我国银行业全面开放和深化改革,互联网金融的不断发展以及电子银行、手机银行交易系统的全面铺开,与这些全新业务模式相伴而生的欺诈风险也在频繁发生。各类跨业务、跨条线的欺诈风险更是层出不穷。这些欺诈问题,对银行社会声誉以及用户财产安全都造成严重威胁。随着大数据、人工智能等技术的发展,也给金融领域各类新形态欺诈问题的解决带来了新思路。
我们的支付欺诈检测解决方案提供了4个方面的能力:首先,我们引入数据驱动的风控模型,以机器学习为基础,科学设定反欺诈规则,实现从数据到业务语言以及机器代码的转化。其次,我们实现了包括电子、手机、网银等多渠道的全面数据接入,提供完善的欺诈案件记录和处置的功能,填补事中风险管控工作的空白。第三,系统提供了优化的交易风险处置,通过量化风险,触发不同级别的防控策略,优化系统效果和用户体验。最后,我们提供全面的报表和分析功能,实时监控全局的风险情况,以便掌握信息。
一般来说,金融欺诈检测的方法分为两大类:第一类是依靠专家驱动的方法,这类方法把业务专家的经验进行积累沉淀,把第一线接触各类金融欺诈案件的专业人员的知识进行梳理。第二类的方法是数据驱动的,这类方法依靠数学模型进行数据挖掘和机器学习,并建立检测模型,再利用检测模型的预测能力进行实时的反欺诈检测工作。 我们采用了专家经验和数据驱动模型相结合的方法,有序的建立支付欺诈检测的业务逻辑。
首先要对现有的数据进行梳理和清洗。然后利用各种适当的统计计算方法,大量广泛的提取和预测目标相关的特征信息。之后再利用系统性的方法来对提取的特征进行进一步的筛选。经过这样一个过程之后的准备好的数据特征就可以输出到适当的机器学习算法中去进行模型的训练。训练模型的时候,根据数据测试的效果,还要对一些先验性的模型参数进行调整,使模型的预测性能到达最优。最后经过调优的模型就可以用到生产系统去进行使用。当然如果有新的数据或者新的特征提取思路,可以快速重复和迭代整个过程,不断的改进现有的模型。
我们也并不会简单的抛弃已有的专家经验和沉淀下来的业务知识,恰恰相反,特征提取工程正是数据驱动模式下与现有专家知识的一个有效的集合点。特征工程要做的工作往往是对现有的基础数据进行进一步的统计,分级和变换,提取出和模型的预测目标可能相关的因素。这时专家经验可以起到很好的指导作用,已知的相关因素,或者业务人员直觉上认为可能有效的因子都可以充分的引入到特征提取工程中。特征工程的原则就是要做到有效的发散。如果没用充分有效的特征信息,再好的机器学习算法也很难发挥它的作用。当然,特征提取中所需的计算过程都要在Hadoop, Spark这样的大数据平台上进行实现,才能满足在大数据集下的系统性能要求。
对于训练出的模型,利用交叉验证进行一些模型参数的选择和调优工作,调优后的模型还有经过严格的历史数据的回测,确认其在长周期下模型的可靠性。另外,如果单一的机器学习模行无法满足预测性能的需要,可以利用同样的数据,选择不同算法训练多个特性各异的模型,然后进行模型的综合,让不同的模型互相取长补短。
我们为实时金融欺诈提供了一整套完整的系统解决方案。刚才着重介绍的基于机器学习风控模型只是其中的一个子系统。整个系统的实时部分设计完全基于大数据流处理平台和高性能的实时数据库,保证了高并发、低延迟的实时响应能力。系统也提供全生命周期的金融欺诈检测和防控功能。除了欺诈检测模型,我们系统还会进一步的进行风险的量化评分,以便触发相应的风险控制策略。这也是之前讲到的决策引擎的主要算法逻辑。风险量化评分考虑到欺诈风险和交易金额两个因素,欺诈风险越大,交易所涉及的金额越多,风险评分就会越高。根据风控模型实时计算的交易风险评分,系统自动采取对应的策略。主要策略包括:交易放行、警告、短信提醒、加强验证、人工坐席核实,直至自动交易阻断。客户短信验证,客服坐席核实的结果也都会及时反馈到大数据分析系统的数据库中,以供模型更新使用,使整个系统中的信息形成闭环。也使模型可以快速迭代更新,大大提高模型预测准确度。