Нейротехнології та нейрокомп’ютерні системи - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Другий (магістерський)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інформаційне забезпечення робототехнічних систем
Статус дисципліни Нормативна
Форма навчання очна(денна), заочна
Рік підготовки, семестр 1 курс, осінній семестр
Обсяг дисципліни 120 годин
Семестровий контроль/ контрольні заходи екзамен
Розклад занять http://rozklad.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів

Лектор, лабораторні: к.т.н., Олійник Володимир Валентинович

oliinyk.volodymyr@gmail.com

Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Нейротехнології на сьогодні займають домінуюче місце серед методів машинного (зокрема глибокого) навчання і штучного інтелекту в цілому. Це найбільш вживаний апарат інтелектуальної обробки великих масивів даних для вирішення складних реальних задач класифікації, управління, генерації контенту та ін.

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

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

В результаті вивчення дисципліни слухачі мають вміти:

  • Визначати доцільність застосування типових моделей нейронних мереж для вирішення задач;

  • обирати раціональні архітектури та моделі нейронних мереж для розв’язання поставленої задачі;

  • використовувати нейротехнології для розв’язання прикладних задач у різних предметних галузях;

  • оцінювати та підвищувати ефективність розроблених нейромоделей;

  • впроваджувати моделі нейронних мереж в робототехнічні та інтелектуальні системи.

В результаті навчання слухачі набувають наступні компетентності:

  1. ФК 4 – Здатність застосовувати технології, методи проектування та інструменти для розроблення інформаційного та програмного забезпечення інтелектуальних робототехнічних систем на різних платформах та з використанням різних технологій

  2. ФК 9 – Здатність проектування та експлуатації нейрокомп’ютерних систем, які використовуються в задачах моделювання процесів і явищ, що супроводжують функціонування інформаційного забезпечення робототехнічних систем

Програмними результатами навчання є:

  • знання принципів, методів та технології проектування нейромереж різних топологій і призначення(ПРН 13);

  • вміння проектувати інформаційні системи із застосуванням компонентів нейротехнологій та проводити аналітичне та імітаційне моделювання складних об’єктів з їх використанням

Здатність проектування та експлуатації нейрокомп’ютерних систем, які

використовуються в задачах моделювання процесів і явищ, що супроводжують

функціонування інформаційного забезпечення робототехнічних систем (ПРН 14)

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Дисципліна є однією з базових для підготовки магістрів.

Для успішного засвоєння дисципліни необхідні базові знання з дисциплін: “Вища математика”, “Теорія інформації та кодування”, “Дослідження операцій”, “Системи обробки сигналів і зображень”, “Комп’ютерне моделювання систем”, “Системи штучного інтелекту”, «Програмування»

Результати навчання даної дисципліни використовують у дипломному проектуванні та у спеціалізованих дисциплінах подальшого циклу підготовки магістрів, наприклад: «Теорія нечітких множин в моделях управління і прийняття рішень»

Зміст навчальної дисципліни

ДЕННА форма навчання

Тема 1. Основи нейротехнологій

Тема 1.1. Загальний огляд нейротехнологій

Тема 1.2. Основи машинного навчання

Тема 1.3. Основи навчання нейронних мереж

Тема 1.4. Нейронні мережі прямого поширення

Тема 1.5. Програмне та апаратне забезпечення для роботи з нейронними мережами

Тема 2. Основні архітектури нейронних мереж

Тема 2.1. Згорткові нейронні мережі

Тема 2.2. Сучасні архітектури згорткових нейронних мереж

Тема 2.3. Рекурентні нейронні мережі

Тема 2.4. Механізм уваги та трансформери

Тема 2.5. Нейромоделі для навчання без учителя.

Тема 2.6. Генеративні моделі нейронних мереж

Тема 2.7. Генеративно-змагальні нейронні мережі

Тема 3. Спеціалізовані питання практичного застосування нейротехнологій.

Тема 3.1. Тонке налаштування нейронних мереж

Тема 3.2. Тонке налаштування навчання нейронних мереж

Тема 3.3. Нейротехнології в задачах детектування та сегментації «комп’ютерного зору»

Тема 3.4. Глибоке навчання з підкріпленням

Навчальні матеріали та ресурси

