29
1 Моделирование поведения сложных динамических систем Докладчик: Юданов А.А. Научный руководитель: Бордаченкова Е.А Москва, 2009

Моделирование поведения сложных динамических систем

  • Upload
    -

  • View
    797

  • Download
    4

Embed Size (px)

DESCRIPTION

27 апреля 2009Юданов А.А

Citation preview

Page 1: Моделирование поведения сложных динамических систем

1

Моделирование поведения сложных динамических систем

Докладчик: Юданов А.А.

Научный руководитель:Бордаченкова Е.А

Москва, 2009

Page 2: Моделирование поведения сложных динамических систем

2

Постановка задачи

Цель – создать систему генерации связного текста на естественном языке по динамически поступающей информации из некоторой системы.

То есть, универсальный комментатор для определенного класса компьютерных игр:

- игроки управляют агентами в игровом мире.

- игровой мир – разнородный объем, содержащий агентов и другие предметы.

Page 3: Моделирование поведения сложных динамических систем

3

Структура системы

• Игра генерирует некоторые события

• Их надо оценить и прокомментировать

переводчикСистема

генерации текста

ИГРА

Система комментирования

Page 4: Моделирование поведения сложных динамических систем

4

Структура системы

• Игра генерирует некоторые события

• Их надо оценить и прокомментировать

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

переводчикСистема

генерации текста

ИГРА

Система комментирования

Page 5: Моделирование поведения сложных динамических систем

5

Структура

• Игра генерирует некоторые события

• Их надо оценить и прокомментировать

Система работы с моделью

МодельРешено было строить модель поведения предметной области.

переводчикСистема

генерации текста

ИГРА

Система комментирования

Page 6: Моделирование поведения сложных динамических систем

6

Что такое модель поведения?

Внутреннее поведениескрыто

Вход Выход

Наблюдаемое поведение

Page 7: Моделирование поведения сложных динамических систем

7

Что такое модель поведения?

Внутреннее поведениескрыто

Вход

модельВыход

Выход

Page 8: Моделирование поведения сложных динамических систем

8

Что такое модель поведения?

Оценки качества модели• Ошибка обучения

– Суммированная по обучающей выборке норма невязки модели

• Ошибка обобщения– Норма невязки модели на каких-либо новых данных

Как измеряют качество модели?

Основной целью при обучении является уменьшение ошибки обобщения.

Точно смоделировать систему невозможно.

Page 9: Моделирование поведения сложных динамических систем

9

• Адекватно оценивать настоящее

• Предсказывать будущее

Зачем нужна модель поведения?

предсказывать следующий выход системы на

основе входа и наблюдаемого поведения

системы.

выход моделируемой системы

=выход модели

Page 10: Моделирование поведения сложных динамических систем

10

Особенности нашей задачи

• Входные данные системы не должны участвовать как в алгоритмах обучения, так и работы.

• Обязательна возможность динамического обучения без учителя.

• Желательно, получать в предсказательном алгоритме распределение вероятностей.

• Желательно иметь возможность дообучать модель по ходу работы.

• Чем проще и быстрее работа с моделью – тем лучше.

Page 11: Моделирование поведения сложных динамических систем

11

Особенности нашей задачи

Внутреннее поведениескрыто

Вход

модельВыход

Выход

?

Page 12: Моделирование поведения сложных динамических систем

12

Обзор некоторых моделей

• Нейронные сети– Самоорганизующиеся карты Кохонена.

• Статистические модели– Скрытые Марковские модели.

