20. Задача 1 Baseline
Получить хоть какую-то модель
● преобразовать картинки в матрицу чисел
● ошибка уменьшается по эпохам
● результат лучше, чем рандом
● генерировать правильный формат output
для Kaggle и получить errorkaggle
=errorvalid
4.8 0.562.0
21. Инфраструктура (2 недели)
● Генерация матрицы из картинок (разные алгоритмы
сведения к одному размеру)
● Перекрёстное тестирование (6-Fold CV)
● Логирование
● Удобное описание нейросети и параметров обучения
● Сохранение и загрузка моделей
● Загрузка результатов в Kaggle
● Data Augmentation
● Усреднение результатов
● Дообучение глубокой сети
24. Лучшая сеть на PyLearn2
conv 32x5x5
conv 64x3x3
2 * conv 128x3x3
4 * conv 128x3x3
2 * fc 1000
softmax
4.8 0.560.82
1.5
1.2
0.85
25. Theano
● Операции не выполняются сразу
● Строится граф вычислений
● Автовычисление производных
Y = T.softmax(T.dot(W.T, X) + b)
error = nll(Y_true, Y)
W = W - lr * T.grad(error, W)
b = b - lr * T.grad(error, b)
27. ● Weight Initialization — возможность
обучать глубокую нейросеть,
существенное уменьшение ошибки с
первых эпох!
● Adadelta — не нужно подбирать lr
вручную, нужно меньше эпох!
● Batch Normalization — нужно в 3 раза
меньше эпох, конечный результат
значительно лучше!
40. vedr.py + усреднение
conv 16 32 pool 48 64 80 pool 96 112
128 144 pool 160 176 192 pool
fc 2000 2000 2000
image size=165x165
4.8 0.560.8
0.82 0.73
0.7 0.68
0.66
41. Amazon EC2
$0.65/час ‘On Demand’
$0.065/час ‘Spot’ = 100 в сутки
$23 за 3 дня вычислений на 5 компьютерах
За электричество заплатили 1500 за 2 месяца
Instance→Setup→Snapshot→ *Instance→Compute
Не забывайте terminate!