ВВЕДЕНИЕ 3
1. Описание предметной области 4
1.1. Архитектура SENet 6
2. Реализация и описание алгоритмов 9
3. Результаты экспериментов 16
3.1. Набор данных Omniglot 16
3.2. Валидация параметров нейронной сети 18
3.3. Эксперименты с новой архитектурой 26
ЗАКЛЮЧЕНИЕ 30
СПИСОК ЛИТЕРАТУРЫ 32
ПРИЛОЖЕНИЯ
На сегодняшний день самым популярным инструментом в машинном обучении являются нейронные сети. Главным требованием при обучении нейронных сетей является большой объем качественно аннотированных данных. Метод однократного обучения позволяет обойти данное требование, не утратив в точности и скорости в сравнении со стандартными методами.
Несмотря на стремительный рост интереса к нейронным сетям, исследований в области однократного обучения немного. Более того, большинство из них проводится в домене компьютерного зрения, однако успешное применение подобных алгоритмов зачастую возможно и в других областях машинного обучения.
Актуальность темы усиливается наличием приложений, в которых может потребоваться распознавание объектов новых классов уже после обучения нейронной сети: при реализации метода однократного обучения будет достаточно включения одного или нескольких примеров объекта нового класса в обучающую выборку
Цель работы заключается в реализации метода однократного обучения для распознавания изображений с оценкой точности в режиме one-shot [1]. Для достижения цели ставятся следующие задачи:
- изучение литературы по теме;
- программная реализация сиамской нейронной сети на языке Python с использованием фреймворка TensorFlow;
- обучение нейронной сети на наборе данных Omniglot;
- валидация гиперпараметров нейронной сети;
- исследование возможности улучшения имеющихся результатов за счёт изменения архитектуры нейронной сети;
- анализ результатов.
В ходе исследования удалось полностью реализовать метод однократного обучения для классификации изображений с помощью сиамской сверточной нейронной сети. Проверка точности проводится на наборе данных Omniglot в ходе 400 раундов однократного распознавания среди 20 классов.
Детальный разбор исследований по теме работы дал возможность достигнуть высоких показателей точности однократного распознавания на тестовой выборке. В ходе валидации гиперпараметров удалось повысить точность до 91.5% и экспериментально проверить влияние гиперпараметров на ход обучения. Тем не менее, разница финальных показателей точности на валидационной и тестовой выборке для каждой конкретной модели могла достигать 17%. Более того, рост точности в одном случае часто сопровождался понижением точности в другом. Такие наблюдения свидетельствуют о недостаточном размере выборки для проверки точности и возможной еще более значительной сложности задачи в целом.
Множество экспериментов показало, что из-за строгих ограничений в вариативности данных и небольшого размера обучающей выборки применяемый подход приводит к переобучению сети. Борьба с переобучением потребовала применения сразу нескольких методов регуляризации, среди которых самым эффективным оказалось дополнение данных. Несмотря на разнообразие афинных преобразований изображений и их случайной генерации в ходе обучения, точность верификации спустя несколько эпох во многих случаях всё равно достигала 100%, после чего деградация сети усиливалась.
Увеличение размера обучающей выборки до 210000 пар не показало положительных изменений. Можно предполагать, что так как выборка формируется из символов в пределах одного алфавита, частое повторение одних и тех же пар символов даже с разными изображениями этих символов не повышает вариативность данных и сложность задачи верификации.
Дополнительные эксперименты подтвердили тот факт, что естественная вариативность данных повышает обобщающую способность модели.
Предложено несколько модификаций архитектуры базовой модели с включением блоков SE-ResNet. Однако в большинстве случаев эффект переобучения лишь усиливается, а разница с лучшими показателями базовой модели составляет примерно 2%. При этом, намеренное уменьшение сети приводит к низкой точности верификации. Возможно, с помощью подобных изменений можно найти лучшую модель для решения поставленной задачи, но это требует проведения множества дополнительных экспериментов.
В качестве следующих шагов для повышения достигнутых показателей, кроме модификаций архитектуры нейронной сети, интересно изменение метрики схожести (например, на метрику у2 [14]), целевой функции (например, triplet loss [15]), а также принципа обучения (например, imitation learning). Обучение на других наборах данных (Penn Treebank, miniImageNet [16]) также может дать понимание того, какие именно тенденции соблюдаются при постановке задачи однократного распознавания в общем случае.
1. Lake B. One-shot learning by inverting a compositional causal process [Text] / B. Lake, R. Salakhutdinov, J. Gross, J. Tenenbaum // Advances in neural information processing systems. - 2013. - С. 2526-2534.
2. Yip K. Sparse representations for fast, one-shot learning
[Электронный ресурс] / K. Yip, G. Sussman. - 1997. - URL:
https://dspace.mit.edu/handle/172L1/6673 (дата обращения: 31.05.2019).
3. Fe-Fei L. A Bayesian approach to unsupervised one-shot learning of object categories [Text] / L. Fe-Fei, R. Fergus, P. Perona // Proceedings Ninth IEEE International conference on computer vision. - 2003. - С. 1134-1141.
4. Fe-Fei L. One-shot learning of object categories [Text] / L. Fe-Fei, R. Fergus, P. Perona // IEEE Transactions on pattern analysis and machine intelligence, Т 28. - 2006. - №4. - С. 594-611.
5. Miller E. Learning from one example through shared densities on transforms [Text] / E. Miller, N. E. Matsakis, P. A. Viola // Proceedings IEEE conference on computer vision and pattern recognition, T.1. - 2000. - С. 464-471.
6. Tommasi T. The more you know, the less you learn: from knowledge transfer to one-shot learning of object categories [Text] / T. Tommasi, B. Caputo // Proceedings of the British machine vision conference. - 2009. - №23. - C.80.1.
7. Wolf L. The one-shot similarity kernel [Text] / L. Wolf, T. Hassner // IEEE 12th international conference on computer vision. - 2009. - С. 897-902.
8. Lake B. et al. One shot learning of simple visual concepts [Text] // Proceedings of the annual meeting of the cognitive science society, T.33. - 2011. - №33. - C. 2568-2573.
9. Salakhutdinov R. One-shot learning with a hierarchical nonparametric bayesian model [Text] / R. Salakhutdinov, J. Tenenbaum // Proceedings of ICML workshop on unsupervised and transfer learning. - 2012. - С. 195-206.
10. Krizhevsky A. Imagenet classification with deep convolutional neural networks [Text] / A. Krizhevsky, I. Sutskever, G. Hinton // Advances in neural information processing systems. - 2012. - С. 1097-1105.
11. ImageNet classification with deep convolutional neural networks [Электронный ресурс]. - URL: http://www.image-net.org/challenges/LSVRC. (дата обращения: 20.05.2019)
12. Koch G. Siamese neural networks for one-shot image recognition [Text] /
G. Koch, R. Zemel, R. Salakhutdinov // ICML deep learning workshop, Т 2. -
2015.
13. Bromley J. Signature verification using a siamese time delay neural network [Text] / J. Bromley, I. Guyon, Y LeCun, E. Sackinger, R. Shah // Advances in neural information processing systems. - 1994. - С. 737-744.
14. Taigman Y Deepface: Closing the gap to human-level performance in face verification [Text] / Y. Taigman, Y Ming, M. Ranzato, L. Wolf // Proceedings of the IEEE conference on computer vision and pattern recognition. - 2014. - С. 1701-1708.
15. Schroff F. Facenet: A unified embedding for face recognition and clustering [Text] / F. Schroff, D. Kalenichenko, J. Philbin // Proceedings of the IEEE conference on computer vision and pattern recognition. - 2015. - С. 815-823.
16. Vinyals O. Matching networks for one shot learning [Text] / O. Vinyals, C. Blundell, T. Lillicrap // Advances in neural information processing systems. -
2015. -С. 3630-3638.
17. Santoro A. One-shot learning with memory-augmented neural networks [Электронный ресурс] / B. Sergey B., M. Botvinick, D. Wierstra, T. Lillicrap. -2016. - URL: https://arxiv.org/abs/1605.06065 (дата обращения: 25.05.2019)
18. Michaelis C. One-shot segmentation in clutter [Text] / C. Michaelis, M. Bethge, A.S. Ecker // Proceedings of the 35th International Conference on Machine Learning. - 2018. - C. 3549-3558.
19. Shaban A. One-Shot learning for semantic segmentation [Электронный ресурс] / S. Bansal, Z. Liu, I. Essa, B. Boots. - 2017. - URL: https://arxiv.org/abs/1709.03410 (дата обращения: 26.05.2019).
20. Keren G. Weakly supervised one-shot detection with attention siamese networks [Электронный ресурс] / G. Keren, M. Schmitt, T. Kehrenberg. - 2018. URL: https://arxiv.org/abs/1801.03329 (дата обращения: 26.05.2019).
21. Yuan J. et al. One-shot learning for fine-grained relation extraction via convolutional siamese neural network [Text] / J. Yuan, H. Guo, Z. Jin, H. Jin, X. Zhang // IEEE International conference on big data. - 2017. - С. 2194-2199.
22. Cai Q. Memory matching networks for one-shot image recognition [Text] /
Q. Cai, Y Pan, T. Yao, C. Yan, T. Mei // Proceedings of the IEEE conference on computer vision and pattern recognition. - 2018. - С. 4080-4088.
23. Lake B. The Omniglot challenge: a 3-year progress report [Электронный ресурс] / B. Lake, R. Salakhutdinov, J. B. Tenenbaum. - 2019. - URL: https://arxiv.org/abs/1902.03477 (дата обращения: 26.05.2019).
24. He K. Deep residual learning for image recognition [Text] / K. He, X. Zhang, S. Ren, J. Sun // Proceedings of the IEEE conference on computer vision and pattern recognition. - 2016. - С. 770-778.
25. Hu J. Squeeze-and-Excitation networks [Text] / J. Hu, L. Shen, G. Sun // IEEE conference on computer vision and pattern recognition. - 2018. - C. 71327141.
26. Ioffe S. Batch normalization: accelerating deep network training by reducing internal covariate shift / S. Ioffe, C. Szegedy // Proceedings of the 32nd International conference on machine learning. - 2015. - C. 448-456.
27. He K. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification [Text] / K. He, X. Zhang, S. Ren, J. Sun // The IEEE International conference on computer vision. - 2015. - C. 1026-1034.
28. Набор Omniglot [Электронный ресурс]. - 2015. URL:
https://github.com/brendenlake/omniglot (дата обращения: 25.05.2019).