Если у меня есть два экземпляра модели машинного обучения одной и той же архитектуры, есть ли какая-либо функция для сохранения только разницы между этими двумя моделями? - PullRequest
1 голос
/ 08 июля 2019

Я знаю, что можно, например, с помощью TensorFlow, но также и в PyTorch или чего-либо еще, сохранять экземпляр обученной (или обучаемой) модели таким образом, чтобы он мог быть загружен в будущем или загружен на другой машине.или просто использовать его в качестве контрольной точки во время обучения.

Интересно, есть ли способ, например, упомянутый выше, сохранить разницу (возможно, не алгебраическое вычитание, а аналогичноеконцепция, всегда относящаяся к работе над тензорами) между двумя экземплярами одной и той же нейронной сети (одна и та же архитектура, разные веса) в целях эффективности.Если вам интересно, почему это должно быть удобно, рассмотрите гипотетический параметр, в котором существуют разные сущности, и все они знают экземпляр модели («разделяемая модель»), поэтому можно использовать «разницу», рассчитанную для этой совместно используемой модели.полезно с точки зрения места для хранения или с точки зрения пропускной способности (если локальные параметры модели должны быть отправлены через Интернет на другую машину).Гипотеза заключается в том, что можно реконструировать модель, зная общую модель и «разницу» с моделью для реконструкции.

Подводя итог моим вопросам:

  • Есть ли в TensorFlow, Pytorch и т. Д. Какие-либо встроенные функции для этого?
  • Это может быть удобно в вашеммнение сделать что-то подобное?Если нет, то почему?

PS: В литературе эта концепция существует, и она недавно была исследована в рамках темы "Федеративное обучение", и упомянутая мною "разница" называется update .

...