Обучение нейронной сети без учителя для задачи регрессии

Привет!

У меня есть система из 12 дифференциальных уравнений первого порядка для решения задачи оптимизации при помощи принципа максимума Понтрягина. Те, кто знаком с этим принципом знают, что самое сложное в этой задаче - найти начальные значения для вектора сопряжённых переменных.

Тем кто не знаком, достаточно знать что в этой системе из 12 ДУ есть первые 6 ДУ, которые описывают изменение состояния системы, а вторые 6 ДУ выводятся из первых. При решении этой системы мы сами задаём начальные значения для первых 6 переменных (фазовые), а вторые 6 (вспомогательные) мы должны подбирать таким образом, чтобы после решения выполнялись условия на правом конце (ну и чтобы в процессе решения на каждом шаге выполнялось условие оптимальности).

Задача решается разными простыми и не очень методами, но возникла идея подключить к этому нейронные сети, в результате чего возник вопрос о наличии фреймворков/библиотек/прочих инструментов для организации следующей схемы вычислений:

1. Подаём на вход в нейронную сеть 6 чисел с плавающей точкой

2. На выходе получаем 6 чисел с плавающей точкой

3. Полученные значения отправляем в расчётную модель, которая проводит моделирование и считает невязки на правом конце

4. Полученные невязки отправляем обратно в НН для корректировки весов

5. Повторяем пункты 2-4 до тех пор, пока невязки не станут ниже заданного значения

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

Так что буду благодарен любой помощи и подсказкам о том куда можно посмотреть, что прочитать, где прокопать. И можно ли вообще решить эту задачу готовыми инструментами, или как ни крути придётся писать что-то самому.