[ML/DL] Data Representation

ML 수업과 논문에 Data Representation이라는 단어가 꽤 많이 등장한다.

 

Data Representation, 직역하면 데이터 표현이라는 뜻으로 해석이 된다. '데이터 표현'이라는 해석만 가지고는 어느정도 유추가 가능한데, 본격적인 논문 파훼 이전에 정확히 머릿속에 정의해놓아야 할 필요성을 느껴 이번 기회에 정리해보고자 한다.

 

Data Representation

 

Data Representation은 모델링 이전에 데이터를 어떻게 표현해야하는지에 대한 고찰이라고 할 수 있다.

 

컴퓨터는 사진과 영상, 그리고 자연어에 대한 의미를 파악하지 못하며 숫자만을 계산할 수 있다. 때문에 이미지 처리의 경우 사진의 특징을 잘 살리기 위해 어떻게 픽셀 데이터를 표현해야할지, 자연어처리의 경우에는 각 단어들을 어떻게 feature vector로 만들어 단어의 특징을 잘 표현할 수 있을까에 대한 고찰이 필요하며 이러한 Data Representation을 모델링 이전에 잘 수행할 경우 한 개의 층을 가지는 Neural Network를 가지고도 어려운 문제를 해결할 수 있게 된다.

 

그렇다면, "왜 Data Representation을 고려해야하는 걸까..."에 대해 한번 생각해보자.

 

과거 딥러닝의 접근 방법은 모든 경우의 수를 프로그램화 해서 만든 전문가 기반 시스템(Rule-based Expert Driven Approach)였다. 그러나 우리를 둘러싼 세계는 너무 복잡하고 많은 경우의 수와 예상치 못한 상황들이 존재한다. 이는 해당 전문가(Domain Expert)가 와도 해결할 수 없는 문제이다.

 

반면 현재의 딥러닝 접근 방법은 Input data를 넣어주면 인공지능 모델이 데이터의 특징을 잘 파악해서 Rule이 산출되는 방식의 데이터 기반 시스템(Data Driven Approach)를 이용한다. 때문에, Data Driven Approach system에서는 일관성이나 관련성이 없거나 노이즈가 많은 데이터를 넣으면 그대로 성능이 좋지 않은 모델이 완성될 가능성이 높다. (Garbage in Garbage out)

 

때문에 현대의 딥러닝에서는 Data의 Pattern을 잘 학습할 수 있도록 Data를 잘 정제하고 정형화 시켜주어야 한다.

 

(실제로 모델을 돌렸을 때, 파라미터들의 Overfitting 문제보다 Data Representation의 이슈로 인한 문제가 더 많다고 한다.)

 

Data Representation in Deep Learining

 

DNN을 예시로 들어보자.

 

linear classifier를 이용한 classification task가 주어졌다고 가정하자. 이때 우리는 DNN의 input 값들을 neural network로 가공하여 'learned h space'로 Representation 할 수 있다. 즉,이것은 DNN의 input 값들을 linear classifier가 올바르게 classification 할 수 있도록 'learned h space'로 Data를 Representaiton 해 준 것이라고 생각할 수 있다.

 

CNN의 classification의 경우도 동일하게 생각할 수 있다.

 

Supervised learning의 이미지 분류에서는 보통 softmax(linear classifier)를 이용하여 Data를 최종 분류한다. 그러나, 일반적으로 DNN 구조는 이미지 분류 성능이 좋지 않다고 알려져 있다. 여기서 "DNN 구조는 이미지 분류 성능이 좋지 않다."라고 언급한 부분을 "DNN 구조는 이미지 분류 task를수행하기 위해 input의 정보들을 부적절하게 Representation 해준다."라고 해석해 볼 수 있다. 

 

때문에 DNN과 다르게 visual feature들을 잘 Representation 해줄 수 있는 CNN이 도입이 된다.

 

CNN은 convolution filter를 이용한 Feature extractor을 갖는데, 이러한 feature extracter을 이용하여 softamax linear classifier가 이미지를 잘 classification 해줄 수 있도록 최초의 input data를 잘 가공하여 Representation 해주는 것이라고 생각할 수 있다.

 

아무리 성능이 좋은 SOTA 모델이라도 모델에 맞게 Data Representation 되어 있지 않으면 성능이 좋지 않은 결과가 나올 밖에 없다. 현대의 Deep Learning 좋은 Data 좋은 퍼포먼스를 내는 추세로 발전하고 있기 때문이다. 이러한 흐름에 맞게 모델링 이전에 자신의 Dataset 파악하고 정리했는가에 대한 고찰이 반드시 필요하다.

 


Reference

https://www.deeplearningbook.org/contents/representation.html

 

https://www.deeplearningbook.org/contents/representation.html

 

www.deeplearningbook.org

https://89douner.tistory.com/339

 

1. Representation Learning 이란?

안녕하세요. 이번글에서는 representation learning이라는 개념에 대해서 설명하려고 합니다. 개인적으로 2021년 동안 논문을 살펴보면서 가장 눈에 많이 띄었던 용어가 representation learning 이었습니다.

89douner.tistory.com

https://yunwoong.tistory.com/182

 

Data Representation (Data Labeling)

기계학습, Machine Learning이란 영역은 Data를 활용하여 예측 가능한 알고리즘을 연구하고 구성하는 활동입니다. 그래서 Machine Learning을 위해서는 학습을 위한 Data가 필요하며, 만약 Data가 충분하다면

yunwoong.tistory.com

https://ebbnflow.tistory.com/276#google_vignette

 

[AI] Data Representation 데이터 표현 방법

Data Repesentation은, 우리가 모델링을 하기 전 데이터를 어떻게 표현할까에 대한 주제입니다. 컴퓨터는 사진, 영상, 자연어에 대한 것을 이해하지 못합니다. 오로지 숫자를 계산할 뿐이죠. 그래서

ebbnflow.tistory.com