Нейронні мережі

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

МІНІСТЕРСТВО ОСВІТИ І НАУКИ
РОСІЙСЬКОЇ ФЕДЕРАЦІЇ
Інститут математики та комп'ютерних наук
Реферат
на тему:
Нейронні мережі
Т 2009

Зміст

Історія нейронних мереж
Аналогія з мозком
Біологічний нейрон
Штучний нейрон
Навчання штучних нейронних мереж
Застосування нейронних мереж
Список літератури

Історія нейронних мереж
Вивченню людського мозку - тисячі років. З появою сучасної електроніки, почалися спроби апаратного відтворення процесу мислення. Перший крок був зроблений у 1943 р . з виходом статті нейрофізіолога Уоррена Маккалоха (Warren McCulloch) і математика Уолтера Піттса (Walter Pitts) про роботу штучних нейронів і представлення моделі нейронної мережі на електричних схемах.
1949 р . - Опублікована книга Дональда Хебба (Donald Hebb) "Організація поведінки", де досліджено проблематика налаштування синаптичних зв'язків між нейронами.
1950-і рр.. - З'являються програмні моделі штучних нейромереж. Перші роботи проведено Натаніель Рочестером (Nathanial Rochester) з дослідної лабораторії IBM. І хоча подальші реалізації були успішними, ця модель зазнала невдачі, оскільки бурхливе зростання традиційних обчислень залишив у затінку нейронні дослідження.
1956 р . - Дартмутський дослідний інститут штучного інтелекту забезпечив підйом штучного інтелекту, зокрема, нейронних мереж. Стимулювання досліджень штучного інтелекту розділилося на два напрямки: промислові застосування систем штучного інтелекту (експертні системи) та моделювання мозку.
1958 р . - Джон фон Нейман (John fon Neumann) запропонував імітацію простих функцій нейронів з використанням вакуумних трубок.
1959 р . - Бернард Відроу (Bernard Widrow) і марсіан Хофф (Marcian Hoff) розробили моделі ADALINE і MADALINE (Множинні Адаптивні Лінійні Елементи (Multiple ADAptive LINear Elements)). MADALINE діяла, як адаптивний фільтр, що усувають відлуння на телефонних лініях. Ця нейромережа досі в комерційному використанні.
Нейробіолог Френк Розенблатт (Frank Rosenblatt) почав роботу над перцептроном. Одношаровий перцептрон був побудований апаратно і вважається класичною нейромережею. Тоді перцептрон використовувався для класифікації вхідних сигналів у один з двох класів. На жаль, одношаровий перцептрон був обмеженим і зазнав критиці у 1969 р ., У книзі Марвіна Мінскі (Marvin Minsky) і Сеймура Пейперта (Seymour Papert) "Перцептрони".
Ранні успіхи, сприяли перебільшення потенціалу нейронних мереж, зокрема в світлі обмеженої на ті часи електроніки. Надмірне сподівання, процвітаюче в академічному та технічному світі, заразила загальну літературу цього часу. Побоювання, що ефект "мислячої машини" відіб'ється на людині весь час підігрівалося письменниками, зокрема, серія книг Азімова про роботів показала наслідки на моральних цінностях людини, у разі можливості інтелектуальних роботів виконувати функції людини.
Ці побоювання, об'єднані з невиконаними обіцянками, викликали безліч розчарувань фахівців, поставили під критиці дослідження нейронних мереж. Результатом було припинення фінансування. Період спаду продовжувався до 80-х років.
1982 р . - До відродження інтересу призвело кілька подій. Джон Хопфілд (John Hopfield) представив статтю в національну Академію Наук США. Підхід Хопфілда показав можливості моделювання нейронних мереж на принципі нової архітектури.
У той же час у Кіото (Японія) відбулася Об'єднана американо-японська конференція по нейронних мереж, які оголосили досягненням п'ятої генерації. Американські періодичні видання підняли цю історію, акцентуючи, що США можуть залишитися позаду, що привело до зростання фінансування в галузі нейромереж.
З 1985 р . Американський Інститут Фізики розпочав щорічні зустрічі - "Нейронні мережі для обчислень".
1989 р . - На зустрічі "Нейронні мережі для оборони" Бернард Видра повідомив аудиторії про початок четвертої світової війни, де полем бою є світові ринки та виробництва.
1990 р . - Департамент програм інноваційних досліджень захисту малого бізнесу назвав 16 основних і 13 додаткових тим, де можливе використання нейронних мереж.
Сьогодні, обговорення нейронних мереж відбуваються скрізь. Перспектива їх використання видається досить яскравою, в світлі вирішення нетрадиційних проблем і є ключем до цілої технології. На даний час більшість розробок нейронних мереж принципово працюючі, але можуть існувати процесорні обмеження. Дослідження спрямовані на програмні та апаратні реалізації нейромереж. Компанії працюють над створенням трьох типів нейрочіпів: цифрових, аналогових та оптичних, що обіцяють бути хвилею близького майбутнього.

