4.6.16 AI&BigData Lab
Upcoming events: goo.gl/I2gJ4H
Поговорим об одной из базовых практических техник обучения нейронных сетей - предобучение, finetuning, transfer learning. В каких случаях применять, какие модели использовать, где их брать и как адаптировать.
5. Is Neural Networks is simple solution?
SVM
- Kernel type
- Smoothness
RANDOM FOREST
- Number of trees
- Trees’ depth
NEURAL NETWORKS
6. Is Neural Networks simple solution?
• A few dozens of thousands of samples – is not bad dataset
• A few hundreds of thousands of samples – is good dataset
• Overfitting is problem even for datasets with several millions samples
11. Weights transfer
Source task:
For example, train VGG-16 for ImageNet classification
(1.2*10^6 samples, 1000 classes)
Target task:
Remove last layer with 1000 outputs
Put your own last layer for N classes
=> same topology, weights initialized by weights from
source task’s net
12. When such flow can be used
Low amount of data Source and Target
tasks are similar
13. Transfer learning types
• New classifier (for example, SVM)
• Layer by Layer pretrain (for example, early autoencoders)
• Finetuning (with lower LR)
14. Examples. “Plankton” and AlexNet
“Plankton”
National Data Science Bowl
kaggle.com
Classes: 121 with hierarchy
Samples: ~30 000
AlexNet: 8 layers
inputs: 227x227
15. Examples. “Pankton” and Cifar10
“Plankton”
National Data Science Bowl
kaggle.com
Classes: 121 with hierarchy
Samples: ~30 000
AlexNet: 4 layers
inputs: 32x32
16. Example. “Drivers” and GoogleNet
“Drivers”
State Farm Distracted
Driver Detection
kaggle.com
Classes: 121 with hierarchy
Samples: ~30 000
AlexNet: 4 layers
inputs: 32x32
18. Model Zoo
CAFFE : ~ 30 models for different problems
https://github.com/BVLC/caffe/wiki/Model-Zoo
MatConvNet: ~10 models for different problems
http://www.vlfeat.org/matconvnet/pretrained/
TensorFlow:
https://github.com/tensorflow/models
Torch:
https://github.com/facebook/fb.resnet.torch
https://github.com/szagoruyko/loadcaffe