[딥러닝 논문 가이드] 딥러닝 전체

This entry is part 1 of 1 in the series 딥러닝 논문 가이드
  • [딥러닝 논문 가이드] 딥러닝 전체

1. 들어가며

이번 글에서는 2012년 AlexNet을 시작으로 2023년 현재까지의 중요한 딥러닝 논문들을 소개합니다. 한 해에도 주요 학회에서만 수천개가 넘는 딥러닝 논문이 발표되고 있는 시대에 중요한 논문들만 선택한다는건 쉽지 않은 일입니다. 지금까지 발표된 딥러닝 논문 중 가장 중요한 30여개의 논문을 고르기 위해 많은 고민을 했는데요. 이 과정에서 수백개의 딥러닝 논문 리스트를 펼쳐 놓고 보다 보니 문득 딥러닝의 진화 과정도 다른 일반적인 기술의 진보 과정과 동일하다는 느낌을 받았습니다. 이동 수단의 진화 과정을 한번 생각해 볼게요.

이동 수단의 진화 흐름
그림1. 이동 수단의 진화 흐름

위 그림은 제가 생각한 이동 수단의 진화 과정을 도식화한 그림인데요. 초창기에는 마차가 있었죠. 마차라는 개념이 나오고 나서는 2륜 마차, 4륜 마차와 같이 다양한 파생 개념들이 등장했습니다. 그리고 각 파생 개념에는 또다시 세부 마차들이 개발되며 발전해왔죠. 이러한 세부 마차들은 그 상위 개념인 파생 개념에 종속되어 그 한계를 벗어나지는 못했을거고요. 그러다가 어느날 화석 연료 엔진이라는 전혀 다른 개념의 이동 수단이 등장하게 됩니다. 이러한 혁신은 기존 기술을 모두 뒤바꾸고 이동 수단이라는 개념을 완전히 재정의하죠. 이러한 혁신 기술은 비약적으로 성장하면서 동시에 흐름의 방향을 완전히 뒤바뀌는 계기가 됩니다. 이제 다시 마찬가지로 가솔린 엔진, 디젤 엔진이라는 파생 기술이 등장하고, 그에 따른 세부 기술등이 개발되죠. 그러다가 이제는 전기 엔진이라는 새로운 혁신을 맞이하고 있는 중이고요.

비전 모델의 진화 흐름
그림2. 비전 모델의 진화 흐름

딥러닝의 진화 역시 비슷한 패턴을 보입니다. 위 그림은 이동 수단의 진화 그림 포멧에 맞춰 딥러닝 모델의 하위 카테고리인 비전 모델의 진화 과정을 도식화한 그림입니다. 이동 수단의 진화에서 마차라는 큰 개념이 화석 연료 엔진으로, 그리고 화석 연료 엔진은 다시 전기 엔진으로 대체되는 과정은 딥러닝에서 AlexNet을 시작하는 하는 CNN이 Transformer로, 그리고 Transformer는 다시 CLIP으로 대체되는 과정과 유사합니다. 그리고 마차에는 2륜 마차, 4륜 마차라는 파생 개념이 존재했던 것과 마찬가지로 CNN에는 더 깊은 모델을 만들려는 시도들과 Convolution을 변형하려는 시도들, Attention을 적용하려는 시도들 등 다양한 파생 모델들이 존재합니다. 이러한 파생 개념들을 시작한 대표 모델이 존재하고, 이후 연구는 이러한 대표 파생 모델들의 아이디어를 튜닝하는 방향으로 전개되죠.

제가 이번 글에서 정의하는 ‘중요한 딥러닝 논문’은 위의 그림에서 연구 흐름을 바꾼 새로운 개념에 해당하는 논문들과 파생 개념을 창조한 대표 논문들입니다. 하지만, 그 이후 주요 논문의 개념을 가다듬고 확장한 논문들이 중요하지 않다는 얘기가 결코 아닙니다. 오히려 이러한 첫 논문들은 혁신적인 아이디어를 적용했지만 거칠어서 가다듬어야 할 부분이 많은 경우가 많죠. 그래서 연구, 개발을 해야하는 입장에서는 오히려 이러한 아이디어를 잘 가다듬어 성능을 극대화한 이후 모델들을 활용하는 경우가 훨씬 많습니다.

그럼에도 불구하고 이번 글에서 위에서 설명한 대표 논문들만을 소개하고자 하는 이유가 있습니다. 이번 글은 딥러닝 공부를 시작하는 독자들을 대상으로 했습니다. 딥러닝 논문을 처음 읽기 시작 했을때의 그 막막함을 아직도 기억하는데요. 읽어야 할 논문은 산더미 같고, 논문 하나를 읽다 보면 도저히 이해가 안가 선행 논문을 따라 내려가다가 보면 어느새 피라미드 형태로 읽어야 할 논문만 쌓여가던 그 막막한 기분을 잊을 수 없습니다. 물론 이러한 과정은 필연적이고, 지금도 이렇게 지진한 과정을 똑같이 따라가며 공부를 하고 있습니다. 하지만 그때 그 시절 누군가가 조금의 가이드를 해 주었더라면 더 쉽게 올라갈 수 있지 않았을까 하는 아쉬움은 남습니다. 이러한 취지로, 이 글에서는 딥러닝의 전체적인 흐름을 이해하기 위한 대표 논문들을 선정하였습니다.

이번 글에서는 이렇게 선정한 딥러닝 주요 논문 30여개를 소개합니다. 또한 이렇게 전체 논문을 정리하는 과정에서 얻게 된 인사이트를 공유하고자 합니다. 지금까지 어떠한 방향으로 진화해 왔는지, 이러한 흐름을 바탕으로 앞으로의 방향은 어떻게 진행될지 정리해 보겠습니다.

아무쪼록 이번 글이 딥러닝에 첫 발을 들여놓는 독자분들에게 큰 도움이 되길 바랍니다. 그리고 반드시 명심해야 할 것은, 이 글은 단지 ‘지도’일 뿐이라는 점입니다. 지도는 여러분에게 최적의 방향을 가리켜주는 역할만을 합니다. 그 지도를 따라 각자가 이루고자 하는 목표를 달성하는 것은 오로지 여러분의 몫입니다. 이번 지도는 여러분을 30여개의 핵심 아이디어로 안내할 것입니다. 여러분 각자는 단지 핵심 아이디어들을 거쳐 지나갈 수도 있고, 안내받은 핵심 아이디어를 깊게 탐구할 수도 있습니다. 꼭 스스로 깊은 탐구를 해 보시길 권합니다. 지도를 따라 단지 지나간 핵심 아이디어는 결코 본인의 지식이 되지 않습니다. 스스로 읽고, 본인만의 언어로 정리한 지식만이 본인의 무기가 됩니다. 이번 글이 스스로 깊은 탐구를 원하는 초보 연구자들에게 최적의 경로를 안내하는 지도가 되길 바랍니다.

참고 자료는 글 마지막 ‘참고 자료’ 편에 정리했습니다. 참고자료는 크게 논문 원본, 해당 논문을 쉽게 설명한 리뷰 글, 핵심 개념 설명 글로 구분됩니다. 이번 글에서는 각 논문 별 핵심 내용만 소개했으니, 자세한 내용은 참고 자료를 참고해 주세요. 본문 중간에는 참고 자료의 번호만 표기해 놨습니다. 마지막 챕터 참고 자료 편에 해당 번호의 첨부 링크를 확인하시면 됩니다. 이제 본격적으로 시작해보겠습니다!

2. 연도별 주요 논문

이제 본격적으로 연도별 주요 논문들을 하나씩 살펴보겠습니다. 2012년 AlexNet을 시작으로 본격적인 딥러닝 시대가 열렸는데요. 이번 챕터에서는 2012년의 AlexNet부터 2023년의 Vision Language Model들까지 주요 모델들을 살펴볼겁니다. 카테고리는 총 8개로 나누었습니다.

첫 번째 카테고리는 Image Classification입니다. 초창기 모델은 오직 Image Classification 만 수행하도록 구성되었는데요. 최근에는 하나의 모델에서 Image Classification, Object Detection, Segmentation 등 다양한 Vision Task를 모두 수행할 수 있도록 구성하고 있습니다. 이러한 모델을 Vision Generalist 라고 분류하기도 하나, 아직 명확한 구분이 되어있지 않아 이러한 모델들도 Image Classification으로 포함했습니다.

두 번째 카테고리는 Object Detection 입니다. Image Classification과 마찬가지로 최근 발표되는 모델은 카테고리의 분류가 명확하지 않은 경우도 많지만, 2014년 발표된 R-CNN부터 2023년 발표된 YOLO v7 까지 다루겠습니다.

세 번째 카테고리는 Image Segmentation 입니다. Segmentation의 경우 Semantic Segmentation, Instance Segmentation, Panoptic Segmentation 등 세부 분야가 다양한데요. 이번 글에서는 이를 통칭하여 Segmentation이라고 부르고 대표적인 모델을 살펴보겠습니다.

네 번째 카테고리는 Self Supervised Learning 입니다. 2015년부터 Context Prediction 모델을 시작으로 SimCLR 등의 Contrastive Learning 방법과 Non Contrastive Learning 방법들까지 이어지는 흐름을 보이는데요. 마찬가지로 대표적인 모델들을 살펴보겠습니다.

다섯 번째 카테고리는 Image Generative Model입니다. 2014년 GAN을 시작으로 본격적인 이미지 생성 모델이 시작되었는데요. 이후 Normalizing Flow 방법의 모델들이 유행했고, 최근에는 Diffusion Model이 전성기를 맞이하고 있습니다. 이미지 생성 모델 분야에서도 가장 대표적인 논문들을 소개합니다.

여섯 번째 카테고리는 Language Model입니다. 2013년 Word2Vec 논문에서부터 시작할 건데요. 2017년 Transformer이후 발표된 GPT 시리즈, BERT 등은 엄밀히 말하면 LLM (Large Language Model)로 따로 분류합니다만. 이번 글에서는 모두 합쳐서 Language Model로 소개하겠습니다.

일곱 번째 카테고리는 Vision Language Model입니다. 이 분야는 비교적 최근 들어 발표되었고 급격하게 성장하고 있는 분야입니다. Transformer 발표 이후 다양한 방법의 Cross Modal Attention이 연구되었고, 이러한 기법 덕분에 Vision Embedding과 Language Embedding을 효과적으로 Fusion할 수 있는 방법이 많이 발표되었습니다. 이번 글에서는 대표적인 Vision Language Model을 소개합니다.

마지막으로 여덟 번째 카테고리는 ETC입니다. 사실 위의 일곱가지 카테고리에 포함되지 않은 딥러닝 연구 분야는 정말 다양한데요. 모든 카테고리를 분류하여 포함할 수 없어서, ETC라는 카테고리 안에 한 덩어리로 묶어 소개합니다.

이상 여덟가지 카테고리의 2012년부터 최근까지 주요 논문들은 다음과 같습니다.