Базова література:

  1. Ямпольський Л.С. Нейротехнології та нейрокомп’ютерні ситеми / Ямпольський Л.С., Лісовиченко О.І., Олійник В.В. // Дорадо-друк, Київ, 2016. ­– 571 с.

  2. Хайкин С. Нейронные сети: полный курс, 2-е издание. Вильямс, 2017. – 1104 с.

  3. Goodfellow I. Deep Learning/ Goodfellow I.,Bengio Y., Courville A.// MIT Press, 2016.- 800p.

  4. Geron A. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems.– O'Reilly Media. – 856p.

Додаткова література:

  1. Архангельський В.І. Нейронні мережі в системах автоматизації / В.І.Архангельський, І.М.Богаєнко, Г.Г.Грабовський, М.О.Рюмшин – К.: Техніка, 1999. – 364 с.

  2. Бодянский Е.В., Кучеренко Е.И., Михалев А.И. Нейро-фаззи сети Петри в задачах моделирования сложных систем. – Дніпропетровськ: Системні технології, 2005. – 311 с.

  3. Гнучкі комп’ютерно-інтегровані системи: планування, моделювання, верифікація, управління. КНИГА 2. Штучний інтелект в плануванні і керуванні виробничими процесами: підручник / Л.С. Ямпольський, П.П. Мельничук, К.Б .Остапченко, О.І. Лісовиченко – Житомир: ЖДТУ, 2010. – 786 с.

  4. Галушкин А.И. Теория нейронных сетей. М.: ИПРЖР, 2000. – 416 с.

  5. Куссуль Э.М. Ассоциативные нейроподобные структуры. – К.: Наук. думка, 1992. –144 с.

  6. Медведєв В.С., Потемкин В.Г. Нейронные сети. MATLAB 6. – М.: ДИАЛОГ-МИФИ, 2002. – 496 с.

  7. Руденко О.Г., Бодянский Е.В. Основы теории искусственных нейронных сетей. — Харьков: ТЕЛЕТЕХ. – 2002. – 317 с.

  8. Richard S. Reinforcement Learning : An Introduction MIT Press, Adaptive Computation and Machine Learning / Richard S. Sutton, Andrew G. Barto // Ser.: 2018. - 552 p.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Вивчення навчальної дисципліни відбувається за наступним планом:

ДЕННА форма навчання

Тема 1. Основи нейротехологій

Лекція 1. Загальний огляд нейротехнологій

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

Лекція 2. Основи машинного навчання

Концепція машинного навчання та його види. Контрольоване навчання. Задача класифікації та регресії. Лінійний класифікатор, нейрон, мережа нейронів. Функція втрат, її види. Інженерія ознак.

Експресивність та узагальнюючі можливості моделі машинного навчання.

Лекція 3. Основи навчання нейронних мереж

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

Лекція 4. Нейронні мережі прямого поширення

Математичне подання, інтерпретація. Види активаційних функцій. Програмна реалізація. Можливості мереж прямого поширення, їх регуляризація. Методика навчання і використання НС. Реалізація в TensorFlow та CNTK. Історичний аспект персептронів. Базові архітектури мереж прямого поширення. Класифікація нейронних мереж за архітектурою. Глибокі нейронні мережі.

Комп. практикум 1. Нейронні мережі прямого поширення

Ознайомлення з принципами функціонування, створення, навчання та використання моделей нейронних мереж прямого поширення. Для задачі класифікації (або регресії) на основі типового датасету створити нейронну мережу, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

Лекція 5. Програмне та апаратне забезпечення для роботи з нейронними мережами

Використання апаратних засобів CPU,GPU,TPU. Огляд сучасних фреймворків для роботи з нейронними мережами. Огляд TensorFlow/Keras. Обчислювальні графи

Тема 2. Основні архітектури нейронних мереж

Лекція 6. Згорткові нейронні мережі

Особливості переваги та обмеження згорткових нейронних мереж. Реалізація, навчання і використання згорткових нейронних мереж.

Лекція 7. Сучасні архітектури згорткових нейронних мереж

Архітектури AlexNet, VGGNet, GoogLeNet, ResNet та ін. Їх типові блоки та технологічні рішення

Комп. практикум 2. Згорткові нейронні мережі

Ознайомлення з принципами функціонування, створення, навчання та використання моделей зготркових нейронних мереж. Для задачі класифікації на основі типового датасету створити нейронну мережу, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

