THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

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

Ці питання разом з популярністю мають і чималу складність, так як процеси представляють собою складні алгоритми машинного навчання, призначені для різних цілей, від аналізу змін до моделювання ризиків, пов'язаних з певними діями.

Що таке нейронні мережі та їх типи?

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

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

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

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

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

Саме правильно вибрані параметри синапсів дають можливість отримати на виході правильний результат перетворення вхідних даних.

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

Він не виконує ніяких обчислень і перетворень, його завдання полягає тільки в одному: прийняти і розподілити по інших нейронів вхідні сигнали. Це єдиний шар, який є загальним для всіх типів нейронних мереж, подальша їх структура і є критерієм для основного поділу.

  • Одношарова нейронна мережа. Це структура взаємодії нейронів, при якій після попадання вхідних даних в перший вхідний шар відразу передається в шар виходу кінцевого результату. При цьому перший вхідний шар не вважається, так як він не виконує ніяких дій, крім прийому і розподілу, про це вже було сказано вище. А другий шар виробляє всі необхідні обчислення і обробки і відразу видає кінцевий результат. Вхідні нейрони об'єднані з основним шаром синапсами, що мають різний ваговий коефіцієнт, що забезпечує якість зв'язків.
  • Багатошарова нейронна мережа. Як зрозуміло з визначення, цей вид нейронних мереж крім вхідного і вихідного шарів має ще й проміжні шари. Їх кількість залежить від ступеня складності самої мережі. Вона більшою мірою нагадує структуру біологічної нейронної мережі. Такі види мереж були розроблені зовсім недавно, до цього всі процеси були реалізовані за допомогою одношарових мереж. відповідно подібне рішення має набагато більше можливостей, ніж її предок. У процесі обробки інформації кожен проміжний шар являє собою проміжний етап обробки і розподілу інформації.

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

  • Мережі прямого поширення або односпрямованим, тобто структура, в якій сигнал рухається строго від вхідного шару до вихідного. Рух сигналу в зворотному напрямку неможливо. Подібні розробки досить широко поширені і зараз з успіхом вирішують такі завдання, як розпізнавання, прогнози або кластеризація.
  • Мережі зі зворотними зв'язками або рекуррентная. Подібні мережі дозволяють сигналу рухатися не тільки в прямому, а й у зворотному напрямку. Що це дає? У таких мережах результат виходу може повертатися на вхід виходячи з цього, вихід нейрона визначається вагами і сигналами входу, і доповнюється попередніми виходами, які знову повернулися на вхід. Таким мереж властива функція короткочасної пам'яті, на підставі якої сигнали відновлюються і доповнюються в процесі обробки.

Це не єдині варіанти класифікації мереж.

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

Де використовують нейронні мережі?

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

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

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

Таким чином, нейронні мережі знаходять широке застосування в наступних областях:

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

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

Що таке нейрон і синапс?

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

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

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

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

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

При цьому ваги виставляються у випадковому порядку.

Схема роботи нейронної мережі

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

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

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

  • Лінійна функція f (x) \u003d x, найпростіша з усіх можливих, використовується тільки для тестування створеної нейронної мережі або передачі даних в початковому вигляді.
  • Сигмоид вважається найпоширенішою функцією активації і має вигляд f (x) \u003d 1/1 + e- ×; при цьому діапазон її значень від 0 до 1. Вона ще називається логістичною функцією.
  • Щоб охопити і негативні значення використовують гіперболічний тангенс. F (x) \u003d e² × - 1 / e² × + 1 - такий вигляд має ця функція і діапазон який вона має від -1 до 1. Якщо нейронна мережа не передбачає використання від'ємних значень, то використовувати її не варто.

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

Інтеграція - це лічильник, який збільшується з кожним тренувальним сетом.

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

Відповідно, щоб проводити тренування мережі правильно потрібно виконувати сети, послідовно збільшуючи показник епохи.

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

Що таке нейрон зміщення і для чого він потрібен?

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

Розташування таких нейронів відбувається по одному на шар і не більше, також вони не можуть з'єднуватися синапсами один з одним. Розміщувати такі нейрони на вихідному шарі не доцільно.

Для чого вони потрібні? Бувають ситуації, в яких нейросеть просто не зможе знайти вірне рішення через те, що потрібна точка буде знаходитися за межами досяжності. Саме для цього і потрібні такі нейрони, щоб мати можливість змістити область визначення.

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

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

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

Але важливо пам'ятати, що для досягнення результатів мало створити нейронну мережу. Її потрібно ще й навчити, що теж вимагає особливих підходів і має свої алгоритми. Цей процес складно назвати простим, так як його реалізація вимагає певних знань і зусиль.

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

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

Варто зауважити, що хоча більшість цих абревіатур загальноприйняті, є й винятки. Під RNN іноді мають на увазі рекурсивную нейронну мережу, але зазвичай мають на увазі рекуррентную. Також можна часто зустріти використання абревіатури RNN, коли мова йде про будь-яку рекуррентную НС. Автокодіровщікі також стикаються з цією проблемою, коли варіаційні і шумоподавляющіе автокодіровщікі (VAE, DAE) називають просто автокодіровщікамі (AE). Крім того, у багатьох абревіатурах різниться кількість букв "N" в кінці, оскільки в якихось випадках використовується "neural network", а в якихось - просто "network".

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


