лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

Обратная связь

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

системи підтримки прийняття рішень

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

 

9.4.3. Біологічні нейрони і нейромережі


Як уже зазначалося, ідея створення проекту штучних нейронних мереж виникла внаслідок бажання штучно відтворити процеси мислення людського мозку. Нервова система і мозок людини складаються з нейронів, сполучених між собою нервовими волокнами. Нервові волокна здатні передавати електричні імпульси між нейронами. Всі процеси передавання подразнень від нашої шкіри, вух і очей до мозку, процеси мислення й управління діями — все це реалізоване в живому організмі як передавання електричних (електрохімічних) імпульсів між нейронами.
Компонентою мозку, яка забезпечує можливість оброблення інформації, є нейрон (neuron), який складається з трьох основних зон: дендритів (dendrites) — відгалужень нервових клітин, що проводять нервовий імпульс до клітини, сома (soma) — тіла нейрона і аксона (axon) (інші назви аксона: неврит, нейрит) — відростка нервової клітини, по якому проходять нервові імпульси від клітин. Дендрити виконують функцію введення електричних (електрохімічних) сигналів, сома оброблює сигнали, і аксони утво­рюють вихідні маршрути для оброблених сигналів. Рис. 9.9 ілюструє модель окремого біологічного нейрона.

Рис. 9.9. Модель біологічного нейрона
Як видно із рисунка, кожний нейрон має паростки нервових волокон двох типів — дендрити, які приймають імпульси, і єдиний аксон, через який нейрон може передавати імпульси. Аксон контактує з дендритами інших нейронів через спеціальні утворення — синапси, які впливають на силу імпульсу. Сила зв’язку синапсового з’єднання між аксоном збудженого (активізованого) нейрона і дендритами отримуючого нейрона визначає вплив імпульсу.
Через цей дуже простий механізм вхідним сигналам від сусідніх нейронів можна присвоювати пріоритети або коефіцієнти важливості щодо процесів акумуляції сигналів сомами. Ці пріоритети мають подібне призначення, як запам’ятовуючий пристрій чи пам’ять у мережі.
Хоч тривалість відповіді для окремого нейрона приблизно в тисячу разів повільніша, ніж цифрова комутація в комп’ютері, мозок здатний до розв’язання комплексних проблем, як наприклад, бачення і мови. Це забезпечується за допомогою поєднання величезної кількості повільних нейронів (процесорів) у безмірно велику комплексну мережу. Кількість нейронів у людському моз­ку приблизно дорівнює 1016, і кожний із них формує приблизно 104 синапси з іншими нейронами. Це є прикладом паралельного розподіленого оброблення інформації (parallel distributed proces­sing — PDP), яке уможливлює кожне завдання поділити на безліч субзавдань, що виконуються одночасно.
Можна вважати, що в результаті проходження через синапс сила імпульсу змінюється в певну кількість разів, яку будемо називати вагою синапса. Імпульси, що поступили до нейрона одночасно через кілька дендритів, підсумовуються. Якщо сумарний імпульс перевищує деяку порогову величину, то нейрон збуджується (рівень калію в ньому досягає критичної межі), формує власний імпульс і передає його далі через аксон. Важливо зазначити, що ваги синапсів можуть змінюватися згодом, а отже змінюватиметься і поведінка відповідного нейрона.
Неважко побудувати математичну модель описаного процесу. На рис. 9.10 зображена схема нейрона з трьома входами (дендритами), причому синапси цих дендритів мають ваги w1, w2, w3.
Нехай по синапсах поступають імпульси силами відповідно x1, x2, x3, тоді після проходження синапсів і дендритів до нейрона поступають імпульси w1x1, w2x2, w3x3. Нейрон перетворює отриманий сумарний імпульс (функцію стану) x = w1x1 + w2x2 + w3x3відповідно до деякої передавальної функції f(x). Силу вихідного імпульсу можна обчислити за формулою: у = f(х)=f(w1x1 + w2x2 +
+ w3x3). Отже, нейрон повністю описується своїми вагами , що визначають функцію стану, і передавальною функцією f(х). Функ­цію f(х) інколи називають функцією активації або функцією перетворення. Отримавши ряд імпульсів (вектор) на вході, нейрон передає деякий імпульс (число) у на виході.

