Создание пользовательских потерь для непрерывного условного случайного поля
В настоящее время я пытаюсь реализовать сеть, представленную в 1, используя Keras. Модель можно разделить на две части: первая, называемая сетью глубины суперпикселей, регрессирует значения глубины для изображения, сегментированного в суперпикселях, а вторая представляет собой непрерывный условный слой случайного поля, целью которого является обеспечение пространственной и временной согласованности. в картах глубины, предсказанных для каждого кадра видео. Каждая часть имеет свой набор параметров, W для суперпиксельной сети и alpha_s & alpha_t для CRF. Оба тренируются совместно с использованием стохастического градиентного спуска.
У меня не было проблем с реализацией сети с глубиной супер пикселей, это всего лишь первые 31 слой VGG-16, за которым следовал слой пула супер пикселей. Самая сложная часть для меня - это слой CRF и следующая функция потерь:
В этом уравнении:
- Я кадр из видео.
- d - это вектор Nx1 глубины суперпикселей истинности земли, где N - количество суперпикселей в видео.
- L представляет собой матрицу NxN, зависящую от alpha_s, alpha_t и пространственно-временных отношений между суперпикселями, заданными алгоритмом сегментации.
- Z - это вектор Nx1 оценочной глубины суперпикселей в зависимости от W.
Если я не ошибаюсь, эта функция потерь не имеет общепринятой формы "убыток (y_true, y_pred)" и использует y_true (d в выражении) и сетевые веса (в z и L). Моя идея состоит в том, чтобы использовать функционал API и написать пользовательскую функцию потерь, которая вычисляет -log P( d | I), но мне интересно, как будут вычисляться градиенты? Я читал здесь, что Keras заботится о вычислении градиентов, пока мы используем только существующие операции, но матрицу инверсия отсутствует в бэкэнде тензорного потока. Будет ли она работать, если я вызову tf.matrix_inverse?
С наилучшими пожеланиями, Амбруаз
1 Чжао, Сюй-Ран, Сюнь Ван и Ци-Чао Чен. "Прогнозирование согласованной по времени карты глубины с использованием глубокой сверточной нейронной сети и пространственно-временного условного случайного поля". Журнал компьютерных наук и технологий 32,3 (2017): 443-456. ссылка на сайт