인공지능의 학습 방법은 크게 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning), 그리고 강화학습(Reinforcement Learning)으로 분류된다. 이들은 레이블의 유무에 따른 지도학습과 비지도학습, 그리고 레이블이 아닌 강화를 통해 학습을 유도하는 강화학습의 두 가지로 먼저 나눠볼 수 있다.
먼저 레이블(Label)에 대해 살펴보면, 레이블은 문자 그대로 데이터에 정의를 입혀 학습시키는 것을 의미한다. 즉, 문제에 대해 정답이 존재하는 데이터인데, 예를 들어 OCR(Optical Chracter Recognition)과 같은 기술이 이에 해당한다. 이미지 속의 숫자 또는 문자는 일련의 배치를 가지고 일정 수준 이상 대비도가 차이나는 이미지 픽셀 데이터로서 존재하는데, 이들에 1, 2, 3과 같은 정답을 부여하는 것이다. 이를 통해 1이라는 레이블이 붙은 데이터들의 묶음, 2라는 레이블이 붙은 데이터의 묶음과 같은 식으로 데이터가 모일 수 있게 된다.
그리고 지도학습은 위의 '레이블'을 활용해 학습하는 것을 말한다. 인간이 미리 분류해놓은 1이라는 데이터 묶음이 어떤 것인지, 그리고 2라는 데이터 묶음이 어떤 것인지 학습함으로써 기계는 1이라는 숫자 형태가 갖는 속성과 2라는 숫자 형태가 갖는 속성을 구분하는 방법을 학습한다. 즉, 정답이 존재하는 데이터 학습에 대해 인간이 교사 역할을 하여 답을 알려주면 기계는 이를 배워 응용하는 형태이다.
이전에 다루던 함수문제로 보면 y= W₁x₁+W₂x₂+W₃x₃-θ 라는 형태에서 y에 해당하는 값이 주어진다고 볼 수 있는데, (숫자 1)= W₁x₁+W₂x₂+W₃x₃-θ 라고 한다면 숫자 1이라는 레이블 데이터에 대해 주어지는 데이터의 픽셀값들(x₁,x₂,x₃)을 통해 숫자1을 정의하기 위한 가중치(W₁, W₂, W₃)와 임계치(θ)를 학습하여 각 레이블에 대해 식을 완성해가는 것으로 이해된다.
반면 비지도학습은 레이블이 주어지지 않는 데이터들을 기계가 학습 과정에서 스스로 분류하면서 배우는 방법이다. 답이 정해지지 않기 때문에 통계적으로 유의성을 찾아가게 되는데, 유사하게 분포되는 데이터를 나름대로 묶어 군집화하고 데이터의 분포를 학습하면서 새로운 데이터가 입력되었을 때 기존의 군집과 분포를 토대로 새로운 데이터가 어떤 군집에 어떻게 분포될지를 추정할 수 있다.
비지도학습의 과정은 개인적으로 인간의 심성모형 (Mental Model) 형성과 유사하게 느껴진다. 우리가 카메라에 대한 심성모형을 만드는 과정은 수많은 카메라에 대한 경험의 군집을 통해 형성되며, 이로 인해 새로운 형태의 카메라도 처음부터 이해할 필요 없이 어느 정도 학습된 상태로 시작할 수 있다. 비지도학습은 이러한 학습 형태와 유사해 보인다.
레이블이 아닌 강화를 사용하는 방법도 있는데, 이 때 강화란 피드백(Feedback)에 따른 행동의 강화를 의미한다. 주로 게임과 같은 경우에 활용되는데, 대표적으로 유명한 알파고(AlphaGo)와 같은 사례가 있다. 이전의 수많은 기보 데이터를 통해 '이기는' 방향이 어떠한 것인지를 학습하고 규칙을 배워간 경우이다. 일견 단순해보이지만 사실 그렇지만은 않은 것이, '작전상 후퇴' 또는 '이보 전진을 위한 일보 후퇴'와 같은 전략을 위한 전술적 손실이라는 수가 있기 때문이다. 당장은 손실이지만 결과적으로는 더 큰 이득을 보는 것을 '지연된 보상'이라고 하는데, 이를 고려하여 좋은 수를 찾는 것이 복잡한 문제가 된다.
인공지능이 인간의 배움을 모방해서 만들었다고는 하나 차이가 나는 부분이 꽤 많이 보이는데, 인간의 학습은 지도학습과 비지도학습, 강화학습이 혼재되어 이뤄진다는 점이 가장 그러한 것 같다. 우리가 어떤 개념을 배울 때 레이블이 주어지기도, 강화가 주어지기도 하며 레이블이 잘못되어 수정해야 하거나 레이블이 없는 데이터를 새롭게 배워야 하기도 한다. 앞으로 인공지능 학습의 발전 방향은 (그리고 어쩌면 이미 어디선가는) 이러한 복합성을 갖추는 방향으로 전개되지 않을까 싶다.
'Artificial.Intelligence' 카테고리의 다른 글
[AI-09] 데이터에서 자라난 무작위의 숲, Random Forest (0) | 2024.07.30 |
---|---|
[AI-08] 진흙 속에서 진주 찾기 : KDD (1) | 2024.07.13 |
[AI-06] 신경망의 활동을 표현하다 : 시그모이드 함수 (0) | 2024.05.28 |
[AI-05] 수치화하여 방향성 찾기: 벡터와 텐서 (0) | 2024.05.12 |
[AI-04] 학습이 일어나는 곳 : 인공신경망 (1) | 2024.05.11 |