功能

以下是Deeplearning4j功能的不完全列表。我们会不断添加新推出的网络类型和工具。

集成

  • Spark
  • Hadoop/YARN
  • 导入Keras模型

API

  • Scala
  • Java

网络类型

Deeplearning4j是一个可组合的框架,用户可以将浅层网络自行组合成不同类型的深度网络。比如,2014年晚些时候,谷歌将卷积网络和循环网络结合,组成了能够准确生成图像描述的神经网络。

工具

DL4J包含下列内置向量化算法:

DL4J支持下列优化算法:

  • 随机梯度下降
  • 带线搜索的随机梯度下降
  • 共轭梯度线搜索(参见Hinton 2006
  • L-BFGS

上述每种优化算法均可与下列定型功能(DL4J称之为“更新器”)搭配使用:

  • SGD(仅与学习速率相关)
  • Nesterov动量
  • Adagrad
  • RMSProp
  • Adam
  • AdaDelta

超参数

  • 丢弃法(dropout,随机省略特征检测器来防止过拟合)
  • 稀疏性(sparsity,稀疏/罕见输入的强制激活)
  • Adagrad(针对具体特征的学习速率优化)
  • L1和L2正则化(权重衰减)
  • 权重变换(用于深度自动编码器)
  • 初始权重生成的概率分布操控
  • 梯度标准化与裁剪

损失/目标函数

  • MSE:均方差:线性回归
  • EXPLL:指数型对数似然函数:泊松回归
  • XENT:叉熵二元分类
  • MCXENT:多类别叉熵
  • RMSE_XENT:RMSE叉熵
  • SQUARED_LOSS:平方损失
  • NEGATIVELOGLIKELIHOOD:负对数似然函数

激活函数

ND4J中定义的激活函数参见此处

  • ReLU(修正线性激活函数)
  • 带泄露的ReLU
  • Tanh
  • Sigmoid
  • Hard Tanh
  • Softmax
  • 恒等函数
  • ELU:指数型线性单元
  • Softsign
  • Softplus
与我们在Gitter聊天