Л. М. Дяконюк, А. С. Мудрик, Я. А. Корольчук, М. І. Кондор
{"title":"Розпізнавання математичних формул на базі даних CROHME.","authors":"Л. М. Дяконюк, А. С. Мудрик, Я. А. Корольчук, М. І. Кондор","doi":"10.24144/2616-7700.2021.38(1).137-142","DOIUrl":null,"url":null,"abstract":"У наш час найбільш точні моделі для розпізнавання об’єктів базуються на двоступеневому підході, популяризованому як R-CNN. На відміну від них, одноступеневі моделі, що застосовуються під час регулярного, детального відбору зразків, можуть бути швидшими та простішими, але вони не досягають точності двоступеневих моделей. Проте з новою функцією втрат, дисбаланс класу, який виникає під час тренування на наборі даних, зникає. Саме тому одноступенева модель має переваги в продуктивності та точності на відміну від двоступеневої. У роботі використано цей дисбаланс класів, щоб переформувати стандартні, перехресні ентропійні втрати таким чином, щоб зменшити їх. В архітектурі RetinaNet[1], функція втрат Focal Loss[1] сфокусовує навчання на наборі даних, які зустрічаються рідше, і запобігає перевантаженню моделі під час тренувань. Архітектура RetinaNet була протестована на наборі даних CROHME[4], що був розширений за допомогою алгоритму Data Augmentation[9] для збільшення частоти входження певних елементів формул. Також було порівняно дві бібліотеки машинного навчання: TensorFlow та Torch. Отримані результати показують, що коли модель тренується з фокальною втратою, RetinaNet показує дуже добрі результати та має хорошу швидкість виконання. Окрім того, отриману модель було інтегровано в веб-застосунок на основі мікросервісної архітектури. Основними веб-фреймворками було використано NodeJs для серверної частини та VueJs для рівня подання. Для роботи з базами даних ми використовуємо MongoDB. Розгортання програми відбувається за допомогою хмарної служби AWS на основі Lambda-функцій, що дає змогу виокремити процеси навчання, обробки, візуалізації та контролювати ресурси серверу окремо для кожного процесу.","PeriodicalId":33567,"journal":{"name":"Naukovii visnik Uzhgorods''kogo universitetu Seriia Matematika i informatika","volume":"38 1","pages":"137-142"},"PeriodicalIF":0.0000,"publicationDate":"2021-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Naukovii visnik Uzhgorods''kogo universitetu Seriia Matematika i informatika","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.24144/2616-7700.2021.38(1).137-142","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
У наш час найбільш точні моделі для розпізнавання об’єктів базуються на двоступеневому підході, популяризованому як R-CNN. На відміну від них, одноступеневі моделі, що застосовуються під час регулярного, детального відбору зразків, можуть бути швидшими та простішими, але вони не досягають точності двоступеневих моделей. Проте з новою функцією втрат, дисбаланс класу, який виникає під час тренування на наборі даних, зникає. Саме тому одноступенева модель має переваги в продуктивності та точності на відміну від двоступеневої. У роботі використано цей дисбаланс класів, щоб переформувати стандартні, перехресні ентропійні втрати таким чином, щоб зменшити їх. В архітектурі RetinaNet[1], функція втрат Focal Loss[1] сфокусовує навчання на наборі даних, які зустрічаються рідше, і запобігає перевантаженню моделі під час тренувань. Архітектура RetinaNet була протестована на наборі даних CROHME[4], що був розширений за допомогою алгоритму Data Augmentation[9] для збільшення частоти входження певних елементів формул. Також було порівняно дві бібліотеки машинного навчання: TensorFlow та Torch. Отримані результати показують, що коли модель тренується з фокальною втратою, RetinaNet показує дуже добрі результати та має хорошу швидкість виконання. Окрім того, отриману модель було інтегровано в веб-застосунок на основі мікросервісної архітектури. Основними веб-фреймворками було використано NodeJs для серверної частини та VueJs для рівня подання. Для роботи з базами даних ми використовуємо MongoDB. Розгортання програми відбувається за допомогою хмарної служби AWS на основі Lambda-функцій, що дає змогу виокремити процеси навчання, обробки, візуалізації та контролювати ресурси серверу окремо для кожного процесу.