Дисципліна: Нейромережі
Обсяг дисципліни, годин (кредитів ЄКТС): 150 (5).
Мета дисципліни: вивчення теоретичних засад функціонування штучних нейронних мереж, принципів, методів та технологій побудови ефективної архітектури та організації процесу навчання нейромереж, особливості застосування згорткових і рекурентних нейромереж для вирішення прикладних задач штучного інтелекту.
Завдання дисципліни:
- ознайомити з теоретичними засадами функціонування нейромереж;
- сформувати навички в побудові, навчанні та налаштуванні різних типів нейронних мереж, включаючи глибокі, згорткові та рекурентні нейромережі;
- показати можливості використання нейромереж для аналізу даних і розв'язання практичних задач, пов’язаних із обробкою зображень, звуку та послідовностей даних;
- розвинути у студентів здатність аналізувати вимоги та оцінювати застосування нейромереж у різних галузях.
Попередні умови для вивчення даної дисципліни: вивчення дисципліни базується на використанні знань, одержаних в курсах вищої математики, теорії ймовірності і статистики, програмування, інтелектуального аналізу даних.
Навчальні цілі дисципліни полягають у формуванні у студентів:
інтегративної компетентності:
Здатність розв’язувати складні задачі і проблеми у галузі штучного інтелекту, проводити оцінку можливостям застосування нових архітектур нейромереж для вирішення прикладних задач.
загальних компетентностей:
- здатність до абстрактного мислення, аналізу та синтезу;
- здатність проводити дослідження на відповідному рівні;
- здатність спілкуватися із представниками інших професійних груп різного рівня (з експертами інших галузей знань/видів економічної діяльності);
- здатність генерувати нові ідеї (креативність).
фахових компетентностей:
- здатність аналізувати предметні області, формувати, класифікувати вимоги до програмного забезпечення;
- здатність розробляти і реалізовувати наукові та/або прикладні проєкти у сфері інженерії програмного забезпечення;
- здатність розвивати і реалізовувати нові конкурентоспроможні ідеї в інженерії програмного забезпечення;
- здатність розробляти, аналізувати та застосовувати специфікації, стандарти, правила і рекомендації у сфері інженерії програмного забезпечення;
- здатність критично осмислювати проблеми в галузі інформаційних технологій та на межі галузей знань, інтегрувати відповідні знання та розв’язувати складні задачі у широких або мультидисциплінарних контекстах.
Програмні результати навчання:
- будувати і досліджувати моделі інформаційних процесів у прикладній області.
- розробляти й оцінювати стратегії проєктування програмних засобів;
- обґрунтовувати, аналізувати й оцінювати варіанти проєктних рішень з точки зору якості кінцевого програмного продукту, ресурсних обмежень та інших факторів;
- обґрунтовано вибирати парадигми і мови програмування для розроблення програмного забезпечення;
- застосовувати на практиці сучасні засоби розроблення програмного забезпечення;
- забезпечувати якість на всіх стадіях життєвого циклу програмного забезпечення, у тому числі з використанням релевантних моделей та методів оцінювання, а також засобів автоматизованого тестування і верифікації програмного забезпечення;
- конфігурувати програмне забезпечення, керувати його змінами та розробленням програмної документації на всіх етапах життєвого циклу;
- збирати, аналізувати, оцінювати необхідну для розв’язання наукових і прикладних задач інформацію, використовуючи науково-технічну літературу, бази даних та інші джерела.
В результаті вивчення дисципліни студент повинен
знати:
- основні принципи та поняття, пов'язані з нейромережами;
- теоретичні засади процесу навчання нейронних мереж, зокрема, алгоритми градієнтного спуску та механізму зворотного поширення помилок;
- відмінності в архітектурах нейронних мереж та особливості їх функціонування.
вміти:
- розробляти та налаштовувати нейромережі за допомогою бібліотеки PyTorch;
- обирати архітектуру нейромережі, відповідну до конкретної прикладної задачі;
- проводити підготовку даних для навчання і тестування нейромережі;
- оцінювати якість розробленої нейромережі;
- інтегрувати налаштовану нейромережу в інформаційну систему.
Зміст дисципліни (тематика):
Змістовний модуль 1. Основи функціонування штучних нейронних мереж.
Тема 1. Історія виникнення та основні поняття штучних нейронних мереж.
Тема 2. Вступ до PyTorch: встановлення та конфігурація середовища, робота з тензорами.
Тема 3. Персептрон, багатошарові нейромережі.
Тема 4. Створення простих нейронних мереж із використанням PyTorch.
Тема 5. Алгоритми градієнтного спуску і зворотне поширення похибки.
Тема 6. Глибокі нейромережі.
Тема 7. Навчання глибоких нейронних мереж із використанням PyTorch.
Змістовний модуль 2. Згорткові і рекурентні нейромережі.
Тема 1. Основи побудови згорткових мереж.
Тема 2. Архітектури згорткових мереж.
Тема 3. Створення згорткових нейронних мереж із використанням PyTorch.
Тема 4. Архітектури згорткових мереж для задач визначення об’єктів і сегментації зображення.
Тема 5. Створення рекурентних нейронних мереж для роботи з текстовими даними за допомогою PyTorch.
Тема 6. Застосування рекурентних нейронних мереж для роботи зі звуковими даними.
Тема 7. Архітектури рекурентних нейромереж для задач машинного перекладу текстів.
Види робіт: лекційні заняття, лабораторні роботи, тести, самостійна робота студентів.
Форма підсумкового контролю: залік.
