Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 서울대학교 이원종 교수님의 [비지도학습] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

개인적으로 이번 LGAimers 강의들 중에서 가장 흥미로웠던 파트는 [비지도학습] 부분이었습니다. 기존에 제가 알고 있던 비지도학습에 대한 내용보다는 최근 연구되고 있는 representation learning에 대한 내용이 주를 이루고 있어 조금 당황스러웠지만 교수님께서 일반인들도 들을 수 있게 최대한 쉽게 설명해주셔서 이해하는데 큰 무리는 없었습니다. 강의에서 학습한 내용들은 비교적 최근에 연구가 진행되고 있는 분야라 현재 그리고 앞으로의 인공지능 연구 흐름을 살펴볼 수 있어서 굉장히 인상깊었습니다. 특히 교수님께서 기계학습/딥러닝의 representation에 대해 많은 시간을 할애하며 설명하시고 강조하셨는데 전체 강의를 다 듣고 나니 앞으로 인공지능에 있어서 정보를 잘 정리할 수 있는 representation learning이 얼마나 중요한지를 실감할 수 있었습니다. 최근 초거대 AI의 연구와 개발이 진행되고 있고 조금씩 성과를 드러내고 있는데 representation learning과 함께 생각해보면 앞으로는 주어진 input을 넘어 AI가 스스로 문제/task를 만들어낼 수도 있지 않을까 하는 생각이 들기도 했습니다. (아마도 이미 이런 연구가 진행되고 있을 수도 있을 것 같습니다.)

1. Unsupervised Learing in Traditional Machine Learning

전통적 기계학습에서 unsupervised learning은 feature의 개수가 적은 저차원의 데이터를 주로 다루며 이를 학습하는 algorithm들은 비교적 간단한 개념들로 구성되어 있습니다. 이러한 특징 덕분에 지금까지 unsupervised learning은 범용적으로 많이 사용되어 왔습니다. 하지만 전통적 기계학습에서 unsupervised learning model이 예측해낸 결과를 신뢰할 만한지에 대해서는 논란의 여지가 있습니다. 가령, 대표적인 비지도학습인 clustering을 살펴보면 algorithm이 묶어낸 군집들이 과연 의미가 있는지는 확신할 수가 없습니다. 따라서, 항상 cluster 결과에 대해 수치적으로 검증하는 절차를 반드시 거쳐야 합니다. 이러한 점은 우리가 기계학습의 unsupervised learning을 실제 application에 적용하는데 무리가 있을 수도 있음을 보여줍니다. 

2. Unsupervised Learing in Deep Learning

전통적 기계학습에서의 unsupervised learning과 달리 최근 딥러닝에서의 unsupervised learning은 이미지 또는 자연어와 같은 고차원의 데이터를 처리하기 시작하였습니다.  그럼에도 algorithm들은 이전과는 비교가 되지 않을 정도로 높은 성능을 보이지만 이를 구성하는 개념과 아이디어들은 이해하기 어려울 정도로 굉장히 복잡해졌습니다.

2.1 Feature Engineering vs Representation Learning

또한, 전통적 기계학습과 딥러닝에서 unsupervised learning이 보이는 차이점 중 하나는 정보를 생성하는데 인간의 개입이 현저히 줄어들었다는 것입니다. 강의에서 교수님은 feature engineering과 representation learning을 비교하여 설명해주셨습니다. 이 부분이 저에게는 굉장히 흥미로웠던 내용이었습니다.

출처: 이원종 교수님 강의자료

우리가 일반적으로 하고 있는 model 학습과 예측의 과정을 보면 다음과 같습니다. 우리의 목적은 관측 데이터인 X를 통해 y hat을 잘 예측할 수 있는 model f(x)를 학습하는 것입니다. 우리가 가지고 있는 데이터 X는 볼 수는 없지만 현실에서 존재하는 수많은 random variable들이 복합적으로 작용하여 만들어낸 관측치입니다. 여기서 random variable들을 y라고 할 수 있고 이 y는 비선형적으로 변수들이 구성되어 있습니다. y는 우리가 발견하기 쉽지 않은 영역이지만 domain knowledge를 통해 어느정도 유추가 가능합니다. 그리고 이렇게 유추한 사실과 내용들을 바탕으로 X를 가공하여 g1(), g2()...gl()과 같은 feature들을 만들어내게 됩니다. 이들 feature들을 가지고 model f(x)를 잘 학습하게 된다면 좋은 y hat의 결과를 얻을 수 있습니다. 이처럼 model이 잘 학습할 수 있도록 인간이 직접 필요한 정보들을 정리하는 과정을 feature engineering이라고 하며 실제로 우리가 기계학습을 할 때 많은 시간을 할애하는 영역이라고 할 수 있습니다. 

