当前位置:大数据业界动态 → 正文

当大数据 遇见创新 :认知平台

责任编辑:editor004 作者:CC编译 |来源:企业网D1Net  2017-09-15 10:45:46 本文摘自:机房360

为什么我们需要将了解逻辑作为应用程序架构中的新层次呢?

在很长一段时间里,事实上,典型业务应用程序的的结构是保持不变的。也许,在一些细节上,多少会有所不同,但解决方案的流程是一样的,总是由客户端,业务逻辑和数据管理层三方面所组成。

第一层是客户端(用户界面层),提供用户与系统的友好访问;第二层是应用服务层(也叫中间层),专司业务逻辑的实现;第三层是数据源层(数据服务层,数据库系统),负责数据信息的存储、访问及其优化。由于业务逻辑被提取到应用服务层,大大降低了客户端负担,因此也成为瘦客户(Thin Client)结构,三层结构在传统的二层结构的基础上增加了应用服务层,将应用逻辑单独进行处理,从而使得用户界面与应用逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软件之间最大的区别。三层结构将表示部分和业务逻辑部分按照客户层和应用服务层相分离,客户端和应用服务层、应用服务层和数据库服务层之间的通讯、异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。当数据库或者应用服务层的业务逻辑改变时,客户端并不需要改变,反之亦然,大大提高了系统模块的复用性,缩短开发周期,降低维护费用。

我们开始在大型机上运行的单片应用程序。 从那里,我们进步到客户端/服务器体系结构,其业务逻辑分布在桌面应用程序和数据库过程之间。这种方法后来被浏览器中运行的thin apps和位于中间层的业务逻辑所取代。 最终,中间层分为功能层和微服务的架构。

中间层 (Middle Tier)也称作“应用程序服务器层或应用服务层”,是用户接口或 Web 客户端与数据库之间的逻辑层。典型情况下 Web 服务器位于该层,业务对象在此实例化。中间层是生成并操作接收信息的业务规则和函数的集合。它们通过业务规则(可以频繁更改)完成该任务,并由此被封装到在物理上与应用程序程序逻辑本身相独立的组件中。

除了基于浏览器的应用程序,我们现在有运行在移动设备以及嵌入式系统上的应用程序。 这种情况即将发生剧烈变化,而现代应用程序所需要管理的数据量的爆炸也正是这种动荡背后的原因。

数据量增长曲线分为三个不同的阶段:业务数据阶段,人为数据阶段、传感器生成的数据阶段。 经典的应用程序体系结构对于业务数据处理是足够的,因为它在人为生成的数据的下空间内。但在传感器生成的数据阶段,则完全无法满足处理传感器生成的数据。

事实是,没有一个人可以将一系列业务规则正式化、编码化,这些业务规则需要从数百万台设备和传感器实时流式传输的大量数据中,获得有意义、可操作的洞察力。这是一个在当今电子商务,电子卫生和Industry 4.0应用中相当普遍的情况。

当然,我们可以选择忽略这一现实,保持一切正常。然而,我们必须达成协议,因为这将导致在快速变化的技术领域中落后于竞争对手,并以激烈的速度落后于竞争对手。或者,我们可能会接受这种改变,并寻找方法来改变应用程序架构,并将其提升为爆炸式的数据量挑战。

输入人工智能(AI)。

近期,对AI进行了大量的报道,有些乐极生悲的态势。就应用程序开发而言,我们需要知道的是,AI是用于在非常大的历史数据集中检测模式的数学方法和算法的集合,并在呈现新数据时进行预测或推断。

例如,一种深度学习算法可以用来检测关于猫的图片,这种检测模式将组成的非常大的数据集的模式。这些模式可以被用来将以前看不见的图像分类为有或没有猫的图片。这种检测的模式过程称为机器学习,它产生一个人工智能模型。这个模型可以被打包为一个服务,并被远程调用,还可以被转换成一个软件,并嵌入到一个运行在移动设备上的应用程序中。

