Формирование пространственно распределенного представления входа
Входная информация для нашего региона представляет из себя огромное количество бит. В мозге это были бы аксоны от других нейронов. В любой момент времени некоторые из них были бы активны (равны 1) или не активны (равны 0). И процент активных битов входа пусть варьируется скажем от 0 до 60%. Первым делом НТМ регион конвертирует свой вход в пространственное разреженное представление. Например, при 40% активных битах на входе, всего в новом его представлении может быть только около 2% активных битов. Регион НТМ логически состоит из множества колонок. Каждая колонка состоит из одной или более клеток (аналогов нейронов). Колонки можно себе представить в виде двухмерного массива, хотя это и не обязательно. Каждая колонка в нашем регионе воспринимает свою уникальную область входных битов (обычно они перекрываются между собой, но никогда не совпадают для двух разных колонок). В результате, различные паттерны на входе региона приводят к различным уровням активации колонок региона. При этом колонки с более высоким уровнем активации подавляют (деактивируют) (или ингибируют) близлежащие колонки с меньшим уровнем. Такое подавление происходит в окрестности, радиус которой может изменяться от очень небольшого до размеров всего региона. Распределенное представление входных данных кодируется тем какие колонки являются активными, а какие нет, после такой деактивации. Функция такого подавления определяется в алгоритме так, чтобы получать относительно постоянный процент активных колонок в регионе, даже когда процент активных битов на входе меняется весьма существенно.
Рисунок 2.1: Регион НТМ состоит из колонок клеток. Показана только небольшая часть региона. Каждая колонка клеток получает на вход активацию от уникальной области входных битов. Колонки с более сильной активацией подавляют колонки с более слабой активацией. В результате получается разраженное пространственное представление входных данных (активные колонки показаны светло-серым цветом).
Представьте себе теперь, что входной паттерн изменился. Если при этом поменялось только несколько входных битов, то некоторые из колонок будут получать лишь немного больше, или немного меньше, активных битов, но результирующее множество активных, вероятно, не должно сильно измениться. Таким образом похожие входные паттерны (те которые имеют существенное множество общих активных битов) будут отображаться в относительно стабильное множество активных колонок. Насколько стабильным будет такое кодирование сильно зависит от того к каким входным битам подключена каждая из колонок. Эти подключения определяются алгоритмом обучения, который описывается далее. Все вышеперечисленные шаги (обучение каждой колонки подключениям к конкретным битам из своего входа, определение уровня активации входом для каждой из колонок, и использование подавления для выбора разреженного множества активных колонок) будут нами называться «пространственный группировщик» (Spatial Pooler) (Один из алгоритмов самообучения НТМ). Этот термин означает, что результирующие паттерны будут «пространственно похожи» (то есть у них будет много общих активных битов) и таким образом «сгруппированы» (то есть собраны вместе в общие представления)
|