Рис. 9.10. Схема до математичного
опису нейронного процесу

9.4.4. Математична модель
штучного нейрона

Штучні нейронні мережі не є точними копіями біологічної системи людського мозку, проте вони відтворюють такі здатності людини, як узагальнення, навчання, абстрагування і навіть інтуїцію. Все залежить від того, наскільки вдало вибрана математична модель нейронів і структура взаємозв’язків між окремими нейронами в нейромережі. Причому слід зауважити, що немає єдиного підходу до побудови нейромереж, конструкція їх значною мірою залежить від уміння авторів штучно відтворити функції біологічного нейрона: від правильності оцінювання вхідних значень, визначення стану нейрона, адекватності передавальної функції вихідному імпульсу.
Математична модель штучного нейрона (далі — нейрона) має структуру, яка тією чи іншою мірою відтворює описану математичну модель біологічного нейрона. Введемо такі позначення: N — загальна кількість нейронів у нейромережі; j — індекс нейрона (j = 1, 2,…, N); nj — кількість входів у j-ий нейрон (і =1, 2,…, nj); xij — значення сили імпульсу i-входу в j-нейрон;
wij — вага імпульсу i-входу в j-нейрон.
Значення функції стану (вхідного імпульсу) xi найчастіше за аналогією з моделлю біологічного нейрона (теорія Мак-Каллока і Піттса) обчислюється як зважена сума вхідних імпульсів:
.                            (9.1)
Проте таке подання функції стану не є єдиним, зокрема,
у практиці побудови нейромереж інколи застосовується відстань між вектором входів  і вектором ваг , що вимірюється в деякій метриці, наприклад
.                                  (9.2)
Також немає домовленості щодо однозначного вибору виду передавальної функції (функції активізації) . Найчастіше використовуються такі функції (для спрощення записів індекс нейрона не показаний):
а) ступінчаста порогова
                                 (9.3)
б) лінійна порогова
                          (9.4)
в) сигмоїдна
                                  (9.5)
г) лінійна
;                                       (9.6)
д) гаусіана
                                     (9.7)