딥러닝 분야별 주요 논문 리스트
그림3. 딥러닝 분야별 주요 논문 리스트

위 그림은 여덟 가지 카테고리의 주요 논문을 발표 시기별로 정리한 표입니다. 크게 형광색 강조가 되어있는 모델과 그렇지 않은 모델로 나눌 수 있는데요. 제가 나눈 논문들의 기준은 다음과 같습니다.

먼저 형광색 표시가 된 논문은 해당 기법을 대표하거나 전체 흐름을 바꿔 놓은 모델을 선정했습니다. 들어가며 부분에서 비유로 든 이동 수단의 변화를 예로 들면 화석 연료 엔진이나 전기 엔진처럼 흐름을 바꿔 놓은 기술이거나, 가솔린 엔진, 디젤 엔진처럼 해당 카테고리를 대표하는 기술들에 해당합니다.

다음으로 형광색 표시가 없는 논문들은 해당 기법을 대표하는 논문이 발표된 뒤, 이를 더욱 응용하거나 발전시킨 모델에 해당합니다. 최초가 아니라는 이유로 형광색 표시는 없지만, 오히려 최초 아이디어를 구현한 논문보다 성공적으로 업그레이드되어 훨씬 좋은 성능을 보이는 논문들에 해당합니다.

마지막은 위 표에 포함되지 않은 논문들인데요. 위 표를 정리하며 정말 많은 고민을 했습니다. 반짝이는 아이디어가 빛나는 논문도 많았고, 엄청난 성능을 보이는 방법도 많았기 때문인데요. 이번 글은 딥러닝 전체 주제를 대상으로, 딥러닝 공부를 시작하는 입장에서 꼭 알아야 하는 논문을 설명하는 글이기에, 정말 정말 대표적인 논문들만 선정했습니다.

이번 글에서는 위 표의 형광색 표시가 된 논문들만 소개하겠습니다. 정말 추리고 추려서 30여개 정도의 논문을 선정했는데요. 다시 한번 강조하지만 형광색 표시가 없다고 중요하지 않다는 의미가 결코 아닙니다. 형광색 표시는 ‘이 논문을 안 읽고서는 도저히 다음 논문을 읽을 수 없는’ 논문들이고요, 형광색 표시가 없는 논문은 ‘제대로 공부를 시작하면 분명 읽게 되는 논문들’이라고 생각하면 되겠습니다.

이제 본격적으로 2012년 AlexNet부터 소개를 시작하겠습니다.

2012년

AlexNet

딥러닝의 본격적인 시작은 2012년 AlexNet (ImageNet Classification with Deep Convolutional Neural Networks)에서부터 였습니다. AlexNet 이전까지는 사람이 직접 코딩한 Hand Craft 방식으로 특징을 추출하여 이미지 분류 문제를 풀었는데요. 2012년 ImageNet 콘테스트에서 AlexNet이 최초로 딥러닝 방식의 CNN으로 우승하면서 딥러닝의 부활을 알렸습니다.

AlexNet 구조
그림4. AlexNet 구조

위 그림은 AlexNet의 Architecture를 표현한 그림인데요. 초창기 CNN의 전형적인 구성을 보여주고 있습니다. AlexNet에서는 현재 표준으로 여겨지는 방식인 Convolution Layer와 ReLU 활성화 함수, Data Augmentation 방법, Drop Out, GPU 사용 등을 최초로 적용하였습니다.

AlexNet의 출현으로 AI 연구 방향은 급격하게 딥러닝으로 선회하게 되었습니다. 이후 Network In Network, ZFNet, Inception 등 다양한 CNN Architecture가 발표되며 딥러닝 연구는 가속화되었습니다. 자세한 내용은 AlexNet 논문 리뷰[1]를 참고해주세요.

2013년

Word2Vec

AlexNet의 등장 이후 컴퓨터 비전 분야는 AlexNet 구조를 기반으로 급성장하게 되었는데요. 반면 자연어 처리 분야에서는 가장 기초가 되는 단어를 적절한 벡터로 표현하는 표준화된 방식이 존재하지 않아 더딘 성장을 보이고 있었습니다. One Hot Encoding 방식으로 단어를 표현하기에는 단어 개수에 따라 표현 벡터의 차원이 늘어나야만 하는 결정적인 문제가 있었죠. 이에 2013년 Word2Vec이라는 논문(Word2Vec: Efficient Estimation of Word Representations in Vector Space)이 발표되는데요.

Word2Vec 구조
그림5. Word2Vec 구조

위 그림은 Word2Vec의 단어 학습 방법을 표현한 그림입니다. 기존 One Hot Encoding 방식과 달리 Word2Vec은 한 문장을 구성하는 주변 단어로부터 연관 관계를 학습하는데요. 이러한 방법을 적용함으로써 동일한 차원의 벡터로 모든 단어를 표현할 수 있게 되었고, 또한 연관된 단어 벡터끼리 뭉쳐서 존재하도록 표현할 수 있게 되었습니다. 이로써 자연어 처리 분야에서도 본격적으로 성장할 수 있는 기초 기술을 갖추게 되었죠. 자세한 내용은 Word2Vec 논문[2]을 참고해주세요.

2014년

R-CNN

2012년 Image Classification 문제에서는 AlexNet이 발표된 이후로 다양한 딥러닝 모델이 발표되며 급격한 성장을 이루었는데요. 반면 Object Detection 분야에서는 여전히 Hand Craft 방식을 사용하며 딥러닝 모델이 주류로 자리잡지 못하고 있었습니다. 이때 2014년 R-CNN 논문(Rich feature hierarchies for accurate object detection and semantic segmentation) 이 발표되는데요.

R-CNN 구조
그림6. R-CNN 구조

위 그림은 R-CNN의 방법을 간략하게 표현한 그림입니다. R-CNN의 가장 큰 특징은 모델이 크게 2단계로 구성되었다는 점입니다. 첫 번째는 Region Proposal 모델인데요. 이는 물체로 추정되는 위치를 골라주는 모델입니다. 두 번째는 이렇게 골라준 위치가 진짜 물체인지, 물체라면 어떤 물체인지 분류하는 모델이죠. R-CNN은 딥러닝 방식이 아닌, 별도의 Region Proposal 모델을 사용해야 했기에 작동 속도가 굉장히 느렸고, End to End 방식으로 학습할 수 없다는 한계가 존재했습니다. 자세한 내용은 R-CNN 논문[3]을 참고해 주세요.

하지만 Object Detection 문제에 최초로 딥러닝을 적용한 모델이라는 굉장히 기념비적인 모델입니다. Image Classification에 AlexNet이 있다면, Object Detection에는 R-CNN이 있다고 할 수 있죠. R-CNN의 등장으로 Object Detection은 표준 모델을 갖게 되었고, 이후 Fast R-CNN, Faster R-CNN, Mask R-CNN 등 다양한 R-CNN의 응용 버전들이 발표되며 R-CNN의 아이디어를 업그레이드했습니다.

seq2seq

한편 2014년에는 언어 모델에서도 중요한 모델이 발표되었는데요. 바로 seq2seq 라는 논문 (Sequence to Sequence Learning with Neural Networks) 입니다. 지금까지 AlexNet, R-CNN 등의 딥러닝 모델들을 언급했는데요. 이 모델들은 공통적으로 이미지를 다루는 모델들입니다. CNN이 이미지를 아주 효과적으로 잘 처리할 수 있음을 증명한 모델들이죠. 하지만 생각해보면 언어 데이터는 이미지와는 그 특성이 전혀 다른데요. 바로 입력 데이터가 순차적이고, 개수가 정해져있지 않기 때문입니다. 이러한 특성은 CNN을 포함한 기존의 DNN 계열들로는 원천적으로 해결하기 어려운 문제였는데요. seq2seq는 바로 이러한 Sequence 데이터를 효과적으로 연산할 수 있는 방법을 제시합니다.

seq2seq 구조
그림7. seq2seq 구조

위 그림은 seq2seq 방법을 묘사한 그림입니다. 대표적인 자연어 처리 문제인 번역 문제라고 가정해 볼게요. 위 그림은 입력 문장인 ‘ABC’를 ‘WXYZ’로 번역하는 seq2seq 모델을 표현한 그림입니다. 왼쪽을 보면 입력 문장의 구성 단어들인 A,B,C가 순차적으로 모듈에 입력되는 모습을 볼 수 있습니다. 또한 오른쪽에서는 번역되는 문장인 W,X,Y,Z가 순차적으로 출력되는 모습을 볼 수 있죠. 이러한 seq2seq 모델은 데이터를 순차적으로 입력 받음으로 인해 아주 긴 문장은 처리하기 어렵고, 데이터가 소실된다는 한계를 갖고 있습니다. 하지만 2017년 Transformer가 등장하기 전까지는 Sequence 데이터를 처리하는 대표적인 모델로서 역할을 합니다. 자세한 내용은 seq2seq 논문[4]을 참고해 주세요.

GAN

지금까지 언급한 이미지 모델들에서 뭔가 허전함이 느껴지지 않으셨나요? AlexNet, R-CNN은 모두 이미지를 입력 받아 클래스나 위치를 예측하는 모델인데요. 거꾸로 이미지를 생성하는 모델은 없을까요? 대표적인 이미지 생성 방법으로는 GAN이 있는데요. 바로 2014년 발표된 최초의 GAN 논문 (Generative Adversarial Nets)에서부터 시작합니다. GAN 논문에서는 최초의 GAN 아이디어를 제안하는데요. 핵심 아이디어는 이미지를 생성하는 Generator와 이렇게 만들어진 이미지가 진짜인지 가짜인지를 구분하는 Discriminator를 상호 적대적으로 (Adversarial) 학습하는 것입니다.

저자가 상상한 아이디어는 이런 상황인겁니다. Generator 라는 아이는 그림을 그리는 아이에요. Discriminator 라는 아이는 그 그림을 평가하는 아이입니다. 이 Discriminator 는 잘 그린 그림을 구분하도록 학습할 겁니다. 이 Discriminator라는 아이는 화가가 그린 그림과 Generator가 그린 그림을 잘 구분해서 맞추면 상을 받고, 못 맞추면 벌을 받습니다. 반대로 Generator는 본인이 그린 그림을 Discriminator가 화가가 그린거라고 잘못 맞추면 상을 받고, 잘 맞추면 벌을 받습니다. 그니까 한 명이 상을 받으면 다른 한 명은 무조건 벌을 받는 제로섬 게임인거죠. 이런 상황을 만들어 놓으면 어떻게 될까요? 처음에는 Generator가 만든 그림이 형편 없을테니 Discriminator가 계속 상을 받겠죠? 하지만 Generator는 계속 혼나가면서 기어코 화가처럼 그림 그리는 법을 배워낼 겁니다. 계속 혼날 수는 없으니까요. 결국 최종적으로는 Discriminator의 정답률이 50%가 되는 순간이 오겠죠. 이 순간이 바로 Generator가 만들어낸 그림과 화가가 그린 그림을 구분할 수 없는 순간일 겁니다. 이렇게 길고 재밌는 이야기는, 수식으로 다음과 같이 한 줄로 표현됩니다.

