В функцию main передается инфа о слоях Это список с парами [колво нейронов в слое, инфа о функции активации] Инфа о функции это пары [сама функция, ее производная] В мейне считываются и нормализуются тренеровочные и тестовые данные
Потом в цикле по всем строкам обучающих данных делаем проход "вперед" (прогоняем строку по нейронке) Получаем значения на каждом нейроне сети (это матрицы A и Z), эти значения нужны для обучения И по этим матрицам дальше запускаем обратный проход и получаем новые значения весов и смещений для каждого нейрона Эти значения это и есть новая нейронка