Перцептрон

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Логічна схема перцептрону з трьома виходами

Перцептро́н, або персептро́н,  — математична та комп'ютерна модель сприйняття інформації мозком ( кібернетична модель мозку), запропонована Френком Розенблатом в 1957 році [1] і реалізована у вигляді електронної машини «Марк-1» [nb 1] У 1960 році перцептрон став однією з перших моделей нейромереж , а «Марк-1» — першим у світі нейрокомп'ютером. Не зважаючи на свою простоту, перцептрон здатний навчатися і вирішувати досить складні завдання.

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

  1. З одним прихованим шаром; [nb 2]
  2. З пороговою передавальною функцією;
  3. З прямим розповсюдженням сигналу.

На тлі зростання популярності нейронних мереж, в 1969 році вийшла книга Марвіна Мінського та Сеймура Паперті, яка показала принципові обмеження перцептронів. Це призвело до зміщення інтересу дослідників штучного інтелекту в протилежну від нейромереж область символьних обчислень. [nb 3] Крім того, через складність математичного аналізу перцептронів, а також відсутність загальноприйнятої термінології, виникли різні неточності і помилки. Згодом інтерес до нейромереж, і зокрема, робіт Розенблата, поновився.

Поява перцептрона[ред.ред. код]

Схема штучного нейрону — базового елементу будь-якої нейронної мережі

В 1943 році в своїй статті «Логічне числення ідей, що відносяться до нервової активності» [2] Уоррен Мак-Каллок і Уолтер Піттс запропонували поняття штучної нейронної мережі. Зокрема, ними була запропонована модель штучного нейрону. Дональд Хебб в роботі «Організація поведінки» [3] в 1949 році описав основні принципи навчання нейронів.

Ці ідеї кілька років пізніше розвинув американський нейрофізіолог Френк Розенблат. Він запропонував схему пристрою, що моделює процес людського сприйняття, і назвав його «перцептроном». Перцептрон передавав сигнали від фотоелементів, що являють собою сенсорне поле, в блоки електромеханічних елементів пам'яті. Ці комірки з'єднувалися між собою випадковим чином відповідно до принципів конективізму. В 1957 році в Корнельській Лабораторії Аеронавтики успішно було завершено моделювання роботи перцептрона на комп'ютері IBM 704, а два роки пізніше, 23 червня 1960 року в Корнельському університеті, був продемонстрований перший нейрокомп'ютер — «Марк-1», який був здатний розпізнавати деякі з букв англійського алфавіту. [4] [5]

Френк Розенблат зі своїм творінням — «Марк-1».

Щоб «навчити» перцептрон класифікувати образи, був розроблений спеціальний ітераційний метод навчання проб і помилок, що нагадує процес навчання людини — метод корекції помилки. [6] Крім того, при розпізнанні тієї чи іншої літери перцептрон міг виділяти характерні особливості букви, які статистично зустрічаються частіше, ніж незначні відмінності в індивідуальних випадках. Таким чином перцептрон був здатний узагальнювати літери, написані по-різному (різним почерком), в один узагальнений образ. Проте можливості перцептрона були обмеженими: машина не могла надійно розпізнавати частково закриті літери, а також букви іншого розміру, розташовані зі зрушенням або поворотом, ніж ті, які використовувалися на етапі її навчання. В 1958 році Розенблат опублікував статтю «Перцептрон: Ймовірна модель зберігання та організації інформації в головному мозку». [7] Але докладніше свої теорії і припущення щодо процесів сприйняття і перцептронов він описує у 1962 році в книзі "Принципи нейродинаміки: Перцептрони та теорія механізмів мозку ". У книзі він розглядає не тільки вже готові моделі перцептрону з одним прихованим шаром, але і багатошарових перцептронів з перехресними (третій розділ) і зворотніми (четвертий розділ) зв'язками. У книзі також вводиться ряд важливих ідей і теорем, наприклад, доводиться теорема збіжності перцептрону.

Опис елементарного перцептрона[ред.ред. код]

Надходження сигналів із сенсорного поля у вирішальні блоки елементарного перцептрона в його фізичному втіленні.
Логічна схема елементарного перцептрону. Ваги S-A зв'язків можуть мати значення −1, 1 або 0 (тобто відсутність зв'язку). Ваги A-R зв'язків W можуть мати будь-яке значення

