Логіка свідомості. Частина 9. Штучні нейронні мережі і мініколонкі реальної кори


Приходить ветеринар до терапевта. Терапевт: — На що скаржитеся? Ветеринар: — Ні, ну так кожен може!


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

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

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

Принцип 1. Кожен нейрон – це детектор нікого властивості.

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

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

Спрощена схема реального нейрона

З наведеного вище неминуче випливає формальна модель штучний нейрон Маккалока — Піттса, розроблений на початку 1940-х років (Маккалох Дж., Піттс У., 1956).

Формальний нейрон Маккалока — Піттса

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



Логістична функція

У цьому випадку активність формального нейрона записується як

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

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

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

Принцип 2. Інформація в нейронної мережі – це признаковое опис.

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

В признаковом описі, як випливає з назви, кожен елемент вектора опису відповідає певному ознакою. При цьому не принципово, як заданий елемент. Це може бути бінарне значення – присутня ознака чи ні. Може бути кількісне значення – наскільки виражений ознака в описі. Порядкове або номінальне значення – як реалізувався в описі цей ознака.

Наприклад, візьмемо бінарний 32-бітовий вектор. Будемо кодувати букви англійського алфавіту.

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

Другий варіант. Машинна кодування, типу, юнікод. Символи кодуються унікальними бінарними кодами. Але окремі біти вже не є ознаками. У кодах різних непов'язаних між собою букв можуть бути загальні одиниці. Таке кодування вже не є признаковым описом, хоча зовні і там, і там 32 бітний бінарний вектор.

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

Принцип 3. Нейронна мережа, як правило, – це перетворювач означальних описів.

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

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


Багатошаровий персептрон з двома прихованими шарами (Хайкін, 2006)

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

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

Незалежно від типу мережі на кожному шарі ми маємо справу з признаковым описом, складеним з нейронів-детекторів.

Принцип 4. Кількість нейронів в мережі визначає число ознак, з якими може працювати ця мережа.

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

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

Принцип 5. Навчання мережі – це налаштування ваг з'єднують нейрони зв'язків.

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

Два основних види навчання – це навчання без вчителя і навчання з вчителем.

Навчання без вчителя

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

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


Автокодировщик

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

Для навчання автокодировщика можна на кожному кроці вважати помилку між першим і третім шаром і коригувати ваги мережі в бік зменшення цієї помилки. Це дозволяє зробити, наприклад, метод зворотного поширення помилки.

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

Навчання з учителем

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

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

Для одношарового персептрона можна скористатися дельта-правилом.
Дельта-правило дуже схоже на правило Хеба, яке має дуже простий зміст: зв'язки нейронів, активирующихся спільно, повинні підсилюватися, а зв'язки нейронів, що спрацьовують незалежно, повинні слабшати. Але правило Хеба спочатку сформульовано для навчання без вчителя і дозволяє нейронів самим налаштовуватися на виділення факторів. При навчанні з учителем спільну активність треба розуміти дещо інакше. У цьому випадку правило Хеба набуває вигляду:
  • Перше правило — Якщо вихідний сигнал персептрона невірна і дорівнює нулю, то необхідно збільшити ваги тих входів, на які була подана одиниця.
  • Друге правило — Якщо вихідний сигнал персептрона невірна і дорівнює одиниці, то необхідно зменшити ваги тих входів, на які була подана одиниця.
Якщо Y – це вектор реального виходу персептрона, а D – вектор, який ми очікуємо отримати, то вектор помилки:

Дельта-правило для зміни зв'язку між i і j нейронами:


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

Труднощі починаються, коли виявляється, що однозначної портрета може не існувати. Наприклад, коли ми намагаємося впізнавати букви, то при навчанні ми можемо використовувати і прописні і заголовні букви. При це якщо ми не робимо між ними різниці, то вихідний нейрон, що відповідає за букву «А» повинен буде реагувати відразу на два образи – образ «А» і образ «а». Аналогічно, написання літер може бути абсолютно різним у різних почерки. Якщо намагатися поєднати всі ці портрети на одному нейроні, то нічого доброго не вийде. Образ буде настільки розмито, що може виявитися практично даремний.

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

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

Принцип 6. Кінцівку навчання. Дилема стабільності пластичності.

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

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

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

Варіант рішення запропоновано Стефаном Гроссбергом (Grossberg, 1987) як «теорія адаптивного резонансу». Суть цієї теорії в тому, що інформація, яка надходить ділиться на класи. Кожен клас має свій прототип – спосіб, найбільш точно відповідає цьому класу. Для нової інформації визначається, чи належить вона до одного з існуючих класів, або вона є унікальною, несхожою ні на що попереднє. Якщо інформація унікальна, то вона використовується для уточнення прототипу класу. Якщо ж це щось принципово нове, то створюється новий клас, прототипом якого лягає цей образ. Такий підхід дозволяє, з одного боку, створювати нові детектори, а з іншого боку, не руйнувати вже створені.
Але ідеологія адаптивного резонансу погано сумісна з іншими методами навчання, так як, по суті, вимагає додавання нових нейронів прямо в процесі навчання мережі.

Модель навчання з активною пам'яттю

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

Зберігання попереднього досвіду сильно спрощує питання стабільності пластичності мережі.
Розглянемо задачу розпізнавання цифр, наприклад, набору MNIST. На вхід нейронної мережі подаються зображення рукописних цифр, на виході дивляться за реакцією нейронів, що відповідають цифрам від 0 до 9. Вхідні зображення мають розмір 28 на 28 пікселів, всього 784 точки.


