치즈의 AI 녹이기

Optuna TPESampler 사용 시 값 중복 샘플링 문제 해결 본문

인공지능 대학원생의 생활/구글링

Optuna TPESampler 사용 시 값 중복 샘플링 문제 해결

개발자 치즈 2022. 8. 6. 11:30

Optuna를 적용하는 과정에서 그 중에서도 TPESampler를 선택할 때,

하이퍼파라미터를 search space 내에서 샘플링하는 과정에서 똑같은 조합이 반복해서 뽑히는 문제점을 발견하였다. 

이를 해결하는 코드를 아래 stackoverflow 링크를 참고하여 작성하였다. 

 

main함수에 skip code 적용

코드에 따르면, 이미 탐색 완료한 trial을 선택한 경우 바로 탐색 결과값을 리턴해주어 재학습을 막는 기능을 한다. 

 

early stopping 적용

 

위 예시는 총 경우의 수가 9일 경우, 반복되는 값을 재학습하지 않고 바로 출력하는 횟수까지 포함하여 3번 이상 탐색을 멈추는 코드를 짜보았다. 

 

출력 결과

출력 결과에서도 볼 수 있듯이, 앞서 선택한 하이퍼파라미터들에 대하여 바로 이전 결과를 출력해 넘어간다. 

 

참고 링크: https://stackoverflow.com/questions/58820574/how-to-sample-parameters-without-duplicates-in-optuna

 

How to sample parameters without duplicates in optuna?

I am using optuna for parameter optimisation of my custom models. Is there any way to sample parameters until current params set was not tested before? I mean, do try sample another params if there

stackoverflow.com