Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Розширений електронний конспект з курсу ІАД, 20...doc
Скачиваний:
53
Добавлен:
13.09.2019
Размер:
1.52 Mб
Скачать

Математична модель біологічного нейрона

Неважко побудувати математичну модель описаного процесу. На рис. 9.10 зображена схема нейрона з трьома входами (дендритами), причому синапси цих дендритів мають ваги w1, w2, w3.

Нехай по синапсах поступають імпульси силами відповідно x1, x2, x3, тоді після проходження синапсів і дендритів до нейрона поступають імпульси w1x1, w2x2, w3x3. Нейрон перетворює отриманий сумарний імпульс (функцію стану) x = w1x1 + w2x2 + w3x3 відповідно до деякої передавальної функції f(x). Силу вихідного імпульсу можна обчислити за формулою: у = f(х)=f(w1x1 + w2x2 + w3x3).

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

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

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

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

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

  • уміння авторів штучно відтворити функції біологічного нейрона

  • від правильності оцінювання вхідних значень,

  • визначення стану нейрона,

  • адекватності передавальної функції вихідному імпульсу.

Математична модель штучного нейрона (далі — нейрона) має структуру, яка тією чи іншою мірою відтворює описану математичну модель біологічного нейрона.

Введемо такі позначення: 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) для навчання і тестування та виконувати інструкції в інтерактивному режимі.

Архітектура нейромереж

У процесі розроблення нейромереж автори наділяють штучні нейрони різноманітними властивостями з тим, щоб комп’ютерні нейромережі адекватно відображали можливості біологічних нейромереж стосовно розв’язання певного типу проблем, що зумовило появу великого різноманіття підходів до алгоритмів нейромереж, зокрема штучні нейрони можуть бути з різ­ними передавальними функціями, з різними функціями стану, двійковими, цілочисельними, дійсними та іншими числовими значеннями входів і ваг. Тому в термінах нейронних мереж можна описувати алгоритми розв’язання як добре формалізованих задач, наприклад задач математичної фізики, так і задач розпізнавання, що погано формалізуються, класифікації, узагальнення і асоціативного запам’ятовування.

Мережі можуть бути такими, що конструюються або що навчаються.

У мережі, що конструюється, кількість і тип нейронів, граф міжнейронних зв’язків, ваги входів нейронів визначаються до створення мережі, виходячи із задачі, що розв’язується.

Наприклад, за конструювання мережі Хопфілда, що функціонує як асоціативна пам’ять, кожна вхідна послідовність із заздалегідь визначеного певного ряду бере участь у визначенні ваги входів нейронів мережі. Після етапу конструювання функціонування мережі полягає в наступному. За подачі на входи часткової або помилкової вхідної послідовності мережа через якийсь час переходить в один зі стійких станів, передбачених за її конструювання. При цьому на входах мережі з’являється послідовність, що визнається мережею як найближча до спочатку поданої. Кількість вхідних послідовностей — М, що запам’ятовуються, пов’язана з кількістю нейронів у мережі співвідношенням: М<N/41ogN, де N — кількість нейронів.

У мережах, що навчаються, графи міжнейронних зв’язків і ваги входів змінюються за виконання алгоритму навчання. За алгоритмом навчання мережі поділяться на ті, що спостерігаються, ті, що не спостерігаються і змішані (комбіновані). Перші у разі навчання порівнюють заздалегідь відоме значення виходу із фактичним вихідним значенням. Якщо відмінність між виходом мережі і відомим значенням суттєва, то виконується корегування ваг мережі. Такий алгоритм називається зворотним розповсюдженням (Back Propagation) помилки в зворотному напрямку по мережі.

Другі навчаються, не знаючи заздалегідь правильних вихідних значень, але групуючи «близькі» вхідні вектори так, щоб вони формували той самий вихід мережі. Навчання, що не спостерігається, використовується, зокрема, для розв’язання задач кластеризації. За змішаного алгоритму навчання частина ваг визначається методом навчання, що спостерігається, а решта — за навчання, що не спостерігається.

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

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

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

Готове програмне забезпечення нейромереж (нейропакети)