Приклад рукописних цифр набору MNIST

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

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


Одношарова мережа для розпізнавання рукописних цифр

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

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


Варіанти «двійки»

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

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

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

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

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

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

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

Ідеологія нейронів-детекторів, навчених на розмито-усереднений образ, — це багато в чому данина «економним» методів обчислень. Правда, саме навчання далеко не завжди можна назвати економним і швидким, але зате результат – це мережа з відносно невеликою кількістю нейронів.

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


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

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

Навчання такої мережі з учителем зводиться до запам'ятовування прикладів і створення зв'язків типу «приклад-відповідь».

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

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

Механізм порівняння

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


Одиничне зміщення призводить до повної відсутності збігу (ліворуч). Аналогічна ситуація після розмиття дає істотне збігу (праворуч) (Fukushima K., 2013)

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

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

Вихід спогади

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

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

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

Крім того, якщо потрібний образ тільки частина спогади, то треба враховувати цей факт. Хотілося б, щоб вихід спогади давав оцінку саме «корисного» збіги, а не того, яка частина спогади збіглася. Наприклад, відійдемо від тепличного MNIST і припустимо, що в навчальному прикладі було відразу дві цифри, двійка і трійка, написані поруч. Ми зрушили зображення так, щоб двійка збіглася з іншими запомненными двійками. Але в створеному спогаді трійка залишиться, як що знаходиться поруч шум. Порівнюючи потім це спогад з образом, де є двійка, хотілося б, щоб шум не впливав на величину оцінки збігу.

Активація вихідних нейронів

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

Бінарне кодування виходу мережі

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

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

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


Кодування виходу мережі бінарним кодом

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

Подивимося на отриману мережу в розрізі сформульованих раніше шести принципів класичної нейронної мережі:
Принцип 1. Кожен нейрон – це детектор нікого властивості.
Не виконується. Вихідні нейрони не є нейронами бабусі. Один і той же нейрон спрацьовують на різні ознаки.
Принцип 2. Інформація в нейронної мережі – це признаковое опис.
Не виконується. Вихід мережі – це код поняття, а не набір ознак. Вхід мережі також може працювати з кодами, а не з векторами ознак.
Принцип 3. Нейронна мережа, як правило, – це перетворювач означальних описів.
Не виконується.
Принцип 4. Кількість нейронів в мережі визначає число ознак, з якими може працювати ця мережа.
Не виконується. Вихідний шар, що містить сто нейронів при кодуванні сигналу десятьма активними нейронами може відобразити 1.7х1013 різних понять.
Принцип 5. Навчання мережі – це налаштування ваг з'єднують нейрони зв'язків.
Не виконується. Спогади мають «прив'язку» до нейронів, але ніякого адаптивного зміни ваг не відбувається.
Принцип 6. Кінцівку навчання. Дилема стабільності пластичності.
Не виконується. Як би не була навчена мережа її можна завжди дообучить просто додавши нові спогади. При додаванні не потрібно враховувати швидкість навчання. Руйнування старої інформації не відбувається. Крім того, нова мережа здатна на «однострельное навчання». Одиничний досвід в будь-який момент навчання створює здатність дізнаватися відповідне явище. На відміну від традиційних мереж не потрібно багаторазового повторення, так як немає ітераційної процедури налаштування ваг нейронів-детекторів.

Мініколонкі кори

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


Мініколонкі первинної зорової кори кішки (ліворуч) і мавпи (праворуч) (Peters and Yilmaze, 1993)

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

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

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

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

Фіксація коду ознаки

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

У нашій біологічній моделі пам'ять – це своєрідна фіксація «інтерференції» двох візерунків. Раніше було показано, як таким чином можна запам'ятовувати пари «ідентифікатор — опис». Зараз нам потрібно запам'ятати пару «код ознаки — опис». Код ознаки – це комбінація активності нейронів мініколонкі. Опис – це активність дендритних сегментів межах тієї ж мініколонкі. Зафіксувати інтерференцію двох візерунків – це запам'ятати на елементах першого візерунка картину другого візерунка.

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

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

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

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

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


Обрані по відношенню до певного сигналу місця на поверхні дендрита одного нейрона

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

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

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

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

Комбінаторна кластеризація

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


Бінарні коду трьох понять і сумарний бінарний код

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

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

Бінарні коду двох понять і сумарний бінарний код

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

Зменшення реакції обраних місць для часткового сигналу

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

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

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

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

Спільна робота миниколонок

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

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

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

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

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

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

Олексій Редозубов

Логіка свідомості. Частина 1. Хвилі в клітинному автоматі
Логіка свідомості. Частина 2. Дендритні хвилі
Логіка свідомості. Частина 3. Голографічна пам'ять на клітинному автоматі
Логіка свідомості. Частина 4. Секрет пам'яті мозку
Логіка свідомості. Частина 5. Смисловий підхід до аналізу інформації
Логіка свідомості. Частина 6. Кора мозку як простір обчислення смислів
Логіка свідомості. Частина 7. Самоорганізація простору контекстів
Логіка свідомості. Пояснення «на пальцях»
Логіка свідомості. Частина 8. Просторові карти кори мозку
Логіка свідомості. Частина 9. Штучні нейронні мережі і мініколонкі реальної кори
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.