Иерархическая временная память - Hierarchical temporal memory

Иерархическая временная память ( HTM ) - это технология машинного интеллекта с биологическими ограничениями, разработанная Numenta . Первоначально описанный в 2004 году в книге Джеффа Хокинса с Сандрой Блейксли « Об интеллекте » , HTM в основном используется сегодня для обнаружения аномалий в потоковой передаче данных. Технология основана на нейробиологии и физиологии и взаимодействия пирамидальных нейронов в коре головного мозга на млекопитающих (в частности, человека ) мозга.

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

HTM был протестирован и реализован в программном обеспечении с помощью примеров приложений от Numenta и нескольких коммерческих приложений от партнеров Numenta.

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

Типичная сеть HTM представляет собой древовидную иерархию уровней (не путать со « слоями » неокортекса , как описано ниже ). Эти уровни состоят из более мелких элементов , называемых область S (или узлы). Один уровень иерархии может содержать несколько регионов. На более высоких уровнях иерархии часто меньше регионов. Более высокие уровни иерархии могут повторно использовать шаблоны, изученные на более низких уровнях, комбинируя их для запоминания более сложных шаблонов.

Каждый регион HTM выполняет одну и ту же базовую функцию. В режимах обучения и вывода сенсорные данные (например, данные из глаз) поступают в области нижнего уровня. В режиме генерации области нижнего уровня выводят сгенерированный шаблон данной категории. Верхний уровень обычно имеет одну область, в которой хранятся самые общие и наиболее постоянные категории (концепции); они определяют или определяются меньшими концепциями на более низких уровнях - концепциями, более ограниченными во времени и пространстве. В режиме вывода область (на каждом уровне) интерпретирует информацию, поступающую из ее «дочерних» областей, как вероятности категорий, которые она хранит в памяти.

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

Как развивающаяся модель

HTM - это алгоритмический компонент теории интеллекта Джеффа Хокинса «Тысяча мозгов». Таким образом, новые данные о неокортексе постепенно включаются в модель HTM, которая со временем меняется в ответ. Новые результаты не обязательно аннулируют предыдущие части модели, поэтому идеи одного поколения не обязательно исключаются из следующего. Из-за развивающейся природы теории было несколько поколений алгоритмов HTM, которые кратко описаны ниже.

Первое поколение: zeta 1

Первое поколение алгоритмов HTM иногда называют дзета-1 .

Обучение

Во время обучения узел (или регион) получает временную последовательность пространственных паттернов в качестве входных данных. Процесс обучения состоит из двух этапов:

  1. В пространственных бассейновых идентифицирует (во входных данных) часто наблюдаются узоры и запоминать их как «совпадения». Паттерны, которые существенно похожи друг на друга, считаются одним и тем же совпадением. Большое количество возможных шаблонов ввода сводится к управляемому количеству известных совпадений.
  2. В височных бассейновой перегородке случайности , которые, вероятно, следует друг за другом в последовательности обучения в височные группы. Каждая группа шаблонов представляет собой «причину» входного шаблона (или «имя» в On Intelligence ).

Концепции пространственного и временного объединения по-прежнему очень важны в текущих алгоритмах HTM. Временное объединение еще недостаточно изучено, и его значение со временем изменилось (по мере развития алгоритмов HTM).

Вывод

Во время вывода узел вычисляет набор вероятностей того, что шаблон принадлежит каждому известному совпадению. Затем он вычисляет вероятности того, что входные данные представляют каждую временную группу. Набор вероятностей, назначенных группам, называется «убеждением» узла о входном шаблоне. (В упрощенной реализации убеждение узла состоит только из одной победившей группы). Это убеждение является результатом вывода, который передается одному или нескольким «родительским» узлам на следующем более высоком уровне иерархии.

«Неожиданные» шаблоны для узла не имеют доминирующей вероятности принадлежности к какой-либо одной временной группе, но имеют почти равные вероятности принадлежности к нескольким из групп. Если последовательности шаблонов аналогичны обучающим последовательностям, то присвоенные группам вероятности не будут меняться так часто, как шаблоны принимаются. Выход узла не изменится так сильно, и разрешение во времени будет потеряно.

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

Поскольку разрешение в пространстве и времени теряется в каждом узле, как описано выше, убеждения, сформированные узлами более высокого уровня, представляют еще больший диапазон пространства и времени. Это должно отражать организацию физического мира, как она воспринимается человеческим мозгом. Считается, что более крупные концепции (например, причины, действия и объекты) изменяются медленнее и состоят из более мелких понятий, которые изменяются быстрее. Джефф Хокинс постулирует, что мозг развил этот тип иерархии, чтобы соответствовать, предсказывать и влиять на организацию внешнего мира.