Нейронні мережі прямого поширення
(Feed forward neural networks, FF або FFNN) і перцептрони (Perceptrons, P) дуже прямолінійні, вони передають інформацію від входу до виходу. Нейронні мережі часто описуються у вигляді листкового торта, де кожен шар складається з вхідних, прихованих або вихідних клітин. Клітини одного шару не пов'язані між собою, а сусідні шари зазвичай повністю пов'язані. Найпростіша нейронна мережа має дві вхідних клітини і одну вихідну, і може використовуватися в якості моделі логічних вентилів. FFNN зазвичай навчається за методом зворотного поширення помилки, в якому мережа отримує безлічі вхідних і вихідних даних. Цей процес називається навчанням з учителем, і він відрізняється від навчання без учителя тим, що в другому випадку безліч вихідних даних мережу становить самостійно. Вищезазначена помилка є різницею між введенням і висновком. Якщо у мережі є достатня кількість прихованих нейронів, вона теоретично здатна змоделювати взаємодію між вхідним і вихідними даними. Практично такі мережі використовуються рідко, але їх часто комбінують з іншими типами для отримання нових.

мережі радіально-базисних функцій (Radial basis function, RBF) - це FFNN, яка використовує радіальні базисні функції як функції активації. Більше вона нічим не виділяється 🙂

Нейронна мережа Хопфілда (Hopfield network, HN) - це полносвязная нейронна мережа із симетричною матрицею зв'язків. Під час отримання вхідних даних кожен вузол є входом, в процесі навчання він стає прихованим, а потім стає виходом. Мережа навчається так: значення нейронів встановлюються відповідно до бажаного шаблоном, після чого обчислюються ваги, які в подальшому не змінюються. Після того, як мережа навчилася на одному або декількох шаблонах, вона завжди буде зводитися до одного з них (але не завжди - до бажаного). Вона стабілізується в залежності від загальної "енергії" і "температури" мережі. У кожного нейрона є свій поріг активації, що залежить від температури, при проходженні якого нейрон приймає одне з двох значень (зазвичай -1 або 1, іноді 0 або 1). Така мережа часто називається мережею з асоціативної пам'яттю; як людина, бачачи половину таблиці, може представити другу половину таблиці, так і ця мережа, отримуючи таблицю, наполовину зашумленную, відновлює її до повної.

ланцюги Маркова (Markov chains, MC або discrete time Markov Chains, DTMC) - це попередники машин Больцмана (BM) і мереж Хопфілда (HN). Їхній зміст можна пояснити так: які мої шанси потрапити в один з наступних вузлів, якщо я перебуваю в даному? Кожне наступне стан залежить тільки від попереднього. Хоча насправді ланцюга Маркова не є НС, вони дуже схожі. Також ланцюга Маркова не обов'язково повнозв'язну.

машина Больцмана (Boltzmann machine, BM)дуже схожа на мережу Хопфілда, але в ній деякі нейрони позначені як вхідні, а деякі - як приховані. Вхідні нейрони в подальшому стають вихідними. Машина Больцмана - це стохастична мережа. Навчання проходить за методом зворотного поширення помилки або за алгоритмом порівняльної розбіжність. В цілому процес навчання дуже схожий на такий у мережі Хопфілда.

Обмежена машина Больцмана (Restricted Boltzmann machine, RBM)дивно схожа на машину Больцмана і, отже, на мережу Хопфілда. Єдиною різницею є її обмеженість. У ній нейрони одного типу не пов'язані між собою. Обмежену машину Больцмана можна навчати як FFNN, але з одним нюансом: замість прямої передачі даних і зворотного поширення помилки потрібно передавати дані спершу в прямому напрямку, потім в зворотному. Після цього проходить навчання за методом прямого і зворотного поширення помилки.

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

розріджений автокодіровщік (Sparse autoencoder, SAE) - в якомусь сенсі протилежність звичайного. Замість того, щоб навчати мережу відображати інформацію в меншому "обсязі" вузлів, ми збільшуємо їх кількість. Замість того, щоб звужуватися до центру, мережа там роздувається. Мережі такого типу корисні для роботи з великою кількістю дрібних властивостей набору даних. Якщо навчати мережу як звичайний автокодіровщік, нічого корисного не вийде. Тому крім вхідних даних подається ще і спеціальний фільтр розрідженості, який пропускає тільки певні помилки.

варіаційні автокодіровщікі(Variational autoencoder, VAE) мають схожу з AE архітектурою, але навчають їх іншому: наближенню імовірнісного розподілу вхідних зразків. У цьому вони беруть початок від машин Больцмана. Проте, вони спираються на Байєсова математику, коли мова йде про імовірнісних висновках і незалежності, які інтуїтивно зрозумілі, але складні в реалізації. Якщо узагальнити, то можна сказати що ця мережа приймає до уваги впливу нейронів. Якщо щось одне відбувається в одному місці, а щось інше - в іншому, то ці події не обов'язково пов'язані, і це повинно враховуватися.

шумоподавляющіе автокодіровщікі (Denoising autoencoder, DAE) - це AE, в які вхідні дані подаються в зашумлення стані. Помилку ми обчислюємо так само, і вихідні дані порівнюються з зашумленими. Завдяки цьому мережа вчиться звертати увагу на більш широкі властивості, оскільки маленькі можуть змінюватися разом з шумом.


Мережа типу "deep belief"
(Deep belief networks, DBN) - це назва, яку отримав тип архітектури, в якій мережа складається з декількох з'єднаних RBM або VAE. Такі мережі навчаються по блоках, причому кожному блоку потрібно лише вміти закодувати попередній. Така техніка називається "жадібним навчанням", яка полягає у виборі локальних оптимальних рішень, що не гарантують оптимальний кінцевий результат. Також мережу можна навчити (методом зворотного поширення помилки) відображати дані у вигляді ймовірнісної моделі. Якщо використовувати навчання без учителя, стабілізовану модель можна використовувати для генерації нових даних.


