Московский государственный университет путей сообщения
Опубликован: 12.09.2011 | Доступ: платный | Студентов: 138 / 6 | Оценка: 4.67 / 4.33 | Длительность: 18:55:00
Специальности: Программист
Лекция 5:

Развитие логической нейронной сети для распознавания объектов по заданному набору признаков

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Аннотация: Рассматривается возможность распознавания и выбора объектов временного ряда по значениям множества признаков. Аппарат логических нейронных сетей позволяет производить параллельное, одновременное сравнение значений всех признаков с эталонными на основе расчета функции активации нейронов. Совместное использование нескольких эталонов позволяет построить систему принятия решений. Показываются преимущества однослойных логических нейронных сетей при достижении высокого быстродействия вычислительных средств и при развитии систем принятия решений, в том числе, - при введении обратных связей.
Ключевые слова: временной ряд, искусственный интеллект, поток, селекция, распараллеливание, поток объектов, аппроксимация, фондовые рынки, контроль, место, последовательный анализ, Дополнение, распознавание, точное совпадение, объект, передаточная функция, нейроподобный элемент, ассоциативное мышление, нейрон, алгоритм, анализ, значение, путь, многопроцессорность, суперкомпьютер, кластер, локальная вычислительная сеть, нейрокомпьютер, логическая нейронная сеть, система принятия решений, рецепторный слой, исчерпывающее множество событий, рецептор, булева переменная, сеть, выходной слой, логическое описание, функция активации, вес, система принятия, связь, множества, искусственные нейронные сети, обработка сигналов, матрица следования, параллельная обработка, SPMD-технология, загрузка, индексация, адрес, нейронная сеть, индекс, компромисс, логические выражения, однослойная сеть, значения порогов, логические операции, дизъюнкция, конъюнкция, достоверность, размножение решений, конъюнктор, интерпретация, описание системы, входной слой, единица, отображение, умозаключение, длина конъюнкции , длина, нечеткое множество, нормальный закон, распределение вероятности, математическим ожиданием, Гистограмма, очередь, обратная связь, структурированная логическая нейронная сеть , функция активации нейрона

Детерминированные оценки объектов временного ряда

А г а ф ь я Т и х о н о в н а. ...Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому еще дородности Ивана Павловича – я бы тогда тотчас же решилась.

Н.В. Гоголь, "Женитьба"

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

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

Маша хочет замуж... Нескончаемой чередой мимо ее окошка по городской улице проходят мужчины... Идеал настоящего мужчины, достойного стать ее мужем, Маша определила по следующим свойствам – признакам:

  • Он брюнет;
  • Его рост – не менее 180 см;
  • Он обладатель длинного носа;
  • Он должен носить шляпу.

Поток мужчин настолько интенсивен, что Маша принимает единственно правильное решение: она должна автоматизировать процесс селекции мужчин, обладающих указанными признаками, для того чтобы в реальном времени, с применением методов распараллеливания, проводить (в своих мечтах) обработку встретившегося "кандидата".

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

Среди этих задач важное место занимает задача селекции и идентификации – задача ассоциативного поиска по эталону. Такая задача возникает, например, при сопровождении спутника, вновь появившегося в секторе обзора.

В простейшей постановке задача формулируется следующим образом.

Объекты, составляющие временной ряд, т.е. последовательно предъявляемые для обработки, обладают множеством признаков A = \{a_1, …, a_m\}. Задан эталон, соответствующий фиксированному значению этих признаков В = \{b_1, …, b_m\}. Необходимо в динамике последовательного анализа объектов временного ряда выделять (и направлять на специальную обработку) те объекты, где все значения признаков совпадают с эталонными, a_i = b_i, i = 1, …, m.

Обобщением постановки этой задачи, превращающим ее в задачу классификации, является следующее дополнение: Произвести распознавание каждого возможного набора значений признаков A = \{a_1, …, a_m\} для принятия решения по дальнейшей обработке объекта, признаки которого обладают этими значениями. Очевидно, решение данной задачи включает в себя решение задачи, поставленной ранее.

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

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

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

Однако такой порядок анализа признаков требует периодического исследования выборок из временного ряда для выявления частоты появления требуемых значений признаков. В комплексе, исследование ряда и частотный анализ значений признаков (по каждому эталону!) можно рассматривать как путь построения самонастраивающегося (по минимуму требуемой производительности) алгоритма поиска с помощью последовательного сравнения значений признаков с эталонными.

Машу такой путь не устраивает. Ей хочется получить алгоритм параллельного анализа всех признаков сразу, методом, подобным методу ассоциативного мышления – для дальнейшего обоснования применения параллельных вычислительных средств: многопроцессорного суперкомпьютера, кластера локальной вычислительной сети или нейрокомпьютера. Кроме того, она рассчитывает в дальнейшем принимать решения не по единственному эталону и даже – не по единственному идеалу.

