Вам не нужно пересоздавать всю сеть каждый раз, когда происходит обновление веса.Предположительно, ваши нейроны моделируются как отдельные объекты - это означает, что для «обновления» отдельного нейрона вы фактически создадите новый нейрон с обновленным весом.Затем этот нейрон будет вставлен в сеть вместо старого, который, в свою очередь, будет свободен для утилизации сборщиком мусора.
Я не согласен с идеей использования изменяемого состояния.Функциональные языки знают, что они функциональны, поэтому они оптимизируют функциональное программирование.Если функциональный язык действительно является лучшим инструментом для работы, воспользуйтесь его преимуществами.