Отже, в процесі побудови, навчання і тестування нейромережі потрібно вибрати кількість та конфігурацію нейронів, зв’язки між ними, вид функції активізації і її параметри, функцію стану та значення ваг вхідних імпульсів, щоб опісля використовувати ней­ромережу для розв’язування певного типу задач. Проте, використовуючи готові нейропакети (наприклад, нейропакет BrainMaker американської фірми «California Scientific Software»), усі ці функції максимально автоматизовані, користувачеві потрібно задати лише кількість параметрів задачі (вимірність простору) і програма автоматично вибере необхідну мережу, потім вибрати низки даних (наприклад, в електронній таблиці Excel) для навчання і тестування та виконувати інструкції в інтерактивному режимі.
9.4.5. Архітектура нейромереж
У процесі розроблення нейромереж автори наділяють штучні нейрони різноманітними властивостями з тим, щоб комп’ютерні нейромережі адекватно відображали можливості біологічних нейромереж стосовно розв’язання певного типу проблем, що зумовило появу великого різноманіття підходів до алгоритмів нейромереж, зокрема штучні нейрони можуть бути з різ­ними передавальними функціями, з різними функціями стану,
двійковими, цілочисельними, дійсними та іншими числовими значеннями входів і ваг. Тому в термінах нейронних мереж можна описувати алгоритми розв’язання як добре формалізованих задач, наприклад задач математичної фізики, так і задач розпізнавання, що погано формалізуються, класифікації, узагальнення і асоціативного запам’ятовування.
Мережі можуть бути такими, що конструюються або що навчаються. У мережі, що конструюється, кількість і тип нейронів, граф міжнейронних зв’язків, ваги входів нейронів визначаються за створення мережі, виходячи із задачі, що розв’язується. Наприклад, за конструювання мережі Хопфілда, що функціонує як асоціативна пам’ять, кожна вхідна послідовність із заздалегідь визначеного певного ряду бере участь у визначенні ваги входів нейронів мережі. Після етапу конструювання функціонування мережі полягає в наступному. За подачі на входи часткової або помилкової вхідної послідовності мережа через якийсь час переходить в один зі стійких станів, передбачених за її конструювання. При цьому на входах мережі з’являється послідовність, що визнається мережею як найближча до спочатку поданої. Кількість вхідних послідовностей — М, що запам’ятовуються, пов’язана з кількістю нейронів у мережі співвідношенням: М<N/41ogN, де N — кількість нейронів.
У мережах, що навчаються, графи міжнейронних зв’язків і ваги входів змінюються за виконання алгоритму навчання. За алгоритмом навчання мережі поділяться на ті, що спостерігаються, ті, що не спостерігаються і змішані (комбіновані). Перші у разі навчання порівнюють заздалегідь відоме значення виходу із фактичним вихідним значенням. Якщо відмінність між виходом мережі
і відомим значенням суттєва, то виконується корегування ваг мережі. Такий алгоритм називається зворотним розповсюдженням (Back Propagation) помилки в зворотному напрямку по мережі.
Другі навчаються, не знаючи заздалегідь правильних вихідних значень, але групуючи «близькі» вхідні вектори так, щоб вони формували той самий вихід мережі. Навчання, що не спостерігається, використовується, зокрема, для розв’язання задач кластеризації. За змішаного алгоритму навчання частина ваг визначається методом навчання, що спостерігається, а решта — за навчання, що не спостерігається.
На даний час використовується кілька типів архітектур нейромереж. Найчастіше в дейтамайнінгу використовується багатошаровий персептрон, як об’єднання простих нейронів у багатошарову штучну нейромережу. Всередині кожного ввідні вер­шини з’єднуються з вивідними вершинами через один або більше невидимих шарів (рівнів). Ввідні вершини графа нейромережі утворюють нейрони вхідного рівня, які за аналогією з біологічною нейромережею назвемо рецепторними нейронами (або просто — рецепторами), а вихідні вершини утворюють вершини вихідного рівня — ефекторні нейрони (ефектори).
Найбільшу популярність отримали трьохшарові персептрони, що включають вхідний рівень, кількість нейронів якого дорівнює кількості параметрів, що вводяться в нейромережу (наприклад, за прогнозування це число спостережень у певному ряді даних), вихідний рівень, кількість нейронів якого дорівнює кількості показників на виході (якщо прогнозуємо скалярну величину, то це одиниця) та середній (внутрішній) рівень (приховані, невидимі нейрони).
Кількість прихованих нейронів може бути довільною, проте є обґрунтовані рекомендації щодо вибору даного числа: кількість нейронів внутрішнього рівня має дорівнювати півсумі кількостей вхідних і вихідних нейронів. Кожний внутрішній нейрон має бути зв’язаним з виходами всіх вхідних нейронів, а кожний вихідний нейрон — з виходами всіх нейронів внутрішнього шару.
У практиці дейтамайнінгу використовуються й інші типи нейромереж, зокрема, ймовірнісні нейромережі PPN (Probabilistic Neural Network), докладні описи яких можна знайти у спеціальній літературі.
9.4.6. Навчання та
використання нейромереж

Нейромережу можна побудувати заново або використати готовий нейропакет, проте у будь-якому разі потрібно виконати два етапи робіт:

  1. вибрати тип (архітектуру) мережі;
  2. навчити нейромережу, тобто підібрати значення ваг.

