美林数据
ABOUT US
美林数据技术股份有限公司(简称:美林数据,NEEQ:831546)是国内知名的数据治理和数据分析服务提供商。

Tempo大数据分析平台之深度学习解析

2020-05-18 16:03:12
2006年,Hinton在顶级期刊《科学》提出深度学习的概念,深度学习的概念源于人工神经网络的研究,是一种多层深度学习结构,深度学习通过组合低层特征形成更加抽象的高层表示类别属性或特征,发现数据的分布特征。
深度学习
随着研究的深入,深度学习在图像处理、语音识别、自然语言处理等领域取得突破性进展,落实的具体行业上,多采取多个领域的多模融合实现具体应用,比如,机器人助手,首先,需要图像处理模块和语音识别模块把语音信息和图像信息转化为文字描述,实现助手洞察外部的视觉和语音,其次,需要专门的深度学习网络实现基于语言的语义理解,给出外部反馈信息。
深度学习技术
随着科技研究的深入,深度学习技术在最近几年得到快速的发展,引起行业学者的极度关注。然而,深度学习对新入该领域的人来说门槛很高,基于此Tempo3.0为降低深度学习使用困惑集成了深度学习,平台深度学习建模提供两种方式:
  • 面向无编程基础的业务人员,可以基于平台的深度学习模型集成节点(DNN、RNN)等进行深度学习建模;
  • 面向具备编程基础业务人员(具备Python编程基础),可以基于平台的深TensorFlow脚本节点进行深度学习建模;
 
TensorFlow脚本节点

1.1.TensorFlow简介

随着深度学习在图像处理、语音识别、自然语言处理等领域取得突破性进展,深度学习编程框架也如火如荼的急速发展,其中,2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,得到深度学习领域的推崇。
TensorFlow™ 是一个采用数据流图的方式用于数值计算的通用计算框架,能够快速实现递归神经网络(RNN)和卷积神经网络(CNN)等的深度学习工具, 能够灵活的架构在多种平台,很方便的实现在CPU\GPU间的无缝切换。其中,数据流图是用结点和线的有向图来描述数学计算,节点(Nodes)表示数学操作,线(edges)表示在节点间相互联系的多维数据数组,即张量(tensor)。
TensorFlow
TensorFlow作为深度学习的通用编程计算框架,具备丰富的深度学习建模工具API接口,能够方便快速的实现DNN、CNN、RNN、LSTM、DBN等深度学习模型,此外,也可用于其他线性或非线性组合建模应用,进而实现图像处理、语音识别、自然语言处理等相关领域场景化应用。

1.2.TensorFlow on Spark

源生态TensorFlow存在诸多使用上不便的问题:资源利用和管理方面,资源利用不易管理,需手动配置资源,没有集群资源管理和调度,集群资源负载不均,作业缺乏统一管理,不便对作业运行状态跟踪;数据管理方面,数据管理困难,训练数据需手动分发,训练模型需手动保存本地,此外,日志查看不方便;进程管理方面,进程遗留,需手动处理进程关闭。
TensorFlow on Spark解决了以上存在的问题,实现数据基于Spark RDD进行分布式分发,模型保存到HDFS分布式文件系统中,详细功能如下表所示。
TensorFlow详细功能
 

1.3.TensorFlow在Tempo3.0集成应用

Tempo大数据分析平台将TensorFlow嵌入到挖掘流程中,实现TensorFlow节点和平台其他节点无缝融合,同时规避了源生态TensorFlow存在诸多使用上不便的问题。
TensorFlow在Tempo3.0挖掘流程中执行过程如下:

  • 上游节点将数据处理完毕后,数据写入HDFS分布式文件系统中,将文件路径传入TensorFlow节点,TensorFlow脚本节点启动进程通过PySpark提交Spark作业,挖掘流程主进程驻留,并对TensorFlow脚本进程进行监听;
  • 由PySpark启动TensorFlow集群和相关服务(TensorBoard等),读取数据并分发到TensorFlow集群各节点进行作业处理,处理的数据输出到HDFS分布式文件系统中,结束TensorFlow进程;
  • 挖掘流程主进程监听到TensorFlow进程结束后,从HDFS分布式文件系统中读取TensorFlow输出的数据,接着进入下面的作业流程。
TensorFlow在Tempo3.0集成应用

1.4.TensorFlow脚本应用

(1)挖掘流程界面
TensorFlow脚本在挖掘分析过程中可以和平台其他挖掘分析节点无缝对接,其挖掘流程若下图所示:
TensorFlow脚本应用
在流执行过程中,流程日志会输出“TF Spark作业流程ID”和“TensorBoard服务地址”,根据“TF Spark作业流程ID”可以查看集群的资源调度情况以及跟踪TF作业状态,查看TF集群作业日志信息。
深度学习
作业会基于HDFS模型路径自动启动TensorBoard服务,实现对TF作业过程进行时时建模洞察,虽则TF作业结束,TensorBoard服务也会终止以防服务驻留对集群资源的过度占用。
TensorBoard
 
(2)脚本参数界面
TensorFlow脚本参数界面如下图所示,界面分三个功能Tab页:代码编辑、集群参数、路径配置。
代码编辑页是用户编码建模界面,左面为可引用建模变量详细说明,右边为代码编辑区。TensorFlow程序通常被组织成一个构建阶段和一个执行阶段. 在构建阶段,执行步骤被描述成一个图;在执行阶段,使用会话执行图中的操作。用户基于Tempo完成深度学习建模需实现以下两种函数接口build_graph和process_step,build_graph为构建图函数接口,process_step为使用会话执行图中的操作函数接口。
深度学习建模
集群参数为深度学习建模过程中TensorFlow集群配置和模型训练配置界面,可以配置集群参数服务器、执行器个数即执行器内存,模型训练中的模型名称、数据批大小、迭代次数等;路径配置为TensorFlow集群部署环境配置界面。
 
模型集成节点
模型集成节点以参数界面配置的方式实现深度学习建模,模型集成节点帮助用户快速高效的进行深度学习建模,而不要求用户具备编码基础,仅需用户具备一定的深度学习基本原理知识。平台规划集成DNN、RNN、LSTM、CNN等常用深度学习模型实现分类、回归、时间序列等业务场景。
模型集成节点
目前,平台集成了DNN分类、DNN回归、LSTM回归的深度学习模型集成,其中,以DNN回归为例介绍深度学习模型集成节点的使用,其他节点使用模式相似。下图为DNN回归建模参数界面:
数据预处理:基于数据标准化方法实现数据预处理,提高建模的效率和精度;
网络机构:支持配置DNN网络结构如:隐层个数、隐层神经元个数、激活函数、输出层函数;
模型训练:支持配置DNN模型网络空间初始权重初始化方式、参数寻优方法、正则化参数、模型训练次数、学习速率、最小批样本个数;
 
DNN分类
 
服务热线
400-608-2558
咨询热线
029-88696198
美林数据
微信扫描二维码,立即在线咨询