Приступим к формированию логической нейронной сети – основы машиной системы принятия решений (рис.5.1).

Для формирования нейронов рецепторного слоя произведем градацию "мужских" признаков па основе понятия исчерпывающего множества событий.

  1. Пусть в Машином представлении мужчины бывают брюнеты, блондины, прочие. Это требует введения трех нейронов-рецепторов.
  2. В области интересов, касающихся роста, Маша выделила четыре исчерпывающих диапазона, которым соответствуют высказывания: "ниже 180 см", "180 – 190 см", "190 – 200 см", "выше 2 м". Это требует использования еще четырех нейронов рецепторного слоя.
  3. В части длины носа у Маши выработался свой стереотип, в соответствии с которым она делит носы на "короткие", "картошечкой" и "длинные", также предполагая, что все возможности исчерпаны, и трех рецепторов ей достаточно.
  4. Наличию шляпы соответствует булевы переменные "шляпа есть" и "шляпы нет". (Не забывать, что они задаются значениями истинности соответствующих высказываний!) Значения этих переменных преобразуются в действительные. Для данных переменных необходимы два рецептора.

Для краткого описания системы принятия решений (СПР) введем обозначения всех фигурирующих высказываний (это отражено на рис.5.1):

 Система принятия решений

Рис. 5.1. Система принятия решений

x_1 = "Брюнет";

x_2 = "Блондин";

x_3 = "Прочий";

y_1 = "Ниже\ 180см";

y_2 = "Между\ 180\ и\ 190см";

y_3 = "Между\ 190\ см\ и\ 2м";

y_4 = "Выше\ 2 м";

z_1 = "Нос\ короткий";

z_2 = "Нос\ картошечкой";

z_3 = "Нос\ длинный";

k_1 = "Шляпа\ есть";

k_2 = "Шляпы\ нет".

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

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

Тогда логическое описание СПР имеет вид:

x_1 \land (y_2 \lor y_3) \land z_3 \land k_1 \to R_1 = <Сладко\ помечтать\ о\ возможном\ счастье>;

x_1 \land y_4 \land z_3 \land k_1 \to R_2 = <Воскликнуть:\ "Ну\ почему\ он\ такой\ высокий!">;

x_2 \land (y_1 \lor y_4) \land (z_1 \lor z_2) \land k_2 \to R_3 = <Воскликнуть:\ "Как\ только\ таких\ на\ улицу\ выпускают! " >;

x_3 \land y_4 \land z_3 \land k_2 \to R_4 = <Воскликнуть:\ "А\ ведь\ хорош!\ Но...">

Необходимо отметить, что при решении общей задачи анализа всех возможных ситуаций количество N нейронов выходного слоя в данном случае должно составлять 3 \times 4 \times 3 \times 2 = 72. Каждый нейрон выходного слоя в этом случае указывал бы на решение, принимаемое для соответствующей ему комбинации значений признаков. В общем случае обработки временного ряда справедливо учитывать все возможные ситуации, принимая по каждой из них отдельное решение.

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

Воспользовавшись рекомендациями Лекции 13, Маша выбирает функцию активации на основе счета значений следующих выражений:

f_i=\sum \limits_j \omega_j V_j
f_{Вых i}= \begin{cases}
f_i,\ &при\ f_i \ge h}\\
0,\ &в\ противном\ случае
\end{cases} ( 5.1)

Здесь V_jзначение возбуждения на j-м входе нейрона выходного слоя, поступившего от связанного с ним рецептора, \omega_jвес входа (связи). На этапе обучения значение возбуждения рецептора принимается равным единице, если значение высказывания о наличии соответствующего признака является истинным, и равным нулю в противном случае.

Порог h выбирается из следующих соображений. Поскольку возбуждение нейрона выходного слоя должно быть высоким только в случае поступления на его вход ровно четырех единиц, следует выбрать значение 4 > h > 3. Легко проверить, что все ситуации, по которым предусмотрено решение, обнаруживаются с помощью высокого возбуждения единственного нейрона выходного слоя. Если ситуация относится к тем, по которым решение не предусмотрено, то ни один нейрон выходного слоя не возбудится, и Маша просто проигнорирует появление на улице очередного мужчины.

На рис.5.1 система принятия решений представлена полностью. Все веса связей равны единице и потому на рисунке не обозначены.

Конечно, в виде, представленном на рисунке, нейронная сеть не обрабатывается компьютером. Информационная технология обработки логической нейронной сети основана на представлении ее матрицей следования (рис.5.2). Каждая строка и столбец соответствуют нейрону, а связи показаны их весами в том столбце, который соответствует их исходу.