GAN 목적 함수
그림8. GAN 목적 함수

자세한 내용은 GAN 논문[5]을 참고해주세요. 이 GAN 논문은 이후 수도 없이 많은 GAN 시리즈 연구의 시초가 됩니다. GAN 시리즈는 최근까지도 발표되며 이미지 생성모델의 대표주자로 자리매김하고 있습니다.

Knowledge Distillation

다른 한편, 또 하나의 획기적인 논문이 발표되는데요. 바로 Knowledge Distillation (Distilling the Knowledge in a Neural Network) 입니다. 단어 그대로 해석해보면 지식을 증류한다는 의미인데요. 2014년 당시에는 딥러닝 붐이 시작되며 한창 획기적인 딥러닝 모델들이 여기저기 발표되던 시기였어요. 하지만 모델들은 점점 깊어지고 있었고, 이 말은 모델이 점점 무거워지고 많은 계산량을 필요로 한다는 의미였죠. 이렇게 무거워진 모델은 새로운 문제를 접할 때마다 처음부터 새로 학습해야만 했습니다. 이에 저자들은 이런 생각을 한 것 같아요. 이미 학습 완료한 모델의 지식을 활용해서 더 쉽고 빠르게 학습할 수는 없을까요? 특히 이왕이면 더 작은 모델로 지식을 전수해주면 좋을 텐데요. 그럼 학습도 더 쉽고, 더 가벼운 모델을 사용할 수 있으니까요. 사람으로 비유하면 마치 선생님이 학생을 가르쳐주듯이 말이죠.

Knowledge Distillation 구조
그림9. Knowledge Distillation 구조

이러한 문제의식과 아이디어에서 출발하여 발표된 새로운 개념이 바로 Knowledge Distillation 인데요. 위 그림은 대표적인 Knowledge Distillation 방법을 표현한 그림입니다. 이때 Teacher Model은 이미 학습이 완료된 모델이고요, Student Model은 학습을 시작해야 하는 모델입니다. 원래는 Student Model이 Label y를 사용해서 학습하잖아요. 그러지 말고 입력 이미지 x에 대해 Teacher Model이 알려주는 지식 (Prediction)을 학습하자는 겁니다. 선생님의 지식을 ‘증류’ 받는 셈인거죠.

이러한 방법은 크게 두 가지 장점이 있는데요. 첫 번째는 작은 모델도 큰 모델에 근접한 성능을 낼 수 있다는 점입니다. 두 번째는 Label을 직접 학습했을 때 보다 더 나은 일반화 성능을 보인다는 점입니다. 이는 더 구체적인 지식을 학습했기 때문으로 볼 수 있는데요. 단순히 이미지를 카테고리로 구분하는 Label 정보보다 Teacher Model이 알려주는 Prediction 정보가 더 고차원의 많은 정보를 포함하고 있기 때문입니다. 자세한 내용은 Knowledge Distillation 논문[12]를 참고해 주세요.

2014년 발표된 Knowledge Distillation은 이후 수많은 업그레이드 버전이 발표되었으며, 그 뿐만 아니라 Anomaly Detection 등 다양한 응용 분야에서 활용되며 딥러닝의 전체적인 발전에 기여했습니다.

2015년

2015년은 역사의 한 획을 그은 기라성 같은 딥러닝 논문들이 쏟아져 나온 해입니다. 2012년 AlexNet이 발표된 지 3년이 지났으니 2012년부터 시작한 연구 결과들이 쏟아져 나온 결과라고 볼 수 있겠습니다.

Inception

가장 먼저 살펴볼 논문은 Image Classification 문제를 다룬 Inception 모델 (Going deeper with convolutions) 입니다. AlexNet이 우승하며 딥러닝의 부활을 이끌었던 바로 그 ImageNet 콘테스트에서 2015년 우승한 모델인데요. 논문 제목에서 알 수 있듯이 CNN을 깊게 쌓는 방법에 대한 논문입니다. 이 당시 성능을 높이기 위해서는 모델을 더욱 깊이 쌓아야 한다는 공감대가 형성되어 있었는데요. 하지만 모델이 깊어질수록 과적합과 계산량이 많아진다는 문제가 있었습니다. 이에 Inception에서는 모델을 깊게 쌓을 수 있는 다양한 아이디어를 제안합니다.

Inception 구조
그림10. Inception 구조

위 그림은 Inception Module을 표현한 그림인데요. 그림과 같이 다양한 사이즈의 Convolution을 병렬로 연결하고 1×1 Convolution을 사용하여 연산량을 줄이는 방법을 제안합니다. 이러한 Inception의 아이디어는 이후 다양한 Inception 후속 버전들로 이어지며 업그레이드됩니다. 자세한 설명은 Inception 논문 리뷰[6]을 참고해 주세요.

VGGNet

Inception이 우승한 바로 그 2015년 이미지넷 콘테스트에서 준우승한 모델이 바로 VGGNet (VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION) 이었는데요. 제목에서 보듯이 Inception과 마찬가지로 CNN을 깊게 쌓을 수 있는 방법에 대한 연구 논문입니다. 다만 Inception 보다 더 ‘깊이’ 하나에 대해 ‘깊이’ 파고든 논문인데요. VGGNet에서는 Inception과 달리 다양한 사이즈의 Convolution을 사용하지 않고 딱 한가지 종류, 오직 3×3 Convolution만을 사용합니다. 그리고 나서 아주 깊은 모델을 구성하죠.

VGGNet 구조
그림11. VGGNet 구조

위 그림은 하나의 5×5 Convolution과 2개 연속으로 연결된 3×3 Convolution의 Receptive Field를 비교한 그림인데요. 그림과 같이 3×3 Convolution 2개를 묶으면 5×5 Convolution과 유사한 기능을 할 수 있습니다. 그런데 오히려 필요한 파라미터 개수와 연산량은 줄어들죠. 덕분에 VGGNet에서는 3×3 Convolution만 아주 깊게 쌓는 아주 단순한 구조로 복잡한 구조의 Inception에 필적하는 성능을 보였죠. 이러한 VGGNet의 철학은 이후 연구들에 ‘모델 깊이의 중요성’에 대한 영감을 제공합니다. 자세한 설명은 VGGNet 논문 리뷰[7]를 참고하세요.

Batch Normalization

이어서 발표된 논문이 Inception v2 라는 이름으로도 불리는 Batch Normalization 논문 (Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift) 입니다. 앞서 언급한 Inception, VGGNet은 깊은 모델의 중요성을 알렸지만 현실적으로 일정 수준 깊이 이상의 모델을 만드는건 어려웠는데요. 모델이 특성 깊이 이상 깊어지면 오히려 학습도 안되고 성능이 하락했기 때문이죠. Batch Normalization 논문에서는 이러한 이유를 Covariate Shift라고 주장합니다. Covariate Shift란 Layer의 출력으로 나올 때마다 데이터 분포가 이동하는 현상을 말하는데요.

Batch Normalization 적용
그림12. Batch Normalization 적용

위 그림처럼 연산을 거칠 때마다 데이터 분포가 이동하니, 이를 다시 가운데로 돌아오도록 보정해 주자는게 Batch Normalization의 핵심 아이디어입니다. 아주 직관적이고 간단한 아이디어인데요, 이후 발표되는 논문들은 거의 언제나 Batch Normalization을 포함하고 있을 정도로 딥러닝 연구의 한 획을 그은 논문이라고 할 수 있습니다. 자세한 설명은 Batch Normalization 논문 리뷰[8]을 참고해 주세요.

FCN

지금까지 Image Classification과 Object Detection 모델을 언급하면서 Segmentation 모델은 한번도 언급하지 않았는데요. 2015년 비로소 기념비적인 Segmentation 대표 모델이 발표됩니다. 바로 15년 CVPR에 발표된 FCN (Fully Convolutional Networks for Semantic Segmentation) 인데요. Segmentation의 어려움은 바로 모든 픽셀에 대해 클래스를 예측해야 한다는 점에 있습니다. 하지만 표준 CNN 모델은 마지막 Convolution Output Feature Map을 Fully Connected 연산으로 연결하기에 모든 위치 정보를 지운채 클래스만 구분하도록 구성되어 있죠. 이에 FCN에서는 Fully Connected 연산 대신 모든 연산을 Convolution으로 대체하는 방법을 제안하는데요.

FCN 구조
그림13. FCN 구조

위 그림은 Fully Connected 연산을 Convolution으로 대체한 FCN 구조를 표현하고 있습니다. 아래쪽 구조의 마지막을 보면 Height, Width가 남아 있는 채로 1000개의 채널을 갖는 Feature Map이 표현되어 있는데요. 이는 기존 1000 Dim을 갖는 Image Classification 모델을 Fully Convolution으로 대체함으로서 가능해졌습니다. Height, Width 정보가 남아 있기에 픽셀별 Classification을 수행할 수 있었죠. 차세한 내용은 FCN 논문[9]을 참고하세요.

이러한 FCN의 아이디어는 Segmentation 모델의 기본 아이디어가 되어 이후 후속 연구에서 적극적으로 활용됩니다.

UNet

바로 이어서 살펴볼 논문은 마찬가지로 Segmentation의 대표적인 모델이라 할 수 있는 15년 MICCAI에 발표된 UNet (U-Net: Convolutional Networks for Biomedical Image Segmentation) 입니다. 앞서 살펴본 FCN은 최초의 End to End 방식의 훌륭한 Segmentation 모델이었지만, 작은 물체는 잘 인식하지 못한다는 한계를 갖고 있었는데요. 아무래도 정보가 압축되는 과정에서 High Resolution 정보를 많이 잃어버린 탓이 컸습니다. 이에 UNet은 High Resolution 정보를 Skip Connection으로 이어주는 구조를 제안하는데요.

U-Net 구조
그림14. U-Net 구조

위 그림은 UNet Architecture를 표현한 그림입니다. 이름에서 보듯이 U 모양으로 생겼는데요. 왼쪽은 정보를 압축하는 과정이고, 오른쪽은 압축된 정보를 다시 확장하여 최종 Segmentation 출력을 내는 구조로 되어있습니다. 다만 이 과정에서 압축 과정에서의 정보를 Skip Connection을 통해 직접 받을 수 있도록 연결해주었죠. 이러한 아이디어로 UNet은 의료 도메인에서 뿐만 아니라 Segmentation 문제를 위한 대표적인 구조로 자리잡게 됩니다. 자세한 내용은 U-Net 논문[10]을 참고해 주세요.

Context Prediction

