실습 · 연습문제 1개
대시보드의 smoothing을 직접 계산하기 debiased-ema
대시보드의 smoothing 슬라이더가 곡선을 어떻게 바꾸는지 알면, smoothed 곡선에서 무엇을 믿고 무엇을 의심할지 판단할 수 있다. 함수 smooth(values, weight)를 완성해, 보정(debias)한 지수이동평균을 NumPy 배열로 반환한다.
상태 에서 시작해, 유한한 값 가 들어올 때마다 개수 를 1 늘리고
를 계산한다. 분모 는 에서 출발한 치우침을 지우는 보정이다. 보정이 없으면 처음 값들이 0 쪽으로 끌려 내려간다.
weight는 이다. 이면 출력은 원본과 같다.- NaN·무한대는 smoothing하지 않고 그 자리에 원본 값을 그대로 출력하며, 상태 와 개수 를 바꾸지 않는다. 발산한 step이 곡선에서 사라지지 않게 하려는 것이다.
- 모든 값이 같은 배열은 원본을 그대로 반환한다.
- 입력은 리스트나 1차원 배열이고, 출력은 같은 길이의 float 배열이다.
이 규칙은 집필 시점 TensorBoard 웹 화면의 scalar smoothing 코드와 같은 방식이다. 테스트는 손으로 계산한 값, 상수 입력, NaN이 섞인 입력, 그리고 smoothing이 계단 변화를 늦게 따라가는 정도(지연)를 확인한다.