DL4J-入门知识介绍
更新时间 2021-09-29 17:28:55    浏览 0   

TIP

本文主要是介绍 DL4J-入门基础知识 。

# Deeplearning4j 概述

DeepLearning4J(DL4J)是一套基于Java语言的神经网络工具包,可以构建、定型和部署神经网络。

wxmp

DeepLearning4J(DL4J)对于Java开发者开发人工智能应用比较友好。

DL4J与Hadoop和Spark (opens new window)集成,支持分布式CPU和GPU,为商业环境(而非研究工具目的)所设计。Skymind (opens new window)是DL4J的商业支持机构。

Deeplearning4j拥有先进的技术,以即插即用为目标,通过更多预设的使用,避免多余的配置,让非企业也能够进行快速的原型制作。DL4J同时可以规模化定制。DL4J遵循Apache 2.0许可协议,一切以其为基础的衍生作品均属于衍生作品的作者。

# DL4J 的功能

Deeplearning4j包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。定型过程以集群进行,也就是说,Deeplearning4j可以快速处理大量数据。神经网络可通过[迭代化简]平行定型,与 Java、 Scala (opens new window)Clojure (opens new window) 均兼容。Deeplearning4j在开放堆栈中作为模块组件的功能,使之成为首个为微服务架构 (opens new window)打造的深度学习框架。

# DL4J 有那个神经网络?

目前(2017年4月,因为Skymind团队有逐步增加不同的神经网络)有:

    1. 受限玻尔兹曼机
    1. 卷积网络
    1. 循环网络/LSTMs
    1. 深度置信网络
    1. 深度自动编码器
    1. 递归神经传感器网络
    1. 堆叠式降噪自动编码器
    1. 深度增强学习
    1. 迁移学习

# DL4J 可以在哪里运行?

过去几年里,DL4J已获得以下机构的认证:

  • Cloudera CDH
  • Hortonwork HDP
  • NVIDIA CUDA
  • Hadoop
  • Hadoop Yarn
  • Apache Spark
  • Apache Flink
  • Canonical
  • Reactive Platform

# DL4J 平台解剖

DL4J 不只是一个深度学习库,它拥有完整的生态,让你从各类浅层网络(其中每一层在英文中被称为layer)出发,设计深层神经网络。这一灵活性使用户可以根据所需,在分布式、生产级、能够在分布式CPU或GPU的基础上与Spark和Hadoop协同工作的框架内。此处为我们已经建立的各个库及其在系统整体中的所处位置:

wxmp

# DATAVEC

神经网络专门处理多维数组形式的数值数据。DataVec可以将来自一个CSV文件或一批图像的数据序列化,转换为数值数组。数据的摄取、清理、联接、缩放、标准化和转换是开展任何类型的数据分析时都必须完成的工作。这类工作可能有些无趣,但却是深度学习的先决条件。DataVec是专为这一流程设计的工具包。数据科学家和开发人员可以用其中的工具将图像、视频、声音、文本和时间序列等原始数据转变为特征向量,输入神经网络。

# DL4J

算法库:DeepLearning4J用于设计神经网络:

# ND4J

ND4J是DeepLearning4J的数值处理库和张量库,在JVM中实现NumPy的功能:

# ARBITER

Arbiter帮助您搜索超参数空间,为神经网络寻找最理想的参数组合及架构。这非常重要,因为寻找恰当的架构和超参数是一个很大的组合问题。来自微软研发部等企业实验室的ImageNet大赛获胜团队正是通过搜索超参数空间才得出了ResNet这样的150层神经网络:

# 其他组件

# 参考文章

  • https://zhuanlan.zhihu.com/p/26389690
更新时间: 2021-09-29 17:28:55
  0
手机看
公众号
讨论
左栏
全屏
上一篇
下一篇
扫一扫 手机阅读
可分享给好友和朋友圈