한편 지금까지 언급한 모든 모델들은 공통적인 한계를 하나 갖고 있습니다. 바로 모두가 기념비적이고 훌륭한 논문들이지만, Label 데이터가 없으면 아무것도 할 수 없다는 것인데요. 2015년 당시에는 다들 이러한 문제의식에 공감하고 있었고, 이에 대한 대처 방안 중 하나로 연구되는 분야가 바로 자기 지도 학습 (Self Supervised Learning) 이었습니다. 앞선 모델들의 학습 방법인 지도 학습 (Supervised Learning) 에는 반드시 Label 데이터가 필요하고, 이를 위해서는 사람의 수작업이 반드시 필요했는데요. 자기 지도 학습은 표현 그대로 이러한 Label 데이터 없이 스스로 지도하며 학습하는 방법입니다.

이러한 자기 지도 학습의 대표적인 첫 번째 논문으로 2015년 ICCV에 발표된 Context Prediction (Unsupervised Visual Representation Learning by Context Prediction) 을 소개합니다. Context Prediction의 아이디어는 정말 간단합니다. 이미지를 패치로 나누고, 이 패치의 순서를 맞추도록 모델을 학습하자는 겁니다.

Context Prediction 구조
그림15. Context Prediction 구조

위 그림은 Context Prediction 모델의 아이디어를 표현한 그림인데요. 입력 이미지를 총 9개의 패치로 나누고요. 모델에게는 기준 위치의 패치와 맞춰야 하는 패치를 입력해주고, 맞춰야 되는 패치가 몇 번째 순서인지를 맞추도록 학습하는 겁니다. 위의 예시에서는 모델이 세 번째 위치라고 맞춰야 하는 거죠. 유한개의 카테고리를 맞추면 되기 때문에 그저 Image Classification 문제와 동일하게 Cross Entropy Loss로 학습해주면 됩니다.

저자들의 아이디어는 이랬어요. 애기가 이러한 문제를 맞추려면 어떻게 해야 할까요? 고양이의 형태에 대해 이해하고 있어야겠죠? 위에는 귀가 두개 있고, 그 아래에 눈 코 입이 있고 발은 아래에 있다는 정보를 모두 알고 있어야 합니다. 그래야 이미지 패치 순서를 맞출 수 있으니까요. 따라서 반대로 생각하면 이렇게 패치 순서를 맞추도록 학습 하다 보면 자연스럽게 고양이 (이 이미지가 고양이라는 클래스인지는 모르지만) 이미지의 특성에 대해 학습할 것이라는 거죠. 자세한 내용은 Context Prediction 논문 리뷰[11]를 참고해 주세요.

이렇게 간단한 아이디어는 자기 지도 학습의 신호탄이 되었습니다. 이후 Inpainting, 직소 퍼즐 맞추기, 회전량 맞추기 등 다양한 자기 지도 학습 방법이 발표되었습니다.

NICE

한편 2015년에는 GAN이 아닌, 새로운 방식의 이미지 생성 모델이 발표되는데요. 바로 Normalizing Flow 방식을 사용한 NICE (NICE: NON-LINEAR INDEPENDENT COMPONENTS ESTIMATION) 입니다. Normalizing Flow 란 입력 이미지 X와 n개의 Latent Vector Zn을 모두 역함수가 존재하는 함수 f로 연결해주는 방식을 말합니다.

Normalizing Flow
그림16. Normalizing Flow

위 그림은 Normalizing FLow 방식을 도식화한 그림인데요. X와 Zn들이 모두 함수 f와 역함수 f-1로 연결되어 있는 모습을 볼 수 있습니다. 이렇게 구성해 주었을 때의 장점은 입력 이미지 X로 부터 Z를 바로 계산해줄 수 있다는 점인데요. 이때 Zn을 확률값으로 정의하여 이미지를 학습해준다면, 높은 확률값 Zn에 그럴듯한 이미지 X를 연결해주는 방식으로 이미지를 생성할 수 있습니다. 자세한 설명은 Normalizing Flow 설명[32]을 참고해주세요.

이렇게 NICE가 발표된 이후로, GAN이 주도하던 이미지 생성 분야에도 지각 변동이 발생했는데요. 이후 Normalizing Flow 방법의 다양한 이미지 생성 모델이 발표되었고, 뿐만 아니라 Anomaly Detection 등 이를 응용하여 다양한 분야에서 활용되었습니다. 자세한 설명은 NICE 논문 리뷰[12]를 참고해 주세요.

2016년

2015년까지는 GAN, Knowledge Distillation, Normalizing Flow 등 다양한 새로운 방법들이 등장한 시기였습니다. 또한 Inception, Batch Normalization, FCN 등 각 문제의 베이스 모델들이 발표된 시기였죠. 이어서 2016년에는 다양한 응용 모델들이 발표된 시기입니다. 하나씩 살펴보겠습니다.

ResNet

처음 살펴볼 모델은 2016년 CVPR에 발표된 ResNet (Deep Residual Learning for Image Recognition) 입니다. ResNet은 발표된지 7년이 넘었지만, 지금도 Base Model로 자주 사용되는 CNN의 대표 모델중 하나입니다. 앞서 Inception, Batch Normalization, VGGNet 등 다양한 모델을 소개하며 ‘깊은 모델’의 중요성을 강조했는데요. 하지만 모델이 일정 수준 이상으로 깊어지면 오히려 성능이 하락하는 문제로 골머리를 썩고 있었습니다. ResNet 저자들은 이러한 문제의 원인으로 Gradient 소실 문제를 주장하는데요. 모델의 깊이가 깊어질수록 Gradient가 잘 전파되지 않아 모델이 학습을 하지 못한다는 주장이었습니다. 그럼 Gradient가 깊은 Layer까지 잘 전파되도록 만들어주면 되겠죠?

ResNet 구조
그림17. ResNet 구조

이에 ResNet에서는 Residual Connection 이라는 개념을 제안하는데요. 쉽게 말하면 Gradient의 지름길이라고 할 수 있겠네요. 아주 간단한 아이디어에요. Gradient가 전파 안 되는게 문제라고 하니, 한 층을 통채로 건너 뛸 수 있는 지름길을 만들어 준거죠. 이러한 간단한 아이디어 덕분에 비로소 딥러닝 모델은 진정한 ‘딥’러닝의 시대를 열 수 있게 됩니다.

아이디어를 이해 하는것도 중요한데요. ResNet 논문에서 정말 중요한건, 지름길이 왜 Gradient 소실 문제를 완화해주는지 수식으로 이해하는 겁니다. 그래야 ResNet의 아이디어를 온전히 흡수할 수 있고, 본인만의 방법으로 응용할 수 있기 때문이죠. 자세한 설명은 ResNet 논문 리뷰[14]를 참고해주세요.

YOLO v1

다음으로 소개할 논문은 대망의 YOLO v1 입니다. YOLO는 대표적인 Object Detection 모델인데요. 2023년 현재 YOLO v8까지 발표가 되었습니다. 2016년 발표된 YOLO v1은 이러한 YOLO 시리즈의 시작을 알린 모델이죠. 앞서 R-CNN이라는 Object Detection 모델을 소개했는데요. 최초의 Object Detection 딥러닝 모델이라는 의의가 있지만, 2Stage로 구성되면서 속도가 느리다는 단점이 있다고 설명했습니다. YOLO v1은 이러한 한계를 극복하기 위해 제안된 모델로 대표적인 1 Stage Object Detection 모델입니다.

YOLO v1 구조
그림18. YOLO v1 구조

위 그림은 YOLO v1 동작 방법을 표현한 그림인데요. 2 Stage 방법과 달리 CNN으로 추출한 Feature Map으로 부터 바로 물체의 위치와 클래스 정보를 계산하는 모습을 보여주고 있습니다. 물론 덕분에 속도는 비교할 수 없을 정도로 빨라졌지만 정확도는 비교적 떨어진다는 단점이 있었죠. 이러한 단점은 이후 수많은 YOLO 시리즈와 다양한 Object Detection 모델에서 제안된 아이디어를 통해 해결됩니다. 자세한 설명은 YOLO v1 논문 리뷰[15]를 참고해주세요.

Inpainting

다음으로 소개할 논문은 또 다른 자기 지도 학습 (Self Supervised Learning) 모델입니다. 앞서 Context Prediction 이라는 자기 지도 학습 방법을 소개했는데요. 이미지 패치 위치를 맞추는 과정에서 이미지의 문맥 (Context)를 이해하도록 유도한 방법이었죠. 이번에는 이미지 빈칸을 채우는 (Inpainting) 방식입니다. 그래서 모델 이름도 Inpainting 이라고 부르도록 할게요. 원 제목은 Context Encoders: Feature Learning by Inpainting 이며 2016년 CVPR에서 발표되었습니다.

Inpainting 구조
그림19. Inpainting 구조

위 그림은 Inpainting의 동작 방법을 표현한 그림입니다. 왼쪽을 보면 입력 이미지에 빈칸을 만든 모습이고요. 이렇게 만들어놓은 빈 칸을 모델이 예측하도록 학습해주는 모습이죠. Inpainting 저자들 또한 Context Prediction 저자들과 비슷한 생각의 흐름을 거쳤을것 같은데요. 이미지 패치 위치를 학습하며 이미지의 전체적인 문맥을 학습한 것처럼, 이미지의 빈칸을 채우는 과정에서 자연스럽게 이미지 전체의 문맥을 학습할 것으로 예상했을것 같습니다. 자세한 내용은 Inpainting 논문 리뷰[16]를 참고해 주세요.

이 논문은 Context Prediction의 응용 버전이라고 할 수 있지만, 중요한 논문으로 꼽은 이유는 바로 Inpainting 이라는 방법 때문입니다. 최근 가장 큰 이슈가 되고 있는 ChatGPT와 같은 LLM들의 일부는 이렇게 숨겨진 단어를 예측하는 (Mask Prediction) 방식으로 학습합니다. 숨겨진 이미지를 예측하는 (Inpainting) 방법의 자연어 버전이라고 할 수 있죠. 뿐만 아니라 최근 발표되는 엄청난 성능을 보이는 Vision Language Model 들에서는 숨겨진 단어를 예측하고 (Mask Prediction) 동시에 숨겨진 이미지를 복원하는 (Inpainting) 방법으로 학습하곤 합니다. 즉 Inpainting을 통한 학습 방법은 아주 효과적임이 실험적으로 증명이 된 것이죠. 왜 Inpainting 방식이 이렇게까지 효과적인 것인지, 이 부분은 충분히 깊게 고민해볼 가치가 있는 주제입니다.

CAM

다음으로 소개할 논문은 2016년 CVPR에 발표된 CAM (Learning Deep Features for Discriminative Localization) 인데요. 무려 2016년이지만, 아직까지도 소개한 모든 모델에는 공통적인 한계가 존재합니다. 바로 해석할 수 없다는 특징인데요. CNN은 아주 성능이 좋은 모델이지만, 도출한 결과에 대해 원인을 찾을 수 없다는 문제가 있었습니다. 예를 들어, 입력 이미지를 강아지라고 추론했는데, 어느 부분을 보고 강아지라고 대답한 것인지는 알 수 없다는 것이죠. 이러한 문제로부터 연구되기 시작한 분야가 XAI (eXplainable AI)인데요, 이 XAI의 대표적인 방법이 바로 CAM입니다.