Елементарний перцептрон складається з елементів 3-х типів: S-елементів, A-елементів і одного R-елементу. S-елементи — це шар сенсорів, або рецепторів. У фізичному втіленні вони відповідають, наприклад, світлочутливим клітинам сітківки ока або Фоторезисторам матриці камери. Кожен рецептор може перебувати в одному з двох станів - спокою або збудження, і тільки в останньому випадку він передає одиничний сигнал у наступний шар асоціативним елементів.

A-елементи називаються асоціативними, тому що кожному такому елементу, як правило, відповідає цілий набір (асоціація) S-елементів. A-елемент активізується, як тільки кількість сигналів від S-елементів на його вході перевищує певну величину θ. [nb 4]

Сигнали від збуджених A-елементів, у свою чергу, передаються в суматор R, причому сигнал від i-го асоціативного елемента передається з коефіцієнтом w_{i}. [8] Цей коефіцієнт називається вагою A-R зв'язку .

Так само як і A-елементи, R-елемент підраховує суму значень вхідних сигналів, помножених на ваги (лінійну форму). R-елемент, а разом з ним і елементарний перцептрон, видає «1», якщо лінійна форма перевищує поріг θ, інакше на виході буде «-1». Математично, функцію, яку реалізують R-елементом, можна записати так:

f(x) = sign(\sum_{i=1}^{n} w_i x_i - \theta)

Навчання елементарного перцептрона полягає у зміні вагових коефіцієнтів  w_i зв'язків A-R. Ваги зв'язків S-A (які можуть приймати значення (-1; 0; 1)) і значення порогів A-елементів вибираються випадковим чином на самому початку і потім не змінюються. (Опис алгоритму див. нижче.)

Після навчання перцептрон готовий працювати в режимі розпізнавання або узагальнення . У цьому режимі перцептрону пред'являються раніше невідомі йому об'єкти, і він повинен встановити, до якого класу вони належать. Робота перцептрона полягає в наступному: при пред'явленні об'єкта, збуджені A-елементи передають сигнал R-елементу, що дорівнює сумі відповідних коефіцієнтів  w_i . Якщо ця сума позитивна, то приймається рішення, що даний об'єкт належить до першого класу, а якщо вона негативна — то до другого.[9]

Основні поняття теорії перцептронів[ред.ред. код]

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

Опис на основі сигналів[ред.ред. код]

Порогова функція, що реалізується простими S- та A-елементами.
Порогова функція, що реалізується простим R-елементом.

Для початку визначимо складові елементи перцептрона, які є частковими випадками штучного нейрону з пороговою функцією передачі.

  • Простим S-елементом (сенсорним) є чутливий елемент, який від дії будь-якого з видів енергії (наприклад, світла, звуку, тиску, тепла тощо) виробляє сигнал. Якщо вхідний сигнал перевищує певний поріг θ, на виході елемента отримуємо 1, в іншому випадку — 0.
  • Простим A-елементом (асоціативним) називається логічний елемент, який дає вихідний сигнал 1, коли алгебраїчна сума його вхідних сигналів дорівнює або перевищує деяку граничну величину θ (кажуть, що елемент Активний), в іншому випадку вихід дорівнює нулю.
  • Простим R-елементом (реагує, то є чинним) називається елемент, який видає сигнал 1, якщо сума його вхідних сигналів є строго позитивною, і сигнал −1, якщо сума його вхідних сигналів є строго негативною. Якщо сума вхідних сигналів дорівнює нулю, вихід вважається або рівним нулю, або невизначеним.

Якщо на виході будь-якого елемента ми отримуємо 1, то говорять, що елемент активний або збуджений.

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

У результаті Розенблат ввів такі визначення:

  • Перцептрон являє собою мережу, що складається з S-, A- та R-елементів, зі змінною матрицею взаємодії W (елементи якої w_{ij} — вагові коефіцієнти), що визначається послідовністю минулих станів активності мережі.
  • Перцептроном з послідовними зв'язками називається система, в якій всі зв'язки, що починаються від елементів з логічною відстанню d від найближчого S-елементу, закінчуються на елементах з логічною відстанню d+1 від найближчого S-елементу.
  • Простим перцептроном називається будь-яка система, що задовольняє такі умови:
  1. В системі є лише один R-елемент (він пов'язаний з усіма A-елементами);
  2. Система являє собою перцептрон з послідовними зв'язками, що йдуть тільки від S-елементів до A-елементів і від A-елементів до R-елементів;
  3. Ваги всіх зв'язків від S-елементів до A-елементів (S-A зв'язків) незмінні;
  4. Час передачі кожного зв'язку дорівнює або нулю, або сталій величині \tau;
  5. Всі активуючі функції S-, A-, R-елементів мають вигляд U_{i}(t) = f(a_{i}(t)), де a_{i}(t) — алгебраїчна сума всіх сигналів, що надходять одночасно на вхід елемента u_{i}
  • Елементарним перцептроном називається простий перцептрон, у якоговсі елементи — прості. У цьому випадку його активуюча функція має вигляд c_{ij}(t) = U_{i}(t - \tau)w_{ij}(t).

