搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 厦门安胜网络科技有限公司 > 人工智能模型是这样构建的!探秘DL4J分布式训练法!

人工智能模型是这样构建的!探秘DL4J分布式训练法!

厦门安胜网络科技有限公司 2018-06-30


人工智能的英文全名为Artificial Intelligence,我们通常简称为AI。广义上讲,AI可以指任何能够从事某种智能活动的计算机程序。近年来深度学习在AI领域表现尤为突出,在这里我们可以简单的把AI理解为深度学习。


深度学习由深层神经网络算法构成,大量的神经元输入通过不断的迭代更新参数完成模型定型。深度学习的计算强度较高,对于规模非常大的数据集而言,速度很重要。主流的深度学习框架有TensorFlow、Caffe、Keras、Theano等,它们大多在单节点服务器通过GPU加速完成模型训练。随着大数据时代的来临,采用分布式计算极大提高了计算性能。因此将分布式计算与深度学习结合成为必然趋势。 DL4J就是基于这样的思想诞生的,是应用最广泛的JVM开源深度学习框架,它可以利用Spark在多台服务器多个GPU上开展分布式的深度学习模型训练,让模型跑得再快一点。


运用Deeplearning4J高效的训练一个完整神经网络模型包括:神经网络输入数据ETL、配置神经网络结构、设置参数监测可视化界面、模型训练、模型评估、模型保存与加载。本期“安仔课堂”,ISEC实验室的纪老师为大家详解如何运用DL4J构建AI模型。

人工智能模型是这样构建的!探秘DL4J分布式训练法!

人工智能模型是这样构建的!探秘DL4J分布式训练法!



人工智能模型是这样构建的!探秘DL4J分布式训练法!
一、数据ETL

神经网络所能识别的输入数据是向量,训练中涉及大量的矩阵运算。ND4J是神经网络训练进行必要的线性代数和微积分运算的科学计算库,让Java能够访问所需的原生库,能够使用多个CPU或GPU快速处理矩阵数据。DataVec是基于ND4J之上的一个工具包,通过它可以方便的对数据摄取、清理、联接、缩放、标准化和转换等处理,快速的将图像、视频、声音、文本和时间序列等原始数据转变为特征向量,输入神经网络。示例如下:


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图1


人工智能模型是这样构建的!探秘DL4J分布式训练法!
二、配置网络结构

MultiLayerConfiguration是用来设定网络的层及其超参数。超参数是决定神经网络学习方式的变量,包括模型的权重更新次数、如何初始化权重、为节点添加哪些激活函数、使用哪些优化算法以及模型的学习速度,通过调用layer添加网络层,指定其在所有层中的先后位置、输入及输出节点数nIn和nOut。网络配置的示例如下:


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图2


人工智能模型是这样构建的!探秘DL4J分布式训练法!
三、模型训练

DL4J能够依靠Spark来实现数据并行,以并行方式训练模型,对这些模型产生的参数进行迭代式平均化,得到一个中央模型。首先创建一个TrainingMaster实例,指定分布式训练的实际开展方式,然后用网络配置和TrainingMaster对象创建SparkDl4jMultiLayer实例,最后SparkDl4jMultiLayer实例调用fit方法传入数据进行模型训练。


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图3


人工智能模型是这样构建的!探秘DL4J分布式训练法!
四、设置可视化界面

用户界面可以在浏览器中对网络状态以及定型参数进行可视化。该用户界面通常用于调试神经网络,亦即通过选择合适的超参数来提高网络性能。在配合Spark使用时可以分两个步骤,首先收集并保存相关统计数据,随后再进行可视化:


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图4


之后可以用如下代码加载并显示已保存的信息:


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图5


人工智能模型是这样构建的!探秘DL4J分布式训练法!
五、模型评估

模型训练完成后通常需要用一定数量的测试集来测试模型效果,这里可以直接调用doEvaluation方法对测试数据集进行模型测试,调用evaluation.stats()可以输出测试信息。


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图6

输出结果:


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图7


输出结果信息说明:

Accuracy(准确率):模型准确识别出的数量占总数的百份比;

Precision(精确率):真正例的数量除以真正例与假正例的数之和;

Recall(召回率):真正例的数量除以真正例与假负例数之和;

F1 Score(F1值):精确率和召回率的加权平均值。


人工智能模型是这样构建的!探秘DL4J分布式训练法!
六、模型保存与加载

模型训练完成后需要将模型保存以供模型加载部署。ModelSerializer是用于加载和保存模型的类。


人工智能模型是这样构建的!探秘DL4J分布式训练法!

图8


以上步骤完整的完成了一个基于DL4J深度学习的建模方式,我们可将代码打包提交到Spark集群运行。该模型可以在分布式环境中利用GPU实现高效运算,提升模型训练效率。



人工智能模型是这样构建的!探秘DL4J分布式训练法!

互了个动

小伙伴们,

本期内容到这里就结束啦,

你get到了吗?人工智能模型是这样构建的!探秘DL4J分布式训练法! 


欢迎大家于文末留言

分享你的宝贵见解、

疑问、补充~


与ISEC实验室大神互动的机会来啦!

速速行动起来撒!


安胜作为国内领先的网络安全类产品及服务提供商,秉承“创新为安,服务致胜”的经营理念,专注于网络安全类产品的生产与服务;以“研发+服务+销售”的经营模式,“装备+平台+服务”的产品体系,在技术研究、研发创新、产品化等方面已形成一套完整的流程化体系,为广大用户提供量体裁衣的综合解决方案!


ISEC实验室作为公司新技术和新产品的预研基地,秉承“我的安全,我做主”的理念,专注于网络安全领域前沿技术研究,提供网络安全培训、应急响应、安全检测等服务。


2018年

承担全国两会网络安全保障工作。

2017年

承担全国两会网络安全保障工作;

完成金砖“厦门会晤”保障工作;

完成北京“一带一路”国际合作高峰论坛网络安全保障;

承担中国共产党第十九次全国代表大会网络安全保障。

承担第四届世界互联网大会。

2016年

承担全国两会网络安全保障工作;

为贵阳大数据与网络安全攻防演练提供技术支持;

承担G20峰会的网络安保工作;

承担第三届世界互联网大会。

2015年

承担第二届世界互联网大会。

不忘初心、砥砺前行;未来,我们将继续坚守、不懈追求,为国家网络安全事业保驾护航!





版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《人工智能模型是这样构建的!探秘DL4J分布式训练法!》的版权归原作者「厦门安胜网络科技有限公司」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注厦门安胜网络科技有限公司微信公众号

厦门安胜网络科技有限公司微信公众号:ansheng47

厦门安胜网络科技有限公司

手机扫描上方二维码即可关注厦门安胜网络科技有限公司微信公众号

厦门安胜网络科技有限公司最新文章

精品公众号随机推荐