Аналогія з мозком

Точна робота мозку людини - все ще таємниця. Тим не менш, деякі аспекти цього дивовижного процесора відомі. Базовим елементом мозку людини є специфічні клітини, відомі як нейрони, здатні запам'ятовувати, думати і застосовувати попередній досвід до кожної дії, що відрізняє їх від інших клітин тіла.
Кора головного мозку людини є плоскою, утвореної з нейронів поверхнею, товщиною від 2 до 3 мм площею близько 2200 см 2, що вдвічі перевищує площу поверхні стандартної клавіатури. Кора головного мозку містить близько 11 жовтня нейронів, що приблизно дорівнює числу зірок Чумацького шляху. Кожен нейрон зв'язаний з 10 3 - 10 4 іншими нейронами. У цілому мозок людини має приблизно від жовтня 1914 до 10 15 взаємозв'язків.
Сила людського розуму залежить від числа базових компонент, різноманіття з'єднань між ними, а також від генетичного програмування і навчання.
Індивідуальний нейрон є складним, має свої складові, підсистеми та механізми управління і передає інформацію через велику кількість електрохімічних зв'язків. Налічують близько сотні різних класів нейронів. Разом нейрони та з'єднання між ними формують Недвійкова, нестійкий і несинхронний процес, що відрізняється від процесу обчислень традиційних комп'ютерів. Штучні нейромережі моделюють лише найголовніші елементи складного мозку, надихаючі науковців та розробників до нових шляхів вирішення проблеми.

Біологічний нейрон

Нейрон (нервова клітка) є особливою біологічної клітиною, яка обробляє інформацію. Вона складається з тіла клітини - соми (soma), і двох типів зовнішніх деревоподібних відгалужень: аксона (axon) і дендритів (dendrites). Тіло клітини містить ядро ​​(nucleus), що містить інформацію про спадкові властивості нейрона, і плазму, яка має молекулярними засобами для виробництва необхідних нейрону матеріалів. Нейрон отримує сигнали (імпульси) від інших нейронів через дендрити (приймачі) і передає сигнали, згенеровані тілом клітки, вздовж аксона (передавача), що наприкінці розгалужується на волокна (strands). На закінченнях волокон знаходяться синапси (synapses) [3].

Рис.1 Біологічний нейрон
Синапс є елементарною структурою і функціональним вузлом між двома нейронами (волокно аксона одного нейрона і дендрит іншого). Коли імпульс досягає синаптичного закінчення, вивільняються певні хімічні речовини, звані нейротрансмітерами. Нейротрансмітери проходять через синаптичну щілину і, в залежності від типу синапсу, збуджують або гальмують здатність нейрона-приймача генерувати електричні імпульси. Результативність синапсу налаштовується проходять через нього сигналами, тому синапси навчаються в залежності від активності процесів, у яких вони беруть участь. Ця залежність від передісторії діє як пам'ять, яка, можливо, відповідає за пам'ять людини. Нейрони здатні запам'ятовувати, думати і застосовувати попередній досвід до кожної дії, що відрізняє їх від інших клітин тіла. Нейрони взаємодіють за допомогою короткої серії імпульсів. Повідомлення передається за допомогою частотно-імпульсної модуляції.
Останні експериментальні дослідження доводять, що біологічні нейрони структурно складніше, ніж спрощене пояснення існуючих штучних нейронів, які є елементами сучасних штучних нейронних мереж. Оскільки нейрофізіологія надає науковцям розширене розуміння дії нейронів, а технологія обчислень постійно вдосконалюється, розробники мереж мають необмежений простір для поліпшення моделей біологічного мозку.

