Matlab一直以来都有着神经网络工具箱,而从2016的版本开始,提供深度神经网络的相关工具。而到现如今2017的版本,功能更加完善,因此本人在此总结Matlab 2017所包含的深度学习的功能。
如今版本的Matlab已经包含的如下功能:
Ø 获取已经训练好的神经网络
Ø 提供了方便的窗口式的神经网络工具箱
Neural Newwork Time Series Tool神经网络时间序列工具,可训练RNN
Neural Pattern Recognition app 神经网络特征识别工具
Neural Fitting app 神经网络拟合工具
Nerual Clustering app 神经网络聚类工具
Ø 特征网络可视化
Ø 在个人电脑或者云端使用CPU、GPU、多个GPU加速训练
当前版本GPU计算性能高于2.0的都使用GPU加速
Ø 提供了经典的神经网络应用例子与教程(附代码)
例如,MNIST手写体识别,DeepDream、Fast-RCNN物体检测等
Ø 提供了官方的Caffe接口
Ø 提供了一系列预处理工具
表1 Matlab 2017支持的层与网络(在matlab命令行中输入doc+类名可查看使用方法)
类型 | 类名(构造方法) | 含义 | ||
层 | inputLayer | 图像输入层 | ||
convolutional2dLayer | 2D卷基层 | |||
reluLayer | ReLU层 | |||
crossChannelNormalizationLayer | 归一化层(batchnormalization) | |||
AveragePooling2DLayer | 平均Pooling层 | |||
MaxPooling2DLayer | MaxPooling层 | |||
FullyConnectedLayer | 全连接层 | |||
DropoutLayer | Dropout层(防止过拟合) | |||
SoftmaxLayer | Softmax层 | |||
ClassificationOutputLayer | 分类输出层(默认损失函数为交叉熵) | |||
RegressionOutputLayer | 回归输出层(默认损失函数为MSE) | |||
Autoencoder | 自编码层 | |||
时序网络 | timedelaynet | 时间延迟神经网络 | ||
layrecnet | 循环神经网络 | |||
narnet | 非线性自回归神经网络 | |||
narxnet | 具有外部输入的非线性自回归神经网络 | |||
distdelaynet | 分布式延迟网络 | |||
回归网络 (MSE) | cascadeforwardnet | 级联神经网络 | ||
feedforwardnet | 前馈神经网络 | |||
fitnet | 函数拟合神经网络 | |||
识别分类网络 | lvqnet | 学习向量量化神经网络 | ||
patternnet | 模式识别网络 | |||
神经网络聚类 | selforgmap | 自组织网络 | ||
competlayer | 竞争层 | |||