Close

29.04.2016

Еще раз про HTM, но другими словами

Случайно набрел в сети на небольшое описание HTM (иерархической временной памяти) от 2011 года. Описание настолько хорошо описывает суть HTM (скрывая технические и алгоритмические детали) и объясняет связь с нейробиологическими моделями, насколько оригинальная статья «Towards a Mathematical Theory of Cortical Micro-circuits» этого не делает.

Привожу свой перевод ниже.

Алгоритм работы HTM предполагает, что окружающий мир устроен по принципу иерархической причинности. Например, родительские объекты в вершине дерева (например, «квадрат») определяют объекты среднего уровня (например, «грани» и «углы»), а они в свою очередь определяют объекты нижнего уровня (листья дерева — «черные и белые пиксели»). При этом восходящие процессы обработки информации (bottom-up) объединяют наблюдаемую информацию для того, чтобы сделать вывод (inference) об объектах верхнего уровня: ряд «черных пикселей» позволяет сделать вывод о том, что это «линия»; четыре «линии» и четыре «угла» о том, что это квадрат. Нисходящие процессы обработки имеют возможность получить контекстную информацию для улучшения работы на нижних уровнях: «в этом место должна быть линия, поэтому этот пиксель должен быть черным».

HTM предполагает и временную иерархию, в том смысле, что объекты, находящиеся на верхних уровнях, изменяются медленнее, чем объекты на нижележащих уровнях — передвигающийся квадрат остается квадратом, тогда как поле пикселей через которое он перемещается постоянно изменяется (белые пиксели становятся черными и наоборот). Это упрощает обучение — нижние уровни обучаются быстро меняющимся паттернам, тогда как верхним уровням остаются медленно меняющиеся паттерны.

HTM_11

Для того чтобы HTM мог предсказывать следующий паттерн в последовательности используется алгоритм «распространения ожиданий» (belief propagation). George и Hawkins предположили, что одна кортикальная микроколонка может реализовывать уравнения BP-алгоритма.

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

  1. Слой 4: распознает текущий паттер слоя на основе оценок дочерних уровней касательно их активных последовательностей паттернов (представленных в уровнях 2/3 нижележащего слоя)
  2. Слой 2/3: определяет вероятность активной цепочки слоя на основе текущего паттерна (уровень 4) и предыдущего паттерна, сохраненного в память (слой 2/3). Эта информация передается в слой 4 вышележащего уровня

Как только процессы восходящей обработки (feedforward) завершены и распознан корневой паттерн, начинают работать процессы нисходящей обработки (feedback, красные стрелки на рисунке), передающие информацию о контексте вниз по иерархии слоев:

  1. Слой 5: уточняет активный паттерн уровня на основе полного контекста активной цепочки (информацию о контексте поступает от слоя 6 родительского уровня) и информации о запомненном последнему паттерне (слой 2/3).
  2. Слой 6: уточняет активные цепочки дочерних уровней на основе активного паттерна (слой 5). Эта информация передается вниз в слой 2/3 дочернего уровня

 

One Comment on “Еще раз про HTM, но другими словами

Михаил Павлов
11.05.2016 в 16:08

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

Вот сфера применения для акапеллы тоже.

Немного в сторону.
Опять же. схема данных в нашем СУП точно иерархическая и описательная, имеет и декларативную природу, позволяющую выражать большие веши скрывая контекст внутри.
Такая структура в процессе обработки может быть пройдена и внутрь и вверх. Например для семантического анализа.
Мне понравилось также что мы можем даже составить график частоты изменения внутренних узлов и корневых, используя описанное свойство «временной памяти» , чтобы , например, увидеть подозрительные вещи.
Понятно, что корневые меняются реже, но во сколько раз ? тут возможно выделить подозрительные поведения как минимум двух видов: слишком редко меняется, или слишком часто. и это помогает понять: менеджр успевает работать со своей групой или он работет быстрее своей группы подчиненных.
Я даже не могу вот так сходу назвать где есть подобный анализ ?
И ясно, из описанного и прочего опыта, что он невозможен без иерархического контекста самой информации. тут СУП реально лучше работает для таких целей.

Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *