(Forward) Gumbel-Max, (Backward) Gumbel-Softmax

Hyungseop Lee·2026년 5월 23일
post-thumbnail

Gumbel-Softmax가 왜 나왔는가?

  • 문제 상황:
    어떠한 policy network가 policy를 보고 [고해상도, 중해상도, 저해상도, skip] 중 하나를 골라야 함.
    이렇게 하나를 고르는 방식 (argmax)는 수학적으로 미분이 불가능 (0 또는 불연속)하기 때문에,
    Error가 policy network로 Backpropagation을 통해 전달되지 못하고,
    결국 학습이 막히게 됨.
    • 기존 연구들:
      그래서 Gumbel-Softmax가 나오기 전에는 Policy Gradient, REINFORCE algorithm (reward, penalty)을 주로 사용했음.
    • limitation:
      하지만, 이 방식은 미분을 우회할 수는 있지만, 학습이 너무 느리고 불안정하며 variance가 너무 커서 converge하는 데 시간이 한참 걸림.
    • Gumbel-Softmax:
      그래서 Gumbel-Softmax가 나옴.
      Gumbel-Softmax는 DL에서 "확률적인 선택 (discrete decision)"을 하면서도 미분(backpropagation)이 가능하도록 만들어주는 기술.

Forward시, Gumbel-Max가 필요한 이유

  • 우선, discrete decision을 위해 forward할 때, Gumbel-Max가 왜 필요한지?를 알아야 함.
    Gumbel-Max는 컴퓨터가 확률적으로 무언가를 선택하게 만들 때, 가장 기본이 되는 수학적 공식.
    즉, network가 계산한 확률 분포를 완벽하게 따르면서도, random성을 가진 깔끔한 한 개의 선택지 (One-hot)을 뽑아주는 수학적 방법.

Backward시, Gumbel-Softmax가 필요한 이유 (STE)

  • Gumbel-Max로 discrete decision을 위한 forward를 수행할 수 있는데, argmax로 인해 backward가 불가능함.
    미분이 불가능한 argmax 대신, 미분 가능한 softmax를 사용하여 backpropgation할 수 있음.
    이때, softmax에 사용되는 확률 값들이 Gumbel-Max를 통해 나온 값들이기 때문에 이 softmax를 Gumbel-Softmax라고 함.
    그래서, Gumbel-Softmax는 마치 Straight-Through Estimation (STE)와 같음.

예시

결론
Gumbel-Max를 forward에 사용해서 discrete deicision task에서 exploration을 가능하게 하고,
이때 argmax로 인해 미분이 불가능한 속성을 극복하고자,
STE로서 Softmax를 사용해서 backward를 가능하게 함.
그래서, Gumbel-Max와 Gumbel-Softmax는 세트로 사용됨

profile
Efficient Deep Learning

0개의 댓글