CAM 구조
그림20. CAM 구조

CAM의 아이디어는 정말 간단합니다. 위 그림은 CAM의 동작 방법을 표현한 그림인데요. 먼저 CNN 마지막 Feature Map에 GAP (Global Average Pooling)을 연결해줍니다. 그리고 학습이 완료되면 각 클래스별 Fully Connected 가중치와 Feature Map을 가중합해주는 방식이죠. GAP를 통해 모든 위치 정보를 통합해 주었고, 이 정보를 사용하여 Fully Conneted Layer를 학습했으니, 이렇게 학습된 클래스별 가중치와 Feature Map을 사용하면 해당 클래스 정보를 많이 포함하고 있는 부분을 찾을 수 있다는 아이디어인 것이죠. 자세한 내용은 CAM 논문[17]을 참고해 주세요.

단순한 아이디어지만 CAM 덕분에 CNN의 블랙박스와 같은 많은 궁금증을 해결할 수 있었습니다. CAM은 이후 Grad-CAM, Grad-CAM++ 등 다양한 버전으로 업그레이드되며 XAI의 대표 모델로 자리매김하게 됩니다.

2017년

이제 2017년으로 넘어가겠습니다. 2017년에도 이어서 다양한 응용 모델들이 발표되는데요. 2017년이 특히 중요한 이유는 Transformer가 발표된 해이기 때문입니다. 2012년 AlexNet의 등장으로 머신러닝의 시대를 끝내고 딥러닝의 시대를 시작하게 되었는데요. 마찬가지로 2017년 Transformer의 등장으로 인해 딥러닝 모델들은 서서히 CNN의 시대를 끝내고 Transformer의 시대를 시작하게 됩니다. 이제 2017년에 발표된 대표적인 모델들을 살펴보겠습니다.

DCN

먼저 살펴볼 모델은 DCN입니다. 2017년 ICCV에서 발표되었고요, 원 제목은 Deformable Convolutional Networks 입니다. 앞서 AlexNet, Inception, ResNet 등 다양한 CNN을 살펴봤는데요. 이들은 공통적으로 주어진 CNN 조건 하에서 성능을 올릴 수 있는 방법을 연구한 논문들이라고 할 수 있습니다. 반면 DCN 저자들은 전혀 다른 생각을 합니다. 꼭 주어진 조건을 그대로 받아들여야 할까요? CNN은 꼭 고정된 필터를 사용해야만 하는 걸까요? CNN의 동작 방식은 상당히 기계적인데요. Stride, Padding 등의 세부 조건을 정해주면 고정된 순서와 방법으로만 동작하죠. 이러한 특징 때문에 CNN이 물체를 수용할 수 있는 영역 (Receptive Field Size)는 고정되게 되죠. 이러한 특징으로 인해 CNN은 다양한 사이즈의 물체를 유연하게 (Adaptive) 잡아낼 수 없었습니다.

DCN 구조
그림21. DCN 구조

이에 DCN에서는 물체에 따라 Convolution 필터를 유연하게 조정하는 방법을 제안하는데요. 이른바 Deformable Convolution 입니다. 말 그대로 변형 가능한 Convolution 필터 인거죠. 위 그림은 Deformable Convolution 동작 방법을 표현한 그림인데요. 기존 Convolution과 달리 Convolution 필터가 물체를 더 잘 잡을 수 있도록 유연하게 움직이는 모습을 볼 수 있습니다. 자세한 내용은 DCN 논문 [18]을 참고해주세요.

이러한 DCN의 아이디어는 이후 DCN v2로도 이어졌으며, 뿐만 아니라 Convolution의 특성을 새롭게 변형하는 방식의 연구 방향을 열어주었습니다.

NAS

다음으로 소개할 논문은 NAS입니다. 2017년 ICLR에서 발표되었으며, 원 제목은 Neural architecture search with reinforcement learning입니다. 지금까지 소개한 모든 논문들은 아직도 공통적인 한계를 갖고 있는데요. 바로 다양한 하이퍼파라미터에 민감하며, 이는 개발자가 직접 찾아야 한다는 것입니다. 실제로 모델을 개발하다 보면, 좋은 모델, 잘 정제된 데이터, 이런 것도 중요한데요, 결국 마지막까지 개발자를 힘들게 하는건 하이퍼파라미터 튜닝입니다. 딥러닝 모델은 보통 수많은 하이퍼파라미터를 갖고 있는데요. 예를 들어 CNN이라면 공통적으로 필터의 차원수, Stride, Padding, Layer 개수, 입력 이미지 화질 등등 아주 많은 하이퍼파라미터가 존재합니다. 이는 개발자가 직접 세팅해주어야 하는 값들이죠. 하지만 문제는 하이퍼파라미터가 너무 많다는게 아니라, 이러한 하이퍼파라미터 값 하나 하나에 모델이 매우 민감하게 반응한다는 점입니다. 수십개의 하이퍼파라미터가 존재하는데 하나의 값이 조금만 바뀌어도 모델의 성능이 크게 달라지니 난감한거죠.

이러한 문제 의식해서 발표된 논문이 NAS이고요, NAS는 제목 그대로 Neural Architecture Search 라는 분야를 새롭게 창조합니다. 아이디어는 간단해요. 하이퍼파라미터가 너무 많아서 찾기 힘드니, 이 하이퍼파라미터들을 자동으로 찾아주는 네트워크를 만들자는 거죠.

NAS 구조
그림22. NAS 구조

위 그림은 NAS의 작동 방법을 표현한 그림인데요. RNN을 사용해서 필터 개수, 필터 사이즈 등의 하이퍼파라미터들을 출력하도록 구성해줍니다. 그리고 이 RNN을 강화학습을 사용해서 학습하는 거에요. RNN이 출력한 하이퍼파라미터로 모델을 구성하고 학습, 테스트했을 때의 성능이 좋아지는 방향으로 말이죠. 그럼 점차 RNN이 출력해준 하이퍼파라미터로 구성한 모델의 성능이 좋아지겠죠? 학습이 완료되면 가장 최적의 하이퍼파라미터를 찾을 수 있게 됩니다. 자세한 내용은 NAS 논문[19]을 참고해 주세요.

이러한 간단한 아이디어는 Neural Architecture Search 라는 분야를 새롭게 만들었고요. 이후 NasNet, MnasNet 등 다양한 후속 버전 발표를 이끌었습니다. 물론 이 덕분에 딥러닝 분야는 한층 더 빠르게 성장할 수 있게 되었죠.

Transformer

이제 대망의 Transformer 를 소개하겠습니다. ‘2017년은 Transformer가 발표된 해라는 이유로 중요한 해’ 라고 언급했는데요. 또한 딥러닝 모델은 Transformer 이전과 이후로 나뉜다고까지 표현했습니다. 그만큼 Transformer는 딥러닝 연구에서 중요한 위치를 차지하고 있는 모델입니다. 기존의 CNN 기반으로 진행되던 모든 딥러닝 연구들이 급속도로 Transformer 기반으로 넘어가게 되었죠. 2023년 현재는 대부분의 큰 사이즈 모델들은 Transformer 기반으로 제작되고 있으며, ‘CNN도 잘 변형하면 Transformer 못지 않다’는 내용의 논문들이 이슈가 될 정도입니다.

지금은 거의 대부분의 도메인에서 Transformer가 사용되고 있지만, 사실 Transformer는 자연어와 같은 순차적 데이터 (Sequential Data)를 처리하기 위해 도입된 모델입니다. 이러한 순차적 데이터는 Transformer 이전에는 대부분 seq2seq 방식으로 연산했는데요. 앞서 살펴본 바와 같이 seq2seq 또한 순차적 데이터를 처리하기 위해 제안된 방법이며, 일대 혁신을 일으킨 방법이지만, 태생적인 한계가 존재했습니다. 바로 데이터를 순차적으로 입력 받음으로 인해 데이터 소실과 느린 속도 문제가 발생한다는 점입니다. 이러한 문제를 해결하기 위해 Transformer는 순차적 데이터를 한 덩어리로 묶어 연산하는 방법을 사용합니다.

Transformer의 핵심 개념은 단연 Self Attention 이라고 할 수 있는데요. Self Attention이란 입력 받은 데이터의 상관 관계를 분석하여, 현재 문제를 해결하기 위해 더 중요한 데이터를 강조해주는 (Attention) 기법입니다.

Self Attention
그림23. Self Attention

위 그림은 Self Attention 기법을 표현한 그림인데요. 입력 데이터가 Self Attention을 거치며 각자 다른 가중치 (Attention)을 적용 받은 모습을 볼 수 있습니다. 자세한 내용은 Self Attention 설명[35]을 참고해주세요. 이렇게 Self Attention을 주요 모듈로 하는 Transformer는 다음과 같이 구성됩니다.

Transformer 구조
그림24. Transformer 구조

다양한 형태의 Self Attention이 적용된 모습을 볼 수 있습니다. 자세한 설명은 Transformer 논문 리뷰[20]를 참고해주세요.

Transformer가 발표된 이후, 자연어 처리 모델은 거의 대부분 Transformer 기반의 모델로 제작되기 시작합니다. 뿐만 아니라 이미지, 소리, 정형 데이터 등 다양한 도메인의 모델들도 대부분 Transformer 기반으로 급격하게 방향을 선회하죠. 더욱 중요한건 Transformer 덕분에 자연어 처리 모델의 성능이 급격하게 올라가며 현재의 초거대 언어 모델 (LLM)의 등장을 가능하게 했다는 점입니다. 최근 가장 큰 이슈인 ChatGPT도 Transformer를 기반으로 제작되었죠. 따라서 Transformer 를 정확히 이해하지 않고는 최근 논문을 이해할 수 없습니다. 반드시 정확하게 이해하고 넘어가야 하는 논문 중 하나입니다.

2018년

이제 2018년으로 넘어가겠습니다. 2017년 Transformer의 발표로 딥러닝 연구는 큰 변화를 맞이하는데요. 우선 자연어 처리 분야는 기존 스케일을 크게 확장하여 초거대 언어 모델 (LLM)로 진화하게 됩니다. 또한 비전 분야에서도 Transformer의 장점을 활용하려는 다양한 연구가 시도됩니다. 이러한 관점에서 2018년의 대표적인 논문들을 살펴보겠습니다.

SENet

먼저 소개할 논문은 SENet 입니다. 2018년 CVPR에서 발표되었고, 원 제목은 Squeeze and excitation networks입니다. 앞서 2017년 발표된 Transformer는 딥러닝 연구계에 지각 변동을 일으켰고, 비전 모델도 급속하게 Transformer 베이스로 바뀌었다고 언급했는데요. 가장 먼저 시도된 방법이 바로 Attention을 적용하자는 아이디어였습니다. Transformer의 핵심은 입력 받은 모든 데이터의 상관 관계를 고려하는 Self Attention이기 때문이죠. 이러한 관점에서 SENet은 채널별 Attention을 이미지를 처리하는 CNN에 적용하자는 아이디어를 생각해냅니다.

