1

Прохожу курс по машинному обучению. В разделе на нейронные сети (в тесте) просят посчитать количество параметров у нейронной сети, если нам известно:

  • количество входных признаков
  • количество нейронов в скрытом слое
  • количество нейронов в выходном слое.

Не могли бы вы мне подсказать, где можно взять необходимую литературу, где описан процесс расчета данных параметров или формулу для расчета?

Jack_oS
  • 12,544
  • 7
  • 19
  • 48
  • 1
    Параметры нейронной сети — это набор весов (weights) у каждого нейрона и их biases (у каждого нейрона — один bias). Количество весов складывается с количеством biases и получается количество параметров. – eanmos Feb 08 '21 at 17:23
  • @eanmos Я правильно понял, что если весов 3, а нейронов в скрытом слое 4, и в выходном слои один нейрон, то ответ будет 16? – данила соловьев Feb 08 '21 at 17:51
  • Количество весов нейронов в скрытом слое будет равно 3 × 4 = 12 (количество входных значений умножаем на количество нейронов в скрытом слое. Количество весов в выходном слое будет равно 4. В сумме — 16 весов. Прибавляем к этому количество biases во всей сети: так как у каждого нейрона по одному bias, а нейронов всего 5 (4 в скрытом и 1 в выходном), то всего biases 5 штук. 16 весов плюс 5 biases = 21. Ответ — 21. – eanmos Feb 08 '21 at 18:10
  • Кажется, был уже подобный вопрос тут где-то, не могу сейчас что-то найти. – CrazyElf Feb 08 '21 at 19:05

1 Answers1

1

Формула для расчета количества обучаемых параметров модели:

sum([p.numel() for p in model.parameters() if p.requires_grad])
Alex
  • 11
  • 1