Штучний нейрон

Історія створення штучних нейронів сягає своїм корінням в 1943 рік, коли шотландець Маккаллок і англійців Піттс создалітеорію формальних нейромереж, а через п'ятнадцять років Розенблатт винайшов штучний нейрон (перцептрон), який згодом і ліг в основу нейрокомп'ютера.
Незважаючи на істотні відмінності, окремі типи нейронних мереж володіють кількома загальними рисами.
По-перше, основу кожної нейромережі складають відносно прості, в більшості випадків - однотипні, елементи (клітинки), що імітують роботу нейронів мозку. Далі під нейроном буде матися на увазі штучний нейрон, то є осередок нейромережі. Кожен нейрон характеризується своїм поточним станом за аналогією з нервовими клітинами головного мозку, які можуть бути порушені або загальмовані. Він володіє групою синапсів - односпрямованих вхідних зв'язків, з'єднаних з виходами інших нейронів, а також має аксон - вихідну зв'язок даного нейрона, з якої сигнал (збудження або гальмування) надходить на синапси наступних нейронів. Загальний вигляд нейрона наведено на малюнку 2. Кожен синапс характеризується величиною синаптичної зв'язку або її вагою w i, який з фізичного змістом еквівалентний електричної провідності.

Рис.2 Штучний нейрон
Поточний стан нейрона визначається, як зважена сума його входів:
(1)
Вихід нейрона є функція його стану:
y = f (s) (2)
Нелінійна функція f називається активаційний і може мати різний вигляд, як показано на малюнку 3.
Однією з найбільш поширених є нелінійна функція з насиченням, так звана логістична функція або сигмоїда (тобто функція S-подібного виду):
(3)
При зменшенні a сигмоїда стає більш пологим, в межі при a = 0 виродилися в горизонтальну лінію на рівні 0.5, при збільшенні a сигмоїда наближається за зовнішнім виглядом до функції одиничного стрибка з порогом T в точці x = 0. З виразу для сигмоїда очевидно, що вихідне значення нейрона лежить в діапазоні [0,1]. Одне з цінних властивостей сігмоідной функції - простий вираз для її похідної, застосування якого буде розглянуто в подальшому.
(4)
Слід зазначити, що сігмоідная функція диференційовна на всій осі абсцис, що використовується в деяких алгоритмах навчання. Крім того вона має властивість підсилювати слабкі сигнали краще, ніж великі, і запобігає насичення від великих сигналів, так як вони відповідають областям аргументів, де сигмоїда має пологий нахил.
Повертаючись до загальних рис, притаманних всім нейронних мереж, відзначимо, по-друге, принцип паралельної обробки сигналів, який досягається шляхом об'єднання великого числа нейронів в так звані шари і з'єднання певним чином нейронів різних шарів, а також, в деяких конфігураціях, і нейронів одного шару між собою, причому обробка взаємодії всіх нейронів ведеться пошарово.
Як приклад найпростішої нейромережі розглянемо тринейронну перцептрон (рис.4), тобто таку мережу, нейрони якої мають активаційних функцію у вигляді одиничного стрибка *. На n входів надходять якісь сигнали, що проходять по синапсах на 3 нейрони, що утворюють єдиний шар цієї нейромережі та видають три вихідних сигналу:

