XS
SM
MD
LG
Державний університет інформаційно-комунікаційних технологій

(Державний університет телекомунікацій)


Адреса:
03110, Україна
м. Київ, вул. Солом'янська, 7
Контактна інформація:
Державний університет інформаційно-комунікаційних технологій

(Державний університет телекомунікацій)

Нейронні мережі на базі STM32G4. Теорія та практика

09:36, 13-06-2021

Наявність програмного пакета X-CUBE-AI, що розширює функціонал STM32CubeMX, допоможе розробнику побудувати штучну нейромережу на базі мікроконтролера з лінійки STM32G4 виробництва STMicroelectronics.

Ідея побудови штучних нейронних мереж з'явилася в 50-х роках минулого століття. До недавніх пір практичне застосування таких мереж було вкрай обмежене через недостатню потужність обчислювальної техніки. Однак успіхи сучасної мікроелектроніки дозволили істотно наростити продуктивність електронних пристроїв, завдяки чому практичне використання нейронних мереж стало можливим навіть на базі компактних мікроконтролерів.

З моменту винаходу ЕОМ до теперішнього часу величезна кількість програмного забезпечення пишеться на алгоритмічних мовах, які передбачають жорстку фіксовану структуру алгоритму. Тобто будь-який стан програми виходить після виконання певного набору умов і може бути заздалегідь розраховано. Такі алгоритми добре себе зарекомендували, так як мають високий ступінь передбачуваності і при певному обсязі моделювання мінімізують ризик позаштатних ситуацій. Однак програми на алгоритмічних мовах погано справляються з деякими класами завдань, особливо з такими, де результат не виражається просто станами «1» або «0», а є певною ймовірністю в діапазоні значень. Для вирішення таких завдань були розроблені штучні нейронні мережі, що працюють за принципом біологічних нейронних мереж. Штучна нейронна являє собою сукупність нейронів, з'єднаних між собою синапсами. Така структура мережі дозволяє ефективно вирішувати завдання класифікації, передбачення, розпізнавання і так далі.

На першому етапі відбувається збір даних для аналізу. Зазвичай для цього використовуються датчики і сенсори, які розташовуються поруч з об'єктом аналізу і реєструють зміни його стану в просторі і часі. Прикладами фізичних величин для реєстрації є швидкість, прискорення, температура, звукові і відео характеристики об'єкта в залежності від програми нейромережі. Компанія STMicroelectronics пропонує пристрої, що полегшують збір даних, такі як платформа SensorTile, яка працює в автономному режимі і підтримує дистанційне керування через додаток для смартфона ST BLE Sensor. SensorTile містить датчики руху і стану навколишнього середовища, мікроконтролер, роз'єм для підключення SD-карти і модуль Bluetooth.

Дані, отримані від сенсорів, необхідно промаркувати. Для контрольованого навчання (навчання з учителем) необхідна класифікація отриманих даних за певними ознаками - маркерами. Наприклад, можна класифікувати зображення за наявністю або відсутністю на них людини. Такі промарковані дані є еталоном для навчання і перевірки нейромережі. Розробники повинні визначити оптимальну топологію нейромережі для кращого навчання і забезпечення коректних корисних даних кінцевого додатку. Зазвичай такі завдання вирішуються за допомогою готових інтегрованих середовищ програмування для глибокого навчання. У компанії ST є ряд партнерів, які надають готові інженерні рішення в області нейромереж, а також надають підтримку з боку архітекторів нейронних мереж і фахівців в даній області.

Тренування нейромережі є ітераційний процес обробки еталонних наборів даних з метою мінімізації критерію помилки. Це завдання зазвичай виконується за допомогою готових інтегрованих середовищ від сторонніх розробників. Навчання, як правило, виконується на потужних обчислювальних машинах з практично необмеженими обчислювальними ресурсами і об'ємами пам'яті, що дозволяє виконати велике число ітерацій за короткий проміжок часу. Результатом такого процесу є попередньо навчена нейромережа. Пакет STM32Cube.AI надає простий і ефективний інтерфейс з найбільш популярними середовищами для глибокого машинного навчання, такими як Keras, Caffe, TensorFlow Lite, ONNX, PyTorch, Matlab і іншими. Ці середовища являють собою відкриті програмні бібліотеки для машинного навчання, розроблені різними компаніями з метою вирішення завдань побудови і тренування нейронних мереж для автоматичного знаходження та класифікації образів, які можна порівняти за якістю з людським сприйняттям. Вихідні дані цих середовищ можуть бути безпосередньо імпортовані в пакет STM32Cube.AI.

Наступний, четвертий крок побудови нейромережі - перетворення попередньо навченої нейромережі, яка згенерована стороннім інтегрованим середовищем, в програмний код, оптимізований для виконання на мікроконтролері STM32. Оптимізація передбачає мінімізацію числа обчислень і обсягу використовуваної пам'яті. Цей крок дуже легко виконується за допомогою пакету STM32Cube.AI, інтегрована в екосистему розробки STM32 як розширення відомого інструменту STM32CubeMX. Пакет STM32Cube.AI дозволяє вибрати необхідний мікроконтролер для конкретного завдання, надає зворотний зв'язок по продуктивності нейромережі на базі обраного мікроконтролера, забезпечує перевірку мережі як на комп'ютері, так і на цільовому пристрої.

Фінальний, п'ятий крок - це впровадження створеної нейромережі в користувальницький додаток. Для вирішення даного завдання компанія STMicroelectronics пропонує широкий набір низькорівневих драйверів, бібліотек і призначених для користувача додатків, зібраних в один пакет програмного забезпечення. Для прискорення процесу проектування розробники можуть використовувати ці шаблони, вносячи в них необхідні зміни.

Метод, в якому для навчання потрібні еталонні дані, називається машинним навчанням. Однак існує також метод, який не потребує еталонних даних для навчання, він називається глибоким навчанням. У разі глибокого навчання структура штучних нейронних мереж складається з декількох вхідних, вихідних і прихованих шарів. Кожен шар містить одиниці, що перетворюють вхідні дані до відомостей, які наступний шар може використовувати для певного прогнозованого завдання. Завдяки цій структурі обчислювальний пристрій може вивчати власну обробку даних.

Навчаючись на кафедрі Штучного інтелекту ви зможете отримати глибокі знання з машинного навчання та зануритись в світ сучасних інтелектуальних технологій.

Читайте також
Бажаєте дізнаватись про особливості вступу у 2024 році?
Підписуйтесь на спільноти спеціальності "122 Комп’ютерні науки" кафедри Штучного інтелекту та першим отримуйте новини, сповіщення про важливі події, підготовчі курси, дні відкритих дверей та багато цікавого.

Про кафедру

Кафедра Штучного інтелекту

Контактна інформація

Державний університет телекомунікацій
Україна, 03680, Київ,
вул. Соломянська, 7, каб. 217
тел.  (044) 249-25-24

Ваш запит на зворотній дзвінок отримає завідуючий кафедрою
Надіслати запит

Отримати консультацію

Ваш запит на зворотній дзвінок отримає завідуючий кафедрою
Надіслати запит

Абітурієнту

Спеціалізація: Штучний інтелект
Спеціалізація: Штучний інтелект
Переглядів: 4 292