Додатково можна вказати на такі концепції, запропоновані в книзі, і пізніше розвинуті в рамках теорії нейронних мереж:

Опис на основі предикатів[ред.ред. код]

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

  • Множині сигналів від S-елементів була присвоєна змінна X;
  • Кожному A-елементу присвоєно предикат φ(X) (фі від ікс), названий приватним предикатом;
  • Кожному R-елементу присвоєно предикат ψ (псі), що залежить від приватних предикатів;
  • Нарешті, перцептроном було названо пристрій, здатний обчислювати всі предикати типу ψ.

В «зоровому» перцептроні, змінна X символізувала образ будь-якої геометричної фігури (стимул). Приватний предикат дозволяв кожному А-елементу «розпізнавати» свою фігуру. Предикат ψ означав ситуацію, коли лінійна комбінація a_{1}\phi_{1} + \ldots + a_{n}\phi_{n} (a_{i} — коефіцієнти передачі) перевищувала певний поріг θ.

Вчені виділили 5 класів перцептронів, що володіють, на їхню думку, цікавими властивостями:

  1. Перцептрони, обмежені за діаметром — кожна фігура X, розпізнана приватними предикатами, не перевищує за діаметром деяку фіксовану величину.
  2. Перцептрони обмеженого порядку — кожен приватний предикат залежить від обмеженої кількості точок з X.
  3. Перцептрони Гамба — кожен приватний предикат повинен бути лінійною пороговою функцією, тобто міні-перцептроном.
  4. Випадкові перцептрони — перцептрони обмеженого порядку, коли приватні предикати являють собою випадково вибрані булеві функції.
  5. Обмежені перцептрони — множина приватних предикатів нескінченна, а множина можливих значень коефіцієнтів a_{i} скінченна.

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

Історична класифікація[ред.ред. код]

Архітектура багатошарового перцептрону (обох підтипів).

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

Перцептрон з одним прихованим шаром
Це класичний перцептрон, якій присвячена більша частина книги Розенблата, і що розглядається в цій статті: у нього є по одному шару S-, A-і R-елементів.
Одношаровий перцептрон
Це модель, у якій вхідні елементи безпосередньо з'єднані з вихідними за допомогою системи ваг. Чи є найпростішою мережею прямого розповсюдження — лінійним класифікатором, і окремим випадком класичного перцептрона, в якому кожен S-елемент однозначно відповідає одному A-елементу, S-A зв'язку мають вагу 1 і всі A-елементи мають поріг θ = 1. Одношарові перцептрони фактично є формальними нейронами, тобто пороговими елементами Мак-Каллока — Піттса. Вони мають безліч обмежень, зокрема, вони не можуть ідентифікувати ситуацію, коли на їхні входи подані різні сигнали («завдання XOR», див нижче).
Багатошаровий перцептрон (за Розенблатом)
Це перцептрон, в якому присутні додаткові шари A-елементів.
Багатошаровий перцептрон (за Румельхартом)
Це перцептрон, в якому присутні додаткові шари A-елементів, причому, навчання такої мережі проводиться за методом зворотного поширення помилки, причому навчаються всі шари перцептрону (у тому числі S-A). Цей перцептрон є частковим випадком багатошарового перцептрону Розенблата.

В даний час в літературі під терміном «перцептрон» розуміється частіше всього одношаровий перцептрон (англ. Single-layer perceptron), причому, існує поширена помилка, що саме цей найпростіший тип моделей запропонував Розенблат. На противагу одношаровому, ставлять «багатошаровий перцептрон» (англ. Multilayer perceptron), знову ж таки, найчастіше маючи на увазі багатошаровий перцептрон Румельхарта, а не Розенблата. Класичний перцептрон в такій дихотомії відносять до багатошарових.