深度学习(Deep Learning)是一种机器学习的方法,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层(神经网络)对数据进行高层抽象的算法。

神经网络是一组大致模仿人类大脑构造设计的算法,用于识别模式。神经网络通过机器感知系统解释传感器数据,能够对原始输入进行标记或聚类等操作。神经网络所能识别的模式是数值形式,因此图像、声音、文本、时间序列等一切现实世界的数据必须转换为数值。在深度学习网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征。随着神经网络深度增加,节点所能识别的特征也就越来越复杂,因为每一层会整合并重组前一层的特征。

多层次的神经网络是实现深度学习的基础,那么与传统的神经网络比较,深层神经网络又哪些特点呢?深度学习又是如何在深层神经网络上展开的呢?

与传统的神经网络相同的是,深层神经网络也包括输入层、隐层和输出层,也只有相邻层级之间的神经元有链接通道,同一层及跨层之间是没有链接的。区别在于,深层神经网络具有更多层级数量,并且具有更有效的算法,更加接近人脑的结构,这使得深层神经网络能够处理更加复杂的输入信息,深度学习就是在这个多层级的人工神经网络上进行的。

在搞清楚深层神经网络如何进行深度学习之前,还要区别两个重要的概念:监督学习和非监督学习。简单而言,监督学习就是有人指出学习结果正确与否的学习。想象一下,当幼儿第一次看到苹果的时候,会建立一个包含苹果各种特征的概念;当下一次再看到苹果时,会加入对苹果新的概念,例如苹果并不都是红色的,还有黄色的、白色的、绿色的苹果,还有多种颜色混合的苹果。这期间,有可能会看到梨、橙子、乒乓球等与苹果在某些特征上相似的物体,幼儿可能把这些东西也认为是苹果,家长会指出错误,幼儿调整对苹果的认识,判断越来越准确。是不是很简单,这其实也是半个多世纪之前“感知机”的工作原理,通过不断优化不同输入信息的权重以实现更加准确的判断。

上述监督学习的过程,很容易忽略一个重要的前提条件,机器为什么知道通过形状或者颜色去判断一个物体是不是苹果,形状、颜色、气味是人基于经验对苹果赋予的“特征”属性,但机器并不知道这些就是苹果的特征。过去,一般由人来帮助机器先期定义“特征”,但由人参与对“特征”的选取是一件极其繁琐和耗费时间的工作,并且在面对未知事物的时候,一开始也无规律可循。在输入信息越来越复杂的情况下,人工选取特征已经难以为继了,由机器自动学习特征似乎是更好的做法,多层神经网络上进行的非监督学习能够完成这一过程。

非监督就如同一个没有家长在旁边指导的幼儿学习过程,其目的是推断出信息的内在数据规律。例如,幼儿在看到很多次苹果之后,会把具有一些圆形、红色、特殊味道的一类物体归为一类(虽然并不知道这就叫苹果)并与其他的水果区别开来,这个过程一是实现了聚类,更重要的是完成了特征学习,幼儿知道应该抓住哪些“特征”来判断一个物体是不是苹果。机器的非监督学习有类似的过程,在多层人工神经网络上对每一层级进行非监督学习,这是深度学习与传统神经网络最大区别,这一过程被称作特征学习。

我们可以总结出一个简化的深度学习过程:在深层神经网络中,采用无监督学习对每一层逐层进行训练,让机器不断学习这一层次需要识别的特征;每一层训练的结果作为更高一层集的输入信息直至最顶层;在最顶层,使用监督学习自上而下对各个层级的参数、权重、模型、算法进行微调。这一过程反复进行,直到达到一定准确度。与传统的机器学习比较,深度学习能够不需要人类帮助提取特征,这提高了学习的自主性和学习效果。

在实际应用中,对图像的识别、对声音的识别,或者像AlphaGo那样学习围棋采用的具体方法有很多,但大致的原理是相同的,只是过程和算法更加复杂。

