Основи інженерії штучного інтелекту 10-11 класи
Цей документ містить навчальні матеріали для учнів та вчителів курсу «Основи інженерії штучного інтелекту». Навчальна програма курсу за вибором "Основи інженерії штучного інтелекту" Автори: Рибак О.С., Радер Р.І. Протокол №7 від 19.08.2024. Зареєстровано у каталозі надання грифів навчальних матеріалів та навчальних програм № 4.0164-2024 (Текст програми (pdf))
10. Нейронні мережі
10.1. Персептрон
Персептрон був розроблений Френком Розенблаттом у 1957 році в Корнельській авіаційній лабораторії. Це була перша штучна нейронна мережа, реалізована у вигляді комп'ютерної програми, що могла навчатися розпізнавати прості візуальні патерни. Назва "персептрон" походить від слова "perception" (сприйняття), оскільки модель була натхненна біологічними механізмами обробки візуальної інформації. Ця модель заклала фундамент для розвитку сучасних нейронних мереж та глибокого навчання.
Аналогія з біологічним нейрономПерсептрон був створений за аналогією з біологічним нейроном і має схожу структуру:
- Дендрити - в біологічному нейроні це відростки, що приймають вхідні сигнали від інших нейронів. У персептроні цю роль виконують вхідні зв'язки (входи), через які надходять вхідні дані.
- Тіло клітини (сома) - у біологічному нейроні тут відбувається обробка сигналів. У персептроні це відповідає зваженому сумуванню всіх вхідних сигналів.
- Аксон - у біологічному нейроні це довгий відросток, що передає вихідний сигнал іншим нейронам. У персептроні це вихідний сигнал після функції активації.
- Синапси - у біологічному нейроні це місця з'єднання між нейронами, що мають різну силу зв'язку. У персептроні це ваги зв'язків між входами та нейроном.
Функція активації персептрона працює у два етапи:
- Зважене сумування - кожен вхідний сигнал множиться на відповідну вагу зв'язку, після чого всі добутки додаються. Це можна записати як: sum = x₁w₁ + x₂w₂ + ... + xₙwₙ, де x - вхідні сигнали, а w - ваги зв'язків.
- Порогова функція - отримана сума порівнюється з пороговим значенням. Якщо сума перевищує поріг, нейрон активується (видає 1), інакше залишається неактивним (видає 0). Це забезпечує здатність персептрона приймати рішення на основі вхідних даних.
Навчання персептрона полягає в підборі оптимальних ваг зв'язків, щоб він правильно класифікував вхідні дані. Процес навчання відбувається так:
- Ініціалізація - спочатку ваги встановлюються випадковим чином (зазвичай малі значення)
- Подача навчального прикладу - на вхід подається навчальний приклад, для якого відомий правильний результат
- Обчислення виходу - персептрон обчислює свій вихід для поданого прикладу
- Порівняння з правильною відповіддю - якщо вихід не співпадає з очікуваним результатом, відбувається корекція ваг
- Корекція ваг - ваги змінюються за формулою:
w_new = w_old + η(d - y)x
де:- w_new - нове значення ваги
- w_old - старе значення ваги
- η (ета) - швидкість навчання (маленьке додатне число)
- d - правильний (бажаний) вихід
- y - фактичний вихід персептрона
- x - значення входу
- Повторення - кроки 2-5 повторюються для всіх навчальних прикладів, доки персептрон не почне правильно класифікувати всі приклади або не буде досягнуто максимальної кількості ітерацій
Важливо розуміти, що персептрон може навчитися розділяти тільки лінійно роздільні класи даних. Це означає, що якщо дані можна розділити прямою лінією (у двовимірному просторі) або гіперплощиною (у багатовимірному просторі), персептрон зможе їх класифікувати. Для складніших задач потрібні більш складні нейронні мережі.
Демонстрація роботи персептронаhttps://perceptrondemo.com/ (автоматичний переклад українською добре працює).