Модульна контрольна робота №1.

Лекція 8. Рекурентні нейронні мережі

Особливості переваги та проблеми рекурентних нейронних мереж. Реалізація, навчання і використання рекурентних нейронних мереж. Сучасні нейромоделі: LSTM, GRU

Лекція 9. Механізм уваги та трансформери

Принцип «механізму уваги», нейронна мережа «трансформер», сучасні архітектури BERT, GPT та інші.

Комп. практикум 3. Рекурентні нейронні мережі та трансформери

Ознайомлення з принципами функціонування, створення, навчання та використання моделей нейронних мереж для роботи з послідовностями. Для заданої задачі на основі типового датасету створити нейронну мережу заданої архітектури, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

Лекція 10. Нейромоделі для навчання без учителя.

Особливості нейромоделей неконтрольованого навчання. Мережа Кохонена, автокодувальники. Види автокодувальників, їх особливості та застосування.

Лекція 11. Генеративні моделі нейронних мереж

Поняття і призначення генеративних нейромоделей. Нейронні мережі PixelRNN та PixelCNN. Варіаційний автокодувальник

Лекція 12. Генеративно-змагальні нейронні мережі

Особливості переваги та обмеження генеративно-змагальних нейронних мереж. Їх реалізація, навчання і використання. Різновиди GAN-ів.

Комп. практикум 4. Генеративні нейронні мережі та автокодувальники

Ознайомлення з принципами функціонування, створення, навчання та використання генеративних моделей нейронних мереж. Для заданої задачі на основі типового датасету створити нейронну мережу заданої архітектури, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

Тема 3. Спеціалізовані питання практичного застосування нейротехнологій.

Лекція 13. Тонке налаштування нейронних мереж

Вибір функції активації, попередня обробка і аугментація даних, ініціалізація ваг, Ансамблі моделей.

Лекція 14. Тонке налаштування навчання нейронних мереж

Модифікації SGD, вибір алгоритму навчання та його параметрів, тюнінг навчання, оптимізація гіперпараметрів**.** Регуляризація моделей.

Модульна контрольна робота №2.

Лекція 15. Нейротехнології в задачах детектування та сегментації «комп’ютерного зору»

Задачі семантичної сегментації, виявлення та сегментації об’єктів. R-CNN, Fast R-CNN та Fastеr R-CNN, YOLO / SSD / RetinaNet, Mask R-CNN

Лекція 16. Глибоке навчання з підкріпленням

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

ЗАОЧНА форма навчання

Тема 1. Основи нейротехологій

Лекція 1. Загальний огляд нейротехнологій і машинного навчання

Поняття, можливості, переваги та недоліки нейротехнологій та глибокого навчання. Задачі та місце серед сучасних технологій штучного інтелекту. Концепція машинного навчання та його види. Контрольоване навчання. Задача класифікації та регресії. Нейрон, мережа нейронів. Функція втрат, її види. Використання апаратних засобів CPU,GPU,TPU. Огляд сучасних фреймворків для роботи з нейронними мережами.

Лекція 2. Нейронні мережі прямого поширення і навчання нейронних мереж

Математичне подання, інтерпретація мереж прямого поширення. Види активаційних функцій. Програмна реалізація. Реалізація в TensorFlow та CNTK. Базові архітектури мереж прямого поширення. Глибокі нейронні мережі. Методика навчання і використання НС. Навчання як задача оптимізації, підходи до її вирішення. Градієнтний і стохастичний градієнтний спуск. Параметр швидкості навчання. Метод зворотного поширення похибки. Явище перенавчання та методи його уникнення. Оцінювання результатів навчання.

Комп. практикум 1. Нейронні мережі прямого поширення

Ознайомлення з принципами функціонування, створення, навчання та використання моделей нейронних мереж прямого поширення. Для задачі класифікації (або регресії) на основі типового датасету створити нейронну мережу, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

Тема 2. Основні архітектури нейронних мереж

Лекція 3. Згорткові нейронні мережі

Особливості переваги та обмеження згорткових нейронних мереж. Реалізація, навчання і використання згорткових нейронних мереж. Огляд сучасних архітектур згорткових мереж.

Лекція 4. Рекурентні нейронні мережі

