딥 러닝을 이론적으로 분석하거나 개선할 때 그 원리적인 부분에 집중해서 end to end rigor를 추구하는 것은 이론학도의 입장에서 지적으로 무척 재미있고 자연스럽지만 사실 끝이 없는 일이다. 뉴럴 네트워크라는 시스템과 그 동역학은 워낙에 여러 관점, 여러 공간에서 볼 수가 있다 보니, 애초에 표준적인 단일한 관점이 없기도 하고 말이다.
그렇다 보니 end to end 정당화는 안 되더라도, 특정 레벨, 특정 스페이스에서 직관을 바탕으로 해서 다양한 타 분야의 아이디어를 접목해서 성능 개선을 했다는 논문이 꽤 많다. 이런 점에서 퀀트 쪽이랑 좀 비슷한 것 같다는 생각이 문득 들었다. 핵심 아이디어 부분의 작용 원리가 사람에게 설득이 되고 실제 성능도 좋다면, 그 아이디어가 딥러닝의 전체 과정에 다소간에 덕지덕지 결합해 있더라도 긍정적으로 받아들여지는 그런 느낌에서 말이다. 딥러닝이 아니더라도 여러 가지 최첨단 공학의 산물들이 그렇게 덕지덕지 되어 있는 경우가 많으니 이것은 특별히 이상한 것은 아니다.
근데 문제는 딥러닝에서는 그렇게 창의적으로 제안된 학습 방법 혹은 아키텍쳐들이, 특정한 세팅 하에서의 작은 모델에서는 잘 validate될지언정 large scale에서의 보편적 실증은 잘 안 될 수가 있다는 점이다. 내가 배움이 부족하다 보니 이런 일의 전모와 잘 대응이 되는 말인지는 모르겠으나, inductive bias라는 키워드도 관련이 되는 것 같고 말이다.
일례로 트랜스포머의 온갖 마이너한 개선들이 있지만 그 중에 아직까지도 vanilla한 아키텍쳐와 셀프-어텐션 메커니즘을 large model에서 근본적으로 넘어서는 게 아직 없는 것 같다고 듣기도 했다. 물론 이것은 트랜스포머가 특히 처음부터 너무 잘 만들어져서 더 그런 것 같긴 한데... 아무튼 마침 오늘이 그 유명한 'Attention is all you need' 논문(NeurIPS 웹사이트에서 논문 보기: 링크, 구글 스콜라 기준 2024.06.13일자로 확인되는 인용 수 124195회)이 처음 나온지 딱 7년 되는 날이라 이 얘기도 적어 둔다.
그렇다면 위와 같은 창의적인 아키텍쳐 및 학습기법 연구들이 더 잘 정당화되려면 어떤 방향의 보완이 필요할까? 자신의 아이디어를 딥러닝의 end to end rigor 속에 구겨넣고 이론적으로 해석해서 더 엄밀하게 입증해야 하나? 물론 그렇게 된다면 너무 아름답고 좋은 논문이겠지만, 직관에 근거하여 창의적으로 제시된 practical한 개선 방법일수록 그렇게 하기가 어렵다.
애초부터 그렇게 구겨넣을 필요가 없게, vanilla한 기법의 내부 원리와 자연스럽게 융화하도록 아름답게 원리적 개선을 꾀한 연구들은 참 흔치가 않다. 그런 연구들은 특유의 스타일이 있는데, 기존의 모델이 알고 보니 더 넓은 클래스의 모델들의 한쪽 끝에 불과하다는 것을 알아내고, (억지스럽지 않게 정의되며 기존에도 성질이 잘 알려진) 그 넓은 클래스 안에서 제일 좋은 모델을 찾는 식의 접근을 대개 취하는 듯하다.
한편 자신의 아이디어가 분명히 성능은 좋지만 위와 같은 방식으로 정당화되기는 어려운 성격의 것이라면, 토이 데이터셋 말고 현실적인 커다란 과제에서도 보편적으로 성공적인지를 따져 보면 된다. 그러나 위에서 언급했듯이 그렇게 scale up된 검증을 통과하는 연구는 전체 연구의 개수에 비해서는 많지 않을 것으로 짐작된다. 결국 자신이 제안한 기법이 어떤 종류의 문제에 대해, 어떤 학습 상황에서 얼마나 성공적인지를 스스로 끊임없이 의심해 가며 명확히 밝혀서, '한정시킴으로써 정당화'해야 할 것으로 보인다.
자랑하자면 우리 연구실에서 나온 논문 중에도 위의 두 요건을 모두 만족하는 접근을 취한 것이 있다 (Euijoon Kwon and Yongjoo Baek, "
Facebook에서 이 글 보기: 링크
No comments:
Post a Comment