안녕하세요 딥러닝 논문 읽기 모임입니다.
오늘 소개해 드릴 논문은 ‘Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets’입니다.
해당 내용은 유튜브 ‘딥러닝 논문 읽기 모임' 중 ‘Grokking’ 영상 스크립트를 편집한 내용으로,
영상으로도 확인하실 수 있습니다. (영상 링크:https://youtu.be/EyXehqvkfF0)
일반적으로 알려져 있는 머신러닝의 모델의 generalization에 대해서 짚고 넘어가자면 트레이닝 셋의 학습이 잘 끝난 모델에는 iteration이 지속될수록 트레이닝 에러는 지속적으로 감소하는 반면에 테스트 에러는 어느 지점에서 최저점에 도달한 이후에 다시 증가하는 경향이 있습니다. 트레이닝 에러와 테스트 에러가 가장 최소화되는 지점에서 학습을 끝내면 이 모델의 일반화가 잘 되었다고 이야기를 합니다.
마찬가지로 천 번째 iteration 구간부터 모델의 손실 함숫값이 변하다가 십만 번째 근접하면 급격히 줄어드는 것을 확인할 수 있습니다.
실험에 사용된 이진 연산 공식들입니다. 이진 연산은 단순히 x ο y 이 두 가지의 연산 토큰과 연산자를 통해서 결괏값을 도출하는 연산을 의미합니다.
첫 번째 공식 같은 경우에는 소수 97을 기준으로 97 미만의 정수 x와 y를 고른 후 x와 y를 다음 값으로 97을 나눈 나머지 값이 정답에 해당이 됩니다. 그리고 가장 마지막에 있는 공식은 S5까지의 순열에 속하는 정수니까 1에서 24까지 입니다. 정수 x와 y 중에서 x와 y를 곱한 후 다시 x를 곱한 값이 정답 레이블에 해당됩니다.
모델이 훈련할 때 사용한 공식들은 12가지에서 랜덤 하게 공식을 골라서 트레이닝 셋에 포함이 되었고 나머지는 다시 테스트 셋이 됩니다.
위 그림은 hyperparameters 튜닝에 대한 설명인데, 특이한 점으로 흔히 사용하고 있는 Adam Optimizer의 아홉 가지 변형을 이용해서 각각의 모델이 어떻게 iteration을 진행하는지를 확인하였습니다.
다음으로 실험입니다. 데이터 분량이 대략 25퍼센트에서 30퍼센트 비중일 때는 훈련 데이터의 비중이 1퍼센트 줄어들 때마다 일반화 도달에 걸리는 시간이 대략 40~50퍼센트 증가하는 것을 확인할 수 있습니다.
그리고 데이터셋의 비중이 80퍼센트 정도 일 때는 iteration이 오천 번 정도면은 99퍼센트 이상의 정확도에 도달하는데, 트레인 데이터셋이 비중이 점점 줄어들수록 iteration 시간이 exponential 하게 급증하는 걸 확인할 수 있습니다.
12 가지 공식에 추론에 걸리는 시간과 데이터의 비중을 그림으로 나타낸 것입니다. 각 연산 난이도에 따른 필요한 데이터에 비중을 비교할 수가 있습니다.
첫 번째 덧셈과 뺄셈 연산을 제외한 결과가 비선형으로 나오기 시작하는 나머지 10 가지 공식의 추론은 결과가 각각 다르게 나오는 것을 확인할 수 있습니다. 이미지 transformer 모델이 특정한 공식에 편향되지 않고 의도한 대로 다양한 추론을 시도하였음을 확인할 수 있습니다.
실험에서는 보편적으로 알려져 있는 최적화 기법 총 9가지의 튜닝 시나리오입니다. 결과적으로 weight decay 조합을 적용했을 때 트레이닝 데이터가 비중이 적더라도 십만 번째 iteration에 테스트 셋이 도달하는 시간이 가장 짧았음을 확인할 수 있습니다.
노이즈 삽입을 통해서 이상치가 약 천 개를 넘어가기 시작하면 그다음부턴 모델의 일반화 성능에 제약이 있었음을 확인할 수 있습니다.
지금까지 소개해드린 내용은 아직까지 완성이 되지 않은 연구이고, 현상을 재현하는 것 이상으로는 아직까지 진행된 내용은 없습니다. 하지만 지금까지 딥러닝 공부를 해오셨다면 당연하게 생각했던 내용을 넘어서는 발견을 다뤄왔다는 점에서 논문의 의의가 있다고 생각을 합니다. 그리고 앞으로도 관련 연구가 좀 더 진행된다면 지금까지 우리가 알고 있었던 Overfitting에 대한 정의가 새롭게 바뀔 수 있다는 점에서 본 논문을 소개해드렸습니다.
댓글