пятница, 25 августа 2017 г.

Соревнование Invasive Species Monitoring: решение на R с использованием Keras

В недавнем соревновании Invasive Species Monitoring удалось опробовать пакет keras, позволяющий использовать в R одноименную библиотеку. Был на 11 месте, затем съехал на 19 (на публичном LB), а итоговые результаты не показывают до сих пор. 
Мое лучшее решение представляло собой простое усреднение предсказаний одной модели после двух разных эпох и еще одной модели после лучшей эпохи. Модели отличались форматом изображений: в первой картинки были с правильным соотношением сторон - 300х400 (высота на ширину), а во второй - с неправильным (400х300). Файнтюнил InceptionV3, хотя у участников и с Resnet все очень хорошо получалось. 
В топовом решении использовалась перекрестная проверка вместо маленькой проверочной выборки в моем случае, а также картинки значительно большего размера; я остановился на 400х300 ввиду наличия GPU всего c 4Гб памяти, а автор https://www.kaggle.com/jamesrequa/keras-k-fold-inception-v3-1st-place-lb-0-99770 взял 800х800. Размер картинки в данном случае решает: борьба шла за доли процента AUC, а по своим моделям я видел, что самые "сомнительные" предсказания были как раз для тех изображений, где цветочки получились совсем маленького размера. Потенциально качество модели на относительно мелких изображениях можно было бы улучшить, добавив в список преобразований при аугментации еще и увеличение (zoom_range в image_data_generator()).
0.99 with R and Keras (Inception V3 fine-tune)