Штучні нейронні мережі
2. Штучні нейронні мережі
Штучні нейромережі є моделями нейронної структури мозку, який здатен сприймати, обробляти, зберігати та продукувати інформацію, а також навчається з досвіду. Інтелектуальні системи на основі штучних нейронних мереж дозволяють з успіхом вирішувати проблеми розпізнавання образів, виконання прогнозів, оптимізації, асоціативної пам'яті і керування.
Мозок людини має багато якостей, що відсутні в сучасних комп'ютерах з архітектурою фон Неймана:
- Розподілене представлення інформації і паралельні обчислення.
- Здатність до навчання й узагальнення.
- Адаптивність.
- Толерантність до помилок.
- Низьке енергоспоживання.
Механізм природного мислення базується на збереженні інформації у вигляді образів. Процес зберігання інформації як образів, використання образів і вирішення нетрадиційних завдань визначають галузь в обробці даних, яка, не використовуючи традиційного програмування, забезпечує створення паралельних мереж та їх навчання. В лексиконі розробників та користувачів нейромереж присутні слова "поводити себе", "реагувати", "самоорганізовувати", "навчати", "узагальнювати" та "забувати".
Аналогія з мозком
Базовим елементом мозку людини є нейрони - специфічні клітини, що здатні запам'ятовувати і застосовувати попередній досвід до наступних дій, що докорінно відрізняє їх від решта клітин тіла.
Кора головного мозку людини є протяжною, утвореною нейронами поверхнею товщиною від 2 до 3 мм із площею близько 2200 см2, що вдвічі перевищує площу поверхні стандартної клавіатури. Кора головного мозку містить близько 1011 нейронів, що приблизно дорівнює числу зірок Чумацького шляху. Кожен нейрон зв'язаний з 103 - 104 іншими нейронами. У цілому мозок людини містить приблизно від 1014 до 1015 взаємозв'язків.
Потужність людського розуму залежить від числа базових компонентів, різноманіття з'єднань між ними, а також від генетичного програмування й навчання.
Індивідуальний нейрон є складним, має свої складові, підсистеми та механізми керування і передає інформацію через велику кількість електрохімічних зв'язків. Налічують біля сотні різних класів нейронів. Разом нейрони та з'єднання між ними формують недвійковий, нестійкий та несинхронний процес, що різниться від процесу обчислень традиційних комп'ютерів. Штучні нейромережі моделюють лише найголовніші елементи природного мозку, що надихає науковців та розробників до нових шляхів розв'язування проблеми.
Біологічний нейрон
Нейрон (нервова клітка) складається з тіла клітини - соми (soma), і двох типів зовнішніх деревоподібних відгалужень: аксона (axon) і дендритів (dendrites). Тіло клітини вміщує ядро (nucleus), що містить інформацію про властивості нейрона, і плазму, яка продукує необхідні для нейрона матеріали. Нейрон отримує сигнали (імпульси) від інших нейронів через дендрити (приймачі) і передає сигнали, що згенеровані тілом клітки, вздовж аксона (передавач), який наприкінці розгалужується на волокна (strands). На закінченнях волокон знаходяться синапси (synapses).
Рис. 1. Схема біологічного нейрона
Синапс є функціональним вузлом між двома нейронами (волокно аксона одного нейрона і дендрит іншого). Коли імпульс досягає синаптичного закінчення, там продукуються хімічні речовини - нейротрансмітери. Нейротрансмітери проходять через синаптичну щілину і в залежності від типу синапсу, збуджують або гальмують здатність нейрона-приймача генерувати електричні імпульси. Результативність синапсу налаштовується сигналами, які проходять скрізь нього, тому синапси навчаються у відповідності до активності процесів, у яких вони приймають участь. Нейрони взаємодіють за допомогою короткої серії імпульсів, повідомлення передається за допомогою частотно-імпульсної модуляції.
Біологічні нейрони є структурно складнішими, ніж існуючі штучні нейрони. Оскільки нейрофізіологія надає науковцям розширене розуміння дії нейронів, а технологія обчислень постійно вдосконалюється, розробники мереж мають необмежений простір для вдосконалення моделей біологічного мозку.
Штучний нейрон
Штучний нейрон є базовим модулем нейронних мереж. Він моделює основні функції природного нейрона (рис. 2).
При функціонуванні нейрон одночасно отримує багато вхідних сигналів. Кожен вхід має свою власну синаптичну вагу, яка надає входу вплив, необхідний для функції суматора елемента обробки. Ваги є мірою сили вхідних зв'язків і моделюють різноманітні синаптичні сили біологічних нейронів. Ваги суттєвого входу підсилюються і, навпаки, вага несуттєвого входу примусово зменшується, що визначає інтенсивність вхідного сигналу. Ваги можуть змінюватись відповідно до навчальних прикладів, топології мережі та навчальних правил.
Вхідні сигнали xn зважені ваговими коефіцієнтами з'єднання wn додаються, проходять через передатну функцію, генерують результат і виводяться.
Рис. 2. Базовий штучний нейрон
В наявних на цей час пакетах програм штучні нейрони називаються "елементами обробки" і мають більше можливостей, ніж базовий штучний нейрон, описаний вище.
На рис. 3 зображена детальна схема штучного нейрону.
Рис. 3. Модель "елементу обробки"
Функція суматора може бути складнішою, наприклад, вибір мінімуму, максимуму, середнього арифметичного, добутку або обчислюватися за іншим алгоритмом. Більшість комерційних програм дозволяють інженерам-програмістам створювати власні функції суматора за допомогою підпрограм, що закодовані на мові високого рівня (C, С++, TurboPascal).
Вхідні сигнали та вагові коефіцієнти можуть комбінуватись багатьма способами перед надходженням до передатної функції. Особливі алгоритми для комбінування входів нейронів визначаються обраними мережною архітектурою та парадигмою.
В деяких нейромережах функції суматора виконують додаткову обробку, так звану функцію активації, яка зміщує вихід функції суматора в часі. Більшість сучасних нейронних реалізацій використовують функцію активації "тотожності", яка еквівалентна її відсутності. Цю функцію доцільніше використовувати як компоненту мережі в цілому, ніж як компоненту окремого нейрона.
Результат функції суматора перетворюється у вихідний сигнал через передатну функцію. В передатній функції для визначення виходу нейрона загальна сума порівнюється з деяким порогом (зазвичай, це діапазон [0, 1] або [-1,1] або інше число) за допомогою певного алгоритму.
Переважно застосовують нелінійну передатну функцію, оскільки лінійні (прямолінійні) функції є обмеженими і вихід є пропорційним до входу. Застосування лінійних передатних функцій було проблемою у ранніх моделях мереж, і їх обмеженість та недоцільність була доведена в книзі Мінскі та Пейперта "Перцептрони".
В існуючих нейромережах в якості передатних функцій можуть бути використані сигмоїда, синус, гіперболічний тангенс тощо. На рис. 4 зображені типові передатні функції.
|
Для простої передатної функції нейромережа може видавати 0 та 1, 1 та -1 або інші числові комбінації. Передатна функція в таких випадках є "жорстким обмежувачем" або пороговою функцією (рис. 4а). | |
|
Передатна функція лінійна з насиченням віддзеркалює вхід всередині заданого діапазону і діє як жорсткий обмежувач за межами цього діапазону. Це лінійна функція, яка відсікається до мінімальних та максимальних значень, роблячи її нелінійною (рис. 4б). | |
|
Сигмоїда або S-подібна крива, яка наближує мінімальне та максимальне значення у асимптотах і називається сигмоїдою (рис. 4в), коли її діапазон [0, 1], або гіперболічним тангенсом (рис. 4г), при діапазоні [-1, 1]. Важливою рисою цих кривих є неперервність функцій та їх похідних. Застосування сигмоїдних функцій надає добрі результати і має широке застосування. | |
Для різних нейромереж можуть вибиратись інші передатні функції.
Після обробки сигналу, нейрон на виході має результат передатної функції, який надходить на входи інших нейронів або до зовнішнього з'єднання, як це передбачається структурою нейромережі.
Всі штучні нейромережі конструюються
з базового формуючого блоку - штучного
нейрону. Існуючі різноманітності
і фундаментальні відмінності, є
підставою мистецтва
Архітектура з'єднань штучних нейронів
Інша властивість нейромереж стосується величезної кількості зв'язків, які пов'язують окремі нейрони. Групування нейронів у мозку людини відбувається так, що інформація обробляється динамічним, інтерактивним та самоорганізуючим шляхом.
Біологічні нейронні мережі створені у тривимірному просторі з мікроскопічних компонентів і здатні до різноманітних з'єднань. Але для штучних мереж існують фізичні обмеження.
Об'єднуючись у мережі, нейрони
утворюють системи обробки
Важливим фактором ефективності мережі є встановлення оптимальної кількості нейронів та типів зв'язків між ними.
При описі нейромереж використовують кілька усталених термінів, які в різних джерелах можуть мати різне трактування, зокрема:
- Структура нейромережі - спосіб зв'язків нейронів у нейромережі.
- Архітектура нейромережі - структура нейромережі та типи нейронів.
- Парадигма нейромережі - спосіб навчання та використання; іноді вміщує і поняття архітектури.
На основі однієї архітектури може бути реалізовано різні парадигми нейромережі і навпаки.
Серед відомих архітектурних рішень виділяють групу слабозв'язаних нейронних мереж, у випадку, коли кожний нейрон мережі зв'язаний лише із сусідніми.
Рис. 5а. Слабозв'язані нейромережі |
Рис. 5б. Повнозв'язані нейромережі |
В повнозв'язаних нейромережах входи кожного нейрона зв'язані з виходами всіх решта нейронів.
Самим
поширеним варіантом
Рис. 6. Багатошаровий тип з'єднання нейронів
- Зв'язки між нейронами різних прошарків називають проективними.
- Зв'язки скеровані від вхідних прошарків до вихідних називаються аферентними,
- в інакшому випадку, при зворотному напрямку зв'язків - еферентними.
- Зв'язки між нейронами одного прошарку називають бічними (латеральними).
На рис. 6 показана типова структура штучних нейромереж. Хоча існують мережі, які містять лише один прошарок, або навіть один елемент, більшість застосувань вимагають мережі, які містять як мінімум три типи прошарків - вхідний, прихований та вихідний. Прошарок вхідних нейронів отримує дані або з вхідних файлів, або безпосередньо з електронних давачів. Вихідний прошарок пересилає інформацію безпосередньо до зовнішнього середовища, до вторинного комп'ютерного процесу, або до інших пристроїв. Між цими двома прошарками може бути багато прихованих прошарків, які містять багато нейронів в різноманітних зв'язаних структурах. Входи та виходи кожного з прихованих нейронів сполучені з іншими нейронами.
Важливим аспектом нейромереж є напрямок зв'язку від одного нейрону до іншого є. В більшості мереж кожен нейрон прихованого прошарку отримує сигнали від всіх нейронів попереднього прошарку чи від нейронів вхідного прошарку. Після виконання операцій над сигналами, нейрон передає свій вихід до всіх нейронів наступних прошарків, забезпечуючи передачу вперед (feedforward) на вихід.
При зворотньому зв'язку, вихід нейронів прошарку скеровується до нейронів попереднього прошарку (рис. 7).
Шлях, яким нейрони з'єднуються між собою має значний вплив на роботу мережі. Більшість пакетів професіональної розробки програмного забезпечення дозволяють користувачу додавати, вилучати та керувати з'єднаннями як завгодно. Постійно коректуючі параметри, зв'язки можна робити як збуджуючими так і гальмуючими.
За архітектурою зв'язків, більшість відомих нейромереж можна згрупувати у два великих класи:
- Мережі прямого поширення (з односкерованими послідовними зв'язками).
- Мережі зворотного поширення (з рекурентними зв'язками).
Типові архітектури нейронних мереж
Мережі прямого поширення
|
Рекурентні мережі
|
Мережі прямого поширення
Рекурентні мережі вважаються динамічними, оскільки за рахунок зворотних зв'язків (петель) входи нейронів модифікуються в часі, що призводить до зміни станів мережі.
Навчання штучної нейронної мережі
Оригінальність нейромереж, як аналога біологічного мозку, полягає у здібності до навчання за прикладами, що складають навчальну множину. Процес навчання нейромереж розглядається як налаштування архітектури та вагових коефіцієнтів синаптичних зв'язків відповідно до даних навчальної множини так, щоб ефективно вирішити поставлену задачу. Виділяють варіанти контрольованого та неконтрольованого навчання.
Контрольоване навчання
Величезну більшість рішень отримано від нейромереж з контрольованим навчанням, де біжучий вихід постійно порівнюється з бажаним виходом. Ваги на початку встановлюються випадково, але під час наступних ітерацій коректуються для досягнення близької відповідності між бажаним та біжучим виходом. Ці методи навчання націлені на мінімізації біжучих похибок всіх елементів обробки, що вібувається завдяки неперервної зміни синаптичних ваг до досягнення прийнятної точності мережі.
Перед використанням, нейромережа з контрольованим навчанням повинна бути навченою. Фаза навчання займає певний час. Навчання вважається закінченим при досягненні нейромережею визначеного користувачем рівня ефективності і мережа досягла бажаної статистичної точності, оскільки вона видає бажані виходи для заданої послідовності входів. Після навчання ваги з'єднань фіксуються для подальшого застосування. Деякі типи мереж дозволяють під час використання продовжувати навчання, і це допомагає мережі адаптуватись до змінних умов.
Навчальні множини повинні бути достатньо великими, щоб містити всю необхідну інформацію для виявлення важливих особливостей і зв'язків. Навчальні приклади повинні містити широке різноманіття даних. Якщо мережа навчається лише для одного прикладу, ваги старанно встановлені для цього прикладу, радикально змінюються у навчанні для наступного прикладу. Попередні приклади при навчанні наступних просто забуваються. В результаті система повинна навчатись всьому разом, знаходячи найкращі вагові коефіцієнти для загальної множини прикладів.
Наприклад, у навчанні системи розпізнавання піксельних образів для десяти цифр, які представлені двадцятьма прикладами кожної цифри, всі приклади цифри "сім" не доцільно представляти послідовно. Краще надати мережі спочатку один тип представлення всіх цифр, потім другий тип і так далі.
Головною компонентою для
Якщо після контрольованого навчання нейромережа ефективно опрацьовує дані навчальної множини, важливим стає її ефективність при роботі з даними, які не використовувались для навчання. У випадку отримання незадовільних результатів для тестової множини, навчання продовжується. Тестування використовується для забезпечення запам'ятовування не лише даних заданої навчальної множини, але і створення загальних образів, що можуть міститись в даних.
Неконтрольоване навчання
Неконтрольоване навчання може бути великим надбанням у майбутньому. Воно проголошує, що комп'ютери можуть самонавчатись у справжньому роботизованому сенсі. На даний час, неконтрольоване навчання використовується в мережах відомих, як самоорганізовані карти (self organizing maps). Мережі не використовують зовнішніх впливів для коректування своїх ваг і внутрішньо контролюють свою ефективність, шукаючи регулярність або тенденції у вхідних сигналах та роблять адаптацію згідно до навчальної функції. Навіть без повідомлення правильності чи неправильності дій, мережа повинна мати інформацію відносно власної організації, яка закладена у топологію мережі та навчальні правила.
Алгоритм неконтрольованого
Конкуренція між нейронами формує основу для навчання. Навчання конкуруючих нейронів підсилює відгуки певних груп на певні сигнали. Це пов'язує групи між собою та відгуком. При конкуренції змінюються ваги лише нейрона-переможця.
Оцінки навчання
Оцінка ефективності навчання нейромережі залежить від кількох керованих факторів. Теорія навчання розглядає три фундаментальні властивості, пов'язані з навчанням: ємність, складність зразків і обчислювальна складність.
- Ємність показує, скільки зразків може запам'ятати мережа, і які межі прийняття рішень можуть бути на ній сформовані.
- Складність зразків визначає число навчальних прикладів, необхідних для досягнення здатності мережі до узагальнення.
- Обчислювальна складність напряму пов'язана з потужністю комп’ютера.
Обґрунтованість застосування нейромереж
Нейромережі не можна вважати доцільним рішенням для всіх обчислювальних проблем. Для багатьох застосувань ідеальними є традиційні комп'ютери та обчислювальні методи. Сучасні цифрові обчислювальні машини перевершують людину за здатністю робити числові й символьні обчислення. Однак людина може без зусиль вирішувати складні задачі сприйняття зовнішніх даних (наприклад, впізнавання людини в юрбі по його обличчю) з такою швидкістю і точністю, що значно перевищує можливості потужних комп’ютерів.
Порівняння традиційного комп’ютера з біологічної нейронною системою
** |
Комп’ютер з архітектурою фон Неймана |
Біологічна нейрона система |
Процесор |
Складний |
Простий |
Пам'ять |
Відділена від процесора |
Інтегрована в процесор |
Обчислення |
Централізовані |
Розподілені |
Надійність |
Висока вразливість |
Живучість |
Спеціалізація |
Числові й символьні операції |
Проблеми сприйняття |
Середовище функціонування |
Строго визначене |
Погано визначене |
Функції |
Логічно, |
Через зображення, |
Метод навчання |
За правилами (дидактично) |
За прикладами (сократично) |
Застосування |
Числова та символьна обробка інформації |
Розпізнавання мови, |
Проблеми, які вирішують за допомогою нейромоделювання.
Класифікація образів. Визначення належності вхідного образа (наприклад, мовного сигналу чи рукописного символу), який представлено вектором ознак, до одного чи кількох попередньо визначених класів. До відомих застосувань відносяться розпізнавання букв, розпізнавання мови, класифікація сигналу електрокардіограми.
Кластеризація/категоризація. При вирішенні задачі кластеризації, що відома також як класифікація образів "без вчителя", навчальна множина з визначеними класами відсутня. Алгоритм кластеризації засновано на подобі образів і розміщення близьких образів в один кластер. Застосовують кластеризацію для видобутку знань, стиснення даних і дослідження властивостей даних.
Апроксимація функцій. Припустимо, що є навчальна вибірка ((x1,y1), (x2,y2)..., (xn,yn)) (пари даних вхід-вихід), яка генерується невідомою функцією F, яка спотворена шумом. Завдання апроксимації полягає в знаходженні невідомої функції F. Апроксимація функцій необхідна при рішенні численних інженерних і наукових задач моделювання.
Передбачення/прогноз. Нехай задані n дискретних відліків {y(t1), y(t2), ..., y(tn)} у послідовні моменти часу t1, t2,..., tn . Завдання полягає в передбаченні значення y(tn+1) у деякий майбутній момент часу tn+1. Передбачення/прогноз мають значний вплив на прийняття рішень у бізнесі, науці й техніці (передбачення цін на фондовій біржі, прогноз погоди).
Оптимізація. Численні проблеми в математиці, статистиці, техніці, науці, медицині й економіці можуть розглядатися як проблеми оптимізації. Задачею алгоритму оптимізації є знаходження такого рішення, яке задовольняє системі обмежень і максимізує чи мінімізує цільову функцію.
Пам'ять, що адресується за змістом. В традиційних комп'ютерах звертання до пам'яті доступно лише за допомогою адреси, що не залежить від змісту пам'яті. Більш того, якщо допущена помилка в обчисленні адреси, то може бути знайдена зовсім інша інформація. Асоціативна пам'ять, чи пам'ять, що адресується за змістом, доступна за вказівкою заданого змісту. Вміст пам'яті може бути викликано навіть за частковим фрагментом або спотвореним змістом. Асоціативна пам'ять є потрібною при створенні мультимедійних інформаційних баз даних.
Керування. Розглянемо динамічну систему, задану сукупністю {u(t), y(t)}, де u(t) є вхідним керуючим впливом, а y(t) - виходом системи в момент часу t. В системах керування з еталонною моделлю метою керування є розрахунок такого вхідного впливу u(t), при якому система діє за бажаною траєкторією, яка задана еталонною моделлю. Прикладом є оптимальне керування двигуном.
Незважаючи на переваги нейронних мереж в часткових галузях над традиційними обчисленнями, існуючі нейромережі не є досконалими рішеннями. Вони навчаються і можуть робити "помилки". Окрім того, не можна гарантувати, що розроблена мережа є оптимальною мережею.
Застосування нейромереж вимагає від розробника виконання ряду умов:
- Наявність репрезентативної та достатньої за розміром множини даних для навчання й тестування мережі.
- Розуміння базової природи проблеми, яка буде вирішена.
- Вибір функції суматора, передатної функції та методів навчання.
- Розуміння інструментальних засобів розробника.
- Відповідна потужність обробки.
Робота з нейромоделями вимагає вмінь розробника поза межами традиційних обчислень.
- Спочатку, обчислення були лише апаратними й інженери робили їх працюючими.
- Потім, були спеціалісти з програмного забезпечення: програмісти, системні інженери, спеціалісти по базах даних та проектувальники.
- Тепер є нейронні архітектори. Новий професіонал повинен мати високу кваліфікацію і різнобічні знання. Наприклад, він повинен знати статистику для вибору і оцінювання навчальних і тестувальних множин. Логічне мислення сучасних інженерів, їх емпіричне вміння та інтуїтивне відчуття гарантує створення ефективних нейромереж.
Класифікація відомих нейромереж
Оскільки всі штучні нейронні мережі базуються на концепції нейронів, з'єднань та передатних функцій, існує подібність між різними структурами або архітектурами нейронних мереж. Більшість змін походить з різних правил навчання. Розглянемо деякі з найвідоміших штучних нейромереж.
Перцептрон Розенбалата
Першою моделлю нейромереж вважають перцептрон Розенбалата. Теорія перцептронів є основою для багатьох типів штучних нейромереж прямого поширення і вони є класикою для вивчення.
Одношаровий перцептрон здатний розпізнавати найпростіші образи. Окремий нейрон обчислює зважену суму елементів вхідного сигналу, віднімає значення зсуву і пропускає результат через жорстку порогову функцію, вихід якої дорівнює +1 чи -1. В залежності від значення вихідного сигналу приймається рішення:
- +1 - вхідний сигнал належить класу A,
- -1 - вхідний сигнал належить класу B.
На рис. 8 показано схему одношарового перцептрона, графік передатної функції і схему вирішальних областей, створених у багатовимірному просторі вхідних сигналів. Вирішальні області визначають, які вхідні образи будуть віднесені до класу A, які - до класу B. Перцептрон, що складається з одного нейрона, формує дві вирішальні області, які розділено гіперплощиною.
Рис. 1. Схема нейрона, графік передатної функції і поділяюча поверхня
На рис. показано випадок з розмірністю вихідного сигналу - 2. Поділяюча поверхня є прямою лінією на площині. Рівняння, що задає поділяючу пряму, залежить від значень синаптичних ваг і зсуву.
Алгоритм навчання одношарового перцептрона
1. Ініціалізація синаптичних ваг і зсуву: синаптичні ваги приймають малі випадкові значення.
2. Пред'явлення мережі нового вхідного і бажаного вихідного сигналів: вхідний сигнал x=(x1, x2, ..., xn) пред'являється нейрону разом з бажаним вихідним сигналом d.

- Штучні супутники
- Ш,Уалиханов
- Шуба из каракуля
- Шугнанский район
- Шуйские памятники
- «Шулы» технологиялық процесстерді төмендету және шу көздерін төмендетудегі қазіргі кездегі енгізулері
- Шулы технологиялық процестерді төмендету және су көздерін төмендетудегі қазіргі кездегі өзгерістер
- Штурм Зимнего дворца
- Штурмовик СУ-25
- Штурм Род-Айленда
- Штурм турецкой крепости Измаил 11 декабря 1790 года
- Штурхобочний бой
- Штучний супутник
- Штучні мови світу