Нейронні мережі нині знаходять величезну кількість різноманітних застосувань. Дійсно, в будь-якій галузі людської діяльності є задачі, що погано алгоритмізуються, для розв’язання яких необхідна або постійна робота групи кваліфікованих експер­тів, або адаптивні системи автоматизації розрахунків, якими є нейронні мережі. Різні компанії вибирають неоднакові варіанти — одні вважають за краще витрачати гроші на оплату кращих фахівців і їх навчання, інші купують повністю готові спеціалізовані нейромережеві системи, а треті комбінують ці підходи, створюючи власні системи з нуля або на основі готових комерційних пакетів. Кожний з варіантів упровадження нових технологій має свої переваги й недоліки.

Перші два варіанти більше підійдуть дуже великим компаніям, які планують діяльність на 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 та ін. Хоч конкретні методики використання пакетів тримають у секреті, формулювання задач і підходи до їх розв’язання відомі.

Проте можна констатувати, що сьогоднішній стан теорії нейромережевих обчислень не дає відповіді на запитання про вибір оптимальної нейромережевої парадигми для розв’язання конкретної прикладної задачі. Публікуються переліки успішно розв’яза­них задач із застосуванням тих або інших парадигм. Досвід застосування нагромаджується і розвивається в програмних засобах, що реалізовують широкий ряд нейромережевих парадигм. За розв’язання практичних задач необхідність самостійно розробляти програмні засоби підтримки нейрообчислень виникає досить рідко. Більшість функцій, необхідних для створення, навчання і використання нейромереж, реалізована в комерційних або поширюваних безкоштовно пакетах програм. У них втілені практично всі відомі алгоритми навчання й топології нейромереж. Незважаючи на складність закладених у нейропакетах методів, використовувати їх досить просто. Вони дають змогу сконструювати, навчити, протестувати і використовувати нейронну мережу для розв’язування різних задач на основі розуміння кількох концептуальних засад.

Генетичні алгоритми

Генетичні успадкування — концептуальна засада генетичних алгоритмів

У загальному значенні генетичні алгоритми (Genetic Algorithms) — це тип алгоритмів, інспірованих механізмами еволюції живої природи, які застосовуються, головно, до задач глобальної оптимізації (зокрема, задач комбінаторної оптимізації) і деякою мірою для дейтамайнінгу, зокрема, для комбінування шаблонів з правил індукції, які були відкриті до цього, навчання нейромереж, пошуку зразків у даних, відкриття шаблонів у тексті тощо. Генетичні алгоритми належать нині до стан­дартного інструментарію методів дейтамайнінгу.

Ідея генетичних алгоритмів запозичена з живої природи і полягає в машинній організації еволюційного процесу створення, модифікації і відбору кращих розв’язків, виходячи з того, що в процесі відтворення і модифікації розв’язків кращі з них (подібно до процесу селекції в рослинництві й тваринництві) можуть дати ще ліпших «нащадків», тобто нові, прийнятніші варіанти розв’я­зання задачі. Щоб краще зрозуміти концептуальні засади генетичних алгоритмів, зупинимося на короткому огляді механізмів природного добору і генетичного успадкування, що розглядаються в еволюційній теорії зародження і розвитку життя на нашій планеті. Ця теорія стверджує, що кожний біологічний вид ціле- спрямовано розвивається й змінюється так, щоб у найкращий спосіб пристосуватися до навколишнього середовища.

Ключову роль в еволюції відіграє природний добір. Його суть полягає в тому, що найпристосованіші особи краще виживають і приносять більше потомства, ніж менш пристосовані. При цьому завдяки передаванню генетичної інформації, що називається генетичним успадковуванням, нащадки успадковують від батьків основні властивості. Проте слід зауважити, що сам по собі природний добір ще не забезпечує розвитку біологічного виду. Дій­сно, якщо передбачити, що всі нащадки народжуються приблизно однаковими, то покоління будуть відрізнятися тільки за чисельністю, але не за пристосованістю. Тому дуже важливо вивчити, у який спосіб відбувається успадкування, тобто як властивості нащадка залежать від властивостей батьків.

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