应用可能需要访问几个这样的模型以执行图像分类,语音识别,内容个性化,欺诈检测和其他任务。 将这些模型放在一起,这些模型在应用程序架构中形成了一个新的组件 - 所谓的“学习逻辑” - 而不是业务逻辑。

应用程序开发人员一直在构建前端,业务逻辑和数据层组件。 软件设计,开发,测试,部署和管理流程的每一步都经过优化和完善。该工具集是广泛和非常知名的。

另一方面,对于工业规模的学习逻辑发展知之甚少。

首先,AI模型由数据科学家创建,而不是应用程序开发人员。 这些数据科学家只有很少一部分是软件工程师,他们中的大部分是物理学,数学,微生物学,经济学和其他非计算机领域高级学位的“真实”科学家。数据科学家用来创建AI模型的工具集和过程与软件工程师使用的工具集和过程非常不同。

与可重复使用的软件模块不同,除了少数例外,在一个应用程序域中对数据进行培训的模型不能轻易转移到另一个域,模型往往随着时间的推移而衰减。

随着基础数据的变化,模式需要重新学习,模型需要更新。为了确保性能一致和高水平的服务,模型生命周期管理必须与整体应用生命周期管理相结合。

那隐私和安全呢? 在安全环境中对敏感数据进行培训的模型能否在更安全的环境中部署到更广泛的用户群体?这些只是将学习的逻辑组件添加到应用程序架构时必须考虑的一些问题。对于这些问题,并没有一致的答案。

在这一点上,早期采用者和创新者正在经历痛苦的试错发现过程。 他们正在开发自己的工具和流程,整合两个领域:软件工程和机器学习。

如果能从过去的发展中能够看出,最终他们的辛勤工作将为具有广泛认知能力的新一类应用程序带来新的平台。在此领域,商机是巨大,比赛已经开始,你是否已经做好准备?

关键字:特征图像分类实例化

本文摘自:机房360

x 当大数据 遇见创新 :认知平台 扫一扫
分享本文到朋友圈
当前位置:大数据业界动态 → 正文

当大数据 遇见创新 :认知平台

责任编辑:editor004 作者:CC编译 |来源:企业网D1Net  2017-09-15 10:45:46 本文摘自:机房360

为什么我们需要将了解逻辑作为应用程序架构中的新层次呢?

在很长一段时间里,事实上,典型业务应用程序的的结构是保持不变的。也许,在一些细节上,多少会有所不同,但解决方案的流程是一样的,总是由客户端,业务逻辑和数据管理层三方面所组成。

第一层是客户端(用户界面层),提供用户与系统的友好访问;第二层是应用服务层(也叫中间层),专司业务逻辑的实现;第三层是数据源层(数据服务层,数据库系统),负责数据信息的存储、访问及其优化。由于业务逻辑被提取到应用服务层,大大降低了客户端负担,因此也成为瘦客户(Thin Client)结构,三层结构在传统的二层结构的基础上增加了应用服务层,将应用逻辑单独进行处理,从而使得用户界面与应用逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软件之间最大的区别。三层结构将表示部分和业务逻辑部分按照客户层和应用服务层相分离,客户端和应用服务层、应用服务层和数据库服务层之间的通讯、异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。当数据库或者应用服务层的业务逻辑改变时,客户端并不需要改变,反之亦然,大大提高了系统模块的复用性,缩短开发周期,降低维护费用。

我们开始在大型机上运行的单片应用程序。 从那里,我们进步到客户端/服务器体系结构,其业务逻辑分布在桌面应用程序和数据库过程之间。这种方法后来被浏览器中运行的thin apps和位于中间层的业务逻辑所取代。 最终,中间层分为功能层和微服务的架构。

中间层 (Middle Tier)也称作“应用程序服务器层或应用服务层”,是用户接口或 Web 客户端与数据库之间的逻辑层。典型情况下 Web 服务器位于该层,业务对象在此实例化。中间层是生成并操作接收信息的业务规则和函数的集合。它们通过业务规则(可以频繁更改)完成该任务,并由此被封装到在物理上与应用程序程序逻辑本身相独立的组件中。