Архітектура нейромережі визначається кількістю її входів і виходів, причому кожному входу в мережу і виходу із неї відповідає певний («свій») нейрон, кількістю нейронів і характером зв’язків між ними, функцією стану і передавальною функцією. Основними функціями кожного нейрона є: оцінювання вхідних значень за допомогою відповідних ваг; визначення суми комбінацій вхідних значень за допомогою функції стану; порівняння суми зі значенням порогової величини (функція активізації); визначення власного виведення даних.

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


Рис. 9.11. Схема підготовки до вибору нейромережі
Однією з ключових проблем для застосування нейромереж до великих масивів даних є проблема підготовки цих даних (рис. 9.11). Дані в сховищі або базі даних необхідно окреслити в реальний числовий режим перед використанням нейромережі. Це є важким завданням для комерційних даних з багатьма нецифровими значеннями. Оскільки вхід до нейромережі має бути цифровим і масштабованим, то зв’язування її з великим сховищем даних може стати проблемою. Для кожного поля даних, яке використовується в нейромережі, потрібно виконати масштабування і кодування.
Щоб побудувати робочу нейромережу, ми спершу навчаємо її на «тренувальному масиві даних», потім використовуємо навчену мережу, щоб зробити передбачення. Ми можемо, часом, також використовувати «моніторинг масиву даних» протягом тренувальної фази, щоб перевірити прогрес у тренінгу. В такому разі тренувальні масиви даних поділяються на дві частини: дані для навчання і дані для тестування.
Кожний нейрон, зазвичай, має ряд ваг, який визначає те, як оцінити комбіновану силу вхідних сигналів. Вхідний імпульс на нейрон може бути позитивним (збуджуючим, excitatory) або негативним (гальмуючим, inhibitory). Навчання відбувається за допомогою зміни ваги, яка використовується нейроном відповідно до помилок класифікації, які були допущені нейроном як цілим. Вхідний імпульс є, зазвичай, масштабованим і нормалізованим для створення згладженого режиму.
Протягом тренувальної фази мережа встановлює ваги, які визначають режим проміжного рівня. Поширений підхід для персептрона називається «Back Propagation»зворотним передаванням помилки навчання, за якого ваги регулюються залежно від того, як ретельно мережа зробила передбачення. Неправильні передбачення зменшують порогові величини для відповідних зв’язків, як показано на рис. 9.12. Алгоритми навчання мають різні параметри і настройки, для керування якими потрібне розуміння їх впливу.
Після багаторазового зіставлення прикладів ваги мережі стабілізуються, причому мережа дає правильні відповіді на всі (або майже на всі) приклади з бази даних. У такому разі кажуть, що «мережа вивчила всі приклади», « мережа навчена», або «мережа натренована». У програмних реалізаціях можна бачити, що в процесі навчання величина помилки (сума квадратів помилок по всіх виходах) поступово меншає. Коли величина помилки досягає нуля або прийнятного низького рівня, то тренування зупиняють, а отриману мережу вважають натренованою і готовою до застосування на нових даних.

