Close

05.07.2015

Краткая история HTM и компании Numenta

История Numenta

В рассылке numenta-theory, посвященной основам HTM (для тех кто не знает, что такое HTM читайте тут, тут и можно прочитать наши предыдущие посты — этот и этот), один из работников Numenta Мэт Тейлор поделился рассказом об истории компании и их основной разработки — иерархической временной памяти.

Ссылка на его пост — здесь. Ниже мой перевод:


Некоторое время назад в нашей рассылке и в сообщениях,  которые появлялись в чате, возникло некоторое недопонимание касательно десятилетней истории Numenta и HTM.

Во-первых необходимо напомнить, что основной миссией Numenta является:

  1. Изучение принципов функционирования неокортекса
  2. Создание технологии интеллектуальной обработки информации компьютером на неокортикальных принципах

Джеф Хокинс в своей книге «On Intelligence» описал элементы, которые по его мнению необходимы для построения интеллектуальной системы:

  • общий кортикальный алгоритм (алгоритм обработки входной информации построенный на основе общих принципов, не зависящих от вида информации)
  • иерархия и инварианость
  • последовательности и предсказания
  • непрерывное обучение
  • обратная связь
  • поведение
  • внимание
  • ламинарная структура

Первая реализация HTM имела внутри Numenta название «Zeta 1» и не была open-source’ной. Этот продукт был предназначен для распознавания изображений и новым в нем было — иерархия и инвариантность. Он не использовал разреженное пространственное представление, память последовательность или предсказания. Основным назначение Zeta 1 была классификация изображений. Иерархия работала вполне хорошо и мы закончили разработку Zeta 1 с твердым пониманием того, что такое иерархия в каком виде и как она работает. На основе Zeta 1 компания Vitamin D разработала свой продукт для детекции людей на видео. Этот продукт доступен и сегодня (прим.перев.: ссылка)

Таким образом из всего списка Джефа, который приведен выше, в Zeta 1 были реализованы только принципы иерархичности и инвариантности. Поэтому дальше мы сфокусировались на элементах, которые не были реализованы в Zeta 1. При этом в Zeta 1 не было биологически правдоподобных элементов и нам стало очевидно, что мы движемся совсем не потому пути, если мы хотим реализовать все элементы из книги Джефа.

Второе поколение алгоритмов HTM достаточно точно описано в CLA White Paper [1] и было представлено общественности как open-source проект в Июне 2013 г. [2]. Эта реализация HTM не содержала иерархии и инвариантности, но она была построена на более биологически оправданных принципах и была намного ближе к нейрофизиологическим моделям, чем Zeta 1. В данной реализации воплощены концепции временных последовательностей, представления и непрерывного обучения. Нашим планом было сосредоточиться на реализации одного элемента неокортекса (без иерархии) и реализовать его как можно более правдоподобно, при этом мы всегда подразумевали, что в будущем сможем добавить иерархию таких элементов.

На текущий момент реализации представленные в репозиториях NuPIC [3] и nupic.research [4] могут быть названы следующим (третьим) поколением алгоритмов HTM.  Переход от Zeta 1 к текущему исходному коду NuPIC был действительно большим шагом и фактически потребовал заново разработать все части HTM/CLA. При этом третье поколение наших алгоритмов построено на открытом коде.

Отмечу, что разработка над третьим поколением HTM еще продолжается и мы надеемся реализовать все указанные Джефом элементы интеллектуальной системы.

Мы в Numenta оцениваем текущие результаты как вполне успешные. Когда мы принимали решение открыть исходные код NuPIC, мы понимали, что работа над ним еще не окончена и мы надеемся на сообщество понимает это, также как и то, что потребуется еще значительное количество времени и усилий. Одной из причин открытия исходного кода, было наше осознание того, что функциональность алгоритмов второго поколения вполне подходит для коммерческого применения. И теперь, находясь в процессе разработки новых алгоритмов, мы стараемся быть как можно более открытыми для того, чтобы предоставить любой заинтересованной стороне возможность наблюдать за развитием нашего продукта, предоставить возможность обратной связи, совместной разработки и построения новых прикладных приложений. Многие из вас делают это и мы благодарим вас и в особенности мы бы хотели поблагодарить тех из вас, кто использует NuPIC и разрабатывает свои собственные версии HTM.

[1] http://numenta.org/htm-white-paper.html
[2] https://github.com/numenta/nupic/tree/9b0b18ed9161cbc9dad27c7fbbb2b2286e8718cb
[3] https://github.com/numenta/nupic
[4] https://github.com/numenta/nupic.research

Ниже приведено видео примера работы Zeta 1:

 

 

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

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