Свёрточние нейронні мережі
(Convolutional neural networks, CNN) і глибинні свёрточние нейронні мережі (Deep convolutional neural networks, DCNN)сильно відрізняються від інших видів мереж. Зазвичай вони використовуються для обробки зображень, рідше для аудіо. Типовим способом застосування CNN є класифікація зображень: якщо на зображенні є кішка, мережа видасть "кішка", якщо є собака - "собака". Такі мережі зазвичай використовують "сканер", що не парся все дані за один раз. Наприклад, якщо у вас є зображення 200 × 200, ви не будете відразу обробляти всі 40 тисяч пікселів. Замість це мережа вважає квадрат розміру 20 x 20 (зазвичай з лівого верхнього кута), потім зрушиться на 1 піксель і вважає новий квадрат, і т.д. Ці вхідні дані потім передаються через свёрточние шари, в яких не всі вузли з'єднані між собою. Ці шари мають властивість стискуватися з глибиною, причому часто використовуються ступеня двійки: 32, 16, 8, 4, 2, 1. На практиці до кінця CNN прикріплюють FFNN для подальшої обробки даних. Такі мережі називаються глибинними (DCNN).

Розгортається нейронні мережі (Deconvolutional networks, DN), Також звані зворотними графічними мережами, є зворотним до свёрточним нейронних мереж. Уявіть, що ви передаєте мережі слово "кішка", а вона генерує картинки з кішками, схожі на реальні зображення котів. DNN теж можна об'єднувати з FFNN. Варто зауважити, що в більшості випадків мережі передається не рядок, а який бінарний вектор: наприклад,<0, 1> - це кішка,<1, 0> - собака, а<1, 1> - і кішка, і собака.

Іван Бірюков, головний по новинах

Як Яндекс використовує ваші дані і машинне навчання для персоналізації сервісів -.

Почнемо розгляд матеріалу з ознайомлення і визначення самого поняття штучної нейронної системи.

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

Схема типового штучного нейрона

Нейрон може мати багато входів, але тільки один вихід. Людський мозок містить приблизно нейронів, і кожен нейрон може мати тисячі з'єднань з іншими. Вхідні сигнали нейрона множаться на вагові коефіцієнти і складаються для отримання сумарного входу нейрона - I:
Мал. 1.Тіповой штучний нейрон Функція, яка пов'язує вихід нейрона з його входами, називається функцією активізації. Вона має вигляд сігмоідальноі функції θ . Формалізація реакції нейрона полягає в тому, що вихідний сигнал направляється до однієї з меж при отриманні дуже маленьких і дуже великих вхідних сигналів. Крім того, з кожним нейроном пов'язано порогове значення - θ , Яке у формулі обчислення вихідного сигналу віднімається із загального вхідного сигналу. В результаті, вихідний сигнал нейрона - Про часто описується в такий спосіб: Структура мережі зі зворотним поширенням "src \u003d" https://libtime.ru/uploads/images/00/00/01/2014/06/27/set-s- obratnym-rasprostraneniyem.png "alt \u003d" (! LANG: Структура мережі зі зворотним поширенням" width="450" height="370"> Рис. 2. Сеть с обратным распространением !} Мережа зі зворотним поширенням, Як правило, ділиться на три сегменти, хоча можуть бути сформовані також додаткові сегменти. Сегменти (сегмент), що знаходяться між вхідним і вихідним сегментами, називаються прихованими сегментами, оскільки зовнішній світ сприймає наочно тільки вхідний і вихідний сегменти. Мережа, яка обчислює значення логічної операції «виключне АБО», видає на виході істинне значення, тільки в випадках, коли не на всіх її входах є істинні значення або не на всіх входах є помилкові значення. Кількість вузлів в прихованому секторі можуть варіюватися в залежності від мети проекту.

Характеристики нейронних мереж

Слід зазначити, що нейронні мережі не вимагають програмування в звичайному сенсі цього слова. Для навчання нейронних мереж застосовуються спеціальні алгоритми навчання нейронних мереж, такі як зустрічне поширення і зворотне поширення. Програміст «програмує» мережу, задаючи вхідні дані і відповідні вихідні дані. Мережа навчається, автоматично коригуючи вагові коефіцієнти для синаптичних з'єднань між нейронами. Вагові коефіцієнти, разом з пороговими значеннями нейронів, визначають характер поширення даних по мережі і, тим самим, ставлять правильний відгук на дані, які використовуються в процесі навчання. Навчання мережі з метою отримання правильних відповідей може зажадати багато часу. Наскільки багато залежить від того, яка кількість образів повинна бути засвоєна в ході навчання мережі, а також від можливостей застосовуваних апаратних і допоміжних програмних засобів. Однак, за його завершенні навчання мережа здатна давати відповіді з високою швидкістю. за своєю архітектурі штучна нейронна система відрізняється від інших обчислювальних систем. У класичній інформаційній системі реалізується можливість з'єднання дискретної інформації з елементами пам'яті. Наприклад, зазвичай, інформаційна система зберігає дані про конкретний об'єкт в групі суміжних елементів пам'яті. Отже, можливість доступу і маніпулювання даними досягається за рахунок створення взаємно однозначного зв'язку між атрибутами об'єкта і адресами осередків пам'яті, в яких вони записані. На відміну від таких систем, моделі штучних нейронних систем розробляються на основі сучасних теорій функціонування мозку, згідно з якими інформація представлена \u200b\u200bв мозку за допомогою вагових коефіцієнтів. При цьому безпосередньою кореляції між конкретним значенням вагового коефіцієнта і конкретним елементом збереженої інформації не існує. Таке розподілене представлення інформації аналогічно технології збереження і представлення зображень, яка використовується в голограми. Відповідно до цієї технології лінії голограми діють, як дифракційні решітки. З їх допомогою, при проходженні лазерного променя, відтворюється збережене зображення, проте, самі дані не піддаються безпосередній інтерпретації.
Нейронна мережа як засіб вирішення завдання. Нейронна мережа виступає в ролі прийнятний засіб вирішення завдання, коли присутня велика кількість емпіричних даних, але немає алгоритму, який був би здатний забезпечити отримання досить точного рішення з необхідною швидкістю. В даному контексті технологія представлення даних штучної нейронної системи має істотні переваги перед іншими інформаційними технологіями. ці переваги можна сформулювати наступним чином:
  1. Пам'ять нейронної мережі є відмовостійкої. При видаленні окремих частин нейронної мережі відбувається лише зниження якості інформації, в ній зберігається, але не повне її зникнення. Це відбувається тому, що інформація зберігається в розподіленої формі.
  2. Якість інформації в нейронної мережі, яка підлягає скороченню, знижується поступово, пропорційно тій частині мережі, була видалена. Катастрофічною втрати інформації не відбувається.
  3. Дані в нейронної мережі зберігаються природним чином за допомогою асоціативної пам'яті. Асоціативної пам'яттю називають таку пам'ять, в якій досить виконати пошук частково представлених даних, щоб повністю відновити всю інформацію. У цьому полягає відмінність асоціативної пам'яті від звичайної пам'яті, В якій отримання даних здійснюється шляхом зазначення точної адреси відповідних елементів пам'яті.
  4. дозволяють виконувати екстраполяцію і інтерполяцію на основі інформації, що зберігається в них. Тобто, навчання дозволяє надати мережі здатності здійснювати пошук важливих особливостей або зв'язків в даних. Після цього мережа в стані екстраполювати і виявляти зв'язки в нових даних, що до неї надходять. Наприклад, в одному експерименті було проведено навчання нейронної мережі на гіпотетичному прикладі. Після закінчення навчання мережу придбала здатність адекватно реагувати на питання, за якими навчання не проводилося.
  5. Нейронні мережі - пластичні. Навіть після видалення певної кількості нейронів може бути проведено повторне навчання мережі до її первинного рівня (звичайно, якщо в ній залишилася достатня кількість нейронів). Така особливість є також характерною для мозку людини, в якому можуть бути пошкоджені окремі частини, але з часом, з допомогою навчання, досягнута первинного рівня навичок і знань.