Более подробную информацию о функционировании Zeta 1 HTM можно найти в старой документации Numenta.

Второе поколение: алгоритмы коркового обучения

Второе поколение алгоритмов обучения HTM, часто называемых алгоритмами коркового обучения ( CLA ), резко отличалось от дзета 1. Оно основывается на структуре данных, называемой разреженными распределенными представлениями (то есть структура данных, элементы которой являются двоичными, 1 или 0, и количество 1 битов которого мало по сравнению с количеством 0 битов), чтобы представить активность мозга и более биологически реалистичную модель нейрона (часто также называемую клеткой в контексте HTM). В этом поколении HTM есть два основных компонента: алгоритм пространственного пула , который выводит разреженные распределенные представления (SDR), и алгоритм памяти последовательностей , который учится представлять и предсказывать сложные последовательности.

В этом новом поколении слои и мини - столбцы коры головного мозга частично смоделированы. Каждый уровень HTM (не путать с уровнем HTM иерархии HTM, как описано выше ) состоит из ряда тесно связанных мини-столбцов. Уровень HTM создает разреженное распределенное представление из своих входных данных, так что фиксированный процент мини-столбцов является активным в любой момент времени. Под миниколонкой понимается группа ячеек, имеющих одно и то же рецептивное поле . В каждом мини-столбце есть несколько ячеек, которые могут запоминать несколько предыдущих состояний. Ячейка может находиться в одном из трех состояний: активном , неактивном и прогнозируемом .

Пространственное объединение

Восприимчивое поле каждого мини-столбца - это фиксированное количество входов, которые случайным образом выбираются из гораздо большего количества входных данных узла. В зависимости от (конкретного) шаблона ввода некоторые мини-столбцы будут более или менее связаны с активными входными значениями. Пространственное объединение выбирает относительно постоянное количество наиболее активных мини-столбцов и инактивирует (подавляет) другие мини-столбцы, расположенные рядом с активными. Подобные шаблоны ввода имеют тенденцию активировать стабильный набор мини-столбцов. Объем памяти, используемой каждым слоем, может быть увеличен для изучения более сложных пространственных шаблонов или уменьшен для изучения более простых шаблонов.

Активные, неактивные и прогнозирующие ячейки

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

Как клетки становятся активными?

Если одна или несколько ячеек в активном мини-столбце находятся в состоянии прогнозирования (см. Ниже), они будут единственными ячейками, которые станут активными на текущем временном шаге. Если ни одна из ячеек в активном мини-столбце не находится в состоянии прогнозирования (что происходит во время начального временного шага или когда активация этого мини-столбца не ожидалась), все ячейки становятся активными.

Как клетки становятся предсказательными?

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

Вывод миниколонки

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

Вывод и онлайн-обучение

Алгоритмы коркового обучения могут непрерывно учиться на основе каждого нового входного паттерна, поэтому отдельный режим вывода не требуется. Во время логического вывода HTM пытается сопоставить поток входных данных с фрагментами ранее изученных последовательностей. Это позволяет каждому уровню HTM постоянно прогнозировать вероятное продолжение распознанных последовательностей. Индекс предсказанной последовательности - это результат слоя. Поскольку прогнозы имеют тенденцию меняться реже, чем шаблоны ввода, это приводит к увеличению временной стабильности вывода на более высоких уровнях иерархии. Прогнозирование также помогает заполнить недостающие шаблоны в последовательности и интерпретировать неоднозначные данные, заставляя систему делать выводы о том, что она предсказывала.

Применение CLA

Алгоритмы коркового обучения в настоящее время предлагаются Numenta как коммерческие SaaS (например, Grok).

Срок действия CLA

В сентябре 2011 года Джеффу Хокинсу был задан следующий вопрос относительно алгоритмов коркового обучения: «Как узнать, хороши ли изменения, которые вы вносите в модель?» На что Джефф ответил: «Есть две категории для ответа: одна - это нейробиология, а другая - методы машинного интеллекта. В сфере нейробиологии мы можем сделать множество прогнозов, которые можно проверить. Если наши теории объясняют широкий спектр наблюдений в области нейробиологии, то это говорит нам, что мы на правильном пути. В мире машинного обучения их не волнует только то, насколько хорошо оно работает с практическими проблемами. В нашем случае это еще предстоит выяснить. В той мере, в какой вы можете решить проблему, которую никто не мог решить раньше, люди обратят на это внимание ".

