web-dev-qa-db-fra.com

Quelles sont les mathématiques derrière le paramètre de "lissage" dans les graphiques scalaires de TensorBoard?

Je suppose que c'est une sorte de moyenne mobile, mais la plage valide est comprise entre 0 et 1.

18
Willian Mitsuda

Il est appelé moyenne mobile exponentielle , ci-dessous est une explication du code comment il est créé.

En supposant que toutes les valeurs scalaires réelles sont dans une liste appelée scalars, le lissage est appliqué comme suit:

def smooth(scalars: List[float], weight: float) -> List[float]:  # Weight between 0 and 1
    last = scalars[0]  # First value in the plot (first timestep)
    smoothed = list()
    for point in scalars:
        smoothed_val = last * weight + (1 - weight) * point  # Calculate smoothed value
        smoothed.append(smoothed_val)                        # Save it
        last = smoothed_val                                  # Anchor the last smoothed value

    return smoothed
35
bluesummers