- •Національний авіаційний університет робототехнічні комплекси
- •СИстема оцінювання
- •2. Використання комп’ютерної техніки і програмного забезпечення
- •Особливості перетворення Денавіта – Хартенберга при розв’язанні задач кінематики
- •Особливості техніки розв’язання оберненої задачі кінематики
- •Порядок виконання завдань та оформлення результатів
- •Параметри Денавіта-Хартенберга для розглянутого випадку
- •Контрольні питання та завдання
- •3.2. Динаміка двохланкового маніпулятора з розподіленою масою
- •Особливості вирішення задач, пов’язаних із динамікою маніпулятора
- •Особливості методу Лагранжа-Ейлера для розв’язання оберненої задачі динаміки
- •Особливості використання розподілення мас та тензора інерції
- •Швидкість ланки
- •Кінетична енергія маніпулятора
- •Потенціальна енергія маніпулятора
- •Функція Лагранжа
- •Рівняння Лагранжа
- •Порядок виконання завдань та оформлення результатів
- •Контрольні питання та завдання
- •3.3. Планування траєкторій для послідовного маніпулятора
- •Особливості вирішення задач, пов’язаних із планування траєкторії послідовного маніпулятора
- •Кубічні закони зміни кутів зчленувань
- •Загальні аспекти планування траєкторій
- •Обмеження, що використовуються при плануванні траєкторій
- •Траєкторія типу 4-3-4
- •Порядок виконання завдання та оформлення результатів
- •Контрольні питання та завдання
- •Особливості циклового дискретного управління
- •Особливості позиційного управління
- •Особливості неперервного контурного управління
- •Характеристики під-регулятора
- •Залежності параметрів під-регулятора та показників якості перехідного процесу
- •Загальні аспекти проектування під-регуляторів
- •Порядок виконання завдання та оформлення результатів
- •Контрольні запитання та завдання
- •4.2. Обробка зображень у системах технічного зору: бінарні та півтонові зображення
- •Особливості обробки зображень в системах технічного зору
- •Основні характеристики бінарних зображень
- •Особливості алгоритмів виділення країв
- •Особливості алгоритму Собеля для виділення країв
- •Особливості алгоритму Лапласа для виділення країв
- •Недоліки алгоритму Собеля
- •Порядок виконання завдання
- •Вираженою симетрією
- •Контрольні питання та завдання
- •4.3. Логічне програмування в Пролог: задачі прийняття рішень при декількох обмеженнях
- •Особливості розв’язування задач за допомогою мови програмування логіки Пролог
- •Ускладнення програми за допомогою правил
- •Рекурсія в Пролог
- •Структури та списки в Пролог
- •Порядок виконання завдання
- •Контрольні питання та завдання
- •4.4. Нейронні мережі: основи
- •Особливості використання нейронних мереж при розв’язуванні задач
- •Динамічні та статичні мережі
- •Методи навчання нейронних мереж
- •Порядок виконання завдання
- •Контрольні питання та завдання
- •4.5. Проектування систем нечіткого виводу на основі алгоритму Мамдані
- •Особливості розв’язання задач проектування систем нечіткого виводу на основі алгоритму Мамдані
- •Порядок виконання завдань та оформлення результатів
- •Контрольні питання та завдання
- •Список літератури
Контрольні питання та завдання
1. В чому полягає різниця між константою та змінною в Пролог?
2. Який синтаксис запису предикатів в Пролог?
3. Який синтаксис запису правил в Пролог?
4. Дайте визначення поняттям „уніфікація”, „рекурсія”.
5. Які основні складові елементи списку?
6. Яким буде результат уніфікації для наступних виразів та чому:
а) c(f) = K.
б) sister (Mary, Kate) = mother(Mary, john).
в) f = d(t);
г) F = d(t);
д)F = [h, d, M].
7. Запишіть правила за синтаксисом Пролога для наступних родинних відносин:
а) теща; б) дідусь; в) падчерка; |
г) зовиця; д) невістка.
|
4.4. Нейронні мережі: основи
Мета
Метою практичного заняття є набуття навичок та вмінь проектування різних систем на основі технології нейронних мереж.
Завдання
Вивчіть модель штучного нейрона та його передатні функції (або функції активації).
Вивчіть різні типи нейронних мереж: мережі з одним шаром та багатошарові, динамічні та статичні мережі.
Вивчіть послідовний (інтерактивний) та пакетний режими навчання нейронних мереж.
Реалізуйте логічні функції та виконайте навчання нейтронної мережі для параметричної ідентифікації лінійної функції.
Особливості використання нейронних мереж при розв’язуванні задач
Основним обчислювальним елементом (нейроном) є так званим вузол, який отримує вхідні сигнали від інших вузлів або від зовнішнього джерела сигналів (рис. 4.20). Кожен вхід асоціюється з відповідною вагою w, яка може змінюватися при синоптичному навчанні. Вузол обчислює деяку функцію f від зваженої суми
входів:
.
В
Рис.
4.20.
Штучний
нейрон
Зважена
сума
називається чистим
входом
для вузла i,
часто
записується як neti.
Зверніть увагу, що wij означає вагу сигналу від вузла j до вузла i (і не навпаки).
Функція f називається функцією активації. В найпростішому випадку, f – одинична функція, а вихід вузла є просто чистим входом. Такий вузол називається лінійним елементом.
Три з найчастіше використовуваних функцій активації (або просто передатних функцій) показані нижче. Функція одиничного стрибка, що показана на рис. 4.21, обмежує вихід нейрона або до 0, якщо чистий вхід n менше 0; або до 1, якщо n більше або дорівнює 0. Функція Matlab hardlim реалізує цю функцію активації. Нейрони з такою функцією активації називаються персептронами.
Лінійна передатна функція показана на рис. 4.22. Нейрони цього типу використовуються для лінійної апроксимації в лінійних фільтрах. Сигмоїдальна передатна функція, що показана на рис. 4.23, сприймає будь-який вхід від плюс нескінченості до мінус нескінченості, і обмежує вихід до діапазону від 0 до 1.
Рис. 4.21. Функція одиничного стрибка |
Рис. 4.22. Лінійна функція |
Ця передатна функція часто використовується в мережах з зворотнім розподіленням помилки (backpropagation networks), частково тому, що вона є диференційованою. Символ в квадраті праворуч кожного графіку представляє собою позначення передатної функції. Надалі будемо використовувати ці символи для позначення функції активації в графічних представленнях нейронних мереж.
Рис. 4.23. Сигмоїдальна функція
Нейрон з одним вхідним вектором з R елементами показаний на рис. 4.24. Тут окремі елементи вхідного вектору p1, p2,…, pR множаться на відповідні ваги w1,1, w1,2,…w1,R, а зважені величини потім сумуються. Їх сума позначується як Wp, тобто скалярний добуток матриці ваг W та вхідного вектору p.
Рис. 4.24. Нейрон з одним вхідним вектором
Кожен нейрон може мати зміщення (bias) b, який сумується з зваженими входами і формує чистий вхід n. Ця сума, n, є аргументом передатної функції f.
n = w1,1p1 + w1,2p2 + … + w1,RpR + b.
Таке графічне представлення одного нейрону містить багато деталей. При дослідженні мереж з багатьма нейронами та навіть з декількома шарами декількох нейронів таке представлення ускладнює сприйняття архітектури мереж. Тому надалі будемо використовувати символічне представлення одного нейрона, яке показане на рис. 4.25.
Рис. 4.25. Інше графічне представлення
одного нейрону
Тут вхідний вектор представлений вертикальною темною товстою лінією ліворуч. Розмірність p показано нижче як Rx1. Таким чином, p – вектор з R вхідних елементів. Ці елементи множаться на матрицю ваг W. Як і раніше, константа 1 поступає в нейрон та множиться на скалярне зміщення b. Чистий вхід n (сума зміщення b та скалярний добуток Wp) подається на функцію f. Вихід нейрона a в цьому випадку буде скаляром. Зауважте, що якщо в нас більше одного нейрону, то вихід мережі буде вектором. Шар нейронної мережі, який показаний нижче, включає комбінацію ваг, операції множення та додавання, зміщення b та передатну функцію f. Вхідний вектор p, не належить до шару і не називається шаром. Як згадувалось раніше, при використанні конкретної функції активації позначення f буде замінено на відповідне графічне представлення функції.
Одношарова мережа з R вхідними елементами та S нейронами показана на рис. 4.26.
В цій мережі кожен елемент вхідного вектору p з’єднаний з кожним нейроном через матрицю ваг W. Нейрон з порядковим номером i має свій суматор для сумування зважених входів та зміщення та формування свого власного скалярного виходу n(i). Потім різні n(i) збираються разом і формують чистий вхід n з S елементами. Нарешті, вихід цього шару нейронів формує вектор-стовпчик a. Вираз для a показаний на рисунку.
З
Рис.
4.26. Одношарова нейронна
мережа
Зауважте, що індекси по рядкам для елементів матриці W означають нейрон, в який поступає сигнал, а індекси по стовпчикам означають номер нейрона, з якого цей сигнал вийшов. Таким чином, індекс в w1,2 означають вагу сигналу від другого входу до першого нейрона w1,2.
Тут вектор p має довжину R, W – матриця розмірністю SxR, вектори a і b мають довжину S. Як було визначено раніше, шар нейронів включає матрицю ваг, операцію множення, вектор зміщення b, суматор і передатну функцію.
Для визначення багатошарових нейронних мереж необхідно відрізняти матрицю ваг для входів та матрицю ваг, яка з’єднує шари. Також необхідно ідентифікувати джерело та вузол призначення для вагових матриці. Будемо називати матриці ваг, що зв’язані з входом, вхідними вагами; а матриці ваг, на які поступають сигнали з інших шарів, ваги шарів. Більш того, будемо використовувати верхні індекси для позначення джерела (другий індекс) і вузла призначення (перший індекс) для різних ваг та елементів мережі.
Попередній приклад одношарової мережі наведено на рис. 4.27 з відповідними змінами. Тут позначено матрицю ваг, яка зв’язана з вхідними вектором p як вхідні ваги (Input Weight) – IW1,1, що має джерело 1 (другий індекс) та вузол призначення 1 (перший індекс). Також елементи шару номер один, такі як зміщення, чистий вхід та вихід мають верхній індекс 1 для позначення того, що вони належать першому шару.
Рис. 4.27. Альтернативне позначення
одношарової нейронної мережі
Отже, мережа може мати декілька шарів. Кожен шар має матрицю ваг W, вектор зміщення b і вихідний вектор a. Для того, щоб розрізняти ці елементи між собою, для кожного з них в рис. 6 було додано номер шару як верхній індекс. Рівняння кожного з виходів відповідного шару для нейронної мережі з трьома шарами показано на рис. 4.28.
Рис. 4.28. Багатошарова нейронна мережа
Ця мережа має R1 входів, S1 нейронів у першому шарі, S2 нейронів в другому шарі і так далі. Звичайно різні шари мають різну кількість нейронів. Константа 1 подається зміщення для кожного з нейронів. Зауважте, що виходи проміжного шару є входами для наступного шару. Таким чином, шар 2 може бути проаналізований як одношарова мережа з S1 входами, S2 нейронами та матрицею ваг W2 розмірністю S2xS1. Входом для шару 2 буде вектор a1; вектор a2 буде його виходом.
Різні шари в мережі можуть мати різні призначення. Шар, що формує вихід всієї мережі, називається вихідним шаром. Всі інші шари називаються прихованими шарами. Трьохшарова мережа, що показана вище, має один вихідний шар (шар 3) та два прихованих (шари 1 та 2).
Досить часто в літературі входи розглядаються як ще один шар, вхідний шар, але надалі ми не будемо притримуватися цього позначення. Багатошарові мережи є дуже потужним інструментом для моделювання різних процесів. Зокрема, мережа з двома шарами, де перший шар має нейрони з сигмоїдальною функцією, а другий шар має лінійні нейрони, може бути навчена апроксимувати будь-яку функцію (з кінцевою кількістю розривів) з досить високим ступенем достовірності. Зазвичай, вихідні сигнали вихідного шару мережі (у нашому випадку це a3) позначуються як y.
