Обратные задачи: теория и практика Лекция 7. Решение обратной задачи с предварительным обучением. Новосибирский Государственный Университет Физический факультет Кафедра биомедицинской физики к.ф.-м.н. Юркин М.А. This work is licensed under the Creative Commons Attribution 3.0 Unported License.
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.2 План лекции Общие замечания Предварительно насчитанная таблица значений целевой функции Аналитическое обращение Автоматическое обучение Нейронные сети
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.3 Общие замечания Обратная задача – обращение конечномерного отображения из пространства параметров в пространство измеренных данных. Регрессия – нахождение обратного элемента для одного набора данных. Когда надо много раз решать одну задачу с разными данными, имеет смысл исследовать обратное отображение целиком.
Обратная задача и регрессия Обратные задачи. Лекция 7: Решение обратной задачи с обучением.4 F(B) R n B R p F G Обратное отображение G(y) = F 1 (y), y F(B) Можно доопределить для всеx y R n (метод наименьших квадратов) G
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.5 Насчёт таблицы значений Если решение прямой задачи вычислительно сложно, то эффективнее предварительно насчитать таблицу значений целевой функции. «Месяц» вычислений, но потом быстрое решение обратной задачи для каждого набора данных. Либо регулярная решётка, либо случайная выборка из априорного распределения по параметрам модели.
Использование таблицы Таблица значений F таблица значений G G(y) приближается интерполяцией по этой таблицей Например, интерполяция ближайших соседей Оценка – ближайшая из таблицы B 0 При заданных экспериментальных данных таблица G таблица S( ) Оценка погрешностей параметров – также как обычно, используя табулированную S( ) Обратные задачи. Лекция 7: Решение обратной задачи с обучением.6
7 Использование таблицы Таблица S( ) интерполируем для β Вычисляем любые интегралы с S( ) Другой подход – интегрирование Монте-Карло Таблица строится с априорной плотностью вероятности P a (β), например P a (β) = 1/μ(B) Любой интеграл Относительная погрешность, где m – число точек с существенным значением f (порядка максимума) Минимумы S( ) прописаны с той же плотностью, что и всё B (поэтому m может быть мало) Минимумы можно дополнительно уточнить
Уточнение минимума Берём решение по таблице (ближайшую) и запускаем локальную минимизацию S( ) Просто, но не гарантирует глобальный минимум Другой подход – строим таблицу c условием: R(β 1 ) – окрестность β 1, из которой локальная минимизация S(β,β 1 ) приводит к β 1 Построение таблицы требует много тестовых запусков минимизации (или начинать с плотной решётки) Ещё сложнее учесть экспериментальный шум Обратные задачи. Лекция 7: Решение обратной задачи с обучением.8
9 Исследование таблицы Ускорение нахождения всех элементов таблицы на расстоянии не более заданного от экспериментальных данных. Например, кластеризация. Уровень шума, при котором гарантируется единственное решение, т.е. решение всегда близко к реальному. Точность определения параметров при заданном шаге решётки или количестве элементов таблицы (оценка производных отображения).
Кластеризация Обратные задачи. Лекция 7: Решение обратной задачи с обучением.10 cjcj rjrj yiyi y Рекуррентно уменьшаем минимум M ( ||y – y i || или ||y – c i || + r i ) Перебираем кластеры. Если ||y – c i || < M + r i, то весь кластер можно пропустить, иначе перебираем все элементы кластера. Ещё быстрее иерархическая (многоуровневая) кластеризация
11 Возможная проблема с таблицей R1R1 R2R2 F
12 Адаптивная дискретизация
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.13 Аналитическое обращение Иногда можно построить приближённое обратное отображение с помощью элементарных функций Пристальное вглядывание и подбор коэффициентов Интерполяция (гладкая) по плотной решётке Реально только, когда 1-2 параметра модели и вместо всех данных используется несколько параметров (например, положение экстремумов) Аналог – линейная регрессия. Один раз строим X + и потом быстро вычисляем X + y для многих y
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.14 Автоматическое обучение Некоторый (быстрый) алгоритм, реализующий (приближённо) обратное отображение. Зависит от свободных параметров (обычно, существенно больше чем число модельных параметров). Эти параметры выбираются так, чтобы алгоритм хорошо работал на обучающей выборке (насчитанной таблице), и фиксируются. Пример – нейронная сеть
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.15 Один нейрон Один нейрон выполняет простую операцию:
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.16 Функции отклика В основном используются три класса функций:
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.17 Многослойная нейронная сеть Многослойная нейронная сеть прямого распространения
Более сложные типы сетей Рекуррентные (имеет память) Комитет машин (несколько независимых сетей) Обратные задачи. Лекция 7: Решение обратной задачи с обучением.18
Обучение Подбираем веса, чтобы минимизировать невязку на обучающих данных любой алгоритм минимизации Для сетей без циклов итерационный метод (эквивалентен методу градиентного спуска) Прямое распространение значения Вычисление ошибки на выходе Обратное распространение ошибки Изменение весов Обратные задачи. Лекция 7: Решение обратной задачи с обучением.19
Прямое распространение значения Обратные задачи. Лекция 7: Решение обратной задачи с обучением.20
Обратное распространение ошибок Обратные задачи. Лекция 7: Решение обратной задачи с обучением.21
Изменение весов Обратные задачи. Лекция 7: Решение обратной задачи с обучением.22 η – скорость обучения (или быстро, или надёжно) Методы обработки обучающих данных (тестов) Шаг для каждого теста (случайно или по-порядку) Один шаг для всех тестов (суммируемw i )
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.23 Свойства нейронных сетей Имеет много алгоритмов обучения, но не все гарантируют глобальную оптимальность. Для многих типов нейронных сетей доказано, что они могут описать практически любую функцию. Нет точного ответа, какой тип наиболее подходит для данной задачи, т.е. описывается минимальным количеством параметров или минимальным временем вычисления.
Обратные задачи. Лекция 7: Решение обратной задачи с обучением.24 Свойства нейронных сетей Для реального применения надо использовать существующие программы. В них задаётся тип отклика, архитектура сети и количество нейронов/слоёв. Обычно тип сети подбирается эмпирически методом проб и ошибок, хотя в литературе есть наводящие соображения. Устойчивость к экспериментальным погрешностям тоже проверяется эмпирически.
Пример – характеризация шаров Шар с размером R и показателем преломления m Сигнал – индикатриса светорассеяния от 10° до 60°, реально используются 9 функционалов от неё Сеть прямого распространения с 2 внутренними слоями (по 10 нейронов в каждом) Минимизируется сумма квадратов относительных отклонений Градиент вычисляется с помощью обратного распространения ошибок Потом используется метод BFGS Обратные задачи. Лекция 7: Решение обратной задачи с обучением.25
Результаты характеризации Обратные задачи. Лекция 7: Решение обратной задачи с обучением.26