하지만, 딥러닝에서의 목표는 이러한 feature engineering의 과정을 컴퓨터에게 맡기는 것입니다. 즉, algorithm이 스스로 우리가 가지고 있는 데이터 X에서 중요하다고 생각되는 정보를 잘 정리하여 y를 뽑아내도록 하는 것입니다. 이렇게 만들어진 y는 간단한 model로도 충분히 좋은 성능을 도출할 수 있다는 것이 딥러닝의 핵심 아이디어입니다. 따라서, 인간이 해야 하는 것은 data를 직접 손 보는 것이 아니라 정보를 잘 정리할 수 있는 algorithm을 만들어 내는 것입니다.

3. Representation

강의에서 교수님은 representation learning에 대해 본격적으로 이야기 하기 전에 representation이 무엇인지에 대해서 설명해주셨습니다. 다양한 예시들을 통해 설명해주셨지만 저에게는 개념들이 추상적으로 다가왔고 여전히 representation이 무엇인지에 대한 질문에 두루뭉술하게 설명할 수 있을 뿐입니다. 그래도 강의에서 배운 내용을 최선을 다해 설명을 드리자면 다음과 같습니다. 제가 이해한 바로는 representation은 '정보의 일반화된 표현'이라고 정의할 수 있을 것 같습니다. 이 정의에는 '정보', '일반화', '표현' 이렇게 3가지 핵심 포인트가 있습니다. 

첫번째로 '정보'는 우리가 관측해서 얻어낸 데이터 또는 현상이라고 할 수 있습니다. 교수님은 이 점을 설명하시기 위해 ICML tutorial의 한 장면을 인용하셨습니다. 플라톤의 '동굴의 우상'을 시각화한 그림인데 여기서 우리가 주목할 점은 동굴 밖의 실제 상황을 우리는 직접 보지 못하고 오로지 동굴 벽에 그려진 그림자를 통해서만이 간접적으로 확인할 수 있다는 것입니다. 즉, '정보'는 이전 절에서 설명했던 바와 같이 데이터 X에 불과하고 algorithm이 찾아내야 하는 것은 그 이면에 있는 y인 것입니다. 

두번째로 '일반화'는 2가지 측면을 이야기할 수 있는데 하나는 인간이 아닌 컴퓨터가 이해할 수 있는 표현으로 일반화해야 한다는 것이고 다른 하나는 특정 task에 oriented된 표현이 아니라 어떤 task도 수행할 수 있도록 일반화된 representation이어야 한다는 것입니다. 일반적으로 feature engineering 과정에서 만들어진 representation은 인간은 이해할 수 있지만 컴퓨터는 이해하기 어려운 경우도 있고 또 인간이 디자인하였기 때문에 문제와 목적이 명확한 representation인 경우가 많습니다. 이러한 representation을 algorithm도 이해할 수 있고 수많은 task를 해결할 수 있도록 하는 것이 representation learning에서의 representation이라고 할 수 있습니다. 

마지막으로 '표현'은 말그대로 representation의 사전적 의미입니다. 수학에서의 representation은 개념을 수학적인 기호로 표현하는 룰이라고 할 수 있습니다. 만약 이를 일반화한다면 represenation은 정보를 어떻게 정리하고 표현할까를 고민한 결과라고 할 수 있습니다. 

이 세 가지를 종합해보면 representation의 개념과 representation learning의 목적을 확인할 수 있습니다. 제가 올바르게 이해했는지 그리고 이 글을 읽는 분들께 잘 전달이 되었는지는 잘 모르겠지만 한가지 분명한 것은 representation이 unsupervised learning 특히 deep learning 분야에서는 매우 중요하다는 것입니다. 

+ Recent posts