, J = 1 ... 3 (5)
Очевидно, що всі вагові коефіцієнти синапсів одного шару нейронів можна звести в матрицю W, у якій кожен елемент w ij задає величину i-ої синаптичної зв'язку j-ого нейрона. Таким чином, процес, що відбувається в НС, може бути записаний в матричній формі:
Y = F (XW) (6)
де X і Y - відповідно вхідний і вихідний сигнальні вектори, F (V) - активаційна функція, яку застосовують поелементно до компонентів вектора V.
Теоретично число прошарків і число нейронів у кожному шарі може бути довільним, проте фактично воно обмежене ресурсами комп'ютера або спеціалізованої мікросхеми, на яких зазвичай реалізується нейромережа. Чим складніше нейронна мережа, тим масштабніше завдання, підвладні їй.
Вибір структури нейромережі здійснюється у відповідності з особливостями і складністю завдання. Для вирішення деяких окремих типів задач вже існують оптимальні, на сьогоднішній день, конфігурації, описані, наприклад, в [2], [3], [4]. Якщо ж завдання не може бути зведена до жодного з відомих типів, розробнику доводиться вирішувати складну проблему синтезу нової конфігурації. При цьому він керується кількома основними принципами: можливості мережі зростають зі збільшенням числа осередків і щільності зв'язків між ними і числом виділених шарів; введення зворотних зв'язків поряд зі збільшенням можливостей мережі піднімає питання про її динамічної стійкості, складність алгоритмів функціонування мережі (в тому числі, наприклад , введення декількох типів синапсів - збуджуючих, гальмують та ін) також сприяє посиленню мощі нейромережі. Питання про необхідних і достатніх властивостях мережі для вирішення того чи іншого роду задач являє собою цілий напрям нейрокомпьютерной науки. Тому що проблема синтезу нейронної мережі сильно залежить від розв'язуваної задачі, дати загальні докладні рекомендації важко. У більшості випадків оптимальний варіант виходить на основі інтуїтивного підбору.
Очевидно, що процес функціонування нейромережі, тобто сутність дій, які вона здатна виконувати, залежить від величин синаптичних зв'язків, тому, маючи на певній структурою, що відповідає будь-якої задачі, розробник мережі повинен знайти оптимальні значення всіх змінних вагових коефіцієнтів (деякі синаптичні зв'язки можуть бути постійними).
Цей етап називається навчанням нейромережі, і від того, наскільки якісно він буде виконаний, залежить здатність мережі вирішувати поставлені перед нею проблеми під час експлуатації. На етапі навчання окрім параметра якості підбору ваг важливу роль відіграє час навчання. Як правило, ці два параметри пов'язані зворотною залежністю і їх доводиться вибирати на основі компромісу.
Навчання нейронної мережі може вестися з вчителем або без нього. У першому випадку мережі пред'являються значення як вхідних, так і бажаних вихідних сигналів, і вона по деякому внутрішньому алгоритмом підлаштовує ваги своїх синаптичних зв'язків. У другому випадку виходи нейромережі формуються самостійно, а ваги змінюються за алгоритмом, що враховує тільки вхідні і похідні від них сигнали.
Існує безліч різних алгоритмів навчання, які діляться на два великі класи: детерміністські та стохастичні. У першому з них підстроювання ваг являє собою жорстку послідовність дій, у другому - вона виробляється на основі дій, що підкоряються деякого випадкового процесу.
Розвиваючи далі питання про можливу класифікації нейронних мереж, важливо відзначити існування бінарних та аналогових мереж. Перші з них оперують з двійковими сигналами, і вихід кожного нейрона може приймати тільки два значення: логічний нуль ("загальмований" стан) і логічна одиниця ("порушену" стан). До цього класу мереж належить і розглянутий вище перцептрон, так як виходи його нейронів, що формуються функцією одиничного стрибка, рівні або 0, або 1. У аналогових мережах вихідні значення нейронів здатні приймати безперервні значення, що могло б мати місце після заміни активаційний функції нейронів перцептрона на сигмоїда.
Ще одна класифікація ділить нейронні мережі на синхронні та асинхронні [3]. У першому випадку в кожний момент часу свій стан змінює лише один нейрон. У другому - стан міняється відразу у цілої групи нейронів, як правило, у всього шару. Алгоритмічно хід часу в нейромережі задається ітераційним виконанням однотипних дій над нейронами. Далі будуть розглядатися тільки синхронні нейронні мережі.
Мережі також можна класифікувати за кількістю шарів. На малюнку 5 представлений двошаровий перцептрон, отриманий з перцептрона з малюнка 3 шляхом додавання другого шару, що складається з двох нейронів. Тут доречно відзначити важливу роль нелінійності активаційної функції, так як, якщо б вона не володіла даними властивістю або не входила в алгоритм роботи кожного нейрона, результат функціонування будь-p-шарової нейромережі з ваговими матрицями W (i), i = 1,2,. .. p для кожного шару i зводився б до перемноження вхідного вектора сигналів X на матрицю
W (S) = W (1) × W (2) ×...× W (p) (7)
тобто фактично така p-шарова нейромережа еквівалентна одношарової мережі з ваговій матрицею єдиного шару W (S):
Y = XW (S) (8)
Продовжуючи розмову про нелінійність, можна відзначити, що вона іноді вводиться і в синаптичних зв'язку. Більшість відомих на сьогоднішній день мереж використовують для знаходження зваженої суми входів нейрона формулу (1), проте в деяких додатках корисно ввести інший запис, наприклад:
(9)
або навіть
(10)
Питання в тому, щоб розробник нейромережі чітко розумів, для чого він це робить, якими цінними властивостями він тим самим додатково наділяє нейрон, і яких позбавляє. Введення такого роду нелінійності, взагалі кажучи, збільшує обчислювальну потужність мережі, тобто дозволяє з меншого числа нейронів з "нелінійними" синапсами сконструювати нейронну мережу, що виконує роботу звичайної мережі з великою кількістю стандартних нейронів і більш складної конфігурації [1].
Різноманіття існуючих структур мереж дозволяє відшукати й інші критерії для їх класифікації, але вони виходять за межі цієї роботи.
Тепер розглянемо один нюанс, навмисно опущений раніше. З малюнка функції одиничного стрибка видно, що граничне значення T, в загальному випадку, може приймати довільне значення. Більш того, воно має брати якесь довільне, невідоме заздалегідь значення, яке підбирається на стадії навчання разом з ваговими коефіцієнтами. Те ж саме відноситься і до центральної точки сігмоідной залежності, яка може зрушуватися вправо або вліво по осі X, а також і до всіх інших активаційних функцій. Це, однак, не відображено у формулі (1), яка повинна була б виглядати так:
(11)
Справа в тому, що таке зміщення зазвичай вводиться шляхом додавання до шару нейронів ще одного входу, збудливого додатковий синапс кожного з нейронів, значення якого завжди дорівнює 1. Привласнимо цього входу номер 0. Тоді
, (12)
де w 0 =-T, x 0 = 1.
Очевидно, що різниця формул (1) і (12) складається лише в способі нумерації входів.
З усіх активаційних функцій, зображених на малюнку 3, одна виділяється особливо. Це гіперболічний тангенс, залежність якого симетрична відносно осі X і лежить в діапазоні [-1,1]. Вибір області можливих значень виходів нейронів багато в чому залежить від конкретного типу мережі і є питанням реалізації, так як маніпуляції з нею впливають на різні показники ефективності мережі, часто не змінюючи загальну логіку її роботи.

Навчання штучних нейронних мереж

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

Застосування нейронних мереж

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

Список літератури

1 http://www.module.ru/files/un_neuron_net.pdf
2 http://www.neuroproject.ru/neuro.htm
3 http://www.orc.ru/ ~ stasson / neurox.html # articles
цикл статей: «нейронні мережі: основні положення», C. Короткий
4 http://mechanoid.narod.ru/nns/base
Основні моделі та методи теорії штучних нейронних мереж, Борисов Є. С., 19 жовтня 2005


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

Цей текст може містити помилки.

Математика | Курсова
50.2кб. | скачати


Схожі роботи:
Нейронні мережі 2
Нейронні мережі 2 лютого
Нейронні мережі нового покоління
Нейронні мережі нового покоління
Нейронні мережі з радіальними базисними функціями
Комп ютерні мережі класифікація протоколи послуги локальні та глобальні мережі
Проектування локальної мережі для робочих місць на базі мережі Ethernet
Аналіз проблем інформаційної безпеки в комп`ютерній мережі організації підключеної до мережі Інтернтет
Безпека праці при виконанні робіт в каналізаційній мережі мережі газопостачання колодязях ємностях
© Усі права захищені
написати до нас