[Andrew Ng] 5-1. Using an Appropriate Scale

Prettypotato·2026년 2월 17일

Using an Appropriate Scale

  • 하이퍼파라미터나 값들을 탐색할 때 적절한 단위(스케일)를 선택해야 한다.

  • 왜 스케일이 중요한가?
    • 값의 범위가 크거나 작을 때 균등하게 탐색하면 비효율이 된다.
    • 이 범위를 선형(linear) 기준으로 sampling하면
      range=[0.0001,1]\text{range} = [0.0001, 1]
      • 1 과 0.0001 사이의 값중에 균일하게 무작위 값을 고르게 되면, 90%의 값이 1 과 0.1 사이에 존재하기 때문에, 공평하지 않음.

  • 적절한 스케일 예시: Log Scale

    • 적절한 방법은 로그 스케일(log scale)로 샘플링하는 것이다.
    • 먼저 로그 변환 범위를 계산
      a=log10(i1),b=log10(i2)a = \log_{10}(i_1), \quad b = \log_{10}(i_2)
      • i1i_1 = 하이퍼파라미터의 최소값
      • i2i_2 = 하이퍼파라미터의 최대값
    • 그 범위에서 균등하게 난수 생성:
      r=(ba)rand()r = (b - a) \cdot \text{rand}()
    • 지수 변환
      α=10rr[4,0]\alpha = 10^r \quad r∈[−4,0]
    • 그러면 α\alpha는 균등한 로그 스케일 분포를 따름

  • learning rate 스케일 예시

    • η\eta 범위가 [104,100][10^{-4}, 10^0]이고 log\log 스케일로 샘플하면:
      α=10r,r[4,0]\alpha = 10^r,\quad r\in [-4, 0]
      • 이는 104,103,102,101,10010^{-4}, 10^{-3}, 10^{-2}, 10^{-1}, 10^0 사이 적절히 분포된 값 생성

출처 및 참고 자료

  • Andrew Ng, Improving Deep Neural Network, DeepLearningAI

0개의 댓글