Третье поколение: сенсомоторный вывод

Третье поколение основано на втором поколении и дополняет теорию сенсомоторного вывода в неокортексе. Эта теория предполагает, что кортикальные столбцы на каждом уровне иерархии могут изучать полные модели объектов с течением времени, и что функции изучаются в определенных местах на объектах. Теория была расширена в 2018 году и получила название Теория тысячи мозгов.

Сравнение моделей нейронов

Сравнение искусственной нейронной сети (A), биологического нейрона (B) и нейрона HTM (C).
Сравнение моделей нейронов
Искусственная нейронная сеть (ИНС) Неокортикальный пирамидный нейрон (биологический нейрон ) Модель НТМ Нейрон
  • Мало синапсов
  • Без дендритов
  • Сумма ввода × веса
  • Обучает, изменяя веса синапсов
  • Вдохновленный пирамидными клетками 2/3 и 5 слоев неокортекса.
  • Тысячи синапсов
  • Активные дендриты: клетка распознает сотни уникальных паттернов
  • Моделирует дендриты и спайки NMDA с каждым массивом совпадающих детекторов, имеющим набор синапсов.
  • Учится, моделируя рост новых синапсов

Сравнение HTM и неокортекса

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

Хотя это в первую очередь функциональная модель, было сделано несколько попыток связать алгоритмы HTM со структурой нейронных связей в слоях неокортекса. Неокортекс организован в виде вертикальных столбцов из 6 горизонтальных слоев. Шесть слоев клеток неокортекса не следует путать с уровнями иерархии HTM.

Узлы HTM пытаются смоделировать часть кортикальных столбцов (от 80 до 100 нейронов) примерно с 20 «клетками» HTM на столбец. HTM моделируют только слои 2 и 3 для обнаружения пространственных и временных характеристик входных данных с 1 ячейкой на столбец в слое 2 для пространственного «объединения» и от 1 до 2 дюжин на столбец в слое 3 для временного объединения. Ключом к HTM и кортексам является их способность справляться с шумом и вариациями входных данных, что является результатом использования «разреженного дистрибутивного представления», когда только около 2% столбцов являются активными в любой момент времени.

HTM пытается смоделировать часть обучения и пластичности коры, как описано выше. Различия между HTM и нейронами включают:

  • строго бинарные сигналы и синапсы
  • нет прямого ингибирования синапсов или дендритов (но моделируется косвенно)
  • в настоящее время моделируются только слои 2/3 и 4 (не 5 или 6)
  • нет «моторного» управления (уровень 5)
  • нет обратной связи между регионами (от высокого уровня 6 до низкого уровня 1)

Редкие распределенные представления

Интеграция компонента памяти с нейронными сетями имеет долгую историю, восходящую к ранним исследованиям распределенных представлений и самоорганизующихся карт . Например, в разреженной распределенной памяти (SDM) шаблоны, закодированные нейронными сетями, используются в качестве адресов памяти для памяти с адресацией по содержанию , при этом «нейроны» по существу служат в качестве кодеров и декодеров адресов.

Компьютеры хранят информацию в плотных представлениях, таких как 32-битное слово , где возможны все комбинации единиц и нулей. Напротив, мозг использует разреженные распределенные представления (SDR). В неокортексе человека около 16 миллиардов нейронов, но в любой момент времени активен лишь небольшой процент. Активность нейронов подобна битам в компьютере, поэтому их представление является разреженным. Подобно SDM, разработанному НАСА в 80-х годах, и моделям векторного пространства, используемым в скрытом семантическом анализе , HTM использует разреженные распределенные представления.

SDR, используемые в HTM, представляют собой двоичные представления данных, состоящие из многих битов с небольшим процентом активных битов (единицы); типичная реализация может иметь 2048 столбцов и 64К искусственных нейронов, из которых всего 40 могут быть активными одновременно. Хотя может показаться менее эффективным, чтобы большая часть битов оставалась «неиспользованной» в любом заданном представлении, SDR имеют два основных преимущества перед традиционными плотными представлениями. Во-первых, SDR терпимы к искажению и двусмысленности из-за того, что значение представления разделяется ( распределяется ) по небольшому проценту ( разреженному ) активным битам. В плотном представлении переворот одного бита полностью меняет значение, в то время как в SDR один бит может не сильно повлиять на общий смысл. Это приводит ко второму преимуществу SDR: поскольку значение представления распределяется по всем активным битам, сходство между двумя представлениями можно использовать как меру семантического сходства в объектах, которые они представляют. То есть, если два вектора в SDR имеют единицы в одной и той же позиции, то они семантически похожи в этом атрибуте. Биты в SDR имеют семантическое значение, и это значение распределяется по битам.

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