Завдяки таким особливостям штучні нейронні системи стають дуже привабливими для застосування в роботизованих космічних апаратах, Обладнанні нафтопромисловості, підводних апаратах, засобах управління технологічними процесами і в інших технічних пристроях , Які повинні функціонувати тривалий час без ремонту в несприятливому середовищі. Штучні нейронні системи не тільки дозволяють вирішити проблему надійності, але і надають можливість зменшити експлуатаційні витрати завдяки своїй пластичності. Однак, в цілому, штучні нейронні системи не дуже добре підходять для створення додатків, в яких потрібні складні математичні розрахунки або пошук оптимального рішення. Крім того, застосування штучної нейронної системи не буде найкращим варіантом в разі, якщо існує алгоритмічне рішення, яке вже надало позитивний результат внаслідок практичного застосування для вирішення подібних завдань. Схожа стаття:

НЕЙРОННІ СІТІ штучні, багатошарові високопараллельних (т. е. з великим числом незалежно паралельно працюючих елементів) логічні структури, складені з формальних нейронів. Початок теорії нейронних мереж і нейрокомпьютеров поклала робота американських нейрофізіологів У. Мак-Каллока і У. Питтса «Логічне числення ідей, що відносяться до нервової діяльності» (1943), в якій вони запропонували математичну модель біологічного нейрона. Серед основних робіт слід виділити модель Д. Хеба, який в 1949 році запропонував закон навчання, що був стартовою точкою для алгоритмів навчання штучних нейронних мереж. На подальший розвиток теорії нейронної мережі істотний вплив зробила монографія американського нейрофізіолога Ф. Розенблатта «Принципи нейродинаміки», в якій він детально описав схему перцептрона (пристрої, що моделює процес сприйняття інформації людським мозком). Його ідеї отримали розвиток в наукових роботах багатьох авторів. У 1985-86 рр. теорія нейронних мереж отримала «технологічний імпульс», викликаний можливістю моделювання нейронних мереж на що з'явилися в той час доступних і високопродуктивних персональних комп'ютерах . Теорія нейронної мережі продовжує досить активно розвиватися на початку 21 століття. За оцінками фахівців, найближчим часом очікується значний технологічний зростання в області проектування нейронних мереж і нейрокомп'ютерів. За останні роки вже відкрито чимало нових можливостей нейронних мереж, а роботи в даній області вносять істотний внесок в промисловість, науку і технології, мають велике економічне значення.

Основні напрямки застосування нейронних мереж

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

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

розпізнавання мови - одна з найбільш популярних областей застосування нейронних мереж.

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

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

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

В медичній діагностиці нейронні мережі застосовуються, наприклад, для діагностики слуху у немовлят. Система об'єктивної діагностики обробляє зареєстровані «викликані потенціали» (відгуки мозку), які проявляються у вигляді сплесків на електроенцефалограмі, у відповідь на звуковий подразник, який синтезується в процесі обстеження. Зазвичай для впевненої діагностики слуху дитини досвідченому експерту-аудиолога необхідно провести до 2000 тестів, що займає близько години. Система на основі нейронної мережі здатна з тією ж достовірністю визначити рівень слуху вже по 200 спостереженнями протягом всього декількох хвилин, причому без участі кваліфікованого персоналу.

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

Структура нейронних мереж

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

біологічний нейрон(Cell) має ядро \u200b\u200b(Nucleus), а також відростки нервових волокон двох типів (рис. 1) - дендрити (Dendrites), за якими приймаються імпульси (Carries signals in), і єдиний аксон (Axon), за яким нейрон може передавати імпульс (Carries signals away). Аксон контактує з дендритами інших нейронів через спеціальні освіти - синапси (Synapses), які впливають на силу переданого імпульсу. Структура, що складається із сукупності великої кількості таких нейронів, отримала назву біологічної (або природної) нейронної мережі.

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

