Случайные числа в TensorFlow
Нейросеть инициализируют весами, которые нельзя задавать вручную для каждого параметра. Их берут из случайного источника, а затем подстраивают обучением. Тот же источник нужен для перемешивания данных и для искусственных примеров.
Самый простой случай - равномерные числа на отрезке: каждое значение внутри границ встречается одинаково часто. Так задают стартовые веса в простых схемах и проверяют код на небольших тензорах.
Чтобы повторить эксперимент, фиксируют зерно - начальное значение генератора. При одном и том же зерне цепочка вызовов даёт тот же набор чисел, что удобно при отладке и сравнении версий модели.
Иногда нужен свой генератор случайных чисел: отдельный объект со своим состоянием, из которого берут несколько партий подряд, не смешивая их с остальным кодом.
Для весов и шума чаще берут нормальные числа - значения сосредоточены вокруг среднего, а редкие выбросы затухают по колоколообразному закону.
Со всем этим мы и будем разбираться в рамках данного раздела.