Майже в кожній клітині будь-якої тварини є ряд хромосом, що несуть інформацію про цю тварину. Основна частина хромосоми — нитка ДНК (молекула Дезоксирибо Нуклеїнової Кислоти), яка складається з чотирьох видів спеціальних з’єднань (молекул) — нуклеотидів, що чергуються в певній послідовності. Нуклеотиди позначають буквами А, Т, С і G, і саме порядок їх розміщеня є кодом усіх генетичних властивостей даного організму. Кажучи точніше, ДНК визначає, які хімічні реакції будуть відбуватися в даній клітині, як вона буде розвиватися і які функції виконуватиме. Отже, генетичний код окремого індивідуума — це просто дуже довгий рядок комбінацій із чотирьох букв А, Т, С і G, а сам ген — це відрізок ланцюга ДНК, що відповідає за певну властивість особи, наприклад за колір очей, тип волосся, колір шкіри і т. д. Різні значення генів називають аллелями. Вся сукупність генетичних ознак людини кодується за допомогою приблизно 60 тис. генів, які разом містять більше ніж 90 млн нуклеотидів.

Розрізняють два види клітин: статеві (такі, як сперматозоїд і яйцеклітина) і соматичні. У кожній соматичній клітині людини міститься 46 хромосом. Ці 46 хромосом насправді є 23 парами, причому в кожній парі одна з хромосом отримана від батька, а друга — від матері. Парні хромосоми відповідають за такі самі ознаки, наприклад, батьківська хромосома може містити ген чорного кольору очей, а парна їй материнська — ген блакитних очей. Існують певні закони, що керують участю тих або інших генів у розвитку особи. Зокрема, в нашому прикладі нащадок буде чор­нооким, оскільки ген блакитних очей є «слабким» (рецесивним) і пригнічується домінантним геном будь-якого іншого кольору.

У статевих клітинах хромосом тільки 23, і вони непарні. У момент запліднення відбувається злиття чоловічої і жіночої статевих клітин і утворюється клітина зародка, що містить якраз 46 хромосом. Які ж властивості нащадок отримає від батька, а які від матері? Це залежить від того, які саме статеві клітини брали участь у заплідненні. Річ у тім, що процес вироблення статевих клітин (так званий мейоз) в організмі схильний до випадковості, із-за чого нащадки все ж багато чим відрізняються від своїх батьків.

У мейозі, зокрема, відбувається наступне: парні хромосоми соматичної клітини зближуються впритул, потім їх нитки ДНК розриваються в кількох випадкових місцях і хромосоми обмінюються своїми ідентичними ділянками. Цей процес забезпечує появу нових варіантів хромосом і називається перехрещуванням хромосом або кросинговером (від анг. crossing-over). Кожна з хромосом, що знову з’явилася, виявиться потім усередині однієї зі статевих клітин, і її генетична інформація може реалізуватися в нащадках даної особи.

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

Важливе місце в еволюційній теорії відводиться поняттю популяції як елементарній еволюційній одиниці. Популяція — це сукупність особин певного виду організмів, які здатні до вільного схрещування, населяють певну територію і деякою мірою ізольовані від сусідніх популяцій. У рамках кожної популяції відбувається процес розмноження — репродукції (Reproduction), що являє собою комбінацію послідовностей (strings, хромосом) у популяції для створення нової послідовності (нащадка). За репродукції нащадок бере частини позицій генів від обох батьків, і матиме частину ознак кожного із них. На рис. 9.13а) показана спрощена схема процесу репродукції, де ознаки батьків виражені хромосомою, котра складається з шести генів, що мають дві аллелі, позначені на схемі нулями і одиницями. Нащадок отримав чотири гени від другого батька (перша, друга, третя і шоста позиція) і два від першого (четверта і п’ята позиції).

У генетичних алгоритмах важливе значення мають: формування початкового ряду елементів (популяції), операції кросинговера, що в теорії генетичних алгоритмів частіше називають кросовером (Cross-over), і мутації (Mutation).

Кросовер — це комбінування (змішування) хромосом шляхом замін значень генів і утворення нових хромосом на їх місцях. На рис. 9.13 б) наведена спрощена схема кросовера, де показано, як шляхом заміни ідентичних ділянок двох батьків отримані два нащадки з новими ознаками.

Мутація — спонтанне перетворення (видозміна) символів (характерних особливостей) у послідовності (хромосомі). На рис. 9.13 в) показано, як у результаті мутації п’ятого гена (значення 0 замінено 1) отримана нова хромосома.

Рис. 9.13. Схема генеративних процесів:

а) репродукції осіб популяції; б) кросовера осіб популяції; в) мутації хромосоми

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