除了基于浏览器的应用程序,我们现在有运行在移动设备以及嵌入式系统上的应用程序。 这种情况即将发生剧烈变化,而现代应用程序所需要管理的数据量的爆炸也正是这种动荡背后的原因。

数据量增长曲线分为三个不同的阶段:业务数据阶段,人为数据阶段、传感器生成的数据阶段。 经典的应用程序体系结构对于业务数据处理是足够的,因为它在人为生成的数据的下空间内。但在传感器生成的数据阶段,则完全无法满足处理传感器生成的数据。

事实是,没有一个人可以将一系列业务规则正式化、编码化,这些业务规则需要从数百万台设备和传感器实时流式传输的大量数据中,获得有意义、可操作的洞察力。这是一个在当今电子商务,电子卫生和Industry 4.0应用中相当普遍的情况。

当然,我们可以选择忽略这一现实,保持一切正常。然而,我们必须达成协议,因为这将导致在快速变化的技术领域中落后于竞争对手,并以激烈的速度落后于竞争对手。或者,我们可能会接受这种改变,并寻找方法来改变应用程序架构,并将其提升为爆炸式的数据量挑战。

输入人工智能(AI)。

近期,对AI进行了大量的报道,有些乐极生悲的态势。就应用程序开发而言,我们需要知道的是,AI是用于在非常大的历史数据集中检测模式的数学方法和算法的集合,并在呈现新数据时进行预测或推断。

例如,一种深度学习算法可以用来检测关于猫的图片,这种检测模式将组成的非常大的数据集的模式。这些模式可以被用来将以前看不见的图像分类为有或没有猫的图片。这种检测的模式过程称为机器学习,它产生一个人工智能模型。这个模型可以被打包为一个服务,并被远程调用,还可以被转换成一个软件,并嵌入到一个运行在移动设备上的应用程序中。

深度学习(Deep Learning)是一种机器学习的方法,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层(神经网络)对数据进行高层抽象的算法。

神经网络是一组大致模仿人类大脑构造设计的算法,用于识别模式。神经网络通过机器感知系统解释传感器数据,能够对原始输入进行标记或聚类等操作。神经网络所能识别的模式是数值形式,因此图像、声音、文本、时间序列等一切现实世界的数据必须转换为数值。在深度学习网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征。随着神经网络深度增加,节点所能识别的特征也就越来越复杂,因为每一层会整合并重组前一层的特征。

多层次的神经网络是实现深度学习的基础,那么与传统的神经网络比较,深层神经网络又哪些特点呢?深度学习又是如何在深层神经网络上展开的呢?

与传统的神经网络相同的是,深层神经网络也包括输入层、隐层和输出层,也只有相邻层级之间的神经元有链接通道,同一层及跨层之间是没有链接的。区别在于,深层神经网络具有更多层级数量,并且具有更有效的算法,更加接近人脑的结构,这使得深层神经网络能够处理更加复杂的输入信息,深度学习就是在这个多层级的人工神经网络上进行的。

在搞清楚深层神经网络如何进行深度学习之前,还要区别两个重要的概念:监督学习和非监督学习。简单而言,监督学习就是有人指出学习结果正确与否的学习。想象一下,当幼儿第一次看到苹果的时候,会建立一个包含苹果各种特征的概念;当下一次再看到苹果时,会加入对苹果新的概念,例如苹果并不都是红色的,还有黄色的、白色的、绿色的苹果,还有多种颜色混合的苹果。这期间,有可能会看到梨、橙子、乒乓球等与苹果在某些特征上相似的物体,幼儿可能把这些东西也认为是苹果,家长会指出错误,幼儿调整对苹果的认识,判断越来越准确。是不是很简单,这其实也是半个多世纪之前“感知机”的工作原理,通过不断优化不同输入信息的权重以实现更加准确的判断。