Алгоритми навчання[ред.ред. код]

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

Система підкріплення — це будь-який набір правил, на підставі яких можна змінювати з часом матрицю взаємодії (або стан пам'яті) перцептрону. Описуючи ці системи підкріплення і уточнюючи можливі їхні види, Розенблат ґрунтувався на ідеях Д. Хебба про навчання, запропонованих ним в 1949 році, які можна перефразувати в наступне правило, яке складається з двох частин:

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

Навчання з учителем[ред.ред. код]

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

Припустимо, ми хочемо навчити перцептрон розділяти два класи об'єктів так, щоб при пред'явленні об'єктів першого класу вихід перцептрона був позитивний (+1), а при пред'явленні об'єктів другого класу — негативним (-1). Для цього виконаємо наступний алгоритм:

  1. Випадково вибираємо пороги для A-елементів і встановлюємо зв'язки S-A (далі вони змінюватися не будуть).
  2. Початкові коефіцієнти w_i вважаємо рівними нулю.
  3. Пред'являємо навчальну вибірку: об'єкти (наприклад, кола або квадрати) із зазначенням класу, до яких вони належать.
  • Показуємо перцептрону об'єкт першого класу. При цьому деякі A-елементи збудяться. Коефіцієнти w_i , що відповідають цим збудженням елементів, збільшуємо на 1.
  • Пред'являємо об'єкт другого класу і коефіцієнти w_i тих А-елементів, які збудилися при цьому показі, зменшуємо на 1.
  1. Обидві частини кроку 3 виконаємо для всієї навчальної вибірки. В результаті навчання сформуються значення вагів зв'язків w_i.

Теорема збіжності перцептрону , описана і доведена Ф. Розенблатом (за участю Блока, Джозефа, Кеста та інших дослідників, які працювали разом з ним), показує, що елементарний перцептрон, навчений за таким алгоритмом, незалежно від початкового стану вагових коефіцієнтів і послідовності появи стимулів завжди приведе до досягнення рішення за скінченний проміжок часу.

Навчання без учителя[ред.ред. код]

Крім класичного методу навчання перцептрону, Розенблат також ввів поняття про навчання без учителя, запропонувавши наступний спосіб:

  • Альфа-система підкріплення — це система підкріплення, за якої ваги всіх активних зв'язків c_{ij}, які ведуть до елемента u_j, змінюються на однакову величину r, а ваги неактивних зв'язків за цей час не змінюються.

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

Метод зворотного поширення помилки[ред.ред. код]

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

Традиційні помилки[ред.ред. код]

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

Термінологічні неточності[ред.ред. код]

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

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

У результаті такого подання перцептрон потрапив під визначення «одношарова нейронна мережа». Частково це вірно, тому що у нього немає прихованих шарів нейронів, які навчаються (ваги яких адаптуються до задачі). І тому всю сукупність фіксованих зв'язків системи з S-к A-елементів, можна логічно замінити набором (модифікованих за жорстким правилом) нових вхідних сигналів, що надходять відразу на А-елементи (усунувши тим самим взагалі перший шар зв'язків). Але тут як раз не враховують те, що така модифікація перетворює нелінійне подання завдання в лінійне.

Тому просте ігнорування шарів з фіксованими зв'язками що не навчаються (в елементарному перцептроні це S-A зв'язки) призводить до неправильних висновків про можливості нейросітки. Так, Мінський вчинив дуже коректно, переформулювши А-елемент як предикат (тобто функцію); навпаки, Уоссермен вже втратив таке подання і у нього А-елемент — просто вхід (майже еквівалентний S-елементу). За такої термінологічної плутанини не береться до уваги той факт, що в перцептроні відбувається відображення рецепторного поля S-елементів на асоціативне поле А-елементів, в результаті чого і відбувається перетворення будь-якого лінійно нерозділяємого завдання в лінійно разділяєме.

Функціональні помилки[ред.ред. код]

Вирішення елементарним перцептроном «завдання XOR». Поріг всіх елементів θ = 0.

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

Завдання XOR[ред.ред. код]