Рис. 9.12. Схема навчання нейромережі
Важливо зазначити, що вся інформація, яку мережа має про задачу, міститься в ряді прикладів. Тому якість навчання мережі прямо пропорційно залежить від кількості прикладів у навчальній вибірці, а також від того, наскільки повно ці приклади описують дану задачу. Так, наприклад, безглуздо використовувати мережу для прогнозування фінансової кризи, якщо в навчальній вибірці бракує кризових ситуацій. Вважається, що для повноцінного тренування потрібно хоча б кілька десятків (а краще сотень) прикладів.
Особливо гостро стоїть проблема вибору обсягів навчальної вибірки для задач з прогнозування, де, зазвичай, обсяг фактичних даних обмежений. У такому разі виникає дилема: чим більше
входів у нейромережу, тобто чим більше елементів часового ряду, що вводяться однією порцією в нейромережу, тим точнішим буде прогноз; з другого боку — чим більша кількість входів, тим менше прикладів для навчання нейромережі (тобто в середньому це кількість елементів часового ряду, поділена на кількість входів у нейромережу). Тому за вибору кількості входів виходять із розумного компромісу між глибиною передбачення (кількістю входів) і якістю навчання (кількістю навчальних прикладів).
Після того, як мережа навчена, ми можемо застосовувати її для розв’язування задач. Найважливіша особливість людського мозку полягає в тому, що, одного разу навчившись певному процесу, він може правильно діяти і в тих ситуаціях, в яких він не бував у процесі навчання. Наприклад, ми можемо читати текст, написаний майже будь-яким почерком, навіть якщо бачимо його вперше в житті. Так само і нейромережа, якщо вона як слід навчена, то може з великою ймовірністю правильно реагувати на нові, невідомі їй раніше дані.
9.4.7. Готове програмне забезпечення
нейромереж (нейропакети)

Нейронні мережі нині знаходять величезну кількість різноманітних застосувань. Дійсно, в будь-якій галузі людської діяльності є задачі, що погано алгоритмізуються, для розв’язання яких необхідна або постійна робота групи кваліфікованих експер­тів, або адаптивні системи автоматизації розрахунків, якими є
нейронні мережі. Різні компанії вибирають неоднакові варіанти — одні вважають за краще витрачати гроші на оплату кращих фахівців і їх навчання, інші купують повністю готові спеціалізовані нейромережеві системи, а треті комбінують ці підходи, створюючи власні системи з нуля або на основі готових комерційних пакетів. Кожний з варіантів упровадження нових технологій має свої переваги й недоліки.
Перші два варіанти більше підійдуть дуже великим компаніям, які планують діяльність на 5—10 років уперед і не чекають швидкої окупності вкладень у нові технології. Цим шляхом ідуть багато західних фірм, бажаючих збільшити прибутковість свого бізнесу за умов жорсткої конкуренції.
Варіант, що передбачає створення власної системи на основі готового нейропакета підходить для менших компаній і навіть для приватних осіб — інвесторів, трейдерів, підприємців. Проте, є й кілька прикладів найбільших концернів, що обрали цей варіант і домоглися завдяки цьому успіху. Так, наприклад, компанія «DuPont» розробила новий матеріал — безпечне скло, використовуючи нейропакет NeuroShelL. Цей пакет використовується також у великих західних банках, таких як Citibank, Security Pacific National Bank, The World Bank, Lloyds Bank, The Federal Reserve Board, Federal Reserve Bank of New York, і в страхових компаніях Royal Insurance, Presidential Life Insurance, New York Life Insurance та ін. Хоч конкретні методики використання пакетів тримають у секреті, формулювання задач і підходи до їх розв’язання відомі.
Проте можна констатувати, що сьогоднішній стан теорії нейромережевих обчислень не дає відповіді на запитання про вибір оптимальної нейромережевої парадигми для розв’язання конкретної прикладної задачі. Публікуються переліки успішно розв’яза­них задач із застосуванням тих або інших парадигм. Досвід застосування нагромаджується і розвивається в програмних засобах, що реалізовують широкий ряд нейромережевих парадигм. За розв’язання практичних задач необхідність самостійно розробляти програмні засоби підтримки нейрообчислень виникає досить рідко. Більшість функцій, необхідних для створення, навчання і використання нейромереж, реалізована в комерційних або поширюваних безкоштовно пакетах програм. У них втілені практично всі відомі алгоритми навчання й топології нейромереж. Незважаючи на складність закладених у нейропакетах методів, використовувати їх досить просто. Вони дають змогу сконструювати, навчити, протестувати і використовувати нейронну мережу для розв’язування різних задач на основі розуміння кількох концептуальних засад.

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2019 BPK Group.