Я хочу внедрить модель атак асинхронного Advent Actor Critic (A3C) для обучения подкреплению на моей локальной машине (1 процессор, 1 совместимый с Cuda графический процессор). В этом алгоритме несколько "обучающихся" сетей взаимодействуют с копиями среды и периодически обновляют центральную модель.
Я видел реализации, которые создают n "рабочих" сетей и одну "глобальную" сеть внутри одного и того же графа и используют потоки для их запуска. В этих подходах глобальная сеть обновляется путем применения градиентов к обучаемым параметрам с "глобальной" областью.
Однако, я недавно немного прочитал о распределенном тензорном потоке, и теперь я немного смущен. Было бы проще/быстрее/лучше реализовать это, используя распределенный API-интерфейс с тензором? В документации и разговорах они всегда упоминают об использовании в многопользовательских средах. Я не знаю, может ли это быть чрезмерным, чтобы использовать его в локальном асинхронном алгоритме.
Я также хотел бы спросить, есть ли способ выгрузить градиенты, рассчитанные каждым рабочим, который будет применяться вместе после n шагов?