Автор: Fractaler Принцип: Появление элемента уровня N->Увеличение количества этих элементов>Формирование из совокупности элементов элемента уровня N+1 |
|
И что, какие проблемы? Алгоритмов полно.
Как только Вы выделили какой-то "объект" - значит, на данном уровне появилось новое значение номинального или дискретнозначного признака (каждому классу - своё кодовое значение, объекты внутри класса считаем инвариантными на данном уровне).
С другой стороны, на этом уровне (для первого уровня = на уровне реального мира) имеется "язык", или "грамматика", определяющая последовательность поступления объектов на датчик/сенсор. Разные причинно-следственные связи между объектами (или между объектами и наблюдателем) - разная грамматика.
А алгоритмов построения иерархической структуры языка - полно. В нейросетях см. работу Джеффа Элмана 90 года, среди методов ИИ - например, алгоритм Sequitur 97 года, и т.д.
Всё великолепно работает с музыкальными, генетическими, естественными текстами. "Буквы" объединяются в слова, разрешённые грамматикой, и т.д., слова - во фразы (подлежащее-сказуемое) и т.д.
Работает - в онлайн-режиме, т.е. изначально алгоритм не знает, сколько "букв" будет даже на первом уровне (и тем более не знает, сколько будет уровней абстракции).
Т.е. главное - адекватный задаче классификатор (и/или детектор новизны) на первом уровне, который будет переводить поток воспринимаемых образов в поток символов=кодов классов. А дальше отдельный алгоритм-"рассуждалка" выстроит иерархическую структуру концепций. Проблемой будет "обозвать" эти высокоуровневые концепции (поскольку их слова-названия могли присутствовать на первом уровне как синонимы более детальных, низкоуровневых вещей).