호돌찌의 AI 연구소
article thumbnail

https://www.arxiv-vanity.com/papers/2106.07139/

1. comparison of Supervised vs. Unsupervised Learning

Supervised Learning은 머신러닝 공부할 때 가장 제일 처음 나오는 부류의 학습방법입니다. label y와 data input의 관계를 학습합니다. 반면 Unsupervised Learning은 label y가 존재하지 않고 data x 분포 자체를 학습하거나 x의 feature를 학습하여 활용합니다.

 

2. Supervised learning

많은 데이터에 사람이 직접 label을 답니다. 이를 통해 입력 x와 output y사이의 관계를 학습합니다. Data y에 label을 다는 것이 인형에 눈알을 다는 것으로 행위가 유사하다고 빗대는데, 실제로 label을 다는 것은 정말 고되고 힘듭니다. 비용도 많이 들고 데이터의 양과 품질에 따라 좋은 label을 달아주어야 모델도 좋은 성능을 기대할 수 있습니다. 이 모델들은 상용화의 대부분을 차지하게 됩니다. 

 

3. Unsupervised Learning

데이터 x 자체 내부의 feature를 학습합니다. 대표적으로 Generative Model 계열인 GAN, representation Model 계열인 Auto Encoder 계열이 대표적입니다. 가장 쉬운 것은 Clustering Model 계열들도 Unsupervised Learning입니다.

 

4. Self-supervised Learning

Unsupervised Leaning 계열로 대부분 분류를 합니다. 그 이유는 Self-supervised Learning도 마찬가지로 데이터 x 내부를 보고 활용한다는 점입니다. 데이터 내부의 구조를 일부는 x, 나머지 정보 y를 label로 삼아 예측하도록 학습하는 것입니다. 이 과정을 통해서 얻어진 모델을 다른 Down stream task에 적용(Transfer Learning)하여 본인 Target Task에 성능을 극대화시킵니다.

 

5. Self-supervised Learning in NLP

Language Model의 최종 Goal은 다음 낱말을 잘 맞추거나(GPT 류), 빈칸을 잘 맞추는(BERT 류) 방향으로 Pretrain을 시행합니다. 문장은 여러 단어로 이루어져 있기 때문에 일부 단어를 활용해 다른 단어를 예측하는 것입니다. 

 

2018-2020 NLU 연구 동향을 소개합니다 - 카카오브레인

위와 같은 문장이 있다고 가정 후 모델은 빈칸을 맞추기 위해 신경망은 문장에 대해 semantic, syntactic면을 익혀 전반적인 해석 능력이 강화될 것입니다. 이를 통해 다른 task에 기여를 하는 방식입니다. corpus에 있는 데이터에 어떤 식으로 빈칸을 만들고 학습하냐에 따라 pretrained model이 진화해오고 있고 이 부분이 트렌드라고 할 수 있습니다. 

 

6. 정리

Supervised Learning의 경우 다량의 labeled dataset 구축이 필요하며 Unsupervised Learning인 경우에는 많은 사람들이 쓰기 힘든 수준의 데이터입니다. 상용화 수준까지 달성하기에는 비용과 퀄리티는 Trade-off 관계라고 생각하면 됩니다. 하지만 Self-supervised Learning을 활용해 labeled dataset의 부족함을 어느 정도 해소하며 샘플의 일부 정보를 통해 나머지 정보를 예측하도록 학습하며, pretrain 후 다른 target task에 대해 fine tuning을 실시해 성능을 극대화할 수 있습니다. 

 

 

Reference

https://www.kakaobrain.com/blog/118

profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!