上述监督学习的过程,很容易忽略一个重要的前提条件,机器为什么知道通过形状或者颜色去判断一个物体是不是苹果,形状、颜色、气味是人基于经验对苹果赋予的“特征”属性,但机器并不知道这些就是苹果的特征。过去,一般由人来帮助机器先期定义“特征”,但由人参与对“特征”的选取是一件极其繁琐和耗费时间的工作,并且在面对未知事物的时候,一开始也无规律可循。在输入信息越来越复杂的情况下,人工选取特征已经难以为继了,由机器自动学习特征似乎是更好的做法,多层神经网络上进行的非监督学习能够完成这一过程。

非监督就如同一个没有家长在旁边指导的幼儿学习过程,其目的是推断出信息的内在数据规律。例如,幼儿在看到很多次苹果之后,会把具有一些圆形、红色、特殊味道的一类物体归为一类(虽然并不知道这就叫苹果)并与其他的水果区别开来,这个过程一是实现了聚类,更重要的是完成了特征学习,幼儿知道应该抓住哪些“特征”来判断一个物体是不是苹果。机器的非监督学习有类似的过程,在多层人工神经网络上对每一层级进行非监督学习,这是深度学习与传统神经网络最大区别,这一过程被称作特征学习。

我们可以总结出一个简化的深度学习过程:在深层神经网络中,采用无监督学习对每一层逐层进行训练,让机器不断学习这一层次需要识别的特征;每一层训练的结果作为更高一层集的输入信息直至最顶层;在最顶层,使用监督学习自上而下对各个层级的参数、权重、模型、算法进行微调。这一过程反复进行,直到达到一定准确度。与传统的机器学习比较,深度学习能够不需要人类帮助提取特征,这提高了学习的自主性和学习效果。

在实际应用中,对图像的识别、对声音的识别,或者像AlphaGo那样学习围棋采用的具体方法有很多,但大致的原理是相同的,只是过程和算法更加复杂。

应用可能需要访问几个这样的模型以执行图像分类,语音识别,内容个性化,欺诈检测和其他任务。 将这些模型放在一起,这些模型在应用程序架构中形成了一个新的组件 - 所谓的“学习逻辑” - 而不是业务逻辑。

应用程序开发人员一直在构建前端,业务逻辑和数据层组件。 软件设计,开发,测试,部署和管理流程的每一步都经过优化和完善。该工具集是广泛和非常知名的。

另一方面,对于工业规模的学习逻辑发展知之甚少。

首先,AI模型由数据科学家创建,而不是应用程序开发人员。 这些数据科学家只有很少一部分是软件工程师,他们中的大部分是物理学,数学,微生物学,经济学和其他非计算机领域高级学位的“真实”科学家。数据科学家用来创建AI模型的工具集和过程与软件工程师使用的工具集和过程非常不同。

与可重复使用的软件模块不同,除了少数例外,在一个应用程序域中对数据进行培训的模型不能轻易转移到另一个域,模型往往随着时间的推移而衰减。

随着基础数据的变化,模式需要重新学习,模型需要更新。为了确保性能一致和高水平的服务,模型生命周期管理必须与整体应用生命周期管理相结合。

那隐私和安全呢? 在安全环境中对敏感数据进行培训的模型能否在更安全的环境中部署到更广泛的用户群体?这些只是将学习的逻辑组件添加到应用程序架构时必须考虑的一些问题。对于这些问题,并没有一致的答案。

在这一点上,早期采用者和创新者正在经历痛苦的试错发现过程。 他们正在开发自己的工具和流程,整合两个领域:软件工程和机器学习。

如果能从过去的发展中能够看出,最终他们的辛勤工作将为具有广泛认知能力的新一类应用程序带来新的平台。在此领域,商机是巨大,比赛已经开始,你是否已经做好准备?

关键字:特征图像分类实例化

本文摘自:机房360

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^