Процедура создания сетей DBN

Для того чтобы создать сеть DBN, необходимо определить три вида информации: распределение априорных вероятностей по переменным состояния, Р(Х0); модель перехода, р (xt+11 xt), и модель восприятия, Р (Et | xt). Чтобы задать модель перехода и модель восприятия, необходимо определить топологию связей между последовательными срезами, а также между переменными состояния и свидетельства. Поскольку предполагается, что модели перехода и восприятия являются стационарными (одинаковыми для всех t), удобнее всего задать их для первого среза. Например, полная спецификация DBN для мира задачи с зонтиком дана с помощью сети с тремя узлами, показанной на рис. 15.9, а. На основании этой спецификации по мере необходимости может быть создана полная (полубесконечная) сеть DBN путем копирования первого среза.
Теперь рассмотрим более интересный пример: текущий контроль за роботом с аккумуляторным питанием, который движется на плоскости X-Y (о нем впервые шла речь в разделе 15.1). Прежде всего необходимо определить переменные состояния, в состав которых мы включим и переменную xt = (xt, Yt), обозначающую положение, и переменную xt = (Xtl Yt), обозначающую скорость. Предполагается, что для измерения координат положения используется определенный метод (возможно, фиксированная телекамера или бортовая система GPS (Global Positioning System — глобальная система позиционирования)), позволяющий получить результаты измерений zt. Положение робота в следующем временном интервале зависит от текущего положения и скорости, как и при использовании стандартной модели с фильтром Калмана. Скорость в следующем временном интервале зависит от текущей скорости и состояния зарядки аккумулятора. Введем переменную Battery для обозначения фактического уровня зарядки аккумулятора, родительскими переменными которой являются предыдущий уровень зарядки аккумулятора и скорость, а также введем переменную BMetert, которая измеряет уровень зарядки аккумулятора. В результате будет получена исходная модель, показанная на рис. 15.9, 6.
Характер модели восприятия для переменной BMetert заслуживает более глубокого анализа. Для упрощения предположим, что переменные Batteryt и BMetert могут принимать дискретные значения от 0 до 5, во многом аналогично измерительному прибору в типичном портативном компьютере, который применяется для контроля за аккумулятором. Если этот прибор всегда дает точные показания, то таблица условных вероятностей Р(BMetert\ Batteryt) должна содержать вероятности 1. О в элементах, расположенных "вдоль диагонали", и вероятности 0 . О во всех других элементах. Но в действительности в результаты измерения всегда проникает шум, поэтому при использовании непрерывных измерений вместо этих результатов может использоваться гауссово распределение с небольшой дисперсией4. Применительно к дискретным переменным, рассматриваемым в данном примере, гауссово распределение можно аппроксимировать с помощью распределения, в котором снижение вероятности ошибки соответствует реальной ситуации, поэтому вероятность крупной ошибки весьма мала. Мы будем использовать термин гауссова модель ошибки применительно и к непрерывной, и к дискретной версиям.
Те, кто имеет практический опыт работы в области робототехники, компьютеризированного управления процессами или в области применения других форм автоматического сбора информации, охотно подтвердят тот факт, что небольшие количества измерительного шума часто являются не самыми серьезными проблемами. Гораздо важнее то, что настоящие датчики отказывают, а когда датчик отказывает, он не всегда посылает сигнал с сообщением: "Между прочим, данные, которые я собираюсь вам отправить, можно считать бессмысленными". Вместо этого он просто передает бессмыслицу. Отказом простейшего типа является временный отказ, при котором датчик время от времени передает бессмысленные данные. Например, может оказаться, что датчик уровня зарядки аккумулятора имеет свойство передавать нулевое значение каждый раз, когда робот ударяется о препятствие, даже если аккумулятор полностью заряжен.
Рассмотрим, что произойдет при возникновении временного отказа, если используется гауссова модель ошибок, которая не приспособлена к таким отказам. Предположим, например, что робот спокойно ожидает и наблюдает за 20 последовательными показаниями датчика аккумулятора, равными 5. Затем датчик аккумулятора допускает временный сбой и передает следующее показание: BMeter21=0. К какому решению должна привести нас простая гауссова модель ошибки применительно к этому значению Ва tt егу211 Согласно правилу Байеса, ответ на этот вопрос зависит и от модели восприятия Р (BMeter21=0 \ Battery21), и от предсказания Р {Battery211 BMeter1:20). Если вероятность большой ошибки датчика является значительно менее правдоподобной, чем вероятность перехода в состояние Battery21=0, даже если последняя ситуация весьма неправдоподобна, то в распределении апостериорных вероятностей будет присвоена высокая вероятность той ситуации, что аккумулятор разряжен. Если же в момент времени t=22 будет получено еще одно показание, равное нулю, то такой вывод станет почти полностью безоговорочным. А после того, как этот временный отказ исчезнет и показания вернутся к 5, начиная с момента t=23 и продолжаясь в последующие моменты, то оценка уровня зарядки аккумулятора, как по волшебству, быстро вернется к 5. Такой ход событий проиллюстрирован на верхней кривой, приведенной на рис. 15.10, я, где показано ожидаемое изменение значения переменной Batteryt во времени при использовании дискретной гауссовой модели ошибки.
Несмотря на последующее восстановление правильных показаний, есть такой момент времени (t=22), в котором робот получил сообщение о разрядке аккумулятора, а в такой ситуации он должен, в принципе, передать сигнал тревоги и отключиться. Итак, к сожалению, чрезмерно упрощенная модель восприятия завела робота в тупик. Как можно исправить такое положение? Рассмотрим знакомый многим пример, в котором при вождении автомобиля на резких поворотах или крутых подъемах иногда загорается сигнал "топливный бак пуст". Но, вместо того чтобы искать телефон аварийной службы, водитель вспоминает, что датчик уровня топлива иногда допускает очень большую ошибку, когда топливо плещется в баке. Мораль этой истории состоит в следующем: для того чтобы система правильно учитывала отказы датчика, модель восприятия должна допускать вероятность его отказа.
В модели отказа простейшего вида для датчика допускается определенная вероятность того, что датчик может выдать полностью неправильное значение, независимо от истинного состояния мира. Например, если прибор на аккумуляторе на время отказывает, возвращая значение 0, то можно ввести значение
P{BMetert=0\Batteryt=5) =0.03
которое, очевидно, значительно больше, чем вероятность, присваиваемая при использовании простой гауссовой модели ошибки. Назовем соответствующую модель моделью временного отказа. Как она может помочь, если мы столкнемся с показанием датчика, равным 0? При условии, что прогнозируемая вероятность полной разрядки аккумулятора, согласно полученным до сих пор показаниям, гораздо меньше 0 . 03, то наилучшим объяснением причин наблюдения BMeter21=0 является то, что произошел временный отказ датчика. Интуитивно ясно, что можно рассматривать уверенность в истинности данных об уровне зарядки аккумулятора как имеющую определенную долю "инерции", которая позволяет преодолеть временные сбои в показаниях датчика. Верхняя кривая на рис. 15.10, б показывает, что модель временного отказа позволяет преодолевать временные отказы без катастрофического изменения в представлениях об истинности данных.
На этом описание временных отказов оканчивается. А что будет, если отказ датчика окажется постоянным? К сожалению, отказы такого типа встречаются слишком часто. Если датчик возвратит 20 показаний со значением 5, за которыми последует 20 показаний со значением 0, то применение модели временного отказа датчика, описанной в предыдущем абзаце, приведет к тому, что робот постепенно придет к выводу, что его аккумулятор разряжен, тогда как в действительности мог произойти отказ датчика. Нижняя кривая, приведенная на рис. 15.10, б, показывает "траекторию" изменения уверенности в истинности показаний датчика доя этого случая. Ко времени t=2 5 (после получения пяти показаний датчика, равных 0) робот приходит к выводу, что его аккумулятор разряжен. Безусловно, мы предпочли бы, чтобы робот приобрел уверенность в том, что неисправен прибор на его аккумуляторе (если такая ситуация действительно является гораздо более вероятной).
Нет ничего удивительного в том, что для учета постоянных отказов требуется модель постоянного отказа, которая описывает, как датчик ведет себя при нормальных условиях и после отказа. Для этого необходимо дополнить скрытое состояние системы дополнительной переменной, скажем, BMBroken, которая описывает состояние прибора аккумулятора. Постоянство отказа может быть промоделировано дугой, связывающей переменные ВМВгокещ и ВМВгокеп Такая дуга постоянства имеет таблицу условных вероятностей, которая задает на каждом временном интервале малую вероятность отказа, допустим 0.001, но определяет, что датчик после выхода из строя остается неисправным. Если датчик исправен, то модель восприятия для переменной BMeter идентична модели временного отказа, а после того как датчик становится неисправным, эта модель указывает, что значение BMeter всегда равно 0, независимо от фактической зарядки аккумулятора.
Модель постоянного отказа для датчика аккумулятора показана на рис. 15.11, а. Показатели ее производительности при двух последовательностях данных (временный сбой и постоянный отказ) приведены на рис. 15.11, б. В отношении этих кривых необходимо сделать несколько замечаний. Прежде всего, в случае временного сбоя вероятность того, что датчик вышел из строя, существенно повышается после второго показания со значением 0, но немедленно падает вновь до нуля после получения результатов наблюдения 5. Далее, в случае постоянного отказа вероятность того, что датчик неисправен, быстро повышается почти до 1 и остается на этом уровне. Наконец, как только становится известно, что датчик стал неисправным, робот может лишь руководствоваться предположением, что его аккумулятор разряжается с "обычной" скоростью, как показывает постепенно снижающийся уровень E(Batteryt |...).
В приведенном выше описании мы лишь слегка коснулись поверхности проблемы представления сложных процессов. Применяемое на практике разнообразие моделей перехода является буквально огромным и охватывает такие разные направления, как моделирование эндокринной системы человека и моделирование потока, состоящего из большого количества автомобилей, движущихся по скоростному шоссе. Создание моделей восприятия также представляет собой обширную самостоятельную область, но практика показала, что динамические байесовские сети позволяют явно представить даже такие тонкие феномены, как дрейф датчика, внезапная раскалибровка и влияние на показания датчика внешних условий (таких как погода).







Материалы

Яндекс.Метрика