SENet 구조
그림25. SENet 구조

위 그림은 SENet의 동작 방법의 핵심을 간단하게 도식화한 그림입니다. CNN의 동작 과정에서 Feature Map이 나오게 되는데요. 이 Feature Map의 각 채널은 각기 다른 물체에 대한 정보를 포함하고 있다고 알려져 있죠. 이때 우리가 찾고자 하는 물체가 포함된 채널에는 더 많은 가중치를 부여하자는게 핵심 아이디어입니다. 자세한 설명은 SENet 논문 리뷰[21]를 참고해주세요.

이렇게 간단한 SENet의 아이디어는 기존 CNN에 모듈 형태로 삽입되어 성능을 개선시킬 수 있었습니다. 이는 기존 CNN에도 Attention 메커니즘이 적용되면 성능 개선 여지가 많음을 시사했죠. 이러한 흐름에 힘입어 이후 SENet의 핵심 철학을 업그레이드한 버전인 BAM[36], CBAM[37], SKNet[47] 등이 발표되었습니다.

GPT-1

이제 드디어 초거대 언어 모델 (LLM)이 등장할 차례인데요. OpenAI에서는 2018년 Transformer를 기반으로하는 대표적인 초거대 언어 모델 GPT-1을 발표합니다. 원 제목은 Improving Language Understanding by Generative Pre-Training 입니다. GPT-1은 우리가 알고 있는 ChatGPT의 가장 초창기 모델이라고 할 수 있습니다. GPT-1에서 주목한 문제는 바로 데이터 부족 문제였습니다. Transformer의 등장으로 아주 긴 문장도 학습할 수 있게 되었는데요. 문제는 모델의 사이즈는 엄청 크게 키울 수 있지만, 이런 초거대 모델을 학습할 만큼 많은 Label이 존재하는 데이터는 적다는 것이었죠. 그래서 GPT-1에서 생각한 아이디어는 Label이 없는 데이터를 학습하는 비지도 학습 (Unsupervised Learning) 이었습니다. 이러한 Label이 없는 언어 데이터는 인터넷 공간상에 무한히 존재하니까요. 이렇게 많은 언어 데이터로 사전 학습 (Pretraining)을 진행한 뒤, Label 데이터로 미세 조정 (Fine Tuning)만 해주자는 아이디어였죠.

GPT-1 구조
그림26. GPT-1 구조

위 그림은 GPT-1의 Architecture를 표현한 그림인데요. Transformer의 Decoder 부분을 거의 그대로 활용한 모습을 볼 수 있습니다. 이렇게 Transformer 기반의 모델을 사용하고 수많은 언어 데이터로 학습한 덕분에 GPT-1은 엄청난 성능을 내는 LLM이 될 수 있었습니다.

GPT-1은 문장의 일부를 입력 받아 다음 단어를 예측하는 (Autoregressive) 방식으로 학습했는데요, 이러한 방식은 이후 BERT로 대표되는 숨겨진 단어 예측하기 (Mask Prediction) 방식과 대조되는 방법이자, LLM을 대표하는 두 가지 학습 방법에 해당합니다. GPT-1은 이후 GPT-2, GPT-3, Instruct GPT, GPT-4 등 다양한 시리즈로 업그레이드되며 LLM의 발전을 이끌게 됩니다. 자세한 설명은 GPT-1 논문 리뷰[22]를 참고해주세요.

Mixup

지금까지의 모든 모델은 또다시 공통적인 한계를 갖고 있는데요. 바로 중간 경계 예측을 잘 못한다는 점입니다. 명확한 클래스를 Label로 하여 학습하기에, 어중간한 입력에 대해서는 엉뚱한 예측을 하곤 했죠. 이러한 문제 의식에서 출발하여 개발된 방법이 바로 Mixup입니다. Mixup은 2018년 ICLR에서 발표되었고, 원 제목은 mixup: BEYOND EMPIRICAL RISK MINIMIZATION 입니다.

Mixup 구조
그림27. Mixup 구조

Mixup의 아이디어는 아주 간단합니다. 앞서 설명한 기존 문제의식의 흐름에서 생각해보면 직관적으로 이해할 수 있는 방법인데요. 위 그림은 Mixup의 아이디어를 표현한 그림입니다. 기존에는 강아지 이미지를 (1,0)으로, 고양이 이미지를 (0,1)로 학습했다고 가정해볼게요. Mixup 방식은 강아지와 고양이를 반반 섞은 이미지에 대해 (0.5, 0.5)로 예측하도록 데이터를 추가해주는 방법입니다. 아주 간단한 아이디어이지만, 이렇게 학습한 모델은 학습도 안정화되면서 일반화 능력도 향상되는 효과를 보였습니다. 자세한 설명은 Mixup 논문 리뷰[23]를 참고해 주세요.

이러한 Mixup은 이후 Manifold Mixup, CutMix, AugMix, DeepAugment 등의 다양한 Mixup 버전으로 업그레이드되며 발표되게 됩니다.

2019년

이제 2019년으로 넘어가보겠습니다. 2019년에도 다양한 분야에서 엄청난 논문들이 쏟아져 나온 해인데요. 이 중에서 단 하나의 가장 큰 임팩트있는 논문을 꼽아보았습니다.

BERT

바로 BERT 인데요. BERT는 GPT 시리즈와 쌍벽을 이루는 빈칸 예측하기 (Mask Prediction) 방식의 LLM입니다. 2019년 NAACL에서 발표되었고, 원 제목은 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 입니다. BERT 저자들은 GPT 방식은 태생적으로 한계가 있다고 주장하는데요. 다음 단어를 예측하기 위해서는 반드시 한 방향으로만 데이터를 연산해야 한다는 것이죠. 반면 빈칸 예측 방식의 모델은 양방향으로 연산하는 것이 가능합니다. 덕분에 GPT-1보다 더 좋은 성능을 낼 수 있었죠. 자세한 설명은 BERT 논문 리뷰[24]를 참고해 주세요.

BERT 구조
그림28. BERT 구조

BERT도 GPT-1과 마찬가지로 다량의 Label이 없는 데이터로부터 사전학습을 한 뒤 Label 데이터로 미세조정 하는 방법을 사용합니다. BERT 이후 Mask Prediction 방식의 다양한 LLM이 등장했고, GPT 시리즈와 경쟁을 벌이게 됩니다.

2020년

다음으로 2020년으로 넘어가보겠습니다. 2020년에는 다양한 분야에서 Transformer를 적용한 모델들이 등장하기도 하고, 새로운 방식의 자기 주도 학습 방법이 쏟아져 나온 해입니다. 또한 기존 GAN, Normalizing Flow 방식을 대체하는 Diffusion Model 방식의 이미지 생성 모델이 출현한 해이기도 하죠.

DETR

먼저 살펴볼 논문은 Object Detection의 대표 모델중 하나인 DETR입니다. 2020년 ECCV에서 발표되었고, 원 제목은 End-to-end object detection with transformers입니다. 제목에서 알 수 있듯이 Transformer를 그대로 Object Detection 문제에 적용한 모델입니다. 드디어 Transformer가 이미지 분야에 들어온 것이죠.

DETR 구조
그림29. DETR 구조

위 그림은 DETR의 동작 방식을 시각화한 그림인데요. CNN으로 추출한 Feature에 Positional Encoding을 추가한 뒤 Transformer로 연산해주는 모습을 볼 수 있습니다. Decoder에서는 Encoder로부터 Feature를 받고, 위치 정보를 의미하는 Object Query를 입력받아 객체 위치 정보를 출력해주는 구조를 하고 있습니다. 자세한 내용은 DETR 논문[25]을 참고해주세요.

이러한 DETR의 등장은 이후 co-DETR, DINO 등 다양한 Transformer 방식의 Object Detection 후속 연구로 이어지게 됩니다.

SimCLR

다음으로 소개할 논문은 모처럼 등장한 자기 지도 학습의 새로운 방법을 제시한 SimCLR입니다. 2020년 PMLR에서 발표되었고, 원 제목은 A Simple Framework for Contrastive Learning of Visual Representations 입니다. 제목에서 알 수 있듯이 Contrastive Learning 방법을 사용한 Self Supervised Learning 방법을 골자로 하는 논문입니다. 기존 자기 지도 학습은 Context Prediction, Inpainting 등의 간접적인 학습 방법을 사용했는데요. 이러한 방법은 추가적인 네트워크를 통해 학습해야 하는 등 불편함이 많았습니다.

SimCLR 구조
그림30. SimCLR 구조

이에 SimCLR에서는 네트워크의 변형 없이 Augmentation 을 활용한 Contrastive Learning 방법을 제안합니다. 위 그림은 SimCLR 학습 방법을 도식화한 그림인데요. 동일한 이미지로부터 증강된 (Augmentation) 이미지들이 서로 가까워지도록 학습하는 모습을 볼 수 있습니다. 반대로 다른 이미지의 증강된 이미지와는 멀어지도록 학습하기에 대조적인 학습 방법 (Contrastive Learning) 이라고 부릅니다. 자세한 설명은 SimCLR 논문 리뷰[26]를 참고해주세요.

이러한 SimCLR는 이후 Contrastive Learning을 사용하는 자기 지도 학습의 새로운 지평을 엽니다. 이후 MoCo, PCL 등 다양한 자기 지도 학습 방법이 출현하는 계기가 되는 논문입니다.

MoCo

다음으로 소개할 논문은 MoCo입니다. 2020년 CVPR에 발표된 논문이고, 원 제목은 Momentum Contrast for Unsupervised Visual Representation Learning 입니다. SimCLR와 더불어 쌍벽을 이루는 대표적인 자기 지도 학습 방법인데요. SimCLR는 수많은 대조 데이터들을 학습하면서 가중치가 이리저리 크게 변경되게 되는데요. 이로 인해 학습이 쉽지 않은 문제가 있습니다. 이러한 문제는 데이터의 분포가 다양하기 때문입니다. 서로 다른 데이터 분포를 뭉쳐서 한번에 학습하려고 하다 보니 일관된 학습 방향을 잡기가 쉽지 않은 것이죠. 이에 MoCo에서는 Momentum을 사용한 가중치 업데이트 방법을 제안합니다.

MoCo 구조
그림31. MoCo 구조

위 그림은 MoCo의 학습 방법을 도식화한 그림입니다. SimCLR와 달리 2개의 서로 다른 Encoder가 존재하는 모습인데요. Q Encoder는 SimcLR와 동일한 방법으로 업데이트 되며, K Encoder는 Q Encoder를 천천히 따라가며 업데이트합니다. 우리는 최종적으로 K Encoder를 사용하는거고요. 이렇게 학습하면 안정적으로 학습한 Encoder를 사용할 수 있게 되는 것이죠. 자세한 설명은 MoCo 논문 리뷰[27]를 참고해주세요.

