Deep dive into deep learning part 2.

  • by

“What is Supervised learning and Unsupervised learning and Reinforcement learning?”

딥 러닝 두 번째 기사는 지도 학습(Supervised learning), 비지도 학습(Unsupervised learning) 및 강화 학습(Reinforcement learning)에 대한 간략한 소개입니다.

지도 학습과 비지도 학습을 구별하는 가장 큰 기준은정답이 무엇인지를 인간이 가르쳐 줄까? 가르쳐 주지 않겠습니까? ” 이다.


예를 통해 이해해 봅시다.

사진을 입력으로 받고 사진의 객체가 무엇인지 분류하는 딥 러닝 모델을 학습한다고 가정합니다.


당연히, 사진 속의 물체가 무엇인지, 컴퓨터는 전혀 모른다.

강아지인지, 고양이인지, 라이온인지, 동물인지는 아닌 모델은 전혀 모른다.


그렇다면, 모델이 사진 속의 물체가 무엇인지를 분류하는 문제를 해결하기 위해서는 정답도 함께 주어지는 것을 한층 더 배우기 쉬울 것이다.


이 「정답」을 딥 러닝/머신 러닝에서는,라벨(라벨)하지만 label이 데이터와 함께 주어 딥 러닝 모델을 학습시키는 방법을 지도 학습, label은 없이 데이터만 주고, 딥 러닝 모델을 학습시키는 방법을 비지도 학습이라고 한다.

이것을 수학으로 표현하면 다음과 같이 표현할 수 있다.


위의 식에서 S는 데이터 세트를 나타냅니다.

데이터 세트의 한 요소는 하나의 데이터를 나타냅니다.


즉, 현재 우리는 총 n 개의 데이터를 가진 데이터 세트 S가 존재합니다.


이 때, 각 데이터 포인트는 (x, y)로 표시되고, x는 이미지, 텍스트, 이미지 등 다양한 형태의 데이터를 표현하는 변수이다.

그리고 현재 우리가 집중하는 것은 y이지만 y가 바로 레이블을 표현하는 변수입니다.


예를 들어 강아지와 고양이를 구별하는 딥 러닝 모델을 배우고 싶다면 강아지 사진과 고양이 사진으로 구성된 데이터 세트가 있습니다.


그리고, 강아지의 사진에는 「강아지」라고 하는 정답표를 붙일 필요가 있고, 고양이의 사진에는 「고양이」라고 하는 정답표를 붙여야 합니다.

labelling라고 한다.

)
컴퓨터는 “숫자”만을 처리할 수 있기 때문에, 개의 사진 클래스를 0, 고양이의 사진 클래스를 1이라고 라벨 붙일 수가 있을 것이다.


그렇다면 내가 한 사진을 넣을 때 딥러닝 모델이 0이라는 결과를 내면 모델은 이 사진을 강아지 사진으로 분류한 것으로, 1이라는 결과를 내면 고양이 사진으로 분류한 것이다.


즉, 상기 식의 y에서는 y_i = {0, 1}로 나타낼 수 있다.

이와 같이 supervised learning 은 labeling 프로세스를 인간이 직접 실행합니다.

이것은 상당히 많은 비용과 시간이 많이 소요되는 작업이므로 라벨링되지 않은 데이터를 최대한 활용하는 방법이 존재하며, 이는 Unsupervised learning입니다.


Unsupervised learning에는 ‘인간이’ 직접 labelling을 하는 것이 아니라 모델이 나름대로의 기준을 가지고 학습 과정 속에서 labelling을 진행한다.


(모델이 만든 라벨을 인간이 만든 라벨과 구별하기 위해 의사 라벨로 표현하기도 한다.

)
이에 대해 자세히 말하면 너무 길기 때문에 본문에서는 이 정도만 언급해 나간다.

그렇다면 지도 학습과 비지도 학습은 ‘정답’을 누가 일하는가? 즉 인간이 하는지 모델이 하는지에 따라 구별되는 학습 방법이다.


물론 Supervised learning과 Unsupervised learning 외에 Self-supervised learning, Semi-supervised learning 등도 존재했으며, 이러한 방법도 현재의 딥 러닝 필드에서 상당히 중요한 학습 방법으로 자리매김했다.


이 두 가지 방법에 대해서는 향후 기회가 되면 자세히 다루도록 한다.


그러나 본질은 결국 “인간이 라벨링을 하지 않은 데이터세트를 딥 러닝 학습에 사용할 수 없는 것일까?”라는 문제에 대한 해결을 시도하는 방법이다.

지금처럼 딥 러닝이 매우 빠르고, 매우 발전할 수 있었던 것은 현대사회가 빅데이터 엘라이기 때문이다.


좋은 모델, 좀 더 ‘지적으로’ 보이는 인공지능 모델을 만들기 위해 현재의 딥 러닝이 채용한 방법은 상당한 양의 데이터를 활용해 학습을 시키는 것이다.


그런데 앞서 언급했듯이, supervised learning과 같이, 이 모든 하나 하나의 데이터에 인간이 직접 라벨링을 하는 것은 상당한 시간과 비용이 많이 드는 작업이며, 그렇다면 인간이 직접 라벨링하지 않은 데이터 최대한 활용
딥 러닝 모델을 학습하는 방법이 없는지 고민에 대한 해결책으로 시도되고 있는 것이 Unsupervised learning, Self-supervised learning, Semi-supervised learning이다.


위의 학습 방법이 매우 중요한 것은 옳지만, 딥 러닝을 처음 시작하는 사람들을 대상으로 작성되는 이 기사에서는 Supervised learning의 상황에만 한정해 딥 러닝에 대한 이야기를 해 나가고 싶다.


그래도 충분하다고 생각하기 때문이다.

다음 기사에서는 본격적으로 딥 러닝 모델(Neural network)에 대한 설명을 시작하기 전에 기본 수학을 확인해 보겠습니다.


선형 대수학/확률 통계/미적분학/정보 이론 등에 대해 2회에 걸쳐 복습하는 시간을 가지고, 그 후 본격적으로 신경망에 대한 이야기를 시작하고 싶다.