Перцептрон не здатний вирішити «завдання XOR». Дуже поширена і найнесерйозніша заява. На зображенні праворуч показано вирішення цього завдання перцептроном. Ця помилка виникає, по-перше, через те, що неправильно інтерпретують визначення перцептрона, даного Мінським (див. вище), а саме, предикати відразу прирівнюють до входів, хоча предикат у Мінського — це функція, що ідентифікує цілий набір вхідних значень. Предикат еквівалентний входу лише в окремому випадку — лише коли він залежить від одного аргументу. Інша причина виникає через те, що класичний перцептрон Розенблата плутають з одношаровим перцептроном (через термінологічні неточністі, описані вище).

Вивчення завдань, які лінійно нероздільні[ред.ред. код]

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

Теорема збіжності перцептрона доводить, що немає і не може бути ніякого «може і не пощастити» при рівності А-елементів числа стимулів і не особливою G-матриці — імовірність рішення дорівнює 100 %. Тобто при відображенні рецепторного поля на асоціативне поле, розмірності більшої на одну, випадковим (нелінійним) оператором, нелінійна задача перетворюється на лінійно роздільну. А наступний шар, що навчається вже знаходить лінійне вирішення в іншому просторі входів.
Наприклад, навчання перцептрона для вирішення «завдання XOR» (див. ілюстрацію) проводиться наступними етапами:
Ваги Ітерації
1 2 3 4 5
w1 0 1 1 1 1 2 2 2 2
w2 0 0 1 1 1 1 1 2 2
w3 −1 0 1 0 −1 0 −1 0 −1
Вхідні сигнали (x, y) 1, 1 0, 1 1, 0 1, 1 1, 1 0, 1 1, 1 1, 0 1, 1

Навчання на малому числі прикладів[ред.ред. код]

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

Цей аргумент легко перевірити на тестовій задачі під назвою «шахівниця» або «губка з водою» [11]

Дано ланцюжок з 2·Nодиниць або нулів, що паралельно надходять на входи перцептрону. Якщо цей ланцюжок є дзеркально симетричним відносно центру, то на виході буде 1, інакше — 0. Навчальні приклади — всі (це важливо) 2^{2N} ланцюжків.

Можуть бути варіації даного завдання, наприклад:

Візьмемо чорно-біле зображення розміром 256 × 256 елементів (піксельів). Вхідними даними для перцептрона будуть координати точки (8 біт + 8 біт, разом потрібно 16 S-елементів), на виході хочемо отримати колір точки. Навчаємо перцептрон усім точкам (всьому зображенню). В результаті маємо 65 536 різних пар «стимул-реакція». Навчити без помилок.

Якщо цей аргумент справедливий, то перцептрон не зможе ні за яких умов навчитися не роблячи жодної помилки. Інакше перцептрон не помилиться жодного разу.
На практиці виявляється, що дана задача дуже проста для перцептрона: щоб її вирішити, перцептрону достатньо 1500 А-елементів (замість повних 65 536, необхідних для будь-якої задачі). При цьому число ітерацій близько 1000. При 1000 А-елементів перцептрон не сходиться за 10 000 ітерацій. Якщо ж збільшити число А-елементів до 40 000, то сходження можна чекати за 30-80 ітерацій.
Такий аргумент з'являється через те, що дане завдання плутають із завданням Мінського "про предикат "парність "".

Стабілізація ваг і збіжність[ред.ред. код]

В перцептроні Розенблата стільки А-елементів, скільки входів. І збіжність за Розенблатом, це стабілізація ваг.

У Розенблата читаємо:

Якщо число стимулів у просторі W дорівнює n> N (тобто більше числа А-елементів елементарного перцептрону), то існує деяка класифікація С(W), для якої вирішення не існує.

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

Експоненційне зростання числа прихованих елементів[ред.ред. код]

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

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

При дослідженні предикату «парність» ми бачили, що коефіцієнти можуть зростати із зростанням R (числа точок на зображенні) експоненційно.