Формальний нейрон являє собою логічний елемент з $ N $ входами, ($ N + 1 $) ваговими коефіцієнтами, сумматором і нелінійним перетворювачем. Найпростіший формальний нейрон, що здійснює логічне перетворення $ Y \u003d \\ text (sign) \\ sum_ (i \u003d 0) ^ (N) a_ix_i $ вхідних сигналів (якими, напр., є вихідні сигнали ін. формальних нейронів Н. с.) в вихідний сигнал, представлений на рис. 1.

Тут $ y $ - значення виходу формального нейрона; $ A_i $ - вагові коефіцієнти; $ X_i $ - вхідні значення формального нейрона ($ X_i∈ \\ left \\ (0,1 \\ right \\), \\; x_0 \u003d 1 $). Процес обчислення вихідного значення формального нейрона є рух потоку даних і їх перетворення. Спочатку дані надходять на блок входу формального нейрона, де відбувається множення вихідних даних на відповідні вагові коефіцієнти, т. Н. синоптичні ваги (відповідно до синапсами біологічних нейронів). Ваговий коефіцієнт є мірою, яка визначає, наскільки відповідне вхідне значення впливає на стан формального нейрона. Вагові коефіцієнти можуть змінюватися відповідно до навчальними прикладами, архітектурою Н. с., Правилами навчання і ін. Отримані (при множенні) значення перетворюються в суматорі в одне числове значення $ g $ (за допомогою підсумовування). Потім для визначення виходу формального нейрона в блоці нелінійного перетворення (реалізує передавальну функцію) $ g $ порівнюється з деяким числом (порогом). Якщо сума більше значення порога, формальний нейрон генерує сигнал, в іншому випадку сигнал буде нульовим або гальмуючим. В даному формальному нейроне застосовується нелінійне перетворення $$ \\ text (sign) (g) \u003d \\ begin (cases) 0, \\; g< 0 \\ 1,\; g ⩾ 0 \end{cases},\quad \text{где}\,\,g = \sum_{i=0}^N a_i x_i.$$

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

На рис. 3 показана загальна схема багатошарової нейронної мережі з послідовними зв'язками. Високий паралелізм обробки досягається шляхом об'єднання великого числа формальних нейронів в шари і з'єднання певним чином різних нейронів між собою.

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

Нейронні мережі є складними нелінійними системами з величезним числом ступенів свободи. Принцип, за яким вони обробляють інформацію, відрізняється від принципу, що використовується в комп'ютерах на основі процесорів з фон-неймановской архітектурою - з логічним базисом І, АБО, НЕ (див. Дж. Фон Нейман, Обчислювальна машина). Замість класичного програмування (як в традиційних обчислювальних системах) Застосовується навчання нейронної мережі, яка зводиться, як правило, до налаштування вагових коефіцієнтів з метою оптимізації заданого критерію якості функціонування нейронної мережі.

нейромережеві алгоритми

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

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

