1940년대
기계 학습의 연구의 시작은 "인공신경망(Artificial Neural Network)"이라고 할 수 있다. 생물의 신경조직 움직임을 모델로 하여 정보를 처리하는 구조로, 자극에 해당하는 데이터가 다른 신경으로 전달되면서 어떻게 처리하고 학습해야할지 정해지게 된다. 1960년대 프랑크 로젠블라트(Frank Rosenblatt)에 의해 "다층 신경망(Multilayer Neural Network)"이 제안되었고, 이는 "퍼셉트론(Perceptron)"이라 부르게 된다. 퍼셉트론은 비교적 정확히 기술된, 계산에 의한 최초의 신경망 모델이어서 여러 분야에 커다란 영향을 미치게 되었다.
자극을 받는 세포인 "자극층(입력층, 센서층)"은 데이터를 받는 역할을 하고, 자극에 따른 행동을 결정하는 "응답층(출력층, 반응층)"이 데이터에 따른 결과를 출력하게 된다. 자극층에서 응답층으로 가는 사이에는 "연상층(중간층, 결합층)"이 존재하는데 연상층에 의해 어떤 응답층으로 보내게 될지 결정된다.
1950년대
기계 학습이라면 제일 먼저 떠오르는 단어는 인공지능이다. 이 시기에 체스나 장기, 바둑과 같은 인간이 지적인 활동을 하는 전형적인 게임을 이용한다. 이러한 게임들의 특징은 정해진 규칙에서 다양한 변수들이 있기 때문에 게임의 정확한 규칙과 정보를 파악한 후 기계 학습을 시켜 결과를 지켜보는 인공지능 연구를 진행했다. 이 시기에 아서 사무엘(Arthur Samuel)이 체커 프로그램에 기계학습을 사용한 연구를 진행했다. 그가 선택한 기계학습은 "파라미터 조정" 기법이다.
"파라미터 조정" 기법은 평가 함수를 만들어 사용하는데 상대의 움직임에 따른 대응을 하기 위해서 여러가지 경우의 수를 구하고, 구한 경우의 수에서 평가하여 가장 높은 평가치에 따라 선택을 하는 방법이다. 이 방법은 어느 요소를 중시하는 가에 따라 평가 함수의 수치는 크게 바뀌며, 그에 따른 결과도 바뀌게 된다. 그래서 파라미터의 값을 어떻게 설정하는 가는 평가 함수 자체의 질이 좋고 나쁠 수 있다. 결국 평가 함수의 파라미터의 조정은 사람이 하기 때문에 이를 설계한 사람의 경험과 생각에 따라 결과가 크게 바뀔 수 밖에 없다.
여담으로 최초 인간과 컴퓨터의 체스 경기는 1989년 IBM에서 만든 체스 전용 컴퓨터인 딥 소트(Deep Thought)이다. 하지만 1993년까지 딥 소트는 이기지 못했다. 이 후 IBM은 지속적인 연구를 통해 새로운 체스 전용 컴퓨터인 딥 블루(Deep Blue)를 내놓았고 1997년 당시 체스 세계 챔피언이었던 게리 카스파로프(Garry Kasparov)와의 7일간의 대결에서 딥 블루가 2승 1패 3무로 승리하게 되었다.
1970년대
1950년대에 활발하게 진행된 연구인 "파라미터 조정"은 수치에 기반을 두고 있다. 1970년에 들어와서는 수치로 표현 할 수 없는 지식에 대한 기계 학습 방법을 연구하기 시작했다. 삼각형을 인식하는 기계학습을 시키기 위해서 세개의 직선을 사용한다는 전제를 이용해보자. 여기서 중요한 개념은 정례와 반례가 있다.
정례 : 학습을 시키는 자가 결정지은 옳바른 데이터 셋 (세개의 직선을 이용한 삼각형의 조건에 맞는 데이터)
반례 : 학습을 시키는 자가 결정지은 옳바르지 않은 데이터 셋 (세개의 직선을 이용한 삼각형의 조건에 맞지 않은 데이터)
이처럼 단순히 세개의 작선이 삼각형이라고 할 수 없다. 정례와 반례의 수 많은 데이터를 학습시키고, 컴퓨터가 스스로 이 모습이 삼각형이다 라는 결론을 내릴 수 있도록 개념을 획득한다. 이렇게 개념을 획득하는 기계 학습을 "귀납 학습"이라 하며, "귀납 학습"의 반대를"연역 학습"이라 한다. "귀납 학습"은 구체적인 사례에서 일반적인 지식을 추출하는 학습 방법이다.위의 예제에서는 "세개의 직선이 연결되어 꼭지점을 이루게 되면 삼각형 이다." 라는 일반적인 지식을 추출하게 될 것이다.(악성코드 분류 방식에서 제너릭 분석 방법론과 비슷하다.) "연역 학습"은 "귀납 학습"과 반대로 주어진 원리와 법칙으로 부터 구체적인 사례 도출 하는 방식으로 처음부터 "삼각형은 세개의 직선으로 연결되어 있으며 세개의 꼭지점을 가진다. 또한 두 직선이 이루는 각들의 총 합은 180도가 된다."라는 명확한 원리를 제시한다.
"귀납 학습"의 주요 쟁점은 정례와 반례를 어떻게 분류하여 학습 시킬 것인가이다. 정례 혹은 반례만으로 올바른 일반화를 진행할 수 없기 때문에 양쪽 모두 균형있는 데이터를 주어 져야한다. 또한 어떤 데이터를 학습시키느냐에 따라 학습 결과는 크게 달라지게 되기에 데이터를 수집하는 데 큰 어려움을 가지게 된다.
"연역 학습"은 컴퓨터가 계산하는데 있어 모든 예외적인 상황을 사람이 미리 판단해야 한다. 너무 많은 변형을 가질 경우 "연역 학습"을 통해 기계 학습을 할 수 없기 때문에 단순한 형태에만 사용 할 수 밖에 없는 문제점을 가지고 있다.
참조
- http://www.theatlantic.com/technology/archive/2011/06/ibms-first-100-years-a-heavily-illustrated-timeline/240502/
- 만들면서 배우는 기계 학습, 한빛미디어
- http://www.aistudy.com/neural/perceptron.htm
'Information Technology > Machine Learning' 카테고리의 다른 글
[기계 학습] N-그램을 이용한 텍스트 마이닝 (0) | 2014.04.10 |
---|---|
[기계 학습] 파라미터 조정과 학습 (0) | 2014.04.07 |
[기계 학습] 기계 학습의 역사 2 (0) | 2014.04.06 |
[기계 학습] 기계학습이란? (0) | 2014.03.31 |