Особливості переваги та проблеми рекурентних нейронних мереж. Реалізація, навчання і використання рекурентних нейронних мереж. Сучасні нейромоделі: LSTM, GRU. Огляд «механізму уваги» та нейронних мереж типу «трансформер».

Комп. практикум 2. Згорткові нейронні мережі

Ознайомлення з принципами функціонування, створення, навчання та використання моделей зготркових нейронних мереж. Для задачі класифікації на основі типового датасету створити нейронну мережу, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

Комп. практикум 3. Рекурентні нейронні мережі та трансформери

Ознайомлення з принципами функціонування, створення, навчання та використання моделей нейронних мереж для роботи з послідовностями. Для заданої задачі на основі типового датасету створити нейронну мережу заданої архітектури, навчити її на заданому датасеті, проаналізувати результати та провести дослідження впливу на результат деякого параметру.

при вивченні навчальної дисципліни користуються дидактичними засобами, зокрема, комп‘ютерними презентаціями тем лекцій, інтерактивними засобами візуалізації та моделювання алгоритмів, що вивчаються, та зразками коду для їх реалізації. Комп‘ютерні практикуми виконуються на основі методичних матеріалів до їх виконання. При виконанні комп’ютерних практикумів слід використовувати програмне забезпечення – сучасні середовища розробки програмного забезпечення. При цьому студент не обмежується у виборі засобу реалізації поставленої в роботі задачі. Основною вимогою є повнота розв’язання поставленої задачі та можливість демонстрації роботи та отриманих результатів в комп’ютеризованій аудиторії.

Самостійна робота студента/аспіранта

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

На самостійну роботу виносяться наступні питання:

ДЕННА форма навчання

  • нейро-фаззі технології;

  • застосування нейротехнологій в задачах обробки природної мови (NLP);

  • питання розробки нейрокомп’ютерів;

  • інші сучасні дослідження в області нейронних мереж і глибокого навчання.

ЗАОЧНА форма навчання

  • нейромоделі для навчання без учителя.

  • генеративні моделі нейронних мереж

  • генеративно-змагальні нейронні мережі

  • тонке налаштування нейронних мереж

  • глибоке навчання з підкріпленням

  • нейро-фаззі технології;

  • питання розробки нейрокомп’ютерів;

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Порядок виконання та захисту практикумів

Студент виконує комп’ютерні практикуми самостійно або у бригаді з двох осіб (з відповідним збільшенням обсягів роботи та погодження з викладачем та якщо практикум це передбачає).

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

Для захисту студент попередньо надсилає оформлений звіт на пошту викладачу (файл називати у форматі «ННС-номер групи- ПІБ- номер роботи»). В процесі захисту студент демонструє програмну реалізацію та відповідає на запитання по роботі та пов’язаному теоретичному матеріалу (3-5 питань). Для успішного захисту практикуму необхідно правильно відповісти принаймні на половину з питань.

При виконанні практикумів необхідно дотримуватись календарного плану:

КП1 – 3 тиждень

КП2 – 5 тиждень

КП3 –7 тиждень

За здачу після встановленого терміну без поважних причин максимальний бал за роботу знижується : -1 бали за кожен наступний тиждень після (але не більше - 5 балів).

Крім того максимальний бал за роботу знижується на 2 бали за кожну «невдалу» спробу захисту (але не більше -4 балів).

За практикуми можна отримати додаткові заохочувальні бали при виконанні додаткових завдань в них. Загальна сума балів за практикум не має перевищувати максимально можливого балу за нього.

Заохочувальні бали

Студент має змогу отримати додаткові заохочувальні бали за виконання завдань із удосконалення дидактичних та навчальних матеріалів, обробку сучасних наукових робіт з дисципліни - надається від 1 до 10 заохочувальних балів.

Політика щодо академічної доброчесності

Усі роботи (комп’ютерні практикуми та МКР) перевіряються на наявність плагіату і допускаються до захисту із коректними текстовими запозиченнями не більше 20%. Роботи що містять більшу кількість до розгляду і оцінювання не приймаються.

Перескладання контрольних заходів відбувається за наявності поважних причин (наприклад, лікарняний) у встановленому або індивідуальному порядку.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

ДЕННА форма навчання

Рейтинг студента з дисципліни складається з балів, що він отримує за:

1) виконання 4х комп’ютерних практикумів;

2) дві контрольні роботи;

