모델 히스토그램을 그려보는 이유

OpenJR·2023년 10월 25일

모델 히스토그램을 그려, 웨이트와 바이어스의 분포가 학습에 따라 어떻게 변화하는지를 관측하면 어떤 레이어가 불필요한지, 어떤 레이어가 잘 학습이 안되는지를 판별에 모델 설계에 도움을 줄 수 있다.

  1. Bias와 Weight의 상관관계가 높은 경우
    모델이 학습하기 위한 Context가 부족한다.
  2. 학습에 따라 분포가 변화하지 않는다.
    학습 데이터의 분포가 일정해 오버피팅이 될 확률이 엄청 나게 높아진다.
    혹은, 특정 레이어만 현상이 발생되면 그 레이어는 학습이 되지 않으므로 날려도 된다.
from tensorboardX import SummaryWriter

writer = SummaryWriter()

...

for name, param in model.named_parameters():
    writer.add_histogram(name, param.clone().cpu().data.numpy())
profile
Jacob

0개의 댓글