Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Coursework.docx
Скачиваний:
17
Добавлен:
02.03.2016
Размер:
503.75 Кб
Скачать
  1. Навчання генетичних нейронних мереж

Навчити нейронну мережу - значить, повідомити їй, чого ми від неї домагаємося. Цей процес дуже схожий на навчання дитини алфавітом. Показавши дитині зображення літери "А", ми запитуємо його: "Яка це буква?" Якщо відповідь невірна, ми повідомляємо дитині той відповідь, яку ми хотіли б від нього отримати: "Це буква А". Дитина запам'ятовує цей приклад разом з вірною відповіддю, тобто в його пам'яті відбуваються деякі зміни в потрібному напрямку. Ми будемо повторювати процес пред'явлення букв знову і знову до тих пір, коли всі 33 літери буде твердо запам'ятати. Такий процес називають "навчання з учителем".

При навчанні нейронної мережі ми діємо абсолютно аналогічно. У нас є деяка база даних, що містить приклади (набір рукописних зображень літер). Пред'являючи зображення літери "А" на вхід нейронної мережі, ми отримуємо від неї деяку відповідь, не обов'язково вірний. Нам відомий і вірний (бажаний) відповідь - в даному випадку нам хотілося б, щоб на виході нейронної мережі з міткою "А" рівень сигналу був максимальний. Звичайно як бажаного виходу в задачі класифікації беруть набір (1, 0, 0, ...), де 1 стоїть на виході з міткою "А", а 0 - на всіх інших виходах. Обчислюючи різниця між бажаним відповіддю і реальною відповіддю мережі, ми отримуємо 33 числа - вектор помилки. Алгоритм зворотного поширення помилки - це набір формул, який дозволяє за вектором помилки обчислити необхідні поправки для ваг нейронної мережі. Одну й ту ж букву (а також різні зображення однієї і тієї ж букви) ми можемо висувати нейронної мережі багато разів. У цьому сенсі навчання швидше нагадує повторення вправ у спорті - тренування. Виявляється, що після багаторазового пред'явлення прикладів ваги нейронної мережі стабілізуються, причому нейронна мережа дає правильні відповіді на всі (або майже всі) приклади з бази даних. У такому випадку говорять, що "нейронна мережа вивчила всі приклади", "нейронна мережа навчена", або "нейронна мережа натреновано". У програмних реалізаціях можна бачити, що в процесі навчання величина помилки (сума квадратів помилок за всіма виходах) поступово зменшується. Коли величина помилки досягає нуля або прийнятного малого рівня, тренування зупиняють, а отриману нейронну мережу вважають натренованої і готової до застосування на нових даних. Важливо відзначити, що вся інформація, яку нейронна мережа має про завдання, міститься в наборі прикладів. Тому якість навчання нейронної мережі прямо залежить від кількості прикладів в навчальній вибірці, а також від того, наскільки повно ці приклади описують дану задачу. Так, наприклад, безглуздо використовувати нейронну мережу для передбачення фінансової кризи, якщо в навчальній вибірці криз не представлено. Вважається, що для повноцінної тренування нейронної мережі потрібно хоча б кілька десятків (а краще сотень) прикладів.

Повторимо ще раз, що навчання нейронних мереж - складний і наукомісткий процес. Алгоритми навчання нейронних мереж мають різні параметри і настройки, для управління якими потрібно розуміння їх впливу. Після того, як нейронна мережа навчена, ми можемо застосовувати її для вирішення корисних завдань. Найважливіша особливість людського мозку полягає в тому, що, одного разу навчившись певного процесу, він може вірно, діяти і в тих ситуаціях, в яких він не бував у процесі навчання. Наприклад, ми можемо читати майже будь-який почерк, навіть якщо бачимо його перший раз у житті. Так само і нейронна мережа, грамотним чином навчена, може з великою ймовірністю правильно реагувати на нові, не пред'явлені їй раніше дані. Наприклад, ми можемо намалювати букву "А" іншим почерком, а потім запропонувати нашій нейронної мережі класифікувати нове зображення. Ваги навченої нейронної мережі зберігають досить багато інформації про подібність і розходження букв, тому можна розраховувати на правильну відповідь і для нового варіанту зображення.

  1. Генетичні нейронні мережі прямого поширення

