Если веса модели глубокого обучения инициализированы слишком маленькими, сигнал будет постепенно уменьшаться по мере прохождения через каждый слой, и он будет бесполезен.
Если веса инициализированы слишком большими, сигнал будет постепенно усиливаться по мере прохождения через каждый слой, что приведет к расхождению и отказу.
Функция инициализатора Xavier состоит в том, чтобы сделать веса не слишком маленькими при инициализации сети глубокого обучения.
import numpy as np import sklearn.preprocessing as prep import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data def xavier_init(fan_in, fan_out, constant = 1): low = -constant * np.sqrt(6.0 / (fan_in + fan_out)) high = constant * np.sqrt(6.0 / (fan_in + fan_out)) return tf.random_uniform((fan_in, fan_out), minval=low, maxval=high, dtype=tf.float32)Процесс деривации относится к содержанию равномерного распределения