Распространение гипотез гарантирует, что все узлы быстро приходят к наилучшим взаимно согласованным гипотезам

Граф, где каждый узел представляет гипотезу или набор гипотез, обычно называют Байесовской сетью. Соответственно, HTM подобны Байесовским сетям. В Байесовских сетях гипотезы в каждом узле могут модифицировать гипотезы в других узлах, если два узла соединены таблицей условных вероятностей (CPT, Conditional Probability Table). CPT это матрица, где столбцы матрицы соответствуют отдельным гипотезам от одного узла, а строки соответствуют отдельным гипотезам другого узла. Умножая вектор, представляющий гипотезы в исходном узле, на матрицу CPT, получают вектор гипотез целевого узла.

Проиллюстрируем идею простым примером. Предположим, что у нас есть два узла, где узел A представляет гипотезу о температуре воздуха, и имеет пять переменных, помеченных «горячий», «теплый», «умеренный», «холодный» и «морозный». Узел B представляет гипотезу о выпадении осадков и имеет четыре переменных, помеченных «ясно», «дождь», «мокрый снег», «снег». Если нам что-то известно о температуре, можно что-то сказать о выпадении осадков и наоборот. Матрица CPT инкапсулирует эти знания. Довольно легко заполнить значения в CPT путем сопоставления значений в узлах A и B по мере их изменения во времени. Обучение CPT и после выдвижение гипотез о том, как знания в одном узле влияют на другой узел, может быть выполнено даже когда гипотезы двух узлов неоднозначны или при наличии распределения гипотез. Например, узел A может иметь гипотезу, что вероятность «горячий» - 0%, вероятность «теплый» - 0%, вероятность «умеренный» - 20%, вероятность «холодный» - 60% и вероятность «морозный» - 20%. Умножая этот вектор температурных гипотез на CPT даст в результате вектор, представляющий соответствующие гипотезы о выпадении осадков.

Распространение Гипотез (РГ) это математическая техника, используемая в Байесовских сетях. Если сеть узлов удовлетворяет определенным правилам, таким как отсутствие любых петель, РГ может быть использовано для того, чтоб заставить сеть быстро урегулировать набор взаимно соответствующих наборов гипотез. При соответствующих ограничениях РГ показывает, что сеть достигает оптимального состояния за время, требуемое сообщению для преодоления максимальной длины пути по сети. РГ не итерируется для достижения конечного состояния; оно происходит за один проход. Если вы устанавливаете набор гипотез на одном или более узлах Байесовской сети, РГ быстро заставит все узлы сети достигнуть взаимно соответствующих гипотез.

Для разработчика систем, основанных на HTM, полезно иметь базовое понимание Байесовских сетей и Распространения Гипотез. Исчерпывающее введение выходит за пределы этого документа, но легко может быть найдено в интернете или в книгах.

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

Есть несколько преимуществ при выдвижении гипотез таким образом. Одно заключается в том, что неоднозначности разрешаются по мере продвижения гипотез вверх по иерархии. Например, вообразите сеть с тремя узлами, родительским узлом и двумя дочерними. Дочерний узел A содержит гипотезы, что с 80%-й вероятностью он видит собаку и с 20%-й вероятностью он видит кошку. Дочерний узел B содержит гипотезы, что он с 80%-й вероятностью слышит поросячий визг и с 20%-й вероятностью кошачье мяуканье. Родительский узел с высокой уверенностью делает вывод, что имеется кошка, а не собака и не поросенок. Он выбирает кошку, потому что эта гипотеза единственная, которая удовлетворяет входной вероятности. Он сделал бы этот выбор, даже если изображение «кошка» и звук «кошка» были бы не самыми вероятными гипотезами дочерних узлов.

Другое преимущество иерархического РГ заключается в том, что возможно заставить систему быстро приходить в равновесие. Время, требуемое HTM для выдвижения гипотезы растет линейно с увеличением количества уровней иерархии. Однако память, требуемая HTM, растет экспоненциально с увеличением количества уровней. HTM могут иметь миллионы узлов, сохраняя при этом самый длинный путь коротким, скажем, пять или десять шагов.

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

HTM и Байесовские сети – это «графические вероятностные модели». Вы можете представлять HTM аналогичными Байесовским сетям, но с некоторой значительной добавкой для манипулирования временем, самообучения и обнаружения причин.

РГ имеет несколько ограничений, которые не хотелось бы переносить на HTM. Одно уже было упомянуто. Для гарантии того, что система не зациклится бесконечно и не будет формировать ложных гипотез, РГ запрещает петли в сети. Но очевидно, что РГ работает для многих типов сетей, даже с петлями. Мы уверены, что это верно для HTM. В типичной HTM каждый узел посылает сообщения с гипотезами многим другим узлам (сильно разветвляясь) и получает сообщения с гипотезами от множества других узлов. Высокая степень разветвленности сокращает вероятность самоусиления ложных гипотез. Узлы в HTM еще более сложные, чем при обычном РГ. Из-за слияния и распространения времязависимых последовательностей простая петля между несколькими узлами практически не может привести к ложным гипотезам.

РГ очень мощная концепция и ключевая часть работы HTM. Вы должны рассматривать HTM как большие Байесовские сети, постоянно передающие гипотезы между узлами для достижения наиболее взаимно совместимых гипотез. На узлы внизу иерархии действуют в основном сенсорные паттерны, передаваемые вверх по иерархии.

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

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