Спроби застосувати одношарові нейронні мережі для розв’язування широкого кола задач наштовхнулися на ряд труднощів, пов’язаних з проблемою лінійної роздільності. Природним вирішенням цієї проблеми стало застосування багатошарових ШНМ, що нагадують багатошарові структури Розглянемо ієрархічну структуру, в якій нейрони структуровані за шарами. Вона складається з m нейронів першого (прихованого) шару, які одночасно здатні прийняти вхідний вектор сигналів n i x ,..., x ,..., x 1 = X , та k нейронів другого (вихідного) шару. Така структура є узагальненою структурою багатошарової нейронної мережі прямого поширення.

  1. Генетичні нейронні мережі зворотнього поширення

Архітектура FeedForward BackPropagation була розроблена на початку 1970-х років декількома незалежними авторами: Вербор (Werbor); Паркер (Parker); Румельгарт (Rumelhart), Хинтон (Hinton) і Вільямс (Williams). Зараз, парадигма Васкрrораgаtіоn найбільш популярна, ефективна і легка модель навчання для складних, багатошарових мереж. Вона використовується в різних типах додатків і породила великий клас нейромереж з різними структурами і методами навчання.

Типова мережа Васкрrораgаtіоn має вхідний шар, вихідний шар і принаймні один схований шар. Теоретично, обмежень щодо числа схованих шарів не існує, але практично застосовують один або два.

Нейронні мережі зворотнього поширення ― це ще одна відома парадигма з використанням механізму WTA. Вона складається з двох шарів нейронів різного типу. Перший шар є двовимірноюматрицею Кохонена, а другий шар називають шаром Гроссберга. Об’єднання цих двох шарів надає структурі додаткові властивості, які відсутні у кожного з них окремо. Вхідний вектор сигналів

поступає на кожний з нейронів шару Кохонена. Масштабування відбувається

за допомогою матриці вагових коефіцієнтів, що містить вектори вагових коефіцієнтів. Відомі два методи функціонування шару Кохонена, що отримали назви “метод акредитації” та “метод інтерполяції”.Нейронні мережі зворотного поширення – най поширена модель для пошуку закономірностей, прогнозування, якісного аналізу. Таку назву – мережі зворотного поширення (back propagation) вони мають через свій алгоритм навчання, де похибка поширюється від

вихідного прошарку до вхідного, тобто в напрямку, протилежному напрямку поширення сигналу при нормальному функціонуванні мережі.

Нейрона мережа зворотного поширення складається з кількох прошарків нейронів, причому кожен нейрон прошарку i зв’язаний з кожним нейроном прошарку i+1, тобто мова йде про повнозв’язану мережу.

В загальному випадку задача навчання мережі зводиться до знаходження певної

функціональної залежності Y=F(X) де X - вхідний вектор, а Y - вихідний вектор. В загальному випадку така задача, за наявності обмеженого набору вхідних даних має нескінченну множину розв’язків. Для обмеження простору пошуку при навчанні ставиться задача мінімізації цільової функції похибки мережі.

  1. Распізнавання образів і класифікація

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

представляється як вектор із його ознак. При цьому сукупність всіх ознак повинна однозначно визначати клас, до якого відноситься зразок. У випадку, якщо ознак недостатньо, мережа може співвіднести той самий зразок з декількома класами, що невірно. По закінченні навчання мережі можна пред'являти невідомі їй раніше образи й одержувати від неї відповідь про приналежність до визначеного класу. Топологія такої мережі характеризується тим, що кількість нейронів у вихідному шарі, як правило, дорівнює кількості обумовлених класів. При цьому установлюється відповідність між виходом нейроної мережі і класом, що він представляє. Коли мережі пред'являється якийсь образ, на одному з її виходів повинна з'явитися ознака того, що образ належить цьому класові. У той же час на інших виходах повинна бути ознака того, що образ даному класові не належить. Якщо на двох або більш виходах є ознака приналежності до класу, вважається що мережа «не упевнена» у своїй відповіді. Відзначимо, що задачі класифікації (типу розпізнавання букв) дуже погано алгоритмизуются. Якщо у випадку розпізнавання букв вірна відповідь очевидна для нас заздалегідь, то в більш складних практичних задачах навчена нейромережа виступає як експерт, що володіє великим досвідом і здатний дати відповідь на важке запитання. Прикладом такої задачі служить медична діагностика, де мережа може враховувати велику кількість числових параметрів (енцефалограма, тиск, вага і т.д.). Звичайно, "думку" мережі в цьому випадку не можна вважати остаточним.

  1. Виявлення атак за допогою нейроннх мереж

Оскільки завдання виявлення атак можна розглядати як завдання

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]