классический подход принимает нейросеть как данность, архитектуру (количество слоев, решающая функция, взаимодействие между слоями), задается создателем, при обучении только "подгоняются" коэффициэнты под выбранную архитектуру.
Веса НЕ сводятся к средним значениям, можно конечно усреднять но это бессмысленно (на что усреднять? в случаях с фотографий например на количество пикселей (входящих сигналов) чтоли? -> но фото подгоняют под определенные стандарты где все фотографии имеют одинаковое разрешение (одинаковое количество пикселей), поэтому это лишнее деление на константу, которое можно отбросить, если же усреднять на количество примеров -> то это просто приведет к тому что при увеличении выборки любой результат будет стремится к нулю)
более того в обучающихся данных НИКАКИХ коэффициэнтов нет, в выборках есть сигналы (например пиксель, есть или нет - один или ноль), на эти сигналы мы никак не влияем, все что мы можем сделать:
взять какую-то "решающую функцию" (например сумму всех входящих сигналов умноженных на неизвестные коэффициэнты) и решить при каком значении решающая функция будет отвечать нам "да" или "нет", например на вопрос это КОТ на фото? -> при сумме коэффициэнтов помноженных на входящий сигналы (на еденицу или ноль) и результат будет например больше 10, если больше 10 - то КОТ, меньше 10 - НЕ КОТ.
а дальше - мы можем подбирать веса таким образом чтоб при выбранной "решающей функции" получать как можно чаще правильные ответы (при этом не важно что мы взяли за "отсекающее значение результата" для разделения на ДА ИЛИ НЕТ, значение 10 или 100000, мы тутже подгоним коэффициэнты таким образом чтоб это все равно работало, коэффициэнты в последнем случае по размеру лишь будут в 10000 раз больше).