基于mxnet和gluon逐步实现深度学习常用模型
代码参考了沐神动手学深度学习课程,以及Wei Li通过keras的实现BIGBALLON/cifar-10-cnn。沐神辛苦开设的高质量深度学习课程和Wei Li高质量的keras代码给了我很多启发,大大加速了我对深度学习的学习,由衷感谢!
以下notebook仅需要按照沐神课程逐步安装gpu版的mxnet及其依赖便可直接运行
-
from_strat
从零逐步实现图像分类器
-
Gradient:梯度下降法(Gradient descend)
用numpy实现,利用梯度下降法求解高维线性分布的数据集的权重偏置
-
Gradient_Batch:随机梯度下降法(Stochastic gradient descend)
-
KNN:k=1最近邻分类cifar10数据集
-
MLP:多层感知机
用numpy以及autograd自动求导实现cifar10数据集的分类
-
LeNet:用numpy及autograd实现LeNet分类cifar10数据集
-
-
cnn_cifar10
通过gluon逐步构建复杂的卷积神经网络实现对cifar10的高精度分类(单模型95以上),详细参数以及精度对比见文件夹内README.md
cifar10数据集在官网自行下载解压后将load_cifar函数的route参数改为存放解压文件的绝对路径即可,下载地址:CIFAR-10 python version
-
mlp:多层感知机
-
lenet:调整了一点结构的lenet
-
lenet(data augmentation):标准数据增强后的lenet
-
resnet50:前置batch normalization和relu的resnet50
-
resnet50(data augmentation):加上标准数据集增强的resnet50
-
wide resnet(16*8):wrn实现高精度分类
-
kaggle(cifar10):用wrn16*8模型参加kaggle cifar10比赛
单模型精度95.96,ensemble后精度96.98。单模型精度即可击败原比赛榜单第一
-
kaggle(house price):房价预测,一个正在进行的比赛,沐神课程初期的一个小练习
由于同属于kaggle比赛,且训练很快,可以随手跑一跑,代码为一个简单调参后的demo,精度应在0.117左右,名次约在16%,传统机器学习方法应该可以获得更好的成绩,详细可参考实战Kaggle比赛——使用Gluon预测房价和K折交叉验证
-
-
transfer_learning
-
neural style:样式迁移
基于VGG19预训练模型进行迁移学习实现图片风格样式迁移
-
kaggle(dog breed identification):kaggle120种狗分类比赛
基于inception v3和resnet152 v1预训练模型通过迁移学习训练模型分类120种狗,使用原始数据集精度可达0.2673,使用stanford数据集精度可达0.0038,具体细节见文件夹内README.md
-
-
detection
目标检测与语义分割
-
faster rcnn
-
ssd:Single Shot MultiBox Detector
-
fcn
-
mask rcnn
-
-
gan
生成对抗网络
-
rnn
- 基本循环神经网络
- 门控循环神经网络
- LSTM
-
reinforcement_learning
规划中
keras的个人学习用notebook正在制作中,参考至BIGBALLON/cifar-10-cnn,更新速度较慢。
相关论文:
- Gradient-Based Learning Applied to Document Recognition
- Deep Residual Learning for Image Recognition
- Identity Mappings in Deep Residual Networks
- Wide Residual Networks
- Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- SSD: Single Shot MultiBox Detector
- Mask R-CNN
- Deep Reinforcement Learning: An Overview
- Generative Adversarial Networks
扩展阅读:
- ImageNet Classification with Deep Convolutional Neural Networks (Alexnet)
- Going Deeper with Convolutions (Googlenet)
- Very Deep Convolutional Networks for Large-Scale Image Recognition (VGG)
- Rich feature hierarchies for accurate object detection and semantic segmentation (RCNN)
- Fast R-CNN
- Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- Conditional Generative Adversarial Nets