Перцептрон
![]() Перцептро́н, або персептро́н (англ. perceptron від лат. perceptio — сприйняття; нім. perzeptron) — математична або комп'ютерна модель сприйняття інформації мозком (кібернетична модель мозку), запропонована Френком Розенблатом в 1957 році[1] й реалізована у вигляді електронної машини «Марк-1»[ru][nb 1] у. 1960 році. Перцептрон став однією з перших моделей нейромереж, а «Марк-1» — першим у світі нейрокомп'ютером. Незважаючи на свою простоту, перцептрон здатен навчатися і розв'язувати досить складні завдання. Основна математична задача, з якою він здатний впоратися — це лінійне розділення довільних нелінійних множин, так зване забезпечення лінійної сепарабельності. Перцептрон складається з трьох типів елементів, а саме: сигнали, що надходять від давачів, передаються до асоціативних елементів, а відтак до реагуючих. Таким чином, перцептрони дозволяють створити набір «асоціацій» між вхідними стимулами та необхідною реакцією на виході. В біологічному плані це відповідає перетворенню, наприклад, зорової інформації у фізіологічну відповідь рухових нейронів. Відповідно до сучасної термінології, перцептрони може бути класифіковано як штучні нейронні мережі:
На тлі зростання популярності нейронних мереж у 1969 році вийшла книга Марвіна Мінського та Сеймура Пейперта, що показала принципові обмеження перцептронів. Це призвело до зміщення інтересу дослідників штучного інтелекту в протилежну від нейромереж область символьних обчислень.[nb 3] Крім того, через складність математичного аналізу перцептронів, а також відсутність загальноприйнятої термінології, виникли різні неточності і помилки. Згодом інтерес до нейромереж, і зокрема, робіт Розенблата, поновився. Так, наприклад, зараз стрімко розвивається біокомп'ютинг, що у своїй теоретичній основі обчислень, зокрема, базується на нейронних мережах, а перцептрон відтворюють на базі бактеріородопсинмісних плівок. Поява перцептрона![]() У 1943 році в своїй статті «Логічне числення ідей, що стосуються нервової активності»[2] Воррен Маккалох і Волтер Піттс[en] запропонували поняття штучної нейронної мережі. Зокрема, ними було запропоновано модель штучного нейрону. Дональд Гебб в роботі «Організація поведінки»[3] 1949 року описав основні принципи навчання нейронів. Ці ідеї кілька років пізніше розвинув американський нейрофізіолог Френк Розенблат. Він запропонував схему пристрою, що моделює процес людського сприйняття, і назвав його «перцептроном». Перцептрон передавав сигнали від фотоелементів, що являють собою сенсорне поле, в блоки електромеханічних елементів пам'яті. Ці комірки з'єднувалися між собою випадковим чином відповідно до принципів конекціонізму. 1957 року в Корнельській лабораторії аеронавтики[en] було успішно завершено моделювання роботи перцептрона на комп'ютері IBM 704, а двома роками пізніше, 23 червня 1960 року в Корнельському університеті, було продемонстровано перший нейрокомп'ютер — «Марк-1», що був здатен розпізнавати деякі з літер англійського алфавіту.[4][5] ![]() Щоби «навчити» перцептрон класифікувати образи, було розроблено спеціальний ітераційний метод навчання проб і помилок, що нагадує процес навчання людини — метод корекції помилки.[6] Крім того, при розпізнанні тієї чи іншої літери перцептрон міг виділяти характерні особливості літери, що статистично зустрічаються частіше, ніж незначні відмінності в індивідуальних випадках. Таким чином, перцептрон був здатен узагальнювати літери, написані по-різному (різним почерком), в один узагальнений образ. Проте можливості перцептрона були обмеженими: машина не могла надійно розпізнавати частково закриті літери, а також літери іншого розміру, розташовані зі зсувом або поворотом відносно тих, що використовувалися на етапі її навчання.[7] Звіт про перші результати з'явився ще 1958 року — тоді Розенблат було опубліковано статтю «Перцептрон: Ймовірна модель зберігання та організації інформації в головному мозку».[8] Але докладніше свої теорії та припущення щодо процесів сприйняття і перцептронів він описує 1962 року в книзі «Принципи нейродинаміки: Перцептрони та теорія механізмів мозку». У книзі він розглядає не лише вже готові моделі перцептрону з одним прихованим шаром, але й багатошарових перцептронів з перехресними[ru] (третій розділ) і зворотніми[ru] (четвертий розділ) зв'язками. В книзі також вводиться ряд важливих ідей та теорем, наприклад, доводиться теорема збіжності перцептрону.[9] Опис елементарного перцептрона![]() Елементарний перцептрон складається з елементів трьох типів: S-елементів, A-елементів та одного R-елементу. S-елементи — це шар сенсорів, або рецепторів. У фізичному втіленні вони відповідають, наприклад, світлочутливим клітинам сітківки ока або фоторезисторам матриці камери. Кожен рецептор може перебувати в одному з двох станів — спокою або збудження, і лише в останньому випадку він передає одиничний сигнал до наступний шару, асоціативним елементам. A-елементи називаються асоціативними, тому що кожному такому елементові, як правило, відповідає цілий набір (асоціація) S-елементів. A-елемент активізується, щойно кількість сигналів від S-елементів на його вході перевищує певну величину θ.[nb 4] Сигнали від збуджених A-елементів, своєю чергою, передаються до суматора R, причому сигнал від i-го асоціативного елемента передається з коефіцієнтом .[10] Цей коефіцієнт називається вагою A-R зв'язку. Так само як і A-елементи, R-елемент підраховує суму значень вхідних сигналів, помножених на ваги (лінійну форму). R-елемент, а разом з ним і елементарний перцептрон, видає «1», якщо лінійна форма перевищує поріг θ, інакше на виході буде «-1». Математично, функцію, що реалізує R-елемент, можна записати так: Навчання елементарного перцептрона полягає у зміні вагових коефіцієнтів зв'язків A-R. Ваги зв'язків S-A (які можуть приймати значення (-1; 0; 1)) і значення порогів A-елементів вибираються випадковим чином на самому початку і потім не змінюються. (Опис алгоритму див. нижче.) Після навчання перцептрон готовий працювати в режимі розпізнавання[11] або узагальнення.[12] У цьому режимі перцептрону пред'являються раніше невідомі йому об'єкти, й він повинен встановити, до якого класу вони належать. Робота перцептрона полягає в наступному: при пред'явленні об'єкта, збуджені A-елементи передають сигнал R-елементу, що дорівнює сумі відповідних коефіцієнтів . Якщо ця сума позитивна, то ухвалюється рішення, що даний об'єкт належить до першого класу, а якщо вона негативна — то до другого.[13] Основні поняття теорії перцептронівСерйозне ознайомлення з теорією перцептронів вимагає знання базових визначень і теорем, сукупність яких і являє собою базову основу для всіх наступних видів штучних нейронних мереж. Але, як мінімум, необхідно розуміння хоча б з точки зору теорії сигналів, що є оригінальним, тобто описане автором перцептрону Ф. Розенблатом. Опис на основі сигналів![]() ![]() Для початку визначмо складові елементи перцептрона, які є частковими випадками штучного нейрону з пороговою функцією передачі.
Якщо на виході будь-якого елемента ми отримуємо 1, то кажуть, що елемент активний або збуджений. Всі розглянуті елементи називаються простими, тому що вони реалізують стрибкоподібні функції. Розенблат стверджував, що для розв'язання складніших завдань можуть знадобитися інші види функцій, наприклад, лінійна[15]. В результаті Розенблат ввів такі визначення:
Додатково можна вказати на такі концепції, запропоновані в книзі, та пізніше розвинені в рамках теорії нейронних мереж:
Опис на основі предикатівДетальніші відомості з цієї теми ви можете знайти в статті Перцептрон (предикативний опис)[ru]. Марвін Мінський вивчав властивості паралельних обчислень, окремим випадком яких на той час був перцептрон. Для аналізу його властивостей йому довелося перекласти теорію перцептронів на мову предикатів. Суть підходу полягала в ось в чому[nb 5][20]:
В «зоровому» перцептроні змінна X символізувала образ будь-якої геометричної фігури (стимул). Частинний предикат дозволяв кожному А-елементові «розпізнавати» свою фігуру. Предикат ψ означав ситуацію, коли лінійна комбінація ( — коефіцієнти передачі) перевищувала певний поріг θ. Науковці виділили 5 класів перцептронів, що мають, на їхню думку, цікаві властивості:
Хоча такий математичний апарат дозволив застосувати цей аналіз лише до елементарного перцептрону Розенблата, він розкрив багато принципових обмежень для паралельних обчислень, які має кожен вид сучасних штучних нейронних мереж. Історична класифікаціяПоняття перцептрона має цікаву, але незавидну історію. В результаті нерозвиненої термінології нейронних мереж минулих років, різкої критики та нерозуміння завдань дослідження перцептронів, а іноді й помилкового освітлення пресою, початковий сенс цього поняття було викривлено. Порівнюючи розробки Розенблата та сучасні огляди й статті, можна виділити 4 доволі відособлених класи перцептронів:
У літературі під терміном «перцептрон» найчастіше розуміють одношаровий перцептрон (англ. single-layer_perceptron), причому існує поширена омана, що саме цей найпростіший тип моделей запропонував Розенблат. На противагу одношаровому, ставлять «багатошаровий перцептрон» (англ. multilayer perceptron), знову ж таки, найчастіше маючи на увазі багатошаровий перцептрон Румельгарта, а не Розенблата. Класичний перцептрон у такій дихотомії відносять до багатошарових. Алгоритми навчанняВажливою властивістю будь-якої нейронної мережі є спроможність навчанню. Процес навчання є процедурою налаштування ваг та порогів з метою зменшення різниці між бажаними (цільовими) та отримуваними векторами на виході. У своїй книзі Розенблат намагався класифікувати різні алгоритми навчання перцептрону, називаючи їх системами підкріплення.
Описуючи ці системи підкріплення і уточнюючи можливі їхні види, Розенблат ґрунтувався на ідеях Дональда Гебба про навчання, запропонованих ним 1949 року, які можна перефразувати у правило, котре складається з двох частин:
Кероване навчанняКласичний метод навчання перцептрону — це метод корекції помилки[9]. Це вид керованого навчання, при котрому вага зв'язку не змінюється дотих, поки поточна реакція перцептрона залишається правильною. При появі неправильної реакції вага змінюється на одиницю, а знак (+/-) визначається протилежним від знаку помилки. Припустимо, ми хочемо навчити перцептрон розділяти два класи об'єктів так, щоби при пред'явленні об'єктів першого класу вихід перцептрона був додатний (+1), а при пред'явленні об'єктів другого класу — негативним (-1). Для цього виконаємо такий алгоритм[6]:
Теорема збіжності перцептрону[9], описана і доведена Ф. Розенблатом (за участю Блока, Джозефа, Кеста та інших дослідників, які працювали разом з ним), показує, що елементарний перцептрон, навчений за таким алгоритмом, незалежно від початкового стану вагових коефіцієнтів і послідовності появи стимулів завжди приведе до досягнення рішення за скінченний проміжок часу. Некероване навчанняКрім класичного методу навчання перцептрону, Розенблат також ввів поняття про некероване навчання, запропонувавши наступний спосіб навчання:
Пізніше, з розробкою поняття багатошарового перцептрону, альфа-систему було модифіковано, і її стали називати дельта-правилом. Модифікацію було проведено з метою зробити функцію навчання диференційовною (наприклад, сигмоїдною), що, в свою чергу, потрібно для застосування методу градієнтного спуску, завдяки якому можливе навчання понад одного шару. Метод зворотного поширення помилкиДля навчання багатошарових мереж ряд учених, у тому числі Девідом Румельгартом, було запропоновано градієнтний алгоритм керованого навчання, що проводить сигнал помилки, обчислений виходами перцептрона, до його входів, шар за шаром. Зараз це є найпопулярніший метод навчання багатошарових перцептронів. Його перевага в тому, що він може навчити всі шари нейронної мережі, і його легко прорахувати локально. Однак цей метод є дуже довгим, до того ж, для його застосування потрібно, щоб передавальна функція нейронів була диференційовною. При цьому в перцептронах довелося відмовитися від бінарного сигналу, і користуватися на вході неперервними значеннями[23]. Традиційні помилкиВнаслідок популяризації штучних нейронних мереж журналістами та маркетологами було допущено ряд неточностей, що, при недостатньому вивченні оригінальних робіт з цієї тематики, неправильно тлумачилися молодими (на той час) науковцями. Як результат, досі можна зустрітися з недостатньо глибоким трактуванням функціональних можливостей перцептрона порівняно з іншими нейронними мережами, розробленими у подальші роки. Термінологічні неточностіНайпоширенішою помилкою, пов'язаною з термінологією, є визначення перцептрона як нейронної мережі без прихованих шарів (одношарового перцептрона, див. вище). Ця помилка пов'язана з недостатньо проробленою термінологією в галузі нейромереж на ранньому етапі їхньої розробки. Ф. Воссерменом було зроблено спробу певним чином класифікувати різні види нейронних мереж:
В результаті такого подання перцептрон потрапив під визначення «одношарова нейронна мережа». Частково це вірно, тому що в нього немає прихованих шарів нейронів, які навчаються (ваги яких адаптуються до задачі). І тому всю сукупність фіксованих зв'язків системи з S- до A-елементів, можна логічно замінити набором (модифікованих за жорстким правилом) нових вхідних сигналів, що надходять відразу на А-елементи (усунувши тим самим взагалі перший шар зв'язків). Але тут як раз не враховують те, що така модифікація перетворює нелінійне подання завдання в лінійне. Тому просте ігнорування шарів із фіксованими зв'язками що не навчаються (в елементарному перцептроні це S-A зв'язки) призводить до неправильних висновків про можливості нейромережі. Так, Мінський вчинив дуже коректно, переформулювавши А-елемент як предикат (тобто функцію); навпаки, Воссермен вже втратив таке подання і у нього А-елемент — просто вхід (майже еквівалентний S-елементу). За такої термінологічної плутанини не береться до уваги той факт, що в перцептроні відбувається відображення рецепторного поля S-елементів на асоціативне поле А-елементів, в результаті чого й відбувається перетворення будь-якої лінійно нероздільної задачі на лінійно роздільну. Функціональні помилки![]() Більшість функціональних помилок зводяться до нібито неможливості вирішення перцептроном нелінійно-роздільної задачі. Але варіацій на цю тему досить багато, нижче розглянуто головні з них. Завдання XORПерцептрон не здатен розв'язати «задачу XOR».
Слід звернути увагу на те, що «одношаровий перцептрон» у сучасній термінології та «одношаровий перцептрон» в термінології Воссермена є різними об'єктами. І об'єкт, що зображено на ілюстрації, в термінології Воссермена є двошаровим перцептроном. Варто зазначити, що при реалізації одношарового персептрону можна використати нелінійні функції класифікації. Це розширює його функціональні можливості, не змінюючи структуру. Такий підхід дозволяє зняти частину функціональних обмежень, зокрема, реалізувати логічну функцію XOR[25]. Здатність до навчання розв'язання лінійно нероздільних задачВибором випадкових ваг можна досягти навчання розв'язання лінійно нероздільних (взагалі, будь-яких) задач, але тільки якщо пощастить, і в нових змінних (виходах A-нейронів) задача виявиться лінійно роздільною. Проте може й не пощастити.
Здатність до навчання малою кількістю прикладівЯкщо в задачі розмірність входів чимала, а прикладів для навчання мала́, то в такому «слабо заповненому» просторі кількість успіхів може і не виявитися малою. Це свідчить лише про часткову придатність перцептрону, а не про його універсальність.
Стабілізація ваг та збіжністьУ перцептроні Розенблата стільки А-елементів, скільки входів. І збіжність за Розенблатом — це стабілізація ваг.
Експоненційне зростання кількості прихованих елементівЯкщо вагові коефіцієнти до елементів прихованого шару (А-елементів) фіксовано, то необхідно, щоби кількість елементів прихованого шару (або їхня складність) експоненційно зростала зі зростанням розмірності задачі (кількості рецепторів). Відтак, втрачається їхня основна перевага — здатність розв'язувати задачі довільної складності за допомогою простих елементів.
Можливості та обмеження моделіДетальніші відомості з цієї теми ви можете знайти в статті Можливості та обмеження перцептронів[ru]. Можливості моделі![]() Сам Розенблат розглядав перцептрон перш за все як наступний важливий крок у дослідженні та використанні нейронних мереж, а не як завершений варіант «машини, здатної мислити».[nb 8] Ще в передмові до своєї книги він, відповідаючи на критику, відзначав, що «програма з дослідження перцептрона пов'язана головним чином не з винаходом пристроїв, що володіють „штучним інтелектом“, а з вивченням фізичних структур і нейродинамічних принципів»[32]. Розенблат запропонував ряд психологічних тестів для визначення можливостей нейромереж: експерименти з розрізнення, узагальнення, розпізнавання послідовностей, утворення абстрактних понять, формування та властивостей «самосвідомості», творчості, уяви та інші[33]. Деякі з цих експериментів далекі від сучасних можливостей перцептронів, тому їхній розвиток відбувається більше філософськи, в межах напряму конекціонізму. Тим не менше, для перцептронів встановлено два важливих факти, що знаходять застосування у практичних задачах: можливість класифікації (об'єктів) і можливість апроксимації (класів і функцій)[34]. Важливою властивістю перцептроів є їхня здатність до навчання, причому за рахунок досить простого й ефективного алгоритму (див. вище). Останнім часом дослідники починають звертати увагу саме на оригінальну версію перцептрона, оскільки навчання багатошарового перцептрона за допомогою методу зворотного поширення помилки виявило істотні обмеження на швидкість навчання. Спроби навчати багатошаровий перцептрон методом зворотного поширення помилок призводять до експоненційного зростання обчислювальних витрат. Якщо ж користуватися методом прямого поширення[35], то обчислювальна складність алгоритму навчання стає лінійною. Це дозволяє зняти проблему навчання нейронних мереж із дуже великою кількістю входів та виходів, а також мати довільну кількість шарів мережі перцептронів. Поняття про зняття прокляття розмірності можна прочитати у праці Іванова А. І «Підсвідомість штучного інтелекту: програмування автоматів нейромережевої біометрії мовою їх навчання»[36]. Обмеження моделіДетальніші відомості з цієї теми ви можете знайти в статті Перцептрони (книга)[en]. ![]() Сам Розенблат виділив два фундаментальні обмеження для тришарових перцептронів (що складаються з одного S-шару, одного A-шару та R-шару): відсутність у них здатності до узагальнення своїх характеристик на нові стимули або нові ситуації, а також нездатність аналізувати складні ситуації у зовнішньому середовищі шляхом розчленування їх на простіші[18]. В 1969 році Марвін Мінський та Сеймур Пейперт опублікували книгу «Перцептрони»[37], де математично показали, що перцептрони, подібні до розенблатівських, принципово не в змозі виконувати багато з тих функцій, котрі хотіли б отримати від перцептронів. До того ж, у той час теорія паралельних обчислень була слабко розвиненою, а перцептрон повністю відповідав принципам таких обчислень. За великим рахунком, Мінський показав перевагу послідовних обчислень перед паралельними в певних класах задач, пов'язаних з інваріантними представленням. Його критику можна розділити на три теми:
Книга Мінського і Паперті істотно вплинула на розвиток науки про штучний інтелект, тому що змістила науковий інтерес та субсидії урядових організацій США на інший напрямок досліджень — символьний підхід у ШІ. Застосування перцептронівПерцептрон можна використати, наприклад, для апроксимації функцій, для задачі прогнозування (й еквівалентної їй задачі розпізнавання образів), що вимагає високої точності, та задачі керування агентами, що вимагає високої швидкості навчання. У практичних задачах від перцептрона вимагатиметься можливість вибору більш ніж з двох варіантів, а отже, на виході в нього має бути більше одного R-елемента. Як показано Розенблатом, характеристики таких систем не відрізняються суттєво від характеристик елементарного перцептрона[43]. Апроксимація функційТеорема Цибенка, доведена Джорджем Цибенком 1989 року, стверджує, що штучна нейронна мережа прямого поширення з одним прихованим шаром може апроксимувати будь-яку неперервну функцію багатьох змінних з будь-якою точністю. Умовами є достатня кількість нейронів прихованого шару, вдалий підбір і , де
Прогнозування та розпізнавання образівУ цих завданнях перцептронові потрібно встановити приналежність об'єкта до якогось класу за його параметрами (наприклад, за зовнішнім виглядом, формою, силуетом). Причому, точність розпізнавання багато в чому залежатиме від подання вихідних реакцій перцептронові. Тут можливі три типи кодування: конфігураційне, позиційне та гібридне. Позиційне кодування, за котрого кожному класові відповідає свій R-елемент, дає точніші результати, ніж інші види. Такий тип використано, наприклад, у праці Е. Куссуль та ін. «Перцептрони Розенблата для розпізнавання рукописних цифр». Однак воно є незастосовним у тих випадках, коли кількість класів є значною, наприклад, кілька сотень. У таких випадках можна застосовувати гібридне конфігураційно-позиційне кодування, як це було зроблено у праці Яковлева «Система розпізнавання рухомих об'єктів на базі штучних нейронних мереж». Керування агентамиУ теорії штучного інтелекту часто розглядають агентів, що навчаються (адаптуються до довкілля). При цьому в умовах невизначеності стає важливим аналізувати не лише поточну інформацію, а й загальний контекст ситуації, в яку потрапив агент, тому тут застосовують перцептрони зі зворотним зв'язком[ru][44]. Крім того, в деяких задачах стає важливим підвищення швидкості навчання перцептрона, наприклад, за допомогою моделювання рефрактерності[45]. Після періоду, відомого як «Зима штучного інтелекту», інтерес до кібернетичним моделей відродився в 1980-х роках, оскільки прихильники символьного підходу в ШІ так і не змогли підібратися до вирішення питань про «Розуміння» і «Значення», через що машинний переклад і технічне розпізнавання образів досі володіють неусувними недоліками. Сам Мінський публічно висловив жаль, що його виступ завдав шкоди концепції перцептронів, хоча книга лише показувала недоліки окремо взятого пристрою та деяких його варіацій. Але в основному ШІ став синонімом символьного підходу, що виражався у складанні все складніших програм для комп'ютерів, що моделюють складну діяльність мозку людини. Багатокласовий перцептронЯк і більшість інших методик для тренування лінійних класифікаторів, перцептрон природно узагальнюється до багатокласової класифікації[en]. Тут вхід та вихід постають з довільних множин. Функція представлення ознак відображує кожну можливу пару входів/виходів на скінченновимірний дійснозначний вектор ознак. Як і раніше, вектор ознак множиться на ваговий вектор , але тепер отримуваний бал використовується для вибору серед багатьох можливих виходів: Навчання, знов-таки, проходить зразками, передбачуючи вихід для кожного, залишаючи ваги незмінними коли передбачений вихід відповідає цільовому, і змінюючи їх, коли ні. Уточненням стає: Це формулювання багатокласового зворотного зв'язку зводиться до оригінального перцептрону, коли є дійснозначним вектором, обирається з , а . Для деяких задач можливо обирати представлення входів/виходів та ознаки таким чином, що буде можливо знаходити ефективно, навіть якщо вибирається з дуже великої, або навіть нескінченної множини. Перцептронове тренування стало популярним в галузі обробки природної мови для таких задач як розмічування частин мови та синтаксичний аналіз[46]. Див. такожПримітки
Джерела
Література
Посилання
|
Portal di Ensiklopedia Dunia