Необхідно відзначити, що введення зворотних зв'язків і, як наслідок, розробка алгоритмів настройки їх коефіцієнтів в 1960-80 роки мали чисто теоретичний сенс, т. К. Не було практичних завдань, адекватних таким структурам. Лише в кінці 1980-х - початку 1990-х років стали з'являтися такі завдання і найпростіші структури з налаштованим зворотними зв'язками для їх вирішення (так звані рекурентні нейронні мережі). Розробники в області нейромережевих технологій займалися не тільки створенням алгоритмів настройки багатошарових нейронних мереж і нейромережевими алгоритмами вирішення різних завдань, але і найбільш ефективними (на поточний момент розвитку технології електроніки) апаратними емуляторами (особливі програми, які призначені для запуску однієї системи в оболонці іншого) нейромережевих алгоритмів. У 1960-і роки, до появи мікропроцесора, найбільш ефективними емуляторами нейронних мереж були аналогові реалізації розімкнутих нейронних мереж з розробленими алгоритмами налаштування на універсальних ЕОМ (іноді системи на адаптивних елементах з аналогової пам'яттю). Такий рівень розвитку електроніки робив актуальним введення перехресних зв'язків в структури нейронних мереж. Це призводило до значного зменшення числа нейронів в нейронної мережі при збереженні якості виконання завдання (наприклад, дискримінантної здатності при вирішенні задач розпізнавання образів). Дослідження 1960-70-х років в області оптимізації структур нейронних мереж з перехресними зв'язками напевно знайдуть розвиток при реалізації мемрісторних нейронних систем [Мемристор (memristor, від memory - пам'ять, і resistor - електричний опір), Пасивний елемент в мікроелектроніці, здатний змінювати свій опір в залежності від протікав через нього заряду], з урахуванням їх специфіки в частині аналого-цифрової обробки інформації і вельми значної кількості параметрів, що коефіцієнтів. Специфічні вимоги прикладних задач визначали деякі особливості структур нейронних мереж за допомогою алгоритмів настройки: континуум (від лат. Continuum - безперервне, суцільне) числа класів, коли вказівка \u200b\u200b«вчителя» системи формується у вигляді безперервного значення функції в деякому діапазоні зміни; континуум рішень багатошарової нейронної мережі, що формується вибором континуальної функції активації нейрона останнього шару; континуум числа ознак, що формується переходом в просторі ознак від уявлення вихідного сигналу у вигляді $ N $ -мірного вектора дійсних чисел до речової функції в деякому діапазоні зміни аргументу; континуум числа ознак, як наслідок, вимагає специфічної програмної і апаратної реалізації нейронної мережі; варіант континууму ознак вхідного простору був реалізований в задачі розпізнавання періодичних сигналів без перетворення їх з допомогою аналого-цифрового перетворювача (АЦП) на вході системи, і реалізацією аналого-цифровий багатошарової нейронної мережі; континуум числа нейронів в шарі; реалізація багатошарових нейронних мереж з континуумом класів і рішень проводиться вибором відповідних видів функцій активації нейронів останнього шару.

У таблиці показано систематизований набір варіантів алгоритмів настройки багатошарових нейронних мереж в просторі «Вхідний сигнал - простір рішень». Представлено безліч варіантів характеристик вхідних і вихідних сигналів нейронних мереж, для яких справедливі алгоритми настройки коефіцієнтів, розроблених російської наукової школою в 1960-70 роках. Сигнал на вхід нейронної мережі описується кількістю класів (градацій) образів, що представляють вказівки «вчителя». Вихідний сигнал нейронної мережі являє собою кількісне опис простору рішень. У таблиці дана класифікація варіантів функціонування нейронних мереж для різних видів вхідного сигналу (2 класу, $ K $ класів, континуум класів) і різних варіантів кількісного опису простору рішень (2 рішення, $ K_p $ рішень, континуум рішень). Цифрами 1, 7, 8 представлені конкретні варіанти функціонування нейронних мереж.

Таблиця. Набір варіантів алгоритмів настройки

Простір (число) рішень

вхідний сигнал

2 класу$ K $ класівконтинуум класів
2 1 7 8
$ K_p $$ K_p \u003d 3 $$ K \\ lt K_p $9 10
$ K \u003d K_p $2
$ K_p \u003d \\ text (const) $$ K \\ gt K_p $4
континуум5 6 11

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

Нейронні мережі - приватний вид об'єкта управління в адаптивній системі

Нейронні мережі з'явилися в теорії управління одним з перших прикладів переходу від управління найпростішими лінійними стаціонарними системами до управління складними нелінійними, нестаціонарними, багатовимірними, багатозв'язними системами. У другій половині 1960-х років народилася методика синтезу нейронних мереж, яка розвивалася і успішно застосовувалася протягом наступних майже п'ятдесяти років. Загальна структура цієї методики представлена \u200b\u200bна рис. 5.

Вхідні сигнали нейронних мереж

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

Фахівці з нейромережевим технологіям сказали: «Ми нічого не знаємо про функції розподілу вхідних сигналів, ми відмовляємося від необхідності формального опису функції розподілу вхідних сигналів, навіть якщо сузим клас вирішуваних завдань. Ми вважаємо функції розподілу вхідних сигналів складними, невідомими і будемо вирішувати приватні конкретні завдання в умовах подібної апріорної невизначеності (Т. Е. Неповноти опису, нема інформації і про можливі результати) ». Саме тому нейронні мережі на початку 1960-х років ефективно застосовувалися при вирішенні задач розпізнавання образів. Причому завдання розпізнавання образів трактувалася як завдання апроксимації багатовимірної випадкової функції, що приймає $ K $ значень, де $ K $ - число класів образів.

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

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

Очевидно, що функціонування нейронної мережі, т. Е. Дії, які вона здатна виконувати, залежить від величин синоптичних зв'язків. Тому, задавшись структурою нейронної мережі, що відповідає певній задачі, розробник повинен знайти оптимальні значення для всіх вагових коефіцієнтів $ w $. Цей етап називається навчанням нейронної мережі, і від того, наскільки якісно він буде виконаний, залежить здатність мережі вирішувати під час експлуатації поставлені перед нею проблеми. Найважливішими параметрами навчання є: якість підбору вагових коефіцієнтів і час, який необхідно витратити на навчання. Як правило, два цих параметра пов'язані між собою зворотною залежністю і їх доводиться вибирати на основі компромісу. В даний час всі алгоритми навчання нейронних мереж можна розділити на два великі класи: «з учителем» і «без вчителя».

Апріорні ймовірності появи класів

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

Кваліфікація «вчителя»

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

В задачах розпізнавання образів, як правило, за замовчуванням кваліфікація «вчителя» є повною, тобто ймовірність правильного віднесення «учителем» образів до того чи іншого класу дорівнює одиниці. На практиці при наявності непрямих вимірювань це часто не відповідає дійсності, наприклад в задачах медичної діагностики, коли при верифікації (перевірки) архіву медичних даних, призначених для навчання, ймовірність віднесення цих даних до того чи іншого захворювання не дорівнює одиниці. Введення поняття кваліфікації «вчителя» дозволило розробити єдині алгоритми настройки коефіцієнтів багатошарових нейронних мереж для режимів навчання, навчання «з учителем», що володіє кінцевою кваліфікацією, і самонавчання (кластеризації), коли при наявності $ K $ або двох класів образів кваліфікація «вчителя» ( ймовірність віднесення образів до того чи іншого класу) дорівнює $ \\ frac (1) (K) $ або 1/2. Введення поняття кваліфікації «вчителя» в системах розпізнавання образів дозволило чисто теоретично розглянути режими «шкідництва» системі, коли їй повідомляється завідомо неправдиве (з різним ступенем хибності) віднесення образів до того чи іншого класу. Даний режим настройки коефіцієнтів багатошарової нейронної мережі поки не знайшов практичного застосування.

кластеризація

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

Кластеризації присвячено безліч наукових робіт. Основне завдання кластеризації полягає в обробці безлічі векторів в багатовимірному просторі ознак з виділенням компактних підмножин (підмножин, близько розташованих один до одного), їх кількості і властивостей. Найбільш поширеним методом кластеризації є метод «$ K $ -means», практично не пов'язаний з методами зворотного поширення і не узагальнювати на архітектури типу багатошарових нейронних мереж.

Введення поняття кваліфікації «вчителя» і єдиного підходу до навчання і самонавчання в 1960-і роки дозволило фактично створити основу для реалізації режиму кластеризації в багатошарових нейронних мережах широкого класу структур.

нестаціонарні образи

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

Про критерії первинної оптимізації в багатошарових нейронних мережах

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

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

Представлені модифікації критеріїв первинної оптимізації були узагальнені на випадки континууму класів і рішень; континууму ознак вхідного простору; континууму числа нейронів в шарі; при довільній кваліфікації вчителя. Важливим розділом формування критерію та функціоналу первинної оптимізації в багатошарових нейронних мережах при ймовірнісної моделі світу є вибір матриці втрат, яка в теорії статистичних рішень визначає коефіцієнт втрат $ L_ (12) $ при помилковому віднесення образів 1-го класу до 2-го і коефіцієнт втрат $ L_ (21) $ при віднесенні образів 2-го класу до 1-му. Як правило, за замовчуванням матриця $ L $ цих коефіцієнтів при синтезі алгоритмів настройки багатошарових нейронних мереж, в тому числі і при застосуванні методу зворотного поширення, приймається симетричною. На практиці це не відповідає дійсності. Характерним прикладом є система виявлення мін з застосуванням геолокатора. У цьому випадку втрати при помилковому віднесення каменю до міни рівнозначні деякої невеликої втрати часу користувачем геолокатора. Втрати, пов'язані з помилковим віднесенням міни до класу каменів, пов'язані з життям або значною втратою здоров'я користувачами геолокатора.

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

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

Розроблено методику та алгоритми формування функціоналу вторинної оптимізації, відповідного заданому функціоналу первинної оптимізації.

Алгоритми пошуку екстремуму функціоналів вторинної оптимізації

Алгоритм пошуку екстремуму стосовно конкретного функціоналу вторинної оптимізації визначає алгоритм настройки коефіцієнтів багатошарової нейронної мережі. На початку 21 століття найбільший практичний інтерес представляють подібні алгоритми, реалізовані в системі MatLab (скорочення від англ. «Matrix Laboratory» - пакет прикладних програм для вирішення завдань технічних обчислень і однойменний мову програмування). Однак необхідно відзначити приватність алгоритмів адаптації в багатошарових нейронних мережах, використовуваних в системах MatLab (Neural Network Toolbox - надає функції і додатки для моделювання складних нелінійних систем, які описуються рівняннями; підтримує навчання «з учителем» і «без вчителя», прямим поширенням, з радіальними базисними функціями і ін.), і орієнтацію цих алгоритмів нема на специфіку вирішуваних завдань, а на уявну «геометрію» функціоналів вторинної оптимізації. Ці алгоритми не враховують багатьох деталей специфіки застосування багатошарових нейронних мереж при вирішенні конкретних завдань і, природно, вимагають докорінної, якщо не принциповою, переробки при переході до мемрісторним нейронних систем. Був проведений детальний порівняльний аналіз методу зворотного поширення і російських методів 1960-70-х років. Основна особливість даних алгоритмів полягає в необхідності пошуку локальних і глобального екстремумів багатоекстремального функціоналу в багатовимірному просторі настроюються коефіцієнтів нейронної мережі. Зростання розмірів нейронної мережі веде до значного зростання числа настроюються коефіцієнтів, т. Е. До зростання розмірності простору пошуку. Ще в 1960-х роках в роботах пропонувалися пошукові та аналітичні процедури розрахунку градієнта функціоналу вторинної оптимізації, а в класі аналітичних процедур пропонувалося і досліджувалося застосування для організації пошуку не тільки першої, але і другої похідної функціоналу вторинної оптимізації. Специфіка багатоекстремального функціоналу вторинної оптимізації привела протягом наступних десятиліть до появи різних модифікацій методів пошуку (генетичні алгоритми і т. П.). Створено алгоритми пошуку екстремумів функціоналів вторинної оптимізації з обмеженнями на величину, швидкість та інші параметри вагових коефіцієнтів нейронних мереж. Саме ці методи повинні бути основою робіт по методам налаштування нейронних мереж із застосуванням мемристоров (вагових коефіцієнтів) з урахуванням таких специфічних характеристик, як передавальні функції.

Початкові умови при налаштуванні коефіцієнтів

Вибір початкових умов итерационной процедури пошуку екстремумів функціоналів вторинної оптимізації є важливим етапом синтезу алгоритмів настройки багатошарових нейронних мереж. Завдання вибору початкових умов повинна вирішуватися специфічно для кожного завдання, розв'язуваної нейронною мережею, і бути невід'ємною складовою загальної процедури синтезу алгоритмів настройки багатошарових нейронних мереж. Якісне рішення цієї задачі в значній мірі може скоротити час налаштування. Апріорна складність функціоналу вторинної оптимізації зробила необхідної введення процедури вибору початкових умов у вигляді випадкових значень коефіцієнтів з повторенням цієї процедури і процедури налаштування коефіцієнтів. Ця процедура ще в 1960-і роки здавалася надзвичайно надлишкової з точки зору часу, що витрачається на налаштування коефіцієнтів. Однак, незважаючи на це, вона досить широко застосовується і в даний час. Для окремих завдань тоді ж була прийнята ідея вибору початкових умов, специфічних для даної розв'язуваної задачі. Така процедура була відпрацьована для трьох завдань: розпізнавання образів; кластеризація; нейроідентіфікація нелінійних динамічних об'єктів.

Пам'ять в контурі налаштування коефіцієнтів

Системний підхід до побудови алгоритмів пошуку екстремуму функціоналу вторинної оптимізації передбачає в якості одного з режимів настройки перенастроювання коефіцієнтів в кожному такті надходження образів на вході за поточним значенням градієнта функціоналу вторинної оптимізації. Розроблено алгоритми настройки багатошарових нейронних мереж з фільтрацією послідовності значень градієнтів функціоналу вторинної оптимізації: фільтром нульового порядку з пам'яттю $ m_n $ (для стаціонарних образів); фільтром $ 1, ..., k $ -го порядку з пам'яттю $ m_n $ (для нестаціонарних образів) з різною гіпотезою зміни в часі функцій розподілу для образів різних класів.

Дослідження алгоритмів адаптації в нейронних мережах

Головне питання - як вибрати структуру багатошарової нейронної мережі для розв'язання обраної конкретного завдання - до сих пір в значній мірі не вирішено. Можна запропонувати лише розумний спрямований перебір варіантів структур з оцінкою їх ефективності в процесі виконання завдання. Однак оцінка якості роботи алгоритму налаштування на конкретної обраної структурі, конкретному завданні може бути недостатньо коректною. Так, для оцінки якості роботи лінійних динамічних систем управління застосовуються типові вхідні сигнали (ступінчастий, квадратичний та т. Д.), По реакції на які оцінюються встановилася помилка (астатизм системи) і помилки в перехідних процесах.

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

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

Для завдання кластеризації була запропонована вибірка випадкового сигналу з многомодальним розподілом, що реалізується в $ N $ -мірному просторі ознак з модами функції розподілу, центри яких в кількості $ Z $ розміщуються на гіпербіссектрісе $ N $ -мірного простору ознак. Кожна мода реалізує складову випадкової вибірки з нормальним розподілом і середньоквадратичним відхиленням $ σ $, рівним для кожної з $ Z $ мод. Предметом порівняння різних методів кластеризації буде динаміка настройки і якість виконання завдання в залежності від $ N $, $ Z $ і $ σ $, при досить великий випадковою вибіркою $ M $. Цей підхід можна вважати одним з перших досить об'єктивних підходів до порівняння алгоритмів кластеризації, в тому числі заснованих на багатошарових нейронних мережах c відповідним вибором структури для досягнення необхідної якості кластеризації. Для задач класифікації вхідні сигнали для випробувань аналогічні сигналам для кластеризації з тією зміною, що вибірка з многомодальним розподілом ділиться надвоє (в разі двох класів) або на $ K $ (в разі $ K $ класів) частин з перемежованими модами функції розподілу для окремих класів .

Нейронні мережі зі змінною структурою

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

У 1960-і роки для вельми актуального в той час класу задач - розпізнавання образів - була запропонована процедура настройки багатошарових нейронних мереж, в якій структура апріорі не фіксується, а є результатом настройки поряд зі значеннями параметрів, що коефіцієнтів. При цьому в процесі настройки вибираються число шарів і число нейронів в шарах. Процедура настройки коефіцієнтів багатошарової нейронної мережі зі змінною структурою легко переноситься з завдання розпізнавання двох класів образів на завдання розпізнавання $ K $ класів образів. Причому тут результатом настройки є $ K $ нейронних мереж, в кожній з яких першим класом є $ k $ -й клас ($ k \u003d 1, \\ ldots, K $), а другим все решта. Подібна ідея настройки багатошарових нейронних мереж зі змінною структурою може бути застосована і до вирішення завдання кластеризації. При цьому в якості першого класу образів приймається вихідна анализируемая вибірка, а в якості другого класу - вибірка з рівномірним розподілом в діапазоні зміни ознак. Реалізована в процесі настройки багатошарова нейронна мережа зі змінною структурою якісно і кількісно відображає складність вирішення задачі. З цієї точки зору завдання кластеризації як завдання народження нових знань про досліджуваному об'єкті полягає у виділенні і аналізі тих областей багатовимірного простору ознак, у яких функція розподілу ймовірностей перевищує рівень рівномірного розподілу в діапазоні зміни величин ознак.

Перспективи розвитку

На початку 21 століття однією з основних концепцій розвитку (навчання) багатошарової нейронної мережі є прагнення до збільшення числа шарів, а це передбачає забезпечення вибору структури нейронної мережі, адекватної розв'язуваної задачі, розробку нових методів для формування алгоритмів настройки коефіцієнтів. Перевагами нейронних мереж є: властивість т.зв. поступової деградації - при виході з ладу окремих елементів якість роботи системи падає поступово (для порівняння, логічні мережі з елементів І, АБО, НЕ виходять з ладу при порушенні роботи будь-якого елементу мережі); підвищена стійкість до зміни параметрів схем, їх реалізують (наприклад, вельми значні зміни ваг не призводять до помилок в реалізації простої логічної функції двох змінних) і ін.

Широке поширення нейромережних алгоритмів в області складних формалізованих, слабоформалізуемих і формалізації задач привело до створення нового напряму в обчислювальної математики - нейроматематики. Нейроматематика включає нейромережеві алгоритми вирішення наступних завдань: розпізнавання образів; оптимізація та екстраполяція функцій; теорії графів; криптографічні завдання; рішення речових і булевских систем лінійних і нелінійних рівнянь, звичайних одновимірних і багатовимірних диференціальних рівнянь, диференціальних рівнянь в приватних похідних і ін. На основі теорії нейронних мереж створено новий розділ сучасної теорії управління складними нелінійними і багатовимірними, багатозв'язними динамічними системами - нейроуправленіе, Що включає методи нейромережевої ідентифікації складних динамічних об'єктів; побудова нейрорегулятора в контурах управління складними динамічними об'єктами і ін.

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

Не секрет, що зараз нейромережі найчастіше використовуються в фотографії. Ми вже бачили, як вони здатні працювати з анімацією на звичайному комп'ютері, а картини, йдуть з молотка дорожче творів іменитих художників. Не дивно, що саме нейромережі лягли в основу програми FaceApp, яке за лічені дні завоювало популярність у всьому світі, штурмуючи магазини App Store і.

Ілон Маск після того, як колонізував Марс

Google представила нову експериментальну нейросеть Translatotron, здатну безпосередньо переводити мова на іншу мову, не використовуючи її текстове представлення, і зберігати голосові дані і темп промови говорить, повідомляється в блозі компанії. Система з довгої короткостроковою пам'яттю здатна приймати голосове введення і обробляти його як спектрограму, а потім генерувати на цій основі нову спектограмму на цільовому мовою. При певних умовах це дозволить збільшити не тільки швидкість перекладу, але і його точність. З більш повним описом нової розробки можна ознайомитися в статті, опублікованій в онлайн-репозиторії наукових статей arXiv.org.

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму