본문 바로가기
Artificial Intelligence/Deep Learning

coursera_week1_2_Supervised Learning with Neural Networks

by raphael3 2017. 10. 4.
반응형
0:00
머신러닝의 분야 중 대부분의 경제적인 가치는 지도학습이라는 머신러닝 기법 중의 한 방법론에서
부터 발생한다. 수익성이 좋은 가장 대표적인 딥러닝 어플리케이션 중 하나는 온라인 광고이다. 어떤 웹사이트를 보여줄지를(광고할지를) 결정하고, 유저와 관련된 일부 정보를 입력하는 것만으로도, 광고 애플리케이션에 쓰이는 뉴럴네트워크는 타겟으로 삼은 유저가 해당 광고를 클릭할지 안할지를 아주 높은 확률로 예측할 수 있다. 현재 이런 어플리케이션은 여러 곳의 광고 회사에서 상당한 수익을 올려주고 있다.

컴퓨터 비전 영역에서도 딥러닝에 의해 큰 진전이 이루어졌다. 1부터 1000까지의 숫자로 1000가지의 서로 다른 이미지들에 대한 index정보를 output으로 나타내고 싶을 때, 단지 input으로 이미지를 제시하기만 하면 된다.

음성 인식분야도 마찬가지인데, 오디오 클립을 주면, 녹취록이 나온다.
번역 파트에서는 영어문장을 제시하면 즉각적으로 한국어 문장을 제시하는 방식으로 발전했다.
자율주행차 영역에서는 자동차에 달린 레이더로부터 몇 가지 정보를 얻어내는데, 이를 통해 차량의 앞에 있는 물체가 무엇인지를 알 수 있도록 학습시키는 방식으로 뉴럴네트워크를 최적화시킬 수 있다. 그 후엔, 도로 위의 다른 차량들의 위치를 인식할 수 있게 된다.

뉴럴네트워크가 가진 이런 능력들은 우리가 해결하고자 하는 문제에서 무엇이 input이고 무엇이 output인지를 우리들(감독자)이 주의를 기울여 선택함으로써 생긴다. 이를 supervised learning 방식이라고 부른다. 

이미지 인식 분야에서는 뉴럴넷에 convolution기법을 적용하게 된다. 이를 CNN기법이라고 부른다.

연속적인(sequencial) 데이터에 대해서는 어떨까? 예를 들어 오디오 데이터는 시간의 제약을 받는 시계열 데이터의 대표다. 이 오디오 데이터는 시간의 흐름에 따라 구성되어 있으며, 오디오는 시간의 흐름에 따라 재생된다. 즉 전형적인 1차원 시계열 데이터로서 표현된다. 이런 류의 데이터를 두고 '시간적인 제약을 받는, 순서가 있는 데이터’라고 한다.

이러한 시계열 데이터에는 recurrent neural network라고 불리는 RNN기법을 쓴다. 
영어나 중국어어 같이 우리가 쓰는 언어는 단위 시간에 하나의 단어가 발생한다. 그러니까 언어는 분명히 순서를 가진 데이터라고 할 수 있다. 
조금 복잡한 버전의 RNN 기법들이 바로 이러한 음성 인식 분야에 쓰이게 된다. 

그럼 이제 CNN과 RNN architecture에 대해 좀 더 자세히 들여다보자.
 

전형적인 뉴럴네트워크의 모습이다.

이 그림은 전형적인 CNN의 모습인데, 무슨 의미이며 어떻게 구현하는지에 대해서는 앞으로 다루게 된다.

RNN의 모습이다.

잠깐, 머신러닝을 공부하다보면 마주치는 단어 중 하나는 Structured dataUn-Structured data이다.Structured data는 기본적으로 데이터의 데이터베이스를 의미한다.
집값 예측을 예시로 들면, 침실의 개수나 집의 크기와 같은 정보를 말해주는 데이터베이스를 말한다. 
사용자가 광고를 클릭할지 안할지 예측하는 어플리케이션에서는 유저의 나이와 같은 유저 정보를 갖고 있어야 한다. 또한 예측하고자 하는 정보인 라벨링 정보도 갖고 있어야 한다. 이러한 데이터들을 structure data라고 부른다.
이렇게 feature로 쓰이는 특성들(데이터들)이 명확히 정의되어 있어서(데이터에 대한 정의 역시 데이터다. 메타데이터.), 그 의미가 무엇인지 분명하다.

반면에, unstrucured data라는 것은 이미지나 오디오같은 데이터들을 말한다.(메타데이터가 없는 그냥 데이터.) 

이미지 데이터의 경우 픽셀 값들로 구성되어 있을 것이고, 오디오 데이터의 경우엔 몇 개의 단어들로 구성되어 있을 것이다. 이런 류의 데이터들을 unstructured data라고 한다.

지금까지의 경우를 보면, 컴퓨터는 structured data에 비해 unstructured data들은 잘 이해하지 못했다.
반면 인간은 이미지나 오디오를 쉽게 이해하도록 진화했다.

인류사 전체로 놓고 보았을 때, 문자의 발명이 비교적 최근이었음에도 인간들은 unstructured data의 일종인 문자 데이터를 이해하는데에 별 문제를 겪지 않는다. 이제는 딥러닝 기법 덕분에 컴퓨터도 unstructured data를 어느 정도 해석할 수 있게 되었다.

현재는 이러한 기술을 뒷받침으로하여 여러가지 흥미로운 어플리케이션들(예를 들면, 음성 인식이나 영상 인식과 같은 응용들)이 나오고 있다.

unstructured data를 컴퓨터가 해석하는 건 굉장히 멋진일로 묘샤되는데, 실제로도 멋진 일이긴 하다. 하지만 대부분의 산업적인, 경제적인 가치는 structured data에서 발생한다. 



반응형