이렇게 MoCo에서 제안한 Momentum을 활용한 모델 학습 방법은 자기 지도 학습을 넘어 다양한 응용 문제에 적용됩니다. 덕분에 많은 모델이 학습을 더 안정화할 수 있었고, 딥러닝 연구는 한단계 업그레이드할 수 있었죠.

GPT-3

이번에 소개할 논문은 GPT-3 입니다. OpenAI에서 발표한 논문이고 원 제목은 Language Models are Few-Shot Learners입니다. 이번 글에서는 새로운 방향의 시초가 되는 논문만 소개하기로 했는데요. 그럼에도 GPT의 세번째 버전을 소개하는 이유는 GPT-3가 새로운 방향으로의 전환을 이끈 논문이기 때문입니다. 바로 Few Shot Learning의 활용인데요. 기존 LLM은 아주 많은 Label 없는 데이터를 사전학습 하는 방법을 통해 성능을 크게 끌어올릴 수 있었습니다. 하지만 어쨌든 최종 문제에 해당하는 Label 데이터로 Fine Tuning을 해야만 해당 문제를 풀 수 있었는데요. GPT-3는 이러한 Fine Tuning 없이도 Few Shot 방식으로 문제를 풀 수 있는 방법을 제안합니다.

GPT-3 Few Shot Learning
그림32. GPT-3 Few Shot Learning

위 그림은 GPT-3에서 제안하고 있는 Few Shot 방법 예시입니다. 먼저 어떠한 문제를 풀 것인지 모델에게 설명해줍니다. 그리고 예시를 몇 가지 보여주죠. 그리고 나서 문제를 주는 겁니다. 기본적으로 LLM은 다량의 문장을 사전학습 했기 때문에 긴 문장의 의미를 잘 이해할 수 있는데요. 따라서 문제에 대한 설명과 예시를 통해 해당 문제 데이터로 학습한 효과를 비슷하게 낼 수 있는 것이죠. 자세한 설명은 GPT-3 논문 리뷰[28]를 참고해주세요.

이렇게 Few Shot 을 활용하는 방법은 이후 LLM에서 뿐만 아니라 다양한 Vision Language Model들에도 많은 영감을 줍니다. 이후 모델들에서는 Few Shot 방법을 적극적으로 활용하며 Fine Tuning 없이도 좋은 성능을 내게 되죠.

DDPM

이번에 소개할 논문은 DDPM입니다. 2020년 NIPS에서 발표되었고, 원 제목은 Denoising Diffusion Probabilistic Models입니다. 바로 Diffusion Model 논문인데요. 사실 Diffusion Model의 시초격인 논문은 한참 전에 발표되었지만, 실질적으로 Diffusion Model의 부흥을 이끈 논문은 DDPM이라고 할 수 있습니다. 마치 LeNet이 CNN의 원조이지만 본격적인 CNN의 시작을 알린 모델은 AlexNet인것 처럼요. 자세한 내용은 DDPM 논문[29]을 참고해 주세요.

Diffusion Model
그림33. Diffusion Model

Diffusion Model이란 이미지에 Noise를 첨가하는 과정을 T번(대략 1000번) 반복하고, 이 Noise를 예측하여 이미지를 복원하는 모델을 말합니다. 이렇게 학습된 모델은 Noise로부터 이미지를 생성할 수 있게 되는 것이죠. Diffusion Model의 기초적인 내용은 Diffusion Model 설명[45]을 참고해주세요.

이렇게 DDPM은 Diffusion Model의 본격적인 시작을 알렸고요. 이후 Imagen[42], GLIDE[43], DallE2[44], Stable Diffusion[45] 등 엄청나게 많은 Diffusion Model들이 발표되게 됩니다. 2023년 현재 가장 유행하는 대부분의 이미지 생성 모델은 Diffusion Model을 사용하고 있다고 해도 과언이 아니죠.

2021년

다음으로 2021년으로 넘어가겠습니다. 2021년에도 엄청난 논문들이 쏟아져 나왔는데요. 이 중에서도 기존 연구의 방향을 바꾼 논문으로는 ViT와 CLIP 두가지를 선정했습니다.

ViT

ViT는 Vision Transformer의 약자인데요. ViT는 2021년 ICLR에서 발표되었고, 원 제목은 AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 입니다. 제목에서 알 수 있듯이 드디어 Transformer를 통채로 적용한 비전 모델이 등장했습니다. 그동안 다양한 연구에서 Transformer를 비전 모델에 적용하려고 시도했었는데요. Self Attention을 일부만 적용했거나 (SASA), 저화질의 이미지에서만 사용할 수 있는 (ImageGPT) 한계가 있었습니다.

Vision Transformer 구조
그림34. Vision Transformer 구조

위 그림은 ViT의 구조를 표현한 그림입니다. 가운데에 Transformer Encoder가 위치한 모습인데요. 그림과 같이 ViT에서는 기존 Transformer Encoder를 그대로 적용합니다. Transformer가 연산할 수 있도록 이미지를 순차적 데이터와 같이 변형해주는 방법을 사용하죠. 그래서 제목에서도 이미지는 16×16 단어와 같다 (An image is worth 16×16 words) 라고 표현해주고 있습니다. 자세한 설명은 ViT 논문 리뷰[30]를 참고해주세요.

ViT의 발표 이후 비전 모델은 CNN 기반에서 급격하게 ViT 기반으로 방향 전환합니다. 이후 DeiT, BeiT 등 다양한 Transformer 기반의 비전 모델들이 등장하게 되죠.

CLIP

다음으로 소개할 논문은 CLIP입니다. 2021년 PMLR에 발표되었고, 원 제목은 Learning Transferable Visual Models From Natural Language Supervision 입니다. 지금까지 많은 논문들을 소개했는데요. 모두들 획기적인 아이디어로 연구 방향을 바꿔 놓은 논문들이었죠. 하지만 그럼에도 불구하고 공통적인 한계가 존재했습니다. 바로 하나의 도메인에서만 잘 동작하는 모델이라는 점입니다. 예를 들어 Transformer는 순차적 데이터에서만 잘 동작하는 모델입니다. ViT는 이미지 도메인에서만 잘 동작하는 모델이죠. GPT-1, BERT도 엄청난 모델이지만 언어 데이터만 처리할 수 있는 모델입니다. 그동안은 이렇게 각자의 도메인에 특화된 모델들이 연구되었습니다.

그러던중 드디어 언어 데이터와 이미지를 동시에 연산할 수 있는 CLIP이 발표됩니다. 사실 CLIP 이전에도 언어와 이미지를 동시에 처리하고자 하는 다양한 시도들이 존재했습니다. 하지만 구조가 복잡했고 CLIP 만큼 효과적으로 연산하지 못했죠.

CLIP 구조
그림35. CLIP 구조

CLIP은 아주 많은 양의 이미지-언어 Pair 데이터를 Contrastive Learning으로 학습합니다. 앞서 자기 지도 학습에서 자두 언급한 그 Contrastive Learning과 동일한데요. 위 그림은 CLIP의 동작 방법을 시각화한 그림입니다. 왼쪽에서 CLIP의 학습 방법을 묘사하고 있는데요. 초록색 IN은 이미지 Embedding을, 보라색 TN은 텍스트 Embedding을 의미합니다. 이렇게 N개의 Pair를 맞춰놓고 내 짝은 가까워지도록, 내 짝이 아닌 Embedding 과는 멀어지도록 학습했습니다. 아주 단순한 방법이지만 아주 많은 데이터를 학습한 덕분에 이미지와 텍스트를 일치(Align) 시킬 수 있었죠. 자세한 내용은 CLIP 논문 리뷰[31]를 참고해주세요.

CLIP은 이미지와 텍스트를 잘 매칭하는 능력 덕분에 DallE2에서는 언어로 표현된 그림을 그릴 수 있게 만들어주었습니다. 또한 본격적인 Vision Language Model의 시작을 알리게 됩니다.

2022년 ~ 2023년

이제 2022년으로 넘어가겠습니다. 2022년에는 수많은 LLM과 Vision Language Model들이 쏟아져 나오는 해입니다. 사실 중요한 논문들은 매우 많은데요. 연구 흐름을 바꾼 수준의 논문만 소개하기로 한 이번 글의 취지에 맞게 어떤 모델을 선택해야 할지 오래 고민했습니다. 오랜 고민 끝에 당장은 연구 흐름을 바꾼 논문을 선택할 수 없다는 결론을 내렸습니다. 왜냐하면 연구 흐름을 바꿨는지 여부는 해당 논문의 발표 시점이 아닌, 일정 시간이 흐른 뒤에 비로소 알 수 있기 때문입니다. 이러한 이유에서 수많은 LLM과 Vision Language Model을 비롯한 다양한 분야의 논문들을 앞으로 계속 지켜 보기로 하고, 이번 글에서는 단 하나의 논문만 추가로 소개하려고 합니다.

Instruct GPT

마지막 소개할 논문으로는 Instruct GPT를 선택했는데요. Instruct GPT는 OpenAI에서 2022년 NIPS에 발표한 논문이고 원 제목은 Training language models to follow instructions with human feedback 입니다. 해당 논문이 연구 흐름을 바꿀 수 있을지는 시간이 지나야 알 수 있다고 했음에도 불구하고 Instruct GPT를 연구 흐름을 바꾼 논문으로 선택한 이유는 바로 ChatGPT 때문입니다. 앞서 GPT-1, GPT-2, GPT-3 등 다양한 버전의 GPT 시리즈들이 발표되었는데요. 하나같이 임팩트가 크고 딥러닝 연구계에 큰 자극을 주었던 논문들이었습니다. 하지만 지금의 ChatGPT를 가능하게 한 논문은 단연 Instruct GPT라고 생각하는데요.

Instruct GPT의 RLHF
그림36. Instruct GPT의 RLHF

위 그림은 Instruct GPT의 학습 방법을 소개한 그림입니다. Instruct GPT에는 그동안 없었던 새로운 개념이 적용되었습니다. 바로 인간 피드백에 기인한 강화학습, 바로 RLHF (Reinforcement Learning by Human Feedback) 입니다. ChatGPT 열풍의 원인은 다양한데요. 첫 번째는 당연히 언어 능력일 것입니다. ChatGPT는 사람의 언어를 잘 이해하고, 대화할 수 있는 능력을 갖추었죠. 하지만 이러한 언어 능력은 이전 GPT 시리즈들과, 다른 LLM에서도 갖추고 있는 능력입니다. ChatGPT의 진짜 능력은 바로 두 번째 요인인 ‘진짜 사람처럼 얘기하는 능력’ 이라고 생각하는데요. ChatGPT는 다른 LLM과 달리, 언어 능력이 좋을 뿐만 아니라 ‘기분 좋게’ 대화할 수 있습니다.

무슨 말이냐면요, 다른 LLM들이랑은 오래 대화를 하다보면 ‘아 내가 컴퓨터랑 대화하고 있구나’ 싶은 느낌을 받습니다. 갑자기 어색한 대답을 하거나 불편한 느낌이 드는 대답이 나올때가 많거든요. 반면 ChatGPT랑 오래 대화를 하고 있으면 나도 모르게 웃으면서 얘기하고 있는 모습을 볼 수 있는데요. 이러한 결정적인 차이를 만든 요소 기술이 바로 RLHF입니다.

