Нейромережеві технології

Анотація курсу

Ви опановуєте принципи побудови та навчання штучних нейронних мереж (ШНМ), включаючи згорткові та рекурентні архітектури, а також методи їх навчання, такі як алгоритм зворотного поширення помилки. Програма охоплює використання бібліотек Keras і TensorFlow для створення, оптимізації та розгортання моделей. Особлива увага приділяється розробці архітектур нейромереж, вибору активаційних функцій і функцій втрат, а також вирішенню задач класифікації, прогнозування часових рядів і роботи з великими обсягами даних. Практичні навички включають навчання моделей, оптимізацію їх продуктивності, запобігання перенавчанню та застосування нейромереж у реальних проектах.

Мета:

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

Основні завдання:

Завдання дисципліни – набуття теоретичних знань та практичних умінь з формування базового уявлення про галузі застосування технологій глибокого навчання; набуття вмінь і навичок розв’язання задач з використанням штучнихнейронних мереж; опанування теоретичних і практичних питань створення та застосування систем штучного інтелекту, заснованих на використанні нейромережевих технологій.

Що ви будете знати:

  • типи задач, які розв’язуються за допомогою штучних нейронних мереж;
  • загальні поняття ШНМ;
  • основні архітектури ШНМ;
  • принципи реалізації ШНМ прямого розповсюдження;
  • методи навчання ШНМ;
  • поняття перенавчання ШНМ та засоби боротьби з ним;
  • принципи реалізації рекурентних НМ;
  • принципи реалізації згорткових НМ.

Що ви будете вміти:

  • обирати архітектуру ШНМ в залежності від типу розв’язуваної задачі;
  • проектувати ШНМ, обґрунтовувати вибір активаційних функцій, функції втрат.
  • застосовувати сучасні бібліотеки мови Python для реалізації моделей ШНМ;
  • зберігати і використовувати готові моделі ШНМ.

Тематичний план курсу

Змістовий модуль 1. Принципи побудови штучних нейронних мереж (ШНМ)
Тема 1. Загальні положення про ШНМ. Галузі застосування нейромережевих технологій. Класифікація ШНМ. Типи ШНМ.
Тема 2. Біологічна нейронна мережа як прототип ШНМ. Структура біологічного нейрону. Механізм поширення сигналів у природній нейронній мережі.
Тема 3. Структура штучного нейрона. Поняття суматора та функції активації. Різновиди функцій активації за типом вирішуваної задачі. Персептрон Ф. Розенблата: принципи функціювання. Навчання персептрону.
Тема 4. Одношарова нейронна мережа (НМ). Навчання НМ. Метод градієнтного спуску у просторі вагових коефіцієнтів. Дельта-правило навчання. Алгоритм навчання
одношарової НМ.
Тема 5. Багатошарова НМ. Алгоритм зворотного поширення помилки. Вибір функцій активації, функції втрат, функції якості моделі.
Тема 6. Фреймворк глибокого навчання Keras. Моделі в Keras. Основні методи класу Model. Шари в Keras. Щільний шар Dense. Основи роботи з послідовною моделлю Keras. Компіляція і навчання. Методи боротьби з перенавчанням моделей: регуляризація та проріджування НМ.
Змістовий модуль 2. Згорткові та рекурентні нейронні мережі
Тема 7. Основні поняття про згорткові нейронні мережі (ЗНМ). Операція згортки. Ядра згортки. Основні шари ЗНМ. Налаштування й навчання ЗНМ у Keras.
Тема 8. Основні поняття про рекурентні нейронні мережі. Різновиди LSTM мереж. Прогнозування часових рядів та класифікація послідовностей за допомогою LSTM мереж.
Побудова рекурентних моделей у Keras.

Загальна інформація

Форма навчанняКількість кредитів ECTSЗагальна кількість
академічних годин
ЛекційніЛабораторніСамостійна
робота
Форма контролю
Денна3,5105181869залік, екзамен
Заочна3,51054497залік, екзамен
КомпетентностіРезультати навчання
ЗК01 Здатність до абстрактного мислення, аналізу та синтезу.
ЗК02 Здатність застосовувати знання у практичних ситуаціях.
ЗК05 Здатність вчитися і оволодівати сучасними знаннями.
ЗК06 Здатність до пошуку, оброблення та аналізу інформації з різних джерел.
СК02 Здатність брати участь у проектуванні програмного забезпечення, ключаючи
проведення моделювання (формальний опис) його структури, поведінки та процесів функціонування.
СК03 Здатність розробляти архітектури, модулі та компоненти програмних систем.
СК07 Володіння знаннями про інформаційні моделі даних, здатність створювати
програмне забезпечення для зберігання, видобування та опрацювання даних.
СК08 Здатність застосовувати фундаментальні і міждисциплінарні знання для
успішного розв’язання завдань інженерії програмного забезпечення.
СК10 Здатність накопичувати, обробляти та систематизувати професійні знання щодо створення і супроводження програмного забезпечення та визнання важливості навчання протягом всього життя.
СК13 Здатність обґрунтовано обирати та освоювати інструментарій з розробки та
супроводження програмного забезпечення.
СК14 Здатність до алгоритмічного та логічного мислення.
ПР01 Аналізувати, цілеспрямовано шукати і вибирати необхідні для вирішення професійних завдань інформаційно-довідникові ресурси і знання з урахуванням сучасних досягнень науки і техніки.
ПР02 Знати кодекс професійної етики, розуміти соціальну значимість та культурні
аспекти інженерії програмного забезпечення і дотримуватись їх в професійній діяльності.
ПР05 Знати і застосовувати відповідні математичні поняття, методи доменного, системного і об’єктно-орієнтованого аналізу та математичного моделювання для розробки програмного забезпечення.
ПР07 Знати і застосовувати на практиці фундаментальні концепції, парадигми і основні принципи функціонування мовних, інструментальних і обчислювальних засобів інженерії програмного забезпечення.
ПР11 Вибирати вихідні дані для проектування, керуючись формальними методами опису вимог та моделювання.
ПР13 Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
ПР18 Знати та вміти застосовувати інформаційні технології обробки, зберігання та передачі даних.
ПР19 Знати та вміти застосовувати методи верифікації та валідації програмного забезпечення.

Викладач

Шаповалова Нонна Наілєвна

Методичне забезпечення