В последние годы машинное обучение нашло свое применения во многих отраслях человеческой деятельности, в том числе и в научных исследованиях. Обучение с учителем, как частный случай машинного обучения, является одним из популярных подходов для решения множества практических и исследовательских задач. Однако успех применения алгоритмов обучения с учителем зависит от количества и качества имеющихся данных. Данные, необходимые для обучения с учителем, должны быть размечены, то есть каждый элемент данных должен быть снабжен некоторой меткой, которую впоследствии алгоритм будет предсказывать. Отсутствие размеченных данных, их малый объем или низкое качество могут стать серьезной проблемой для использования алгоритмов машинного обучения.
Сбор и накопление размеченных данных зачастую является узким местом в научных исследованиях или же в практических задачах, связанных с применением машинного обучения. Как правило, процесс разметки данных требует кропотливой ручной работы множества экспертов, при котором возникают проблема человеческого фактора - принятие человеком неверных решений - и, как следствие, проблема снижения качества получаемых в результате работы экспертов данных. Стоит добавить, что процесс ручной разметки является крайне трудоемким, а объемы данных, которые необходимо разметить могут достигать сотни тысяч элементов. По указанным выше причинам, многие исследовательские группы заинтересованы в оптимизации процесса разметки данных.
Можно выделить два основных направления оптимизации процесса ручной разметки данных - это ускорение процесса и повышение качества разметки получаемых в результате работы экспертов данных. На текущий момент существует множество программных инструментов, решающих в той или иной степени задачи ускорении разметки и повышения качества собираемых данных. О популярности и важности этих задач также говорит большое количество современных публикаций и множество разрабатываемых методов, связанных с качественным улучшением процесса разметки данных.
В рамках научных исследований, к инструментам разметки данных могут предъявляться следующие ключевые требования:
• Инструмент должен распространяться под открытой лицензией.
• Приложение может быть легко установлено на локальный компьютер пользователя, либо же развернуто в локальной компьютерной сети организации.
• Приложение предлагает большой набор инструментов для выполнения различных задач по разметке данных.
• Приложение предполагает многопользовательский режим работы.
• В приложении используются различные современные методы для ускорения процесса разметки данных.
• Архитектура приложение позволяет легко масштабировать инструмент под решение новых задач.
• Приложение может горизонтально масштабироваться при увеличении количества пользователей или объема размечаемых данных.
• Приложение осуществляет контроль целостности и качества данных.
• Отказоустойчивость приложения.
На данный момент среди инструментов разметки данных отсутствуют те, которые в полной мере удовлетворяют всем перечисленным ключевым требованиям.
Целью данной работы является проектирование архитектуры инструмента для автоматизации процесса ручной разметки данных, отвечающего указанным ключевым требованиям. Сферой применения данного инструмента предполагается сфера научных исследований, связанных с применением машинного обучения.
В рамках данной работы была разработана архитектура инструмента для автоматизации процесса разметки наборов данных, которая обеспечивает масштабируемость и отказоустойчивость системы. На основе предложенной программной архитектуры был разработан прототип инструмента автоматизированной разметки данных. Осуществлен теоретический расчет ускорения, которое может обеспечить схема полуавтоматической разметки данных в реализованном прототипе. В выводе были отмечены основные направления развития разработанного приложения.
[1] Alexey Drutsa и др. «Practice of efficient data collection via crowdsourcing at large-scale». в: arXiv (2019), с. 1—9. ISSN: 23318422. arXiv: 1912.04444.
[2] Carsten Rother, Vladimir Kolmogorov и Andrew Blake. «"GrabCut Interactive foreground extraction using iterated graph cuts». в: ACM Transactions on Graphics 23.3 (2004), с. 309—314. ISSN: 07300301. DOI: 10.1145/101570 6.1015720.
[3] Xuebin Qin и др. «ByLabel: A boundary based semi-automatic image annotation tool». в: Proceedings - 2018 IEEE Winter Conference on Applications of Computer Vision, WACV 2018 2018-Janua (2018), с. 1804—1813. DOI: 10.1109/WACV.2018.00200.
[4] Lluis Castrejon и др. «Annotating object instances with a polygon-RNN». в: Proceedings - 30th IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017 2017-Janua (2017), с. 4485—4493. DOI: 10.1109 /CVPR.2017.477. arXiv: 1704.05548.
[5] Bryan C Russell и др. «LabelMe: A Database and Web-Based Tool for Image Annotation». в: International Journal of Computer Vision 77.1 (2008), с. 157—173. ISSN: 1573-1405. DOI: 10.1007/s11263-007-0090-8. URL: https://doi.org/10.1007/s11263-007-0090-8.
[6] R.A. Gilyazev и D.Y. Turdakov. «Active learning and crowdsourcing: a survey of annotation optimization methods». в: Proceedings of the Institute for System Programming of the RAS 30.2 (2018), с. 215—250. ISSN: 20798156. DOI: 10.15514/ispras-2018-30(2)-11.
[7] Nguyen Quoc Viet Hung и др. «An evaluation of aggregation techniques in crowdsourcing». в: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 8181 LNCS.PART 2 (2013), с. 1—15. ISSN: 03029743. DOI: 10.1007/978- 3-642-41154-0_1.
[8] Burr Settles. Active Learning Literature Survey. Computer Sciences Technical Report 2. University of Wisconsin-Madison, 2010, с. 201—221. DOI: 10.1 .1.167.4245.
[9] Elmar Haussmann и др. «Scalable Active Learning for Object Detection». в: IEEE Intelligent Vehicles Symposium, Proceedings (2020), с. 1430—1435. DOI: 10.1109/IV47402.2020.9304793. arXiv: 2004.04699.
[10] Joseph Redmon и др. «You only look once: Unified, real-time object detection». в: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2016-Decem (2016), с. 779—788. ISSN: 10636919. DOI: 10.1109/CVPR.2016.91. arXiv: 1506.02640.
[11] Joseph Redmon и Ali Farhadi. «YOLO9000: Better, faster, stronger». в: Proceedings - 30th IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017 2017-Janua (2017), с. 6517—6525. DOI: 10.1109 /CVPR.2017.690. arXiv: 1612.08242.
[12] Joseph Redmon и Ali Farhadi. «YOLOv3: An Incremental Improvement». в: (2018). arXiv: 1804.02767. URL: http://arxiv.org/abs/1804.02767.
[13] Alexey Bochkovskiy, Chien-Yao Wang и Hong-Yuan Mark Liao. «YOLOv4: Optimal Speed and Accuracy of Object Detection». в: (2020). arXiv: 2004.1 0934. URL: http://arxiv.org/abs/2004.10934.
[14] Wei Liu и др. «SSD: Single shot multibox detector». в: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 9905 LNCS (2016), с. 21—37. ISSN: 16113349. DOI: 10.1007/978-3-319-46448-0_2. arXiv: 1512.02325.
[15] Jocelyn C. Adams и др. «Grouper: Optimizing Crowdsourced Face Anno- tations». в: IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops June (2016), с. 163—170. ISSN: 21607516. DOI: 10.1109/CVPRW.2016.27.
...