1.1.3 데이터에서 표현을 학습하기

 1.1.2 머신 러닝 | 목차 | 1.1.4 딥러닝에서 ‘딥’이란 무엇일까?

 

딥러닝을 정의하고 다른 머신 러닝 방식과의 차이점을 이해하기 위해 먼저 머신 러닝 알고리즘이 하는 일이 무엇인지 알아야 합니다. 머신 러닝은 샘플과 기댓값이 주어졌을 때 데이터 처리 작업을 위한 실행 규칙을 찾는 것입니다. 머신 러닝을 하기 위해서는 세 가지가 필요합니다.

  • 입력 데이터 포인트: 예를 들어 주어진 문제가 음성 인식이라면, 이 데이터 포인트는 사람의 대화가 녹음된 사운드 파일입니다. 만약 이미지 태깅에 관한 작업이라면 데이터 포인트는 사진이 됩니다.
  • 기대 출력: 음성 인식 작업에서는 사람이 사운드 파일을 듣고 옮긴 글입니다. 이미지 작업에서 기대하는 출력은 ‘강아지’, ‘고양이’ 등과 같은 태그입니다.
  • 알고리즘의 성능을 측정하는 방법: 알고리즘의 현재 출력과 기대 출력 간의 차이를 결정하기 위해 필요합니다. 측정값은 알고리즘의 작동 방식을 교정하기 위한 신호로 다시 피드백됩니다. 이런 수정 단계를 학습learning이라고 말합니다.

머신 러닝 모델은 입력 데이터를 의미 있는 출력으로 변환합니다. 이것이 알고 있는 입력과 출력의 샘플로부터 학습하는 과정입니다. 그렇기 때문에 머신 러닝과 딥러닝의 핵심 문제는 의미 있는 데이터로의 변환입니다. 다시 말하면 입력 데이터를 기반으로 기대 출력에 가깝게 만드는 유용한 표현representation을 학습하는 것입니다. 여기에서 표현이란 무엇일까요? 핵심은 데이터를 인코딩encoding하거나 묘사하기 위해 데이터를 바라보는 다른 방법입니다. 예를 들어 컬러 이미지는 RGB 포맷(빨간색-녹색-파란색 )이나 HSV 포맷(색상-채도-명도)으로 인코딩될 수 있습니다. 이들은 같은 데이터의 두 가지 다른 표현입니다. 어떤 표현으로는 해결하기 힘든 문제가 다른 표현으로는 쉽게 해결될 수 있습니다. 예를 들어 ‘이미지에 있는 모든 빨간색 픽셀을 선택’하는 문제는 RGB 포맷에서는 쉽습니다. 반면에 ‘이미지의 채도를 낮추는’ 것은 HSV 포맷이 더 쉽습니다. 머신 러닝 모델은 입력 데이터에서 적절한 표현을 찾는 것입니다. 이런 데이터 변환은 분류 작업 같은 문제를 더 쉽게 해결할 수 있도록 만들어 줍니다.

구체적으로 살펴보죠. x축, y축이 있고 이 (x, y) 좌표 시스템으로 표현된 데이터 포인트가 그림 1-3에 나타나 있습니다.

032_1

그림 1-3 간단한 예시 데이터

그림에서 볼 수 있듯이 흰색 포인트와 빨간색 포인트가 있습니다. 포인트의 좌표 (x, y)를 입력으로 받고 그 포인트가 빨간색인지 흰색인지를 출력하는 알고리즘을 개발하려고 합니다. 이 경우에는 다음과 같이 요약할 수 있습니다.

  • 입력은 포인트의 좌표입니다.
  • 기대 출력은 포인트의 색깔입니다.
  • 알고리즘의 성능을 측정하는 방법은 정확히 분류한 포인트의 비율을 사용하여 알고리즘의 성능을 측정합니다.

여기서 우리가 원하는 것은 흰색 포인트와 빨간색 포인트를 완벽하게 구분하는 새로운 데이터 표현입니다. 사용할 수 있는 변환 방법 중 하나는 그림 1-4와 같은 좌표 변환입니다.

032_2

그림 1-4 좌표 변환

포인트에 대한 새로운 좌표는 새로운 데이터 표현이라고 말할 수 있습니다. 그리고 좋은 표현을 찾았습니다. 이 표현을 사용하면 색깔 분류 문제를 “x > 0인 것은 빨간색 포인트다.” 또는 “x < 0인 것은 흰색 포인트다.”라는 간단한 규칙으로 나타낼 수 있습니다. 기본적으로 이 분류 문제를 해결한 것은 새로운 표현입니다.

이 경우에는 우리가 직접 좌표 변환을 정했습니다. 만약 시스템적으로 가능한 여러 좌표 변환을 찾아서 포인트 중 몇 퍼센트가 정확히 분류되었는지를 피드백으로 사용한다면, 바로 머신 러닝을 하고 있는 것입니다. 이처럼 머신 러닝에서의 학습Learning이란 더 나은 표현을 찾는 자동화된 과정입니다.

모든 머신 러닝 알고리즘은 주어진 작업을 위해 데이터를 더 유용한 표현으로 바꾸는 이런 변환을 자동으로 찾습니다. 이 연산은 앞서 본 좌표 변환일 수도 있고 또는 선형 투영linear projection(정보를 잃을 수 있음), 이동translation, 비선형 연산(예를 들어 x > 0인 모든 포인트를 선택하는 것) 등이 될 수도 있습니다. 머신 러닝 알고리즘은 일반적으로 이런 변환을 찾기 위한 창의력은 없습니다. 가설 공간hypothesis space이라 부르는 미리 정의된 연산의 모음들을 자세히 조사하는 것뿐입니다.

기술적으로 말하면 머신 러닝은 가능성 있는 공간을 사전에 정의하고 피드백 신호의 도움을 받아 입력 데이터에 대한 유용한 변환을 찾는 것입니다. 이 간단한 아이디어가 음성 인식에서부터 자율 주행 자동차까지 아주 다양한 분야에서 지능에 관한 문제를 해결합니다.

이제 학습이 의미하는 바를 이해했을 것입니다. 다음으로 무엇이 딥러닝을 특별하게 만드는지 살펴보겠습니다.

 


 

 1.1.2 머신 러닝 | 목차 | 1.1.4 딥러닝에서 ‘딥’이란 무엇일까?

 

이 글은 도서출판 길벗에서 출간한  “케라스 창시자에게 배우는 딥러닝“의 1장~3장입니다. 이 책의 저작권은 (주)도서출판 길벗에 있으므로 무단 복제 및 무단 전제를 금합니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.