#인공지능 

비전공자도 이해할 수 있는 지도학습 – 기초편

기초부터 차근차근 시작하는 지도학습에 대한 설명입니다.

2022-08-08 | 이영빈

0. 시작

안녕하세요. 오늘부터 《비전공자도 이해할 수 있는》시리즈로 함께하게 된 이영빈이라고 합니다.

비전공자 시리즈는 기초편부터 시작해서 고급편까지 차근차근 난이도를 높여 읽다보면 비전공자분들도 충분히 전공자 수준으로 이해할 수 있는 글을 목표로 합니다. 이번 시리즈의 첫 시작은 바로 지도학습입니다. 지도학습은 머신러닝의 여러 학습방식중 대표적인 학습 방식입니다. 그럼 《비전공자도 이해할 수 있는 지도학습 기초편》을 시작하도록 하겠습니다.

1. 지도학습이란?

이 글을 읽는 여러분들은 지도하면 어떤것이 떠오르시나요? 대부분의 사람들은 지도하면 우리나라 지도(map)를 떠올립니다.

지도학습?

그렇다면 지도라는 단어와 학습이라는 단어를 같이 생각하면 어떨까요? 지도적 학습, 학습을 지도하다. 공부할때 선생님이 지도하는 모습이 떠오르지 않나요?

지도학습에서의 선생님

지도학습은 바로 선생님이 공부할때 ‘지도한다’(supervised)에서의 지도를 의미합니다. 그렇다면 머신러닝에서의 지도학습은 어떤걸 의미할까요? 바로 어떤 무엇인가가 선생님처럼 가르쳐주고 그걸 기반으로 학습한다는 뜻입니다. 조금 더 깊게 들어가보도록 하겠습니다.

2. 머신러닝에서의 지도학습

머신러닝에서의 지도학습을 하려합니다. 지도해줄 ‘선생님’은 어떻게 만들까요? 여기서 난제가 발생합니다. 선생님은 기본적으로 공부하려는 학생이 배우려는 것을 이미 알고 있습니다. 그런데 학생의 목표는 가르치는 선생님 수준의 학생이 되는 것입니다. 그렇다면 우리는 선생님을 만드는 것이 아닌 선생님 수준의 공부를 혼자서 해야 합니다. 우리가 선생님 수준으로 공부를 혼자서 하는 방식에는 어떤 것이 있을까요? 바로 학습지를 통해 문제를 풀면서 공부하는 것입니다.

learning_students

우리는 학습지를 어떻게 공부할까요? 일반적으로 문제를 풀고 정답을 맞추고 오답노트를 작성합니다. 다시 머신러닝 지도학습으로 돌아오겠습니다. 머신러닝에서의 지도학습은 학습지 공부법과 같습니다. 문제를 풀고 정답을 맞춘 다음 오답노트를 작성하고 다시 문제를 푸는 방식으로 진행합니다. 다시 말해 지도학습은 데이터에 대한 예측을 하고 틀렸는지 맞았는지 판단하고 틀린것에 대해 수정하려고 노력하는 학습방식을 의미합니다.

3. 지도학습에서 필요한 것

그렇다면 지도학습에서 필요한 건 어떤 것이 있을까요? 우선 공부할 학생이 필요합니다. 우린 이제부터 공부할 학생을 ‘모델(model)’이라고 지칭합니다. 그리고 학습지 문제들이 필요하겠죠. 학습지 문제는 머신러닝에서 ‘데이터셋(Dataset)’이라고 표현합니다. 데이터셋(Dataset)은 데이터들의 집합이라고 생각하시면 됩니다. 마지막으로 학습지에 대한 정답표가 있어야 합니다. 그래야 우리가 공부한 내용이 틀렸는지 맞았는지 알 수 있기 때문입니다. 우리는 이것을 라벨(Label)이라고 부릅니다. 우리는 정답을 얼마나 맞췄는지 확인을 해야 합니다. 많이 맞추면 맞출수록 똑똑한 학생이 되기 때문입니다. 머신러닝에서는 얼마나 맞췄는지를 수치화하는 것보다 얼마나 덜 틀렸는지를 수치화하는 것을 더 선호합니다. 뒤이은 초급 편에서 더 다루겠지만, 그래서 우리가 얼마나 덜 틀렸는지를 수치화하는 것을 손실함수(loss function)라고 부릅니다. 이걸 그림으로 표현하면 다음과 같습니다.

supervised_learning

4. 지도학습의 대표적 사례

그렇다면 우리 주변에서 지도학습의 대표적 사례는 어떤것이 있을까요? 제가 사례를 하나 가져왔습니다. 바로 조유리즈 판별기입니다. 조유리즈를 잠시 설명하면 지금은 해체했지만 프로듀스 101 시즌 3을 통해 탄생한 전설의 그룹(?) 아이즈원이 있었습니다. 아이즈원 멤버중에서 조유리, 최예나, 김채원이 유독 닮았고 3명을 구분하는 것은 간혹 아이즈원 팬인 위즈원도 힘들었다고 합니다. 그래서 위즈원이었던 개발자 1명이 이름하야 조유리즈 판별기를 만들었습니다.

조유리즈 판별기는 https://inerplat.github.io/JoyurIZ-WEB/에 들어가서 멤버 3명중 1명의 사진을 다운받고 판별을 하는 방식입니다. 이 글을 읽는 여러분들 한번 시도해보는 것도 재미있는 경험이라 생각합니다. 해당 판별기가 어떻게 만들어진지 궁금하신 분들은 이 판별기를 만든 분의 개발기록이 있으니 이 블로그(https://medium.com/@inerplat/딥러닝-웹서비스-개발-도전기-e9ca38d53c1b)를 보시면 됩니다.

5. 결론

지도학습은 문제를 풀고 정답을 맞추고 틀린 문제는 오답노트 만드는 학창 공부하는 방식과 동일합니다. 이걸 머신러닝스럽게 표현하면 ‘지도학습은 라벨이 있는 데이터셋이 존재하고 데이터셋을 통한 학습으로 예측을 하고 틀린것에 대한 손실함수를 통해 모델이 학습하는 과정이다’라고 할 수 있습니다.