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

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

Jul 02, 2015

Download

Documents

27 апреля 2009
Юданов А.А
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

Вопросы?

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