За последние несколько лет искусственный интеллект и нейросети пробрались практически во все сферы жизни. И хоть теоретические выкладки в этой области появились уже давно, возможность создать имеющие практическое применение программы появилась сравнительно недавно, когда в начале двухтысячных годов скопилось достаточное количество данных, а также достигли определенного уровня вычислительные мощности и их стоимость.
Нейросети используются очень широко, вы напрямую взаимодействуете с ними, когда ищите что-либо в поисковике, узнаете маршрут до нужной вам точки (с учетом пробок, конечно), проверяете прогноз погоды на ближайшие дни, заезжаете на парковку с распознаванием номеров, а если повезет, то можете даже поговорить с нейросетью, позвонив в банк. Это самые простые примеры, с которыми мы сталкиваемся каждый день. Не менее широко нейросети используются и в профессиональных сферах: социологии, журналистике, лингвистике, и многих других областях.
В то же время практически все современные веб-сервисы, компьютерные программы и мобильные приложения основаны на графическом интерфейсе. Следующий по популярности интерфейс — командная строка, используется только в конкретных областях, чаще всего связанных с программированием. Это довольно логично, учитывая тот факт, что сама работа в командной строке во многом и является программированием, однако таким навыком обладают далеко не все, ведь для его получения требуется несколько месяцев, если не лет, кропотливого изучения предмета.
Несмотря на высокую востребованность нейросетей, единственным способом их построения остается программирование. В данной работе мы исследуем возможности интеграции альтернативного способа работы с нейросетями — графического интерфейса, а также постараемся разобраться, почему подобные приложения не появились раньше.
В результате данной работы было создано приложение с графическим интерфейсом, позволяющее создавать и настраивать произвольные модели глубокого обучения с нуля практически без использования кода. Единственный элемент, настройка которого осуществляется традиционным способом был спроектирован с целью демонстрации различных подходов к визуальной настройке и возможности перехода к графическому интерфейсу без потери гибкости интерфейса командной строки.
Получившаяся программа позволяет пользователю контролировать весь процесс обучения: загрузку данных, построение нейросети, выбор методов оптимизации и анализ качества. Система построена таким образом, что ее легко дополнять и совершенствовать, главным достижением работы можно назвать разработку класса базового слоя, благодаря которому можно легко добавить в программу слой с произвольным преобразованием данных.
Несмотря на то, что возможности графического интерфейса не были реализованы в полной мере, уже сейчас система берет на себя большую часть работы пользователя, по умолчанию отображая дополнительную информацию об объектах, расположенных на экране, для получения традиционным способом которой пришлось бы провести дополнительную работу.
Ссылка на исходный код программы: https://github.com/ispraf38/Learn2Learn
[1] FR. K.. Engel, "Magnetic Tape-From the Early Days to the Present,"J. Audio Eng. Soc., vol. 36, no. 7/8, pp. 606-616, (1988 July.). doi:
[2] Michael M. Maynard. 2003. Univac I. Encyclopedia of Computer Science. John Wiley and Sons Ltd., GBR, 1813-1814.
[3] F. J. Corbato and V. A. Vyssotsky. 1965. Introduction and overview of the multics system. In Proceedings of the November 30-December 1, 1965, fall joint computer conference, part I (AFIPS ’65 (Fall, part I)). Association for Computing Machinery, New York, NY, USA, 185-196. https://doi.org/10.1145/1463891.1463912
[4] Pilavakis, A.J. (1989). The Bourne Shell. In: UNIX Workshop. Macmillan Computer Science Series. Palgrave, London. https://doi.org/10.1007/978-1-349-19900-6_3
[5] Ramey C. Bash, the Bourne- Again Shell //Proceedings of The Romanian Open Systems Conference & Exhibition (ROSE 1994), The Romanian UNIX User’s Group (GURU). - 1994. - С. 3-5.
[6] Wadlow T. A. The xerox alto computer //Byte Magazine. - 1981. - Т. 6. - №. 9. - С. 58-68.
[7] Laplante A. Windows 3.0 //PC World. - 1991. - Т. 9. - №. 8. - С. 206-208.
[8] Huang Y. L. et al. ExBrainable: An Open-Source GUI for CNN-based EEG Decoding and Model Interpretation //arXiv preprint arXiv:2201.04065. - 2022.
[9] Jin H, Wagner MW, Ertl-Wagner B, Khalvati F. An Educational Graphical User Interface to Construct Convolutional Neural Networks for Teaching Artificial Intelligence in Radiology. Canadian Association of Radiologists Journal. 2022;0(0). doi:10.1177/08465371221144264
[10] Klemm S. et al. Barista-a graphical tool for designing and training deep neural networks //arXiv preprint arXiv:1802.04626. - 2018.
[11] O’Shea K., Nash R. An introduction to convolutional neural networks //arXiv preprint arXiv:1511.08458. - 2015.
[12] Baldi P., Sadowski P. J. Understanding dropout //Advances in neural information processing systems. - 2013. - Т. 26.
[13] Hinton G. E. et al. Improving neural networks by preventing co-adaptation of feature detectors //arXiv preprint arXiv:1207.0580. - 2012.
[14] Loshchilov I., Hutter F. Decoupled weight decay regularization //arXiv preprint arXiv:1711.05101. - 2017.
[15] Reddi S. J., Kale S., Kumar S. On the convergence of adam and beyond //arXiv preprint arXiv:1904.09237. - 2019.
...