3) відповідь на екзамені.

Система рейтингових (вагових) балів та критерії оцінювання

1. Виконання комп’ютерних практикумів

Ваговий бал - 20. Максимальна кількість балів на всіх комп’ютерних практикумах дорівнює 20 балів × 4 = 80 балів.

Складова оцінювання Балів
  1. Вирішення задачі

Задача та датасет

Нейромодель

Експеримент

  1. Звіт

Відповідність структурі

Якість та обґрунтування інформації, висновки

  1. Захист роботи

10

2

4

4

5

2

3

5

Всього 20

Макс. бал знижується за здачу після встановленого терміну (-1 бал за кожен наступний тиждень після, але не більше - 5 балів) та -2 бали за кожну «невдалу» спробу захисту (але не більше -4 балів).

Для зарахування теми необхідно правильно відповісти принаймні на половину питань (максимум 3-5 питань)

2. Модульний контроль

Ваговий бал – 10. Максимальна кількість балів за всі контрольні роботи дорівнює 10 балів × 2 = 20 балів.

Заохочувальні бали за:

- виконання завдань із удосконалення дидактичних та навчальних матеріалів з дисципліни надається від 1 до 10 заохочувальних балів.

Умови позитивної проміжної атестації

Для отримання “зараховано” з першої проміжної атестації (8 тиждень) студент повинен мати не менше ніж 20 балів (на початок 8 тижня згідно з календарним планом контрольних заходів “ідеальний” студент має отримати 50 балів).

Для отримання “зараховано” з другої проміжної атестації (14 тиждень) студент повинен мати не менше ніж 50 балів (на початок 14 тижня згідно з календарним планом контрольних заходів “ідеальний” студент має отримати 100 балів).

ЗАОЧНА форма навчання

Рейтинг студента з дисципліни складається з балів, що він отримує за:

1) виконання 3х комп’ютерних практикумів;

2) одна контрольна робота;

3) відповідь на екзамені.

Система рейтингових (вагових) балів та критерії оцінювання

1. Виконання комп’ютерних практикумів

Ваговий бал - 25. Максимальна кількість балів на всіх комп’ютерних практикумах дорівнює 25 балів × 4 = 75 балів.

Складова оцінювання Балів
  1. Вирішення задачі

Задача та датасет

Нейромодель

Експеримент

  1. Звіт

Відповідність структурі

Якість та обґрунтування інформації, висновки

  1. Захист роботи

12

3

4

5

7

3

4

6

Всього 25

2. Модульний контроль

Ваговий бал – 25.

Заохочувальні бали за:

- виконання завдань із удосконалення дидактичних та навчальних матеріалів з дисципліни надається від 1 до 10 заохочувальних балів.

ВСІ форми навчання

Допуск до іспиту: Рейтинг не менш ніж 30 балів та здано всі комп’ютерні практикуми;

Бали по екзаменаційних питаннях:

Кількість балів по відповіді на кожне питання визначається викладачем з врахуванням

складності питання та якості відповіді. Максимальна кількість балів 50.

Розрахунок шкали (R) рейтингу

Сума вагових балів контрольних заходів протягом семестру складає:

RС = 100 балів.

Екзаменаційна складова шкали дорівнює 50 балів. Стартова шкала 0.5*RC =50 балів.

Для отримання студентом відповідних оцінок (ЕСТS та традиційних) його рейтингова оцінка RD переводиться згідно з таблицею:

RD=0.5*RC + RE оцінка
95…100 відмінно
85…94 дуже добре
75…84 добре
65…74 задовільно
60…64 достатньо
R < 60 незадовільно
RС < 35 або не виконано інші умови допуску до екзамену не допущений

Додаткова інформація з дисципліни (освітнього компонента)

Передбачена можливість зарахування сертифікатів проходження дистанційних чи онлайн курсів по технологіям штучного інтелекту відповідного рівня за умови відповідності програми не менше ніж на 60%. Остаточне рішення по кожному сертифікату приймається викладачем з урахуванням вказаних вимог.

Робочу програму навчальної дисципліни (силабус):

Складено доцентом кафедри ІСТ, к.т.н., доц. Олійником В.В.

Ухвалено кафедрою ІСТ (протокол № 13 від 15.06.2022)

Погоджено Методичною комісією факультету (протокол № 11 від 07.07.2022 )