Synapse [http://www.peltarion.com/products/synapse/]WEBSOM [http://websom.hut.fi/websom/]

TreeAge Pro Healthcare [http://www.treeage.com]HTS [http://hts.sp.nitech.ac.jp/]

Page 13: Моделирование поведения сложных динамических систем

13

Нейронные сети

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

• Каждый элемент (нейрон) выполняет одну функцию – обрабатывая определенным образом входные сигналы x1,…,xn генерирует выходной y:

y = F(x1,…,xn)

Page 14: Моделирование поведения сложных динамических систем

14

Карты Кохонена

• Разновидность нейронных сетей.

• Топология – регулярная решетка.• Каждый нейрон содержит вектор весов

и свои координаты на решетке.

• Обучение итерационное, до достижения определенной погрешности

Общие сведения

Page 15: Моделирование поведения сложных динамических систем

15

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

Задачи

- Наглядное упорядочивание многопараметрической информации.

- Группировка близких входных сигналов для другой нейросети.

Page 16: Моделирование поведения сложных динамических систем

16

Карты Кохонена

Наглядное упорядочивание многопараметрической информации.

- Выявление различий в режимах поведения системы.

Задачи

- Нахождение взаимосвязей в многопараметрических данных.

Page 17: Моделирование поведения сложных динамических систем

17

Карты Кохонена

Карта Кохонена группирует близкие входные сигналы X, а требуемая функция Y=G(X) строится на основе применения обычной нейросети.

Входной слой

Слой Кохонена

Другая нейросеть

Задачи

Page 18: Моделирование поведения сложных динамических систем

18

Нейронные сети

• Моделируемая система – игра.

• Нейронные сети должны получать вход системы, который недоступен. Значит, простой подстановки НС в задачу не получится

• Можно рассматривать выход системы как вход для НС, т.е. НС читает предыдущий выход и пытается предсказать следующий.

Приложение к нашей задаче

Page 19: Моделирование поведения сложных динамических систем

19

Нейронные сети

Внутреннее поведениескрыто

Вход

Нейросеть

Выход

Выход

?

Вход

Page 20: Моделирование поведения сложных динамических систем

20

Нейронные сети

+ Даже малая обучающая выборка не дает большой ошибки обобщения

- Неэффективная реализация на ПК.

- Сложный процесс проектирования топологии

Плюсы и минусы

Page 21: Моделирование поведения сложных динамических систем

21

Скрытые Марковские модели

• Имеет набор скрытых внутренних состояний (скрытая переменная) x(t)

• Имеет набор наблюдаемых состояний (наблюдаемая переменная) y(t)

• x(t) зависит только от x(t-1)

• y(t) зависит только от x(t)

Общие сведения

Page 22: Моделирование поведения сложных динамических систем

22

Скрытые Марковские модели

На каждом шаге система может перейти в новое скрытое состояние и как-то поменять значение наблюдаемой переменной (сменить наблюдаемое состояние)

Время – дискретное.

Общие сведения

Page 23: Моделирование поведения сложных динамических систем

23

Скрытые Марковские модели

-Имеется матрица А[NxN]

-Имеется матрица В[NxM]

Скрытые состояния

вероятностей возникновения каждого из наблюдаемых событий на каждом из скрытых состояний.

вероятностей переходов между скрытыми состояниями.

N

M

Наблюдаемые состояния

Общие сведения

Page 24: Моделирование поведения сложных динамических систем

24

Скрытые Марковские модели

Наиболее вероятная скрытая последовательность погоды ['Sunny', 'Rainy', 'Rainy', 'Sunny', 'Sunny']Вероятность наблюдения при этом - 4%

Пусть Аня знает, что Ваня сначала гулял, потом ходил за покупками, потом убирался.

['walk', 'shop', 'clean‘,‘walk’,’walk’]

пример

Page 25: Моделирование поведения сложных динамических систем

25

Скрытые Марковские модели

1. Для заданной модели вычислить вероятность появления некоторой наблюдаемой последовательности.

2. Для модели и наблюдаемой последовательности определить наиболее вероятную последовательность скрытых состояний.

3. Для набора наблюдаемых последовательностей требуется скорректировать матрицы переходов некоторой модели, чтобы эти последовательности были наиболее вероятны в ней.

Задачи

[алгоритм вперёд-назад]

[алгоритм Витерби]

[алгоритм Баума-Уэлша]

Page 26: Моделирование поведения сложных динамических систем

26

Скрытые Марковские модели

Внутреннее поведениескрыто

Вход

СММ

Выход

Выход

?

Приложение к нашей задаче

Page 27: Моделирование поведения сложных динамических систем

27

Скрытые Марковские модели

+ Имитирует внутреннюю жизнь моделируемой системы.+ Простые итерационные алгоритмы обучения.+ Простота и быстрота работы.+ Соответствие большинству наших требований+ Хорошие результаты применения в схожих задачах

- Не учитывается время, прошедшее между сменой состояний.

- Зависимость вероятности перехода лишь от текущего состояний.

Плюсы и минусы

Page 28: Моделирование поведения сложных динамических систем

28

Модификации

• Фильтр КалманаАлгоритм для работы СММ с непрерывными

зашумленными наблюдаемыми состояниями.

• Многоуровневые СММСтроится каскад СММ, где каждый следующий уровень

генерирует наблюдаемые последовательности для предыдущего.

• Иерархические СММСММ, где каждое состояние может само являться ИСММ

Что мы хотим, возможно, применить

Page 29: Моделирование поведения сложных динамических систем

29

End of file

Вопросы?

Спасибо за внимание!