Крім того, Мінський досліджував і інші предикати, наприклад «рівність». Але всі ці предикати є достатньо специфічними завдання на узагальнення, а не на розпізнавання або прогнозування. Так, наприклад, щоб перцептрон міг виконувати предикат «парність» — він повинен сказати, парне чи ні число чорних крапок на чорно-білому зображенні, а для виконання предикату «рівність» — сказати, ривна чи ні права частина зображення лівій. Ясно, що такі завдання виходять за рамки задач розпізнавання і прогнозування, і являють собою завдання на узагальнення або просто на підрахунок певних характеристик. Це і було переконливо показано Мінським, і є обмеженням не тільки перцептронов, але і всіх паралельних алгоритмів, які не здатні швидше послідовних алгоритмів обчислити такі предикати.
Тому такі завдання обмежують можливості всіх нейронних мереж і перцептронів зокрема, але це ніяк не пов'язано з фіксованими зв'язками першого шару; тому що, по-перше, мова йшла про величину коефіцієнтів зв'язків другого шару, а по-друге, питання тільки в ефективності, а не в принциповій можливості. Тобто перцептрон можна навчити і цьому завданню, але обсяг пам'яті та швидкість навчання будуть більшими, ніж при застосуванні простого послідовного алгоритму. Введення ж у першому шарі вагових коефіцієнтів, що навчаються, лише погіршить стан справ, бо потребує більшого часу навчання. Причому, при підготовці перцептрону до задачі розпізнавання стимулів особливого типу, будуть потрібні особливі умови стохастичного навчання для збереження ефективності, що було показано Розенблатом в експериментах з перцептроном зі змінними S-A зв'язками.

Можливості та обмеження моделі[ред.ред. код]