이 기술은 말 그대로 사람의 피드백을 통해서 모델을 미세 조정하는 방법을 말합니다. 언어는 잘 이해했지만, 사람과 기분 좋게 대화할 수 있는 능력은 또 다른 얘기거든요. 그리고 이렇게 기분 좋게 대화를 지속할 수 없으면 수익 창출이 가능한 서비스로 확장하기 어렵죠. 왜 우리 말에 ‘어 다르고, 아 다르다’는 표현이 있잖아요. 사람은 그만큼 단어 하나, 문맥 하나 하나에 예민하게 반응한다는 뜻일텐데요. ChatGPT는 이렇게 사람의 반응을 토대로 똑같은 말이라도, 사람들이 더 선호하는 표현 방식으로 대답하도록 미세조정 해주었습니다. 덕분에 지금의 ChatGPT 열풍이 가능했던 것이죠. 자세한 내용은 Instruct GPT 논문 리뷰[32]를 참고해 주세요.

3. 딥러닝 모델 진화의 흐름

지금까지 2012년부터 시작해서 2023년까지, 딥러닝 연구 흐름을 바꿔 놓은 대표적인 논문들을 살펴봤습니다. 이번 챕터에서는 지금까지 살펴본 10여년간의 논문들을 토대로 지금까지의 큰 흐름을 정리해보려고 합니다. 또한 과거의 흐름을 알면 앞으로의 흐름도 대략적으로는 예측할 수 있을 텐데요. 지금까지 흐름을 바탕으로 앞으로 딥러닝 연구는 어느 방향으로 향할지도 생각해보겠습니다.

딥러닝 모델 진화의 흐름
그림37. 딥러닝 모델 진화의 흐름

이번 글에서는 2012년 발표된 AlexNet 부터 소개했는데요. AlexNet은 그 전까지 침체되어 있던 딥러닝의 부활을 알리는 신호탄이었죠. 사실 AlexNet 이전에도 딥러닝과 CNN이라는 개념은 존재했습니다. 다만 성능이 입증되지 않아 널리 사용되지 않았을 뿐이죠. 이런 이유로 2012년까지는 딥러닝이 아닌 머신러닝들이 주류를 이루었습니다. 그리고 AlexNet을 시작으로 본격적인 CNN 기반의 딥러닝의 시대가 열리게 되었죠.

이러한 큰 흐름은 2017년 Transformer가 발표되면서 큰 전환기를 맞이합니다. CNN과 Transformer는 내재된 특성이 크게 다릅니다. CNN은 주변부의 정보로부터 작은 개념을 인지하고, 또 이렇게 인지한 작은 개념들을 조금 더 확장해 중간 개념들을 인지하는 방법을 사용합니다. 이러한 주변 정보를 Local Feature 라고 표현하는데요. CNN은 전체적인 모습보다는 주변 정보에 좀 더 초점을 맞춰 연산하고자 하는 네트워크입니다.

반면 Transformer는 반대 특성을 갖고 있습니다. 주변 정보에만 집중하지 않고, 데이터 전체의 상관 관계에 집중하죠. 이러한 특성은 Self Attention 의 특성에 크게 기인합니다. 이러한 특성 때문에 Transformer를 학습하려면 CNN보다 더 많은 데이터가 요구됩니다. 왜냐하면 CNN은 멀리 있는 정보는 애초에 무시하는 반면, Transformer는 모든 데이터의 상관관계를 다 분석해야 하기 때문이죠. 따라서 Transformer에게 일정 수준의 일반화 성능을 주려면 더욱 많은 데이터를 주어야 합니다. 이러한 특성을 귀납적 편향 (Inductive Bias)가 적다고 표현합니다. 이는 Transformer의 아주 중요한 특징중 하나이죠.

하지만 다행히 Transformer 이전 다양한 연구들이 폭발적으로 늘어나면서, 엄청난 양의 데이터를 확보할 수 있었고, 또 Label이 없는 데이터를 사용해서도 효과적으로 학습할 수 있는 방법들이 많이 개발되었죠. 아마 이러한 사전 연구들이 없었다면 Transformer는 빛을 보지 못했을지도 모릅니다. 이건 마치 암흑기에 빠져 있던 딥러닝 연구가 GPU의 개발, 빅데이터, 수십년간 축적 되온 딥러닝 알고리즘들이 한번에 시너지를 내면서 AlexNet 이라는 결과물로 날아 오른것과 유사하다고도 볼 수 있겠네요.

이렇게 Transformer의 출현으로 딥러닝 연구는 다시 한번 크게 도약하게 됩니다. 이는 앞서 설명한 Transformer의 강력한 성능에 많이 기인하였습니다. 이제 각 도메인 Architecture는 모두들 약속이라도 한 듯이 Transformer 기반으로 진화되어갔죠. 그리고 이러한 통일된 Architecture는 자연스럽게 여러 도메인을 통합하여 연산할 수 있는 모델을 촉발했습니다. 이른바 Multi Modal Model인데요. 그 중 대표적인 모델로 소개한 논문이 바로 CLIP이었습니다. CLIP은 언어와 이미지를 Align할 수 있는 대표적인 방법입니다. 그리고 현재는 언어, 이미지뿐만 아니라 소리, 정형 데이터까지 모두 동시에 연산할 수 있는 모델들이 발표되고 있습니다. 예를 들어 GPT-4 같은 경우는 다양한 형태의 입력을 받을 수 있고, 이에 대한 출력을 언어로도, 이미지로도 할 수 있죠.

여기까지가 이번 글에서 살펴본 딥러닝 연구의 큰 흐름이었습니다. 대략 4~5년 주기로 연구의 흐름이 크게 바뀌는 모습을 볼 수 있는데요. 2023년 현재는 이미 큰 흐름의 정 중앙에 있다고 볼 수 있겠습니다. 우리는 지금 모든 도메인의 딥러닝 연구들이 하나로 합쳐지는 시기를 살고 있는 중이죠. 앞으로는 더 많은 Multi Modal Model들이 발표될 것으로 예상됩니다. 그 말은 지금의 ChatGPT와는 비교가 안될 정도로 엄청난 딥러닝 모델들이 출현할 것이라는 것이죠.

4. 마치며

이 글을 통해 딥러닝의 주요 논문 30여개를 살펴보고, 그 논문들이 이끌어낸 혁신과 변화에 대해 깊이 있게 이해할 수 있었기를 바랍니다. 이 글이 단순히 몇몇 논문을 소개하는 것을 넘어, 딥러닝이라는 분야에서 어떤 아이디어가 어떻게 발전해왔는지, 그리고 그것이 현재까지 어떤 영향을 미치고 있는지에 대한 전반적인 이해를 제공했다면, 이 글의 목적은 충분히 달성된 것이라고 생각합니다.

딥러닝은 끊임없이 발전하는 분야입니다. 오늘날 우리가 혁신적이라고 생각하는 아이디어나 모델도 언젠가는 새로운 연구와 기술에 의해 뒤집힐 수 있습니다. 그러나 그런 변화가 있더라도, 이 글에서 소개한 논문들과 그들이 제시한 핵심 아이디어들은 딥러닝의 기초를 이해하고, 그 발전의 흐름을 파악하는 데 있어 여전히 중요한 역할을 할 것입니다.

지도는 여러분에게 방향을 제시하는 도구일 뿐입니다. 그 지도에 따라 여러분이 직접 발걸음을 옮기고, 안내받은 핵심 아이디어와 기술을 깊게 탐구하는 것이 중요합니다. 이 과정에서 여러분은 논문을 단순히 읽는 것을 넘어, 그 안에 담긴 아이디어를 본인만의 언어로 정리하고, 그것을 실제 문제에 적용해보는 등의 다양한 경험을 쌓게 될 것입니다. 이런 경험과 지식이 여러분의 무기가 되고, 그 무기를 통해 여러분은 딥러닝이라는 분야에서 본인만의 위치를 찾을 수 있을 것입니다.

이 글이 딥러닝에 관심을 가진 모든 분들에게 유익한 지도가 되었기를 바랍니다. 그리고 이 지도가 여러분을 안내하는 과정에서 발견되는 새로운 길과 아이디어가 여러분 자신을 더욱 성장시키는 계기가 되기를 희망합니다. 딥러닝은 끊임없는 탐구의 연속이며, 그 탐구를 통해 얻은 지식과 경험이 여러분을 더욱 빛나게 할 것입니다.

5. 참고 자료

  1. AlexNet 논문 리뷰
  2. Word2Vec 논문
  3. R-CNN 논문
  4. seq2seq 논문
  5. GAN 논문
  6. Inception 논문 리뷰
  7. VGGNet 논문 리뷰
  8. Batch Normalization 논문 리뷰
  9. FCN 논문
  10. U-Net 논문
  11. Context Prediction 논문 리뷰
  12. NICE 논문 리뷰
  13. Knowledge Distillation 논문
  14. ResNet 논문 리뷰
  15. YOLO v1 논문 리뷰
  16. Inpainting 논문 리뷰
  17. CAM 논문
  18. DCN 논문
  19. NAS 논문
  20. Transformer 논문 리뷰
  21. SENet 논문 리뷰
  22. GPT-1 논문 리뷰
  23. Mixup 논문 리뷰
  24. BERT 논문 리뷰
  25. DETR 논문
  26. SimCLR 논문 리뷰
  27. MoCo 논문 리뷰
  28. GPT-3 논문 리뷰
  29. DDPM 논문
  30. ViT 논문 리뷰
  31. CLIP 논문 리뷰
  32. Instruct GPT 논문 리뷰
  33. Normalizing FLow 설명
  34. Convolutional Neural Network 설명
  35. Self Attention 설명
  36. BAM 논문 리뷰
  37. CBAM 논문 리뷰
  38. Manifold Mixup 논문 리뷰
  39. CutMix 논문 리뷰
  40. AugMix 논문 리뷰
  41. Deep Augment 논문 리뷰
  42. Imagen 논문 리뷰
  43. GLIDE 논문 리뷰
  44. DallE2 논문 리뷰
  45. Diffusion Model 설명
  46. Stable Diffusion 논문 리뷰
  47. SKNet 논문 리뷰
5 7 votes
Article Rating
Subscribe
Notify of
guest
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
harvey
harvey
5 months ago

매우 훌륭한 블로그네요.
딥러닝 관련 최신 논문의 흐름을 이렇게 깔금하게 정리해주셔서 감사합니다.

john
john
5 months ago

안녕하세요 흐름을 너무 잘 잡아 주셔서 딥러닝 공부에 큰 도움을 주셔서 감사합니다.
혹시 해당 블로그를 제 tistory에 참조해도 될까요? 링크는 점부하겠습니다!

4
0
Would love your thoughts, please comment.x
()
x
Scroll to Top