인공지능의 학습과 수학
본문사람은 사과와 귤을 몇 번만 보면 구별한다. 그런데 컴퓨터에게 '둥글고 빨가면 사과'라는 규칙을 하나하나 적어 주기는 어렵다. 덜 익은 사과는 초록이고, 어떤 귤은 크고 붉다. 규칙을 적는 대신 사과와 귤의 예를 많이 보여 주고 스스로 기준을 찾게 할 수는 없을까? 그 '스스로 찾는다'는 것은 수학으로 무엇을 하는 것일까?
1.1.1규칙을 만드는 대신 자료로 배우기
전통적인 프로그램은 사람이 규칙을 정해 주고 컴퓨터가 그대로 따른다. 이와 달리 인공지능의 기계 학습은 입력과 정답의 예, 곧 학습 자료를 주고 컴퓨터가 정답을 가장 잘 맞히는 규칙을 스스로 찾게 한다. 이때 규칙은 몇 개의 수(매개변수)로 정해지는 함수로 나타내고, '잘 맞힌다'는 것도 수로 잰다.
입력을 출력으로 바꾸는 모델(매개변수를 가진 함수), 모델이 얼마나 틀렸는지를 재는 기준(정확도나 손실), 기준이 가장 좋아지도록 매개변수를 고르는 방법(최적화)으로 이루어진다.
그림 1의 예에서 모델은 '무게가 \(w\) g 미만이면 귤, 이상이면 사과'이고 매개변수는 \(w\) 하나이다. 기준은 40개 가운데 맞힌 개수이다. 슬라이더로 \(w\)를 움직이며 맞힌 개수가 가장 많은 값을 찾는 것이 바로 학습이다. 너무 작게 잡으면 귤을 사과로, 너무 크게 잡으면 사과를 귤로 잘못 가른다.
1.1.2배운 규칙을 믿을 수 있을까
학습한 기준이 새 과일에도 잘 맞을지는 학습에 쓰지 않은 자료로 따로 확인해야 한다. 학습 자료에만 지나치게 맞춘 규칙은 새 자료에서 오히려 틀리기 쉽다. 또 무게만으로 가르기 어려운 경우에는 색이나 크기 같은 특징을 더해, 점들을 평면이나 공간에 놓고 경계를 찾는다. 특징이 많아지면 경계가 직선에서 평면, 더 높은 차원의 면으로 바뀔 뿐 원리는 같다. 무게와 색 두 가지를 쓰면 과일 하나가 좌표평면의 점 하나가 된다.1
1.1.3예제 풀이
공장에서 나오는 부품 10개의 무게(g)와 정상 여부가 다음과 같다. 정상 48, 49, 50, 50, 51, 51, 52, 불량 44, 45, 57. 무게가 기준 범위 \([a, b]\) 안에 있으면 정상으로 판정하는 모델을 쓸 때, 10개를 모두 맞히는 범위의 예를 들고, 범위 \([46, 55]\)의 정확도를 구하여라.
정상 부품은 48에서 52 사이, 불량은 45 이하나 57이다. 따라서 \(45 < a \le 48\), \(52 \le b < 57\)이면 모두 맞힌다. 예를 들어 \([47, 54]\)이다.
범위 \([46, 55]\)도 정상 7개를 모두 정상으로, 불량 3개를 모두 불량으로 판정하므로 정확도는 \(\dfrac{10}{10} = 100\%\)이다. 이렇게 학습 자료를 모두 맞히는 기준이 여럿일 수 있다. 그 가운데 정상과 불량 사이 한가운데에 가까운 기준이 새 부품에서도 잘 맞을 가능성이 크다.
아래 탐구 카드에서 예시로 사과와 귤을 구별하게 하고, 사람이 정한 기준과 자료가 정한 기준을 비교해 보자.
- 학습 자료에만 지나치게 맞추어 새 자료에서 성능이 떨어지는 것을 과적합이라 한다. 그래서 자료를 학습용과 시험용으로 나누어, 시험용 자료로 성능을 확인한다.
기계 학습은 사람이 규칙을 적어 주는 대신 입력과 정답의 예에서 규칙을 찾으며, 규칙은 매개변수를 가진 함수, 잘 맞히는 정도는 정확도나 손실 같은 수로 나타낸다. 학습은 그 수가 가장 좋아지는 매개변수를 고르는 최적화이다. 그래서 처음 질문처럼 예시만 보여 주어도, 컴퓨터는 가장 많이 맞히는 기준을 계산으로 찾아 사과와 귤을 구별할 수 있다.