Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Совместное использование представлений ведет к обобщению и эффективности хранения



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

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

Наиболее основным подходом, используемым для распознавания объектов на визуальном изображении – это хранение представления-прототипа для каждого из объектов, которые должны распознаваться. Неизвестные паттерны затем проходят через набор трансформаций для приведения их в соответствие с прототипом. Назовем это методом «прототипа и трансформации». Например, если вы хотите распознать печатные буквы, вы могли бы хранить изображение-прототип для каждой буквы. Взяв неизвестное изображение, вы сначала преобразовали бы неизвестное изображение в координатах x-y, чтобы отцентрировать его. Затем вы выполнили бы масштабирующее преобразование, чтобы привести к размеру прототипа. Потом вы могли бы повернуть неизвестное изображение. В конце концов, вы использовали бы некоторую метрику между трансформированным изображением и прототипом для определения наилучшего соответствия. Этот подход может работать на простых задачах, таких как распознавание печатных символов, но он быстро терпит неудачу на более сложных задачах. Для большинства объектов реального мира вы не можете идентифицировать «прототип». Количество возможных преобразований почти не ограничено, и часто не находится известных преобразований, которые могли бы быть выполнены для приведения изображения к прототипу.

Например, вообразите, что вы пытаетесь распознать изображение собаки. На вашем прототипе собака повернута влево, а на неизвестном изображении – вправо (конечно, вы не знаете этого, поскольку изображение неизвестное). Вы могли бы испробовать над неизвестным изображением трансформацию «вращение в плоскости», и теперь она бы смотрела бы влево. Однако, что если бы у вас было две картинки, одна с датским догом, другая с китайским мопсом? Человек мог бы узнать обе эти собаки, но какой тип преобразования мог бы быть использован для приведения одного представления к другому? Это сложно сказать. Еще хуже, что если одна картинка показывает собаку спереди, а другая – сзади? Человек не испытывал бы трудностей, распознавая на обеих картинках собаку, но в этом случае не существует обычного преобразования, которое могло бы привести изображение сзади к изображению спереди. Специалисты по зрению испробовали множество способов для преодоления этой проблемы. В конце концов они пришли к выводу, что необходимо хранить более одного прототипа для каждого объекта. Возможно, им понадобились бы прототипы для различных пород собак и каждая – под различными углами.

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

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

Чтобы увидеть, как это происходит, давайте начнем с того, что вообразим один узел внизу иерархии, узел, смотрящий на маленькую часть визуального поля. Если этот узел смотрел бы на кусочек изображения 10x10 (100 двоичных пикселей), количество возможных паттернов, которое он мог бы увидеть, составляет 2 в 100й степени, это очень большое число. Даже если узел видел только крошечную долю возможных паттернов, он не смог бы хранить каждый паттерн, который он предположительно видел бы за свою жизнь. Вместо этого, узел хранит ограниченное, фиксированное число паттернов, скажем 50 или 100. Эти сохраненные паттерны являются точками квантования. Вы можете рассматривать точки квантования как наиболее общие паттерны из тех, что узел видел за время обучения. Дальнейшее обучение не может увеличить число точек квантования, но оно может изменить сами точки. В каждый момент узел получает новую и нестандартную информацию и определяет, насколько близка она к каждой из точек квантования. Заметьте, что этот низкоуровневый узел не знает ничего о больших объектах, таких как собаки и автомобили, поскольку кусок 10х10 пикселей – это всего лишь маленькая часть большого объекта. Причины, которые этот узел может открыть, ограничены по количеству и по сложности. Обычно в визуальной системе причины, открытые узлами, находящимися внизу иерархии, соответствуют таким причинам, как края и углы. Эти причины могут быть частью большинства различных высокоуровневых причин. Край может быть частью собаки, кошки или автомобиля. Следовательно память, используемая для хранения и распознавания низкоуровневых причин, будет использоваться совместно многими высокоуровневыми причинами.

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

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

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

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

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





Дата публикования: 2014-11-29; Прочитано: 315 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...