Однако, несколько подумав, Маша приходит к выводу, что наличие длинного носа чревато серьезными последствиями в семейной жизни. Нос "картошечкой", несомненно, благотворнее влияет на мягкость нрава. Тогда Маша решает, что при последующей модификации она обязательно положит вес \omega_{z3 \to Вых 1} связи, ведущей из нейрона-рецептора z_3 к нейрону Вых1, равным 0,5. В то же время она введет новую связь, соединяющую нейрон z_2 с нейроном Вых1. Вес этой связи \omega_{z2 \to Вых 1} она выберет также равным 0,5. Приведенный проект не отражен на рисунке. Он лишь иллюстрирует прекрасные возможности взвешенного учета различных факторов при модификации и развитии логической нейронной сети.

 Матрица следования

Рис. 5.2. Матрица следования

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

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

Поэтому построение нейрокомпьютера, допускающего параллельную обработку многих нейронов по SPMD-технологии [6], следует считать обоснованным и актуальным.

Загрузка входного, рецепторного, слоя заключается в формировании массива, каждый элемент которого соответствует рецептору и должен принять значение возбуждения этого рецептора.

Как же автоматизировать возбуждение рецепторов, придавая каждому из них значение 0 или 1 в соответствии с признаком проходящего мужчины?

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

Чтобы поместить эти значения "на место", следует воспользоваться базированием и индексацией. В качестве значения базы B_i выбирается известный, предусмотренный при программировании, адрес первого элемента подмассива рецепторов, закрепленного за признаком i (i = 1, …, m). Например, для построенной нейронной сети B_1 = 0, B_2 = 3, B_3 = 7, B_4 = 10.

Индекс, или смещение, находится на основе способа градации каждого признака. Например, признак масти мужчины предполагает нумерацию с нуля элементов множества {брюнет, блондин, прочие}. Тогда адрес рецептора, соответствующего высказыванию "брюнет", равен В_1 + 0 = 0, адрес рецептора, соответствующего высказыванию "блондин", равен В_1 + 1 = 1, и, соответственно, следующий адрес находится как В_1 + 2 = 2.

Адреса рецепторов, определяющих рост, найти труднее. Для этого необходимо исследовать значения роста и соотносить их с принятым шагом градации \Delta, принимая во внимание минимальное учитываемое значение параметра роста. А именно, в данном случае \Delta = 10 (см). Минимальное учитываемое значение признака равно 180 (см). Чтобы его получить, необходимо 0 раз применить (сложить) значение \Delta. Следовательно, 0 – индекс (смещение) для получения, с помощью базы В_2, адреса рецептора, соответствующего высказыванию "рост меньше 180 см".

Для получения адреса рецептора, соответствующего высказыванию "рост лежит в пределах от 180 до 190 см", необходимо один раз применить значение \Delta при суммировании с минимальным значением признака. Следовательно, 1 – индекс (смещение) для получения (с помощью В_2) адреса рецептора, соответствующего данному высказыванию, и т.д.

Для остальных признаков индексы при расчете адресов соответствующих рецепторов находятся с помощью баз В_3 и В_4 аналогично признаку масти.

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Кирилл Артамонов
Кирилл Артамонов

"Тогда как задать возбуждение рецепторов, если инспектор точно установил, что скорость автомобиля при наезде на пешехода была равна 114 км/час?
По-видимому, он рассуждает на основе близости скорости к границам указанного интервала: "Достоверность того, что скорость автомобиля составляет 100 км/час, я найду как (114 – 100):(120 – 100), а достоверность того, что скорость автомобиля составляет 120 км/час, я найду как (120 – 114):(120 – 100). Следует обратить внимание на то, что сумма найденных достоверностей равна единице."

Вопрос по расчёту скорости и сумме достоверности: этот математический (приведенный выше в виде контекста из материала лекции 1, страницы 3) метод справедлив к скоростным показателям выходящим за рамки диапазона 100-120. 
То есть, практически применяв к расчёту, скорости из диапазона 114-155, к диапазону 100-120, получал в результате суммирования достоверностей единицу.
Это похоже на то, как я видимые разные скоростные показатели своим рецептором, буду воспринимать линейно с помощью одного диапазона, так как он универсален. 
Правильно ли это ? 
И как манипулировать данными показателями, если есть универсальный диапазон, по результату выводящий в сумме постоянно единицу на разных скоростных показателях стремящегося.

Владислав Гладышев
Владислав Гладышев

А как проходить курс ? я же могу прямо сейчас все лекции прочитать и здать экзамен, к чему там даты ?