Сходство с другими моделями

Байесовские сети

Подобно байесовской сети , HTM состоит из набора узлов, упорядоченных в виде древовидной иерархии. Каждый узел в иерархии обнаруживает массив причин во входных шаблонах и временных последовательностях, которые он получает. Алгоритм пересмотра байесовских убеждений используется для распространения убеждений с прямой и обратной связью от дочерних к родительским узлам и наоборот. Однако аналогия с байесовскими сетями ограничена, потому что HTM может быть самообучающимся (таким образом, что каждый узел имеет однозначные семейные отношения), справляться с чувствительными ко времени данными и предоставлять механизмы для скрытого внимания .

Теория иерархических корковых вычислений, основанная на распространении байесовских убеждений, была ранее предложена Тай Синг Ли и Дэвидом Мамфордом . Хотя HTM в основном согласуется с этими идеями, он добавляет подробности об обработке инвариантных представлений в зрительной коре головного мозга.

Нейронные сети

Как любую систему, моделирующую детали неокортекса, HTM можно рассматривать как искусственную нейронную сеть . Древовидная иерархия, обычно используемая в HTM, напоминает обычную топологию традиционных нейронных сетей. HTM пытается моделировать корковые колонки (от 80 до 100 нейронов) и их взаимодействия с меньшим количеством «нейронов» HTM. Целью современных HTM является захват как можно большего количества функций нейронов и сети (как они понимаются в настоящее время) в пределах возможностей типичных компьютеров и в областях, которые могут быть легко использованы, например, при обработке изображений. Например, обратная связь с более высоких уровней и моторный контроль не предпринимаются, потому что еще не понятно, как их включить, и используются двоичные вместо переменных синапсов, поскольку они были определены как достаточные в текущих возможностях HTM.

LAMINART и подобные нейронные сети, исследованные Стивеном Гроссбергом, пытаются смоделировать как инфраструктуру коры, так и поведение нейронов во временных рамках, чтобы объяснить нейрофизиологические и психофизические данные. Однако в настоящее время эти сети слишком сложны для реального применения.

HTM также связана с работой Томазо Поджио , включая подход к моделированию вентрального потока зрительной коры, известный как HMAX. Сходство HTM с различными идеями искусственного интеллекта описано в декабрьском выпуске журнала Artificial Intelligence за 2005 год.

Неокогнитрон

Neocognitron , иерархическая многослойная нейронная сеть, предложенная профессором Кунихико Фукусима в 1987 году, является одной из первых моделей нейронных сетей с глубоким обучением .

Платформа NuPIC и инструменты разработки

Numenta Платформа для интеллектуальных вычислений (NuPIC) является одним из нескольких доступных реализаций НТМА . Некоторые из них предоставляются Numenta , а некоторые разрабатываются и поддерживаются сообществом HTM с открытым исходным кодом .

NuPIC включает реализации пространственного пула и временной памяти как на C ++, так и на Python. Он также включает 3 API . Пользователи могут создавать системы HTM, используя прямые реализации алгоритмов , или создавать сеть, используя сетевой API , который представляет собой гибкую структуру для построения сложных ассоциаций между различными уровнями коры головного мозга.

NuPIC 1.0 был выпущен в июле 2017 года, после чего кодовая база была переведена в режим обслуживания. Текущие исследования продолжаются в исследовательских кодовых базах Numenta .

Приложения

Следующие коммерческие приложения доступны с использованием NuPIC:

  • Grok - обнаружение аномалий для ИТ-серверов, см. Www.grokstream.com
  • Cortical.io - расширенная обработка естественного языка, см. Www.cortical.io

На NuPIC доступны следующие инструменты:

  • HTM Studio - найдите аномалии во временных рядах, используя собственные данные, см. Numenta.com/htm-studio/
  • Numenta Anomaly Benchmark - сравните аномалии HTM с другими методами обнаружения аномалий, см. Numenta.com/numenta-anomaly-benchmark/

Следующие примеры приложений доступны на NuPIC, см. Numenta.com/applications/ :

  • HTM для акций - пример отслеживания аномалий на фондовом рынке (пример кода)
  • Обнаружение мошеннического поведения - пример обнаружения аномалий в поведении человека (технический документ и образец кода)
  • Геопространственное отслеживание - пример обнаружения аномалий в объектах, движущихся в пространстве и времени (технический документ и образец кода)

Смотрите также

Связанные модели

Рекомендации

Внешние ссылки

Официальный

Другой