У меня есть 2-х модельная сеть с первой моделью, принимающей входные данные, и после пары скрытых слоев, создающих «среднее представление», которое подается во вторую модель, которая после пары скрытых слоев создает выходное представление.
У каждой модели есть цель для расчета собственных потерь, но я также хочу, чтобы небольшая часть ошибки второй модели возвращалась к первой модели.
Используя "сохранить градиент", я могу получить градиент ошибки для возврата к первой модели, но я не знаю, как уменьшить его в первой сети с помощью дополнительной скорости обучения, такой как параметр, который применяется тольков первую сеть.
Градиенты накапливаются до применения скоростей обучения модели, поэтому я могу иметь различную скорость обучения для каждой модели, но ошибки первой модели накапливаются до применения скорости обучения.
loss1.backward(retain_graph=True)
loss2.backward()
opt1.step()
opt2.step()