Ієрархі́чна часова́ па́м'ять (ІЧП, ) — це продиктована біологією технологія машинного інтелекту, розроблювана компанією Numenta. Первинно описану з в книзі 2004 року «Про інтелект», ІЧП натепер переважно використовують для виявляння аномалій у потокових даних. Ця технологія ґрунтується на нейронауці та фізіології та взаємодії у новій корі ссавцевого (зокрема, людського) головного мозку.

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

ІЧП було перевірено та втілено у програмному забезпеченні через приклади застосунків від Numenta, і декілька комерційних застосунків від партнерів Numenta.

Структура та алгоритми

Типова мережа ІЧП є деревною ієрархією рівнів (, які не слід плутати з «шарами», , нової кори, які описано нижче). Ці рівні складаються з менших елементів, званих областями (, або вузлами, ). Один рівень в цій ієрархії може містити декілька областей. Вищі рівні ієрархії часто мають менше областей. Вищі рівні ієрархії можуть перевикористовувати образи, навчені на нижчих рівнях, поєднуючи їх для запам'ятовування складніших образів.

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

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

Як модель, що розвивається

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

Перше покоління: зета 1

Перше покоління алгоритмів ІЧП іноді називають зета 1 ().

Тренування

Під час тренування вузол (або область) отримує на вході часову послідовність просторових образів. Процес навчання складається з двох етапів:

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

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

Висновування

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

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

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

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

Більше подробиць про функціювання ІЧП Зета 1 можливо знайти в старій документації Numenta.

Друге покоління: кортикальні алгоритми навчання

Друге покоління алгоритмів навчання ІЧП, які часто називають кортика́льними алгори́тмами навча́ння (КАН, ), разюче відрізнялося від зета 1. Для подання активності мозку воно покладається на структуру даних, звану розрідженими розподіленими поданнями (, тобто, на структуру даних, чиї елементи є двійковими, 1 чи 0, і чиє число 1-чних бітів є малим у порівнянні з числом 0-вих бітів), і на реалістичнішу з погляду біології модель нейрону (який в контексті ІЧП часто називають клітиною, ). У цьому поколінні ІЧП є дві центральні складові: алгоритм просторового агрегування (), який видає розріджені розподілені подання (РРП, ), та алгоритм пам'яті послідовностей (), який вчиться представляти та передбачувати складні послідовності.

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

Просторове агрегування

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

Активні, неактивні та передбачувальні клітини

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

Як клітини стають активними?

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

Як клітини стають передбачувальними?

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

Вихід мініколонки

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

Висновування та інтерактивне навчання

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

Застосування КАН

Numenta наразі пропонує кортикальні алгоритми навчання як комерційне програмне забезпечення як послугу (таке як Grok ).

Чинність КАН

У вересні 2011 року Джеффові Гокінсу було поставлено таке питання стосовно кортикальних алгоритмів навчання: «Як ви дізнає́теся, чи є зміни, що ви вносите до моделі, добрими, чи ні?» На що Джеффовою відповіддю було «Є дві категорії для цієї відповіді: однією є дивитися на нейронауку, а іншою є методи для машинного інтелекту. В царині нейронауки існує багато передбачень, які ми можемо робити, і їх можливо перевірити. Якщо наші теорії описують широкий спектр спостережень нейронауки, то це каже нам, що ми перебуваємо на правильному шляху. У світі машинного навчання їх це не хвилює, їх хвилює лише те, наскільки добре воно працює на практичних задачах. В нашому випадку це ще треба побачити. Наскільки ви зможете розв'язувати задачі, які ніхто раніше не був здатним розв'язувати, настільки люди це відмітять.»

Третє покоління: сенсо́рно-моторне висновування

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

Порівняння моделей нейронів

{|class="wikitable" |+ Порівняння моделей нейронів ! Штучна нейронна мережа (ШНМ) ! Пірамідний нейрон нової кори (біологічний нейрон) ! Нейрон моделі ІЧП |- style="vertical-align:top"

Порівняння ІЧП та нової кори