기계 스스로 학습해 성능을 향상시키는 기술
지도 학습/ 비지도 학습/ 강화 학습

[월드투데이 이예찬 기자] 머신러닝은 인공지능(AI)의 하위 집합으로 컴퓨터가 데이터를 통해 학습하고 경험을 통해 개선하도록 훈련하는 데 중점을 둔다.

명확한 정의가 없는 인공지능과는 달리 머신러닝은 용어를 만든 아서 사무엘의 1959년 정의와 톰 미첼의1998년 정의가 있으나, 최근에는 톰 미첼의 정의가 주로 쓰인다.

아서 사무엘(Arthur Lee Samuel)은 머신 러닝을 "컴퓨터가 명시적으로 프로그램되지 않고도 학습할 수 있도록 하는 연구 분야"라고 정의했다. 그는 IBM에 입사해 최초의 머신러닝 체스 프로그램인 Checkers 프로그램을 개발했다.

일반적인 컴퓨터 프로그램은 "A 입력에 B 조건이 성립하면 X를 동작한다"를 인간이 작성하지만 머신러닝에서는 A라는 정보를 입력할 때 대답이 X가 되는 조건 B를 찾도록 기계를 학습시킨다는 것이다.

예를 들어 나누기를 계산하는 프로그램은 일반적으로 사람이 입력 숫자와 나누기 연산자를 이용해 결과 값을 계산하지만 머신러닝에서는 입력값 A와 정답 X를 활용하여 스스로 학습하여 조건 B를 찾는다.

[사진=pexels]
[사진=pexels]

카네기 멜론 대학의 교수이자 머신러닝의 대가 톰 미첼은 "컴퓨터 어떤 작업(T)을 하는 데 있어 경험(E)으로부터 학습하여 성능에 대한 측정(P)을 향상시키는 학문"을 머신러닝이라고 정의하였다.

바둑을 예시로 들면 경험(E)은 수많은 바둑 대국을 두는 것이고 작업(T)은 바둑알을 두는 일이며 성능 측정(P)은 다음 대국에서 이길 확률이 된다.

컴퓨터는 머신러닝을 통해 수많은 바둑을 두어 가장 승률이 높았던 방법을 터득하게 된다. 이세돌을 이겼던 알파고도 머신러닝을 통해 바둑 두는 능력을 향상시켰다.

머신러닝이 학습하는 방법의 종류는 크게 지도 학습, 비지도 학습과 강화 학습의 세 가지 종류가 있다.

지도 학습(Supervised Learning)

지도 학습이란 특정한 입력에 대하여 올바른 정답이 있는 데이터 집합이 주어지는 경우의 학습이다. 사람이 직접 개입하므로 정확도 높은 데이터를 사용할 수 있다는 장점이 있다.

하지만 사람이 직접 입력에 대한 올바른 정답을 정해줘야 하므로 한계가 있고 구할 수 있는 데이터 양도 적다는 문제가 있다. 지도학습에는 분류(classification)와 회귀(regression)가 있다.

분류는 이진 분류와 다중 분류로 나눌 수 있다. 이진 분류는 어떤 데이터에 대해 두 가지 중 하나로 분류할 수 있는 것이다. '이것은 고양이야?'라고 물었을 때 '예' 또는 '아니오'로 대답하는 방법이다.

다중 분류는 어떤 데이터에 대해 여러 값 중 하나로 분류할 수 있는 것이다. '이 동물은 뭐야?'라고 물었을 때 '고양이'라고 대답하는 방법이다.

회귀는 입력에 대응되는 연속적인 값을 찾는 과정이다. 예를 들어 '이 동네 아파트 가격이 얼마야?'라고 물었을 때 '24평은 0,000원이고 32평은 0,000원이고 40평은 0,000원이다.'라고 대답하는 것이다.

비지도 학습(Unsupervised Learning)

비지도 학습이란 특정한 입력에 대하여 올바른 정답이 없는 데이터 집합이 주어지는 경우의 학습이다. 결과값 없이 입력값만을 이용해 학습시켜 비슷한 데이터들을 군집화하는 방법이다.

예를 들어 고양이, 기린, 호랑이, 앵무새 사진을 비지도 학습 시키면 각 동물이 무엇인지 정의할 수는 없지만 비슷한 단위로 군집화한다.

다리가 4개인 고양이와 호랑이를 한 분류로 묶고, 다리가 4개이지만 목이 긴 기린은 다른 분류로 날개가 달린 앵무새는 또 다른 분류로 나누는 것이다.

인터넷에 있는 거의 모든 데이터가 올바른 정답이 없는 형태의 정보이므로 앞으로 머신러닝이 나아갈 방향으로 설정되어 있다. 또한 지도 학습의 정확도를 올리기 위해 지도 학습 전에 비지도 학습을 하는 경우도 있다.

강화 학습(Reinforcement Learning)

강화 학습이란 결과값 대신 어떤 일을 잘 수행했을 때 보상을 주는 방법이다. 강화 학습은 현재의 상태에서 어떤 행동을 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 외부 환경에서 보상이 주어지는데 이러한 보상을 최대화하는 방향으로 학습이 진행된다.

당장의 보상 값이 조금 적더라도 나중에 얻을 값을 포함한 보상 값의 총합이 최대화되도록 행동을 선택한다. 실제로 알파고가 이 방식으로 바둑 두는 법을 학습했다. 주로 게임에서 최적의 동작을 찾는데 쓰이는 학습 방식이다.

[사진=pixabay]
[사진=pixabay]

좋은 선택이 무엇인지 찾고 지금까지 나온 지식을 기반으로 가장 좋은 행동을 찾아 그것을 수행한다. 위의 두 가지 방법들과는 다르게 실시간으로 학습을 진행하는 것이 일반적이다.

머신 러닝이 진화된 것으로 여겨지는 '딥 러닝(Deep Learning)'은 기계가 사람의 도움 없이도 정확한 결정을 내릴 수 있도록 해주는 프로그래밍 가능한 신경망을 사용한다. 딥 러닝은 머신 러닝에 속하는 대표적인 방법으로 머신 러닝의 학습법을 모두 이용할 수 있다.

저작권자 © 월드투데이 무단전재 및 재배포 금지