资深算法工程师万宫玺:Java工程师转型AI的秘密法宝——深度进修框架Deeplearning4j | 分享总结_张量_数据
在近期雷锋网AI研习社的线上分享会,来自苏宁易购搜索技能研发部的资深算法工程师万宫玺为大家先容了Deeplearning4框架的构成、紧张功能模块并结合实例讲述详细的利用方法。
视频回放链接:http://www.mooc.ai/open/course/333
万宫玺,苏州大学硕士,现就职于苏宁易购搜索技能研发部,从事自然措辞处理、机器视觉等领域的运用开拓事情。熟习诸如Deeplearning4j、Keras等开源深度学习框架。
以下为紧张分享内容:
分享主题为:基于Java的开源深度学习框架-Deeplearning4j的先容与实例分享。(
分享内容可概括以下四方面:
Deeplearning4j生态圈紧张功能模块的先容
Deeplearning4j单机/并行/分布式建模过程先容
Deeplearning4j对迁移学习、强化学习的支持
基于Fashion Mnist数据集的图像分类运用的开拓、支配、上线实例
第一部分内容详细为DL4j的开源库背景,目前的项目进展情形和背后的支撑团队。
第二部分为DL4j的生态圈,紧张先容生态圈中最主要的三个模块:DL4j本身,它所依赖的张量预算库ND4j、DL4j当中做数据ETL的库DataVec。
DL4j本身,它定义并且实现了比较经典的神经网络构造,比如图片中比较常用的卷积神经网络。机器学习都须要依赖一个张量运算框架,对付DL4j,他依赖的是ND4j这样一个框架,libnd4j是ND4j调用的一个库。
Model Zoo 是官方给出的经典神经网络构造的实现。包括AlexNet,GoogLenet ,DeepFace,YOLO等。Modle Zoo在0.9.0版本之前是作为一个独立的工程存在的,0.9.0之后的版本作为DL4j本身的一个模块,已经嵌入进去。
DL4j所依赖的张量运算库ND4J,ND4j可当作JAVA 版的Numpy。
ND4j内存管理情形:
ND4j利用了堆外内存和堆上内存两个部分的内存做相应的打算。当用ND4j去声明一个详细的张量时候,是在堆外内存存储张量工具,堆上内存只存储张量工具的引用。设计的缘故原由紧张是我们所依赖张量运算库,大部分的运算空间都是在堆外内存上,把数据放到堆外内存可提高运行效率。
须要把稳的是,用ND4j做神经网络的演习时,堆外内存一定要调的非常大,由于大量的事情都是在堆外内存做相应的张量运算。堆外内存要远远大于堆上内存。
ND4j具体例子,第一个是如何去创建一个张量,并且把这个张量在底层存储的顺序打印出来。
第二个是hadmard乘积实现。用直白的话阐明便是,两个张量相应的位置去做乘积,把这个结果形成新的向量,作为下一部分利用的结果,这个操作在包括卷积上面都是比较常用的。
数据ETL库,称之为DataVec, 它的紧张功能便是把语音旗子暗记,图片文件,文本文档转化为张量形式,做数据ETL.
总结DataVec库的浸染:它可以将非构造化数据经由处理转化变成张量型数据,也支持构造化数据的读取。
第三个部分怎么建模。分三个场景,第一个是本地单机建模;第二个是有多个CPU或多个GPU卡情形下怎么做并行建模;第三个是怎么和Spark结合做分布式的DL4j模型的建模。
建模的四个步骤并不是固定的,可以根据实际情形做灵巧的处理。大致思路首先是天生这样一个演习,测试,验证数据集。
本地单机建模,首先是加载数据(包括本地数据和测试数据),其次是配置模型构造以及超参数,并初始化模型参数。末了,演习神经网络模型,并利用测试数据集进行评估。
数据并行化:
并行建模如图所示:
怎么和Spark结合做一个分布式的Dp4j模型的建模:
想要在Spark上面开拓的同学,须要把稳Spark的版本,由于DL4j支持1.5、1.6 还有2.0之后的版本。框架靠近1.0版本的发布,真正原生态支持Spark 并不多,DL4j和Spark的结合是它的一大亮点。
第四部分是强化学习模块,称之为RL4j ,也是生态系统当中的一个组件。
迁移学习和强化学习在DL4j的支持情形:
详细运用实例分享:
关于Deeplearning4j 的总结:
个人在做AI方面的心得体会:
机器学习是AI的紧张办理方案,但不是唯一方案。
深度学习并不是万能的,对付非构造化数据:图像、文本、语音会有出色的效果,但传统机器学习模型同样很主要。
数据的质和量在实际的运用中共同决定了模型的泛化能力。
转型AI同样可以从Hello World 入手。
提升AI内功必须精通事理,而不仅仅跑出Demo。
不要局限于某一特定工具框架,可以取长补短。
迁移学习和强化学习可能代表AI的未来。
如果想详细理解深度学习的运用,如何做开拓,怎么去演习他的模型,怎么去调优,怎么去支配上线点击下面的视频可回顾本期内容。
雷锋网AI慕课学院视频回放链接:http://www.mooc.ai/open/course/333
本文系作者个人观点,不代表本站立场,转载请注明出处!