Деякі завдання, які перцептрон не здатний вирішити: 1, 2 — перетворення групи переносів; 3 — з якої кількості частин складається фігура? 4 — всередині якого об'єкта немає іншої фігури? 5 — яка фігура всередині об'єктів повторюється два рази? (3, 4, 5 — завдання на визначення «зв'язності» фігур.)

Обмеження моделі[ред.ред. код]

Сам Розенблат виділив два фундаментальних обмеження для тришарових перцептронів (що складаються з одного S-шару, одного A-шару і R-шару): відсутність у них здатності до узагальнення своїх характеристик на нові стимули або нові ситуації, а також нездатність аналізувати складні ситуації у зовнішньому середовищі шляхом розчленування їх на простіші.

В 1969 році Марвін Мінський та Сеймур паперті опублікували книгу «Перцептрони»[12], де математично показали, що перцептрони, подібні до розенблатівських, принципово не в змозі виконувати багато функцій, які хотіли б отримати від перцептронов. До того ж, у той час була слабо розвинена теорія про паралельних обчислень, а перцептрон повністю відповідав принципам таких обчислень. За великим рахунком, Мінський показав перевагу послідовних обчислень перед паралельними в певних класах завдань, пов'язаних з інваріантні представленням. Його критику можна розділити на три теми:

  1. Перцептрони мають обмеження в задачах, пов'язаних з інваріантним представленням образів, тобто незалежним від їхнього положення на сенсорному полі і положення щодо інших фігур. Такі задачі виникають, наприклад, якщо нам потрібно побудувати машину для читання друкованих літер або цифр так, щоб ця машина могла розпізнавати їх незалежно від положення на сторінці (тобто щоб на рішення машини не впливали перенесення, поворот, розтяг-стиск символів); або якщо нам потрібно визначити з скількох частин складається фігура; або чи знаходяться дві фігури поруч чи ні. Мінським було доведено, що цей тип завдань неможливо повноцінно вирішити за допомогою паралельних обчислень, у тому числі — перцептрону.
  2. Перцептрони не мають функціонального переваги над аналітичними методами (наприклад, статистичними) в задачах, пов'язаних з прогнозуванням. Тим не менше, в деяких випадках вони представляють простіший і продуктивніший метод аналізу даних.
  3. Було показано, що деякі завдання в принципі можуть бути вирішені перцептроном, але можуть вимагати нереально великого часу або нереально великої оперативної пам'яті.

Книга Мінського і Паперті істотно вплинула на розвиток науки про штучний інтелект, тому що змістила науковий інтерес і субсидії урядових організацій США на інший напрямок досліджень — символьний підхід у ШІ.

Можливості моделі[ред.ред. код]

Приклад класифікації об'єктів. Зелена лінія — межа класів.

Сам Розенблат розглядав перцептрон перш за все як наступний важливий крок у дослідженні і використанні нейронних мереж, а не як закінчений варіант «Машини, здатної мислити». На перших етапах розвитку науки про штучний інтелект її завдання розглядалася в абстрактному сенсі — створення систем, що нагадують розум людини. Сучасні формулювання завдань у ШІ, як правило, точніші. Ще в передмові до своєї книги він, відповідаючи на критику, відзначав, що „програма з дослідження перцептрона пов'язана головним чином не з винаходом пристроїв, що володіють «штучним інтелектом», а з вивченням фізичних структур і нейродинамічних принципів“

Розенблат запропонував ряд психологічних тестів для визначення можливостей нейромереж: експерименти з розрізнення, узагальнення, розпізнавання послідовностей, утворення абстрактних понять, формування і властивостей « самосвідомості», творчості, уяви та інші. Деякі з цих експериментів далекі від сучасних можливостей перцептронів, тому їхній розвиток відбувається більше філософськи, в межах напряму коннектівізму. Тим не менше, для перцептронів встановлені два важливих факти, що знаходять застосування у практичних задачах: можливість класифікації(об'єктів) і можливість апроксимації (класів і функцій). [13]

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

Застосування перцептронів[ред.ред. код]

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

Апроксимація функцій[ред.ред. код]

Докладніше: Теорема Цибенко

Теорема Цибенко, доведена Георгієм Цибенко в 1989 році, стверджує, що штучна нейронна мережа прямого зв'язку (англ. feed-forward) з одним прихованим шаром може апроксимувати будь-яку неперервну функцію багатьох змінних з будь-якою точністю. Умовами є достатня кількість нейронів прихованого шару, вдалий підбір \mathbf{w}_1, \mathbf{w}_2, \dots , \mathbf{w}_N, \mathbf{\alpha}, і \mathbf{\theta}, де

  • \mathbf{w}_i — ваги між вхідними нейронами і нейронами прихованого шару
  • \mathbf{\alpha} — ваги між зв'язками від нейронів прихованого шару і вихідним нейроном
  • \mathbf{\theta} — коефцієнт «упередженості» для нейронів прихованого шару.

Прогнозування і розпізнавання образів[ред.ред. код]

Взаємодія інтелектуального агента із середовищем. Важливою частиною такої системи є зворотні зв'язки.

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

Керування агентами[ред.ред. код]

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

Після періоду, відомого як «Зима штучного інтелекту», інтерес до кібернетичним моделями відродився в 1980-х роках, оскільки прихильники символьного підходу в ШІ так і не змогли підібратися до вирішення питань про «розуміння» і «значення», через що машинний переклад і технічне розпізнавання образів досі володіють неусувними недоліками. Сам Мінський публічно жалкував, що його виступ завдав шкоди концепції перцептронів, хоча книга лише показувала недоліки окремо взятого пристрою і деяких його варіацій. Але в основному ШІ став синонімом символьного підходу, який виражався у складанні все складніших програм для комп'ютерів, що моделюють складну діяльність мозку людини.

Див. також[ред.ред. код]

Примітки[ред.ред. код]

  1. «Марк-1», зокрема, був системою, що імітує людське око та його взаємодію з мозком.
  2. «Тришарові» за класифікацією, прийнятою у Розенблата, і «двошарові» за сучасною системою позначень — з тією особливістю, що перший шар не той, кого навчають.
  3. В межах символьному підходу працюють над створенням експертних систем, організацією баз знань, аналізом текстів .
  4. Формально A-елементи, як і R-елементи, являють собою суматори з порогом, тобто поодинокі нейрони.

Джерела[ред.ред. код]

  1. Rosenblatt, Frank (1958), The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain, Cornell Aeronautical Laboratory, Psychological Review, v65, No. 6, pp. 386—408.
  2. Warren S. McCulloch and Walter Pitts, A logical calculus of the ideas immanent in nervous activity
  3. Donald Olding Hebb The Organization of Behavior: A Neuropsychological Theory [1]
  4. Perceptrons.Estebon.html Perceptrons: An Associative Learning Network
  5. Поява перцептрону
  6. Системи розпізнавання образів
  7. rosenblatt.htm The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain
  8. Фомин, С. В., Беркинблит, М. Б. Математические проблемы в биологии
  9. Брюхомицкий Ю. А. Нейросетевые модели для систем информационной безопасности, 2005.
  10. Уоссермен, Ф.Нейрокомпьютерная техника: Теория и практика, 1992.
  11. Бонгард М. М. Проблема узнавания М.: Физматгиз, 1967.
  12. Minsky M L and Papert S A 1969 Perceptrons (Cambridge, MA: MIT Press)
  13. Лекція 3: Навчання з учителем: Розпізнавання образів
  14. Яковлев С. С., Investigation of Refractoriness principle in Recurrent Neural Networks, Scientific proceedings of Riga Technical University, Issue 5, Vol.36, RTU, Riga, 2008, P. 41-48. Читати (рос.)

Посилання[ред.ред. код]