기계학습 연구방법론

 

 장병탁   김형주

인지 과학 : 김영정, 김재권, 조인래, 김정오, 조명한, 이정민, 김영주, 김영택, 장병탁, 김형주, 백은옥, 강봉균, 서유헌, 이경민, 최재천 공저, 태학사, 2000. Page 241~269

 

1. 머리말

2. 학습의 정의와 필요성

  2.1. 학습이란 무엇인가?

  2.2. 학습하는 기계가 왜 필요한가?

3. 기계학습 연구의 분류

  3.1. 연구 목표에 의한 분류

    3.1.1 학습 이론적 고찰

    3.1.2. 인지과학적 고찰

    3.1.3. 문제 지향적 고찰

  3.2. 연구 방법에 의한 분류

    3.2.1. 학습 전략에 의한 분류

    3.2.2. 지식 표현에 의한 분류

    3.2.3. 응용 영역에 의한 분류

4. 기계학습 연구 패러다임

  4.1. 귀납적 학습

  4.2. 연역적 학습

  4.3. 신경망 학습

  4.4. 진화적 학습

5. 맺음말

 

 

1. 머리말

학습 (learning) 은 다각도에서 바라볼 수 있는 현상 또는 과정으로서 새로운 지식의 습득, 인지 기능의 발달, 새로운 사실이나 이론의 발견, 기존 지식의 효과적인 조직화 등을 포함한다. 일반적으로 인공지능 (AI ) 에서 학습은 전에 수행할 수 없었던 새로운 작업을 수행할 수 있는 능력 혹은 예전에 수행했던 일을 더 빨리 또는 더 정확히 수행할 수 있는 능력을 의미한다. 컴퓨터가 개발된 이래 많은 사람들이 컴퓨터에 학습 능력을 부여하기 위해 노력해 왔다.

기계학습 (machine learning) 은 인공지능 연구의 초기부터 중심적인 역할을 담당하였다. 비록 문제해결, 정리증명, 계획, 자연언어처리, 로봇공학, 전문가시스템 등과 같은 다른 중요한 분야의 발달로 인해 한때 기계학습이 인공지능의 중심 연구 분야로부터 멀어지기도 하였으나, 최근 들어 기계학습은 점점 더 중요성과 효율성을 인정받기 시작하고 있다. 예를 들어, 1960 년대에 수행되었던 단순 신경망 (퍼셉트론) 에 관한 연구가 한때 침체기를 맞이하기도 하였지만, 1980 년대를 통해 보다 복잡한 신경망 구조에 대한 새로운 학습 방법이 개발됨으로써 신경망 학습에 대한 연구가 다시 각광을 받기 시작하였다. 그 사이에 귀납적 개념 학습, 설명기반 학습, 결정 트리 등 여러 가지 기호 기반의 기계학습 패러다임이 발달했고, 유전자 알고리즘 등이 실제로 학습 방식으로 응용되고 있다.

최근 들어 기계학습 연구는 다양한 방식으로 성과를 올리기 시작했다. 계산 학습 이론에 의해 확고한 이론적 기반이 수립되고 있고, 기계학습 방법들이 강력한 수행 시스템들에 성공적으로 접목되고 있다. 그리고 보다 안정된 기술에 기반한 실제적인 응용이 개발되어 실용화되기 시작하였다. 결정 트리 학습 방법이 병을 진단하는 규칙을 찾아주고, 설명기반 학습이 지식집중형 추론 시스템에 응용된 바 있고, 신경망이 음성인식과 공정 제어 등에서 기존의 방법을 능가한 예도 있다. 특히 최근 들어, 지능형 정보검색, 지식 발견 및 데이터마이닝에 기계학습이 핵심적인 요소 기술로 사용되고 있다.

기계학습 연구는 그 추구하는 목표와 사용하는 방법에 따라서 [표 1] 과 같이 구분될 수 있다. 연구의 목표에 의한 분류는 다시 학습이론적 연구, 인지 과학적인 연구, 문제 지향의 연구로 대별된다. 학습 이론적 연구는 일반 학습 알고리즘의 이론적 분석과 개발에 관심을 가지면, 인지과학적 연구는 인간의 학습과정을 컴퓨터 상에 모델링하며, 문제 지향의 연구는 특별한 목적의 학습 시스템 개발에 관심을 갖는다. 기계학습은 또한 연구 방법의 관점에서 학습 전략, 지식표현, 응용 영역을 기준으로 다시 나눌 수 있다. ([표 1])

[표 1]

분류의 기준

기계학습 연구의 분류

연구내용 또는 사례

연구목표

학습이론적 고찰

계산학습이론, 범용의 학습 알고리즘 개발, 새로운 학습 전략 발견 등

인지과학적 고찰

인간의 학습과정의 연구, 컴퓨터 시뮬레이션

문제지향적 고찰

특별한 목적의 학습 시스템 개발과 관련된 문제 지향적 연구

연구방법

학습전략에 의한 분류

귀납적 학습, 발견 학습, 유추 학습, 연역적 학습 등

표현 방법에 의한 분류

기호 논리식, 규칙, 의미망, 결정 트리, 신경망 등

응용 영역게 의한 분류

의료진단, 자연언어처리, 음성인식, 로보틱스 등

지식표현에 의한 분류는 학습 시스템에 의해 표현되고 조작되는 지식의 형태에 따른 분류이며, 학습 전략에 의한 분류는 학습하는 동안 지식에 적용되는 추론의 형태에 기준을 두고 있다. 응용 영역에 의한 분류는 학습 시스템이 대상으로 하는 수행 시스템의 문제 영역을 기준으로 한 분류 방법이다.

현재 가장 활발한 연구가 수행되고 있는 학습 패러다임은 다음과 같이 네가지로 분류할 수 있다. 첫째는 귀납적 학습으로 정례 (positive examples) 와 반례 (negative examples) 로부터 개념을 습득하는 방법을 다룬다. 두 번째는 분석적 학습으로 여기에는 설명기반 학습과 분석적인 사례기반 학습 (case-based learning) 이 속한다. 세 번째 패러다임은 신경망 학습으로서 다층 퍼셉트론, 자기조직 신경망 모델등이 여기에 속한다. 네 번째 패러다임은 진화 학습 (evolutionary learning) 으로서 유전자 알고리즘, 유전자 프로그래밍, 진화전략, 진화 프로그래밍 등이 그 예이다.

본 논문은 다음과 같이 구성되어 있다. 2 절에서는 "학습이란 무엇인가?" 와 "학습하는 기계가 왜 필요한가?" 라는 질문에 대해 토론한다. 3 절에서는 기계학습 연구 방법을 두가지로 나누어 살펴본다. 하나는 연구 목표에 의한 분류이고 다른 하나는 연구 방법에 의한 분류이다. 연구 목표에 의한 분류로써 학습이론적 고찰, 인지과학적 고찰, 문제 지향적 고찰을 제시하며 각각의 연구방향과 범위에 대해 상술한다. 연구방법에 따른 기계학습의 분류는 다시 세가지로 나뉘는데, 학습전략, 지식표현, 응용영역등이 그것이다. 여기서는 이들 각각에 대한 지금까지의 연구 내용을 조사하고 분석하고 정리하였다. 4 절에서는 지금까지 연구되어온 주요 기계학습 패러다임의 대표적인 예로서 귀납적 학습, 분석적 학습, 신경망 학습, 진화적 학습에 대해 그 본질과 상대적인 특성에 대해 분석한다.

2. 학습의 정의와 필요성

2.1. 학습이란 무엇인가?

지금까지 많은 사람들이 학습에 대한 정의를 시도하였다. Herbert Simon 은 "학습은 같은 일의 반복이나 같은 집단으로부터 추출된 다른 일들을 두 번째 시도할 때 시스템이 보다 개선된 성능을 보여주도록 하는 어떤 변화이다" 라고 하였다 [Simon83]. Marvin Minsky 는 "학습은 마음 (mind) 에 유용한 변화를 일으키는 것이다" 라고 정의하였다 [Min85]. 이 정의들은 그러나 너무 광범위하여 실제적으로 사용하기에는 부족한 점이 있다.

Pat Langley 는 학습을 "어떤 환경에서의 경험으로부터 지식 습득을 통하여 수행 성능이 향상되는 것" 으로 정의하고 있다 [Lan96]. 이 정의에서 '환경', '경험', '지식', '수행' 이라는 네가지 요소가 언급되었다는 점에 주목할 필요가 있다. 환경은 학습에 대한 외부 여건을 제공하며, 수행은 어떤 일에 대한 행동을 측정하는 수단이며, 지식은 내부 자료구조이며, 경험은 내부나 외부로 부터의 지각을 필요로 한다.

학습에는 크게 두가지의 기본적인 형태가 있다. 지식 습득과 기술 숙련이 그것이다. 어떤 사람이 물리를 공부한다고 할 때 그것은 그 사람이 물리의 중요한 개념들을 습득하고, 그 의미를 이해하고, 그 개념들간의 관계와 그 개념의 물리적 세계로의 관계를 이해했음을 의미한다. 이런 경우 학습의 정수는 지식의 습득이다. 그 지식은 다양한 표현 (간단한 직관적 모델, 예제, 이미지에서부터 완전히 검증된 수식과 물리법칙까지) 을 망라하는 물리적 체계와 그 행동의 서술과 모델을 포함한다. 그 사람의 지식이 더 넓은 범위의 상황을 설명하고, 더 정확하고, 물리 세계의 행동을 더 잘 예측할 수 있을 때 그가 더 배웠다고 한다. 이러한 형태의 학습은 다양한 상황에서 전형적으로 이루어진다. 따라서 지식 습득은 새로운 기호 정보를 배우는 것과 함께 그 정보를 효과적으로 적용할 수 있는 능력으로 정의된다.

두 번째 종류의 학습은 연습을 통한 운동신경 (motor) 과 인지기술 (cognitive skill) 의 점진적인 향상으로 그 예는 자전거를 타는 것이나 피아노 연주 같은 것이다. 이러한 것들에 대한 수행 방법이 나와있는 교과서 지식을 습득하는 것은 필요한 기술 습득의 초기 상태만을 반영한다. 학습과정 전체는 반복되는 연습과 바람직한 행동으로부터 벗어나는 것에 대한 교정을 통한 습득된 기술 (정신적이든 운동 신경의 조절이든) 에 대한 숙련이다. 기술 숙련이라고 불리는 이러한 형태의 학습은 지식 습득과는 여러 가지 면에서 다른다. 지식 습득의 정수가 새로운 기호 지식 구조 (symbolic knowledge structure) 와 정신적 모델을 창조하는 의식할 수 있는 과정인 반면 기술 숙련은 반복되는 연습에 의해 의식하지 못하는 사이에 일어난다. 대부분의 인간 학습은 두가지 행동의 혼합으로 보이며 전자에는 지적 노력이 필요하고 후자에는 운동 신경의 조정이 필요하다.

대부분의 학습 활동에서 기본적인 것은 학습의 지식 습득 측면이다. 어떤 것에 대한 지식을 획득하기 위해서는 명백히 이 지식을 선언적 문장, 함수, 이 두 개의 절충, 또는 다른 어떤 형식 (form) 으로 표현해야 한다. 이러한 사실과 위에서 고려한 점들로부터 학습은 "경험한 것에 대해 표상 (representation) 을 형성하거나 수정하는 것" 으로 특징 지을수 있다. 여기서 경험은 외부 자극뿐만 아니라 내부적인 사고 (Gedanken) 과정도 포함한다. 이 자극과 내부적 과정은 학습시스템이 그것을 통해 표현하려고 실재를 인식할 수 있는 매개체이다. 내부적 사고과정은 자체가 학습의 주제가 될 수 있다.

위의 견해에 따르면, 성능을 개선하는 것보다는 어떤 실제의 표상을 구성하는 과정이 학습의 중요한 측면이 된다. 성능향상은 종종 상징 구성의 결과와 목적으로 간주된다. 그러나 이것은 오직 학습자의 목표라는 상황에서만 주장될수 있는 것이다. 실제로 대부분의 학습활동은 성능의 향상을 포함하고 있고, 생각을 읽는 것 보다는 성능을 측정하는 것이 휠씬 쉽기 때문에 당연히 이 둘을 연관시키게 되는 것이다. 그러나 성능 향상은 항상 적용될 수 있는 학습의 평가기준은 아니다. 미를 평가해야 하는 상황과 같이 기본적인 관련성이 나타나지 않는 상황들이 있다. 또 잘못 측정되는 상황도 있다. 후자의 상황은 학습자의 목표를 정확히 평가하기 어려울 때 나타난다. 이것이 기계학습을 어렵게 하는 이유 중의 하나이다.

형성된 표상을 평가하는 중요한 기준으로는 유효성 (validity), 효율성 (effectiveness), 추상 수준 (abstraction level) 이 있다. 유효성 혹은 진실성은 상징이 실재와 얼마나 일치하는가를 측정하는 정확도를 나타낸다. 두 번째 기준인 효율성은 학습 효능의 측면을 포착하고자 한다. 효율성은 주어진 목표의 달성에 상징이 얼마나 유용한지를 나타낸다. 상징이 더 효율적일수록 시스템의 성능은 좋은 것이다. 세 번째 기준인 추상수준은 묘사에 사용되는 개념의 범위, 상세도, 정밀도 등을 반영한다. 추상수준은 상징의 설명력을 나타낸다. 이 세가지 기준이 소위 학습의 특성을 결정한다.

상징들은 기호적 묘사 (symbolic description), 알고리즘, 모의 모델 (simulation model), 제어 절차 (control procedure), 계획, 이미지, 일반적인 형식 이론 등의 형태가 될 수 있다. 만약 묘사를 습득하는 중에 시스템에서 발생하는 물리학적, 생리학적 현상들을 포함하기 위하여 상징의 개념이 확대된다면, 위에서 언급한 학습의 관점은 또한 기술 숙련도 포함한다. 이 점에서 기계학습의 연구에서 기본적인 문제가 되는 것은 획득된 지식과 묘사를 표현하고 수정하는데 사용되는 형식 (form) 과 방법 (method) 이다. 지식을 수정하는 문제에 있어서 시스템에 의해 수정가능한 상징과 수정 가능하지 않은 상징의 구성요소와 특질들을 구별하는 것은 중요한 일이다.

고전적인 인공지능 (good old-fashioned AI 또는 GOFAI) 에서는 지식 습득만을 주로 기계학습의 대상으로 다루어 왔으나, 최근 들어 신경망 학습 방식의 재등장으로 인해 생체 시스템에서의 적응 등과 같이 비기호 과정 (subsymbolic process) 에 더욱 유사한 기술 숙련에 대한 연구도 인공지능 및 기계학습 모델로 활발히 연구되고 있다.

2.2. 학습하는 기계가 왜 필요한가?

인공지능은 그동안 비약적인 발전을 하였으며 인공지능의 아이디어와 방법들이 여러 분야에 적용되고 있다. 그러나 현재의 인공지능 시스템은 몇몇 시스템을 제외하고는 대부분 매우 제한된 학습 능력을 갖거나 아니면 학습 능력이 전혀 없다. 모든 지식은 프로그램되어 시스템에 입력되어야 한다. 혹시 에러가 있더라도 이 시스템들은 자신의 힘으로 에러를 고칠 수 없다. 단지 이 과정을 끝없이 반복할 뿐이며, 아무리 많이 과정이 반복된다 하여도 이 시스템은 에러를 고치려는 노력을 할 수도 없다. 프로그램들은 경험을 통해 자신의 성능을 점점 개선할 수도 없고 실험을 통해 문제 영역 특유의 지식을 학습할 수도 없다. 자동적으로 알고리즘을 생성해 내지도 못하며, 새로운 추상물을 형성해 내지도 못하고, 이전의 것과 유사한 것을 만들어 내거나, 발견을 통해서 새로운 해답을 찾아내지도 못한다.

요컨대, 기존의 인공지능 시스템은 주어진 정보로부터 귀납적 추론을 할 능력이 부족하다. 현재의 거의 모든 인공지능 시스템은 연역적이라고 할 수 있다. 연역적 시스템은 자신에게 주어졌거나 병합된 지식으로부터 결론을 이끌어 낼 수는 있으나 자신의 힘으로 새로운 지식을 생성해 내거나 획득할 수는 없다.

대조적으로 인간의 지능을 살펴보면 새로운 지식을 획득하거나, 새로운 표현을 배우며, 연습을 통해 개선되는 능력들이 있음을 알 수 있다. 이런 학습 능력을 통해서 젊고 경험이 부족하던 사람이 때가 되면 교육자, 예술가, 컴퓨터과학자로 변모한다. 일반적으로 똑같은 실수를 계속해서 반복하는 사람들이 지능적이라고 인식되지는 않는다. 실수로부터 학습하는 능력은 개인이건 사회이건 중요하게 여겨지고 있다 [Pop59; Pop81; Kuhn70].

왜 학습하는 기계를 개발하는 것이 바람직한가? 그런 시스템을 개발하는 것은 명백히 인공지능 관련 학문이 계속 발전할 수 있기 위해서 반드시 필요하다. 특히 대규모 정보시스템, 음성 및 자연언어 이해 시스템, 지능형 교수 시스템, 인간과 컴퓨터 상호작용, 컴퓨터 시각등의 분야에서는 더욱 요구된다. 인공지능 시스템에 좀더 복잡한 작업이 주어지면 주어질수록, 좀 더 많은 지식들이 시스템 내부에서 표현되어야 한다. 그런 지식들은 영역 특유의 사실과 규칙, 상식적 휴리스틱, 제한사항 (constraints), 세계에 관한 개념과 이론들을 모두 포함하고 있다. 어떤 시스템에서 지식의 범위는 현재 시스템들의 공통의 문제, 즉 knowledge cliff [Fei84] 나 brittleness [Hol6] 를 피할 수 있도록 확장되어야 한다. 문제는 이 시스템이 자신에게 주어진 지식의 범위 내에서는 잘 수행되는데 반해 조금만 범위를 벗어나면 성능이 급속하게 저하된다는 데 있다.

필요한 지식을 새로운 시스템에 도입하는 것은 매우 복잡하고, 시간이 걸리며, 실수하기도 쉽고, 특별한 전문지식을 요하는 일이다. 예를 들면 전문가시스템을 구축하는 것은 고도로 단련된 전문가들 즉 적어도 한 명 이상의 그 영역의 전문가와 지식공학자 (knowledge engineer) 의 상호협동을 필요로 한다. 이 작업은 기계학습 기법을 이용하여 단순화 될 수 있다. 그런 기법들은 시스템이 전문가들의 의사결정의 예제들로부터 또는 데이터베이스에 있는 사실에 대한 자동화된 분석을 통해 결정 규칙들을 만들어 내도록 한다.

정보화 사회에서 데이터와 지식의 양이 급속히 증가함에 따라 이 정보를 저장하고 구축하며, 전송해야 할 필요성뿐만 아니라 이 정보를 새롭고 창조적인 방식으로 사용할 필요성이 대두되게 되었다. 지식은 압축된 정보이며 그래서 이 데이터베이스와 정보 시스템의 내용에 대해 개념적인 분석을 함으로써 각 시스템을 지식베이스로 자동적으로 압축할 수 있는 기제가 필요하다. Donald Michie 가 지적한 바와 같이 앞으로 "데이터의 혼돈을 결국은 하나의 정돈된 발견으로 통합되도록 하는 인식과 추론 과정 등에 컴퓨터의 물결을 어떻게 확장할 것인가가 기술적으로 가장 주의를 끄는 문제가 될 것이다 [Mic82]."

혹자는 과학자와 기술자의 지능형 조수로서의 컴퓨터의 역할 뿐만 아니라 일반인의 지능형 개인 조수로서의 역할을 추가로 들고 있다. 팽창해 가는 정보화 사회에서, 개인은 어마어마한 양의 정보와 일상적으로 생기는 복잡한 의사 결정 문제에 대처하기 위해 그런 조수를 필요로 하게 될 것이다. 이런 조수들이 계획된 역할을 수행하게 하기 위해서는 그들의 기능과 지식은 동적이어야 한다. 이 조수들은 변화하는 요구 사항에 적응할 수 있어야 하며, 자기수정적 즉 스스로 학습할 수 있어야 한다.

컴퓨터 시각과 음성 인식 분야에서도 학습 능력이 유사하게 필요하다. 컴퓨터 시각 시스템을 구축하기 위해서 지질학적 개념, 시스템이 인식해야 하는 물체의 물리적 기능적 묘사, 그리고 관련된 정보 등의 시각 특유의 변환이 필요하다. 이런 모든 정보를 시스템 내부에 만들어 넣어 주는 것은 불가능하다. 주어진 개념의 예제들을 시스템에 보여줌으로써 시스템을 학습시키거나 시스템이 적절한 일반화와 묘사들을 학습하도록 하는 것은 인간에게 시각적인 개념들을 가르치는 것만큼이나 쉽다.

자연언어로 인간과 서로 이해하고 상호작용할 수 있는 시스템은 언어의 의미론적이고 화용론적인 측면을 잡아내는 많은 개념이나 개념 구조 (프레임, 스크립트, 스키마 등) 뿐만 아니라 언어의 구조적 특성에 대한 지식도 가지고 있어야 한다. 자연언어에 대한 이해가 이루어진 상황에서는, 개념과 개념구조의 수는 쉽게 수백, 수천 배가 될 것이라고 생각할 수 있다. 이런 지식을 컴퓨터에 프로그램해서 주입하는 것은 엄청난 일이다. 학습시스템을 사용하여 이 작업을 단순화하는 것이 바람직하다. 게다가 어떤 점에서는 이 지식이 한 기계에 모두 통합된다 할지라도 언어 이해자가 학습 능력이 없다면 머지 않아 제대로 작동하지 않을 것이다. 인간이 사용하는 개념의 의미는 동적이다. 즉 시간에 따라 변하며 새로운 상황과 요구에 적응한다. 그러므로 위의 경우처럼 예제로부터의 일반화와 기존 지식을 유추함으로써 새로운 개념과 새로운 구조를 획득할 수 있는 학습 시스템이 필요하다. 그런 시스템은 유연하게 옛 개념들을 수정하고, 특수화하고 일반화할 수 있어야 한다.

지능적 교수 시스템은 학생의 지적 수준에 맞는 난이도와 정밀도로 자료들을 제시할 수 있어야 한다. 그렇게 하기 위해서는 시스템은 변화하는 학생들의 지식을 알고 이해할 수 있어야 한다. 이런 정보를 획득할 수 있는 바람직한 방식은 반복적으로 직접 테스트하는 것 보다는 교수 기간동안의 여러 단서, 행동, 전형적인 학생의 사례로부터 학습하는 것이다. 그래서 학습하는 능력은 학생뿐만 아니라 교수 자신으로부터도 요구된다.

학습 능력을 통해 미래의 컴퓨터들은 문서와 책을 이용하거나 인간과의 대화를 통해, 또는 환경에 대한 일반적 관찰을 통해 직접적으로 지식을 획득할 수 있어야 한다. 그런데 이러한 것들은 인공 감각을 통해 이루어진다. 미래의 컴퓨터들은 연습과 훈련을 통해 스스로 발전할 수 있어야 한다. 미래의 기계학습 시스템들은 인간이 갖는 제약들, 즉 기억용량의 부족, 분산된 주의, 낮은 효율성, 획득된 지식을 학습자 사이에서 전이할 수 없는 문제들을 거의 아니면 전혀 겪지 않을 것이다. 일단 하나의 학습 시스템이 개발되면 이론적으로 무한한 개수의 복제품이 만들어 질 수 있고, 다양한 영역에서 새로운 지식들을 학습하는데 사용될 수 있을 것이다. 게다가 학습 시스템에 의해 획득된 새로운 지식은 다른 시스템으로 빠르고 저렴하게 (각 학생마다 고통스럽게 지식을 재획득 해야 하는 인간의 지식과는 다르게) 복제될 수 있다.

3. 기계학습 연구의 분류

3.1. 연구 목표에 의한 분류

기계학습에서의 연구는 서로 연관된 세가지 방향으로 추진되고 있다. 그 하나는 이론적 분석이며 여기서는 주로 가능한 학습방법의 공간과 응용 영역을 탐구하고자 한다. 두 번째 연구방향은 인지 시뮬레이션으로서 인간의 학습과정을 이해하는데 초점이 맞추어진다. 세 번째는 문제 지향의 연구로서 미리 정해진 과제들에 대한 수행 능력을 향상시키는 학습 시스템의 개발과 분석을 수행하는 공학적 접근이다.

많은 연구 노력들이 원래는 위의 목표 중 어느 하나에 대해 행해져 왔는데, 한 목표에 대한 발전이 종종 다른 목적에 대한 발전을 이끌었다. 예를 들어 가능한 학습방법들의 공간에 대한 연구는 사람 (또는 다른 생체 시스템) 의 학습방법이라는 유일하게 알려진 예를 고려하는 것에서부터 시작하는 것이 합리적일 것이다. 이와 비슷하게 인간 학습에 대한 심리학적 연구는 여러 가지의 가능한 학습 모델들을 제공하는 이론적 분석에 의해 도움을 받을 수도 있을 것이다. 어떤 문제 지향의 연구에서의 특정한 형태의 지식습득에 대한 필요는 그 자체로서 새로운 이론적 분석을 가져오거나 "어떻게 해서 인간이 이 특정한 표상 또는 지식을 얻는가?" 라는 질문을 제기할 수도 있다. 서로 도전적이면서 상호 보완적인 이 세가지 목표들은 인공지능 전 분야를 반영하고 있으며 응용 시스템 연구, 인지 시뮬레이션, 이론적 연구가 서로 문제와 아이디어들을 주고 받으며 발전한다.

3.1.1 학습 이론적 고찰

기계학습 연구의 한가지 목표는 여러 가지 학습 기제 (mechanism) 을 밝히고 개발하는 것이며, 이는 상이한 추론 알고리즘의 발견, 어떤 방법의 적용 범위와 한계, 교육자에게 반드시 필요한 정보, 불완전한 훈련자료를 잘 이용하는 방법, 여러 가지 작업 영역에 적용가능한 일반적인 기법의 창조 등을 포함한다. 사람의 학습방법이 지시과 기술을 얻을 수 있는 유일한 수단이라고 생각해야 할 이유는 없다. 사실 사람의 학습은 아직 미지의 세계인 여러 가지 학습방법 공간상의 단지 한 점 (진화를 통해 얻어졌으며, 우리가 존재하는 일반적인 물리적 환경에 특별히 적응된 한 점) 만을 나타낸다고도 할 수 있다. 따라서 개발되는 알고리즘의 형태에는 제한이 없다. 학습의 최종적인 결과로서 생성되는 지식 구조가 인간이 창조하는 지식 구조와 유사해야 한다는 견해도 있으나, 이 알고리즘이 인간이 주어진 일을 수행하려고 할 때 사용하는 것과 반드시 유사할 필요는 없다. 기계학습에서의 대부분의 이론적 연구는 심리학적으로 개연성이 있는 것보다는 일반성과 성능의 분석에 중점을 두었으며, 일반적 학습방법의 분석과 특성화와 창조에 치중해 왔다.

3.1.2. 인지과학적 고찰

기계학습의 또 다른 연구 방향은 인간의 학습에 중심을 두는 것이다. 즉 인간 학습의 계산 이론과 실험적 모델을 개발하는 것을 목표로 한다. 이 연구는 기계학습 시스템의 개발 기술뿐만 아니라 인간교육에도 중요한 영향을 미칠 수 있다.

생체 시스템에서 어느 것이 유전적으로 물려받은 능력인가 (주위 환경에서 습득한 기술이나 지식과 대조적으로) 하는 질문은 생물학자, 심리학자, 철학자, 인공지능 연구자들을 매혹시켜 왔다. 사람에게 있어서 인지 불변 (cognition invariant) 의 명확한 예는 학습 기제 (묘사, 사실과 더 추상적인 개념을 습득하는 타고난 능력) 이다. 따라서 인간 학습을 충분히 이해해서 그 학습 행태를 컴퓨터 시스템에서 재생하는 것은 그 자체로서도 가치있는 과학적 목표이다. 게다가 컴퓨터는 학습 이론의 일관성과 완전성을 검사하는데 쓰일 수 있다는 점에서 인지심리학에 근본적인 도움이 될 수 있으며, 세밀한 구조 (fine-structure) 와 프로세스 수준 (process-level) 의 상세함을 강요함으로써 의미없고 중복되거나 검증할 수 없는 이론을 미리 방지할 수 있다.

인간 학습과정의 연구는 또한 상당한 실용적 의미를 지니고 있다. 인간 학습 능력의 저변에 깔려있는 근본 원칙들에 대한 통찰력을 얻는다면 더 효과적인 교육 기술을 알아낼 수도 있을 것이다. 이렇게 해서 컴퓨터에 기반을 둔 교육시스템을 개발하려는 컴퓨터 보조 지능형 교육에 대한 연구가 기계학습 연구와 많은 목표와 견해를 공유한다는 것은 놀라운 일이 아니다. 흥미로운 발전 중 하나는 컴퓨터 교육시스템이 학생들의 수행을 관찰함으로써 학생 능력의 모델을 추론해 내는 능력을 갖추기 시작했다는 점이다. 특정한 분야에서의 학생의 지식과 기술의 범위를 추론해 냄으로써 더욱 효과적으로 개인화된 학생 교육을 할 수 있게 된다.

3.1.3. 문제 지향적 고찰

문제 지향적인 기계학습 연구는 특정한 작업이 주어졌을 때 이 작업을 수행할 수 있는 공학적 시스템을 개발하려고 한다. 한 예로 항공기를 조종할 때의 위험 상황을 인식하기 위해 조건을 학습하는 프로그램을 생각할 수 있다. 이론적 분석이 학습방법 공간을 연구하는 수단을 제공하는 반면에 문제 지향 접근법은 실제 사용되는 학습 시스템의 성능을 검증하고 향상시킬 수 있는 수단을 제공한다. 응용 학습 시스템을 구축하고 검증함으로써 학습에 대한 특정한 접근 방법의 비용효과의 균형과 한계를 결정할 수 있다. 이렇게 해서 가능한 학습 시스템 공간 상의 개개의 점들이 연구되고 공간 자체도 더 잘 이해될 수 있다.

현재 컴퓨터나 컴퓨터 제어 로봇이 어떤 작업을 수행하게 하려면 사람이 그 작업에 대한 완전하고 올바른 알고리즘을 정의하고 그 알고리즘을 컴퓨터에 프로그램 해 주어야 한다. 이런 일들은 주로 특별히 훈련된 사람의 노력을 요하며 지루하고 오래 걸리는 작업이다.

오늘날의 컴퓨터 시스템은 예제나 전에 해결했던 비슷한 작업에서의 유추를 통해서 새로운 작업을 수행하는 방법을 학습할 수는 없다. 또 과거의 실수로부터 성능을 월등히 향상시키거나 숙련자를 관찰하고 모방해서 새로운 능력을 습득할 수도 없다. 기계학습 연구는 이러한 새로운 방법들을 통해 컴퓨터에게 지시하고 그로 인해 미래의 컴퓨터에게 점점 더 복잡해지고 많아지는 정보를 프로그래밍하는 어렵고 무거운 짐을 덜어줄 수 있는 가능성을 제시하기 위해 노력하고 있다. 오늘날의 컴퓨터의 능력과 응용의 급속한 확장이 이 가능성을 더욱 더 매력적이고 바람직하게 만들었다.

문제 지향의 지식획득 작업에 접근할 때에는 결과적인 컴퓨터 시스템이 사람과 상호작용해야 하며 따라서 인간의 능력과 상당히 비슷해야 한다는 것을 생각해야 한다. 공학적 접근이 사람이나 생물체의 작업수행을 반영할 필요가 없다는 전통적인 논쟁은 기계학습에는 적용되지 않는다. 거의 순수한 공학적 접근의 성공인 결과인 비행기가 그 생물학적 상대와 거의 닮은 점이 없기 때문에 응용 지식 획득 시스템도 똑같이 인간의 능력에 대한 고려와 상관이 없다고 할 수도 있다. 이런 주장은 여기서는 적용되지 않는데 그 이유는 비행기는 새와 상호작용하거나 또는 새를 이해할 필요가 없기 때문이다. 학습하는 기계는 이와는 달리 이를 사용하는 사람과 상호작용하고 결과적으로 그들이 습득하는 개념과 표현을 사람이 이해할 수 있어야 한다. 물론 내부적 기제도 반드시 사람이 이해할 수 있어야 하는 것은 아니다.

3.2. 연구 방법에 의한 분류

기계학습 시스템은 또한 다른 차원에서 분류될 수 있다. 특히 의미있는 세가지 차원은 다음과 같다. 첫 번째는 기반 학습 전략 (learning strategy) 에 따른 분류로서 학습 시스템이 사용가능한 정보에 대해 행하는 추론의 양에 따른 학습 과정의 분류이다. 두 번째는 학습에 의해 얻어지는 묘사나 지식의 표현 (knowledge representation) 형태에 의한 분류이며, 세 번째는 지식을 습득하는 시스템의 수행 응용 영역 (application domain) 에 따라 분류하는 것이다.

이 세가지 차원을 각각 하나의 축으로 하는 삼차원 공간을 정의할 수 있다. 이 공간상의 각 점은 특정한 학습 전략을 가지고, 특정한 지식 표현 방법을 사용하여, 특정한 영역에 응용되는 하나의 학습 시스템이다. 여러 가지의 표현 방법과 전략을 가진 학습 시스템이 존재하며 하나 이상의 영역에 응용된 경우도 많고 그런 학습 시스템들은 위의 공간상의 여러 점의 특성을 가진다. 지금까지 연구된 학습 시스템들은 이 방대한 공간상의 극히 일부분에 지나지 않으며 앞으로의 연구를 통해 더 많은 부분이 탐구되어야 할 것이다.

3.2.1. 학습 전략에 의한 분류

초기 학습 상황에서 학습자는 환경이나 교수자에 의해 주어진 정보를 나중에 사용하기 위해 어떤 새로운 형식으로 변환 (transformation) 하여 저장하게 된다. 이런 변화의 특성은 사용될 학습 전략의 형태를 결정한다. 암기학습 (rote learning), 지시에 의한 학습 (learning by instruction), 연역적 학습 (learning by deduction), 유추학습 (learning by analogy), 귀납적 학습 (learning by induction) 등의 서로 다른 몇몇 전략이 있다. 귀납에 의한 학습은 다시 예제에 의한 학습 (learning by examples) 과 관찰과 발견에 의한 학습 (learning by observation and discovery) 으로 나뉜다. 이런 전략들은 초기에 주어진 정보에서 궁극적으로 획득되는 지식까지 변환 (추론) 의 복잡도에 따라 오름차순으로 정렬된다. 이 순서는 학습자 측면에서는 들여야 하는 노력의 증가를 의미하고, 교수자 측면에서는 들여야 하는 노력의 감소를 의미한다. 인간의 학습 활동에서도 이런 전략이 혼용되어 나타난다. 교수 목적으로도 이런 전략들을 구분하는 것이 유용할 뿐만 아니라 학습 시스템을 설계할 목적으로도 전략들을 구분하는 것은 유용하다. 대부분의 현재의 시스템들은 단일의 학습 전략을 사용하고 있지만, 기계학습 연구가 다전략 시스템에 점점 더 집중될 것으로 생각할 수 있다.

암기 학습에서는 기본적으로 변환이 없다. 교사로부터 주어진 정보는 직접적으로 학습자에 의해 수용되고 기억된다. 여기에서 주요한 관심사는 저장된 정보를 나중에 추출하기 위해 어떻게 색인 (indexing) 을 할 것인가 하는 문제이다. 지시에 의한 학습에서는 교수자에 의해 주어진 정보를 주로 형태적 차원에서 선택하고 재구성하는 등의 변환이 학습자에 의해 일어난다. 연역적 학습에서 학습자는 주어진 지식으로부터 연역적이고 진리보전적인 (truth-preserving) 추론을 도출해 내고 유용한 결론들을 저장한다. 연역학습의 예로는 지식 재구성, 지식 편집 (compilation), 매크로 연산자의 생성, catching, chunking, 동등성 보전 연산화 (equivalence-preserving operationalization), 진리 보전 변환 (truth-preserving transformation) 등이 있다.

만약 변환 과정이 입력 정보의 일반화와 가장 그럴 듯하고 바람직한 결과의 선택 즉 귀납적 추론을 포함한다면 귀납적 학습이라 할 수 있다. 유추에 의한 학습은 연역적 학습과 귀납적 학습을 결합한 것이다. 여기서 다른 영역에 대한 서술은 공통의 하부구조를 결정하는데 사용되는데, 이것은 유추 사상 (mapping) 의 기본이 된다. 공통의 하부구조를 찾는 것은 귀납적 추론을 포함하고 있는 반면 유추 사상의 수행은 연역의 형태이다. 회상에 의한 학습 (learning by being reminded) 은 유추에 의한 학습의 한 형태로 볼 수 있다.

귀납적 학습은 예제로부터의 학습과 관찰과 발견에 의한 학습으로 나뉠 수 있다. 예제로부터의 학습 (소위 개념 획득) 에서는 모든 긍정적 예제들을 설명하고, 목표 개념의 모든 부정적인 예제들은 배제하는 일반적인 서술 (description) 을 찾아내는 것이 목적이다. 예제들은 정보의 원천으로부터 제공되는데, 정보 원천은 개념을 알고 있는 교수자 일 수도 있고, 아니면 학습자가 실험을 하고 피드백을 받기도 하는 환경일 수도 있다. 후자의 경우는 실험에 의한 학습 (learning by experimentation) 이라고 불리는데 이것은 행위에 의한 학습 (learning by doing) 과 문제해결에 의한 학습 (learning by problem solving) 을 포함하고 있다. 자극 반응 학습 (stimulus-response learning) 도 예제로부터의 학습의 한 형태로 분류될 수 있다.

관찰과 발견에 의한 학습에서는 (또는 묘사적 일반화, descriptive generalization), 학습자가 교수자의 도움없이 모든 것, 아니면 적어도 대부분의 관찰 결과를 설명할 수 있는 일반적인 규칙성을 찾는다. 이런 형태의 학습은 개념적 군집화 (단순 개념들로부터 묘사 가능한 객체 집합을 형성), 분류, 데이터에 방정식의 적용, 관찰된 데이터의 집합을 설명하는 법칙의 발견, 시스템의 행동을 설명하는 이론의 형성등을 포함하고 있다. 유전자 알고리즘과 경험적 예측 알고리즘 (empirical prediction algorithm) 등은 이러한 학습 전략의 변형으로 볼 수 있다.

귀납적 추론은 사실 (관찰 결과) 의 집합과 이 사실들에 대한 임의적인 사전 가정들을 가지고 출발해서 이 사실들을 설명하는 일반화를 만들어 낸다. 이것은 일반화 추론 규칙의 응용에 의해 달성되는 오류 보전 추론 (falsity-preserving inference) 이다. Popper 와 다른 연구자들이 언급한 바와 같이, 순수한 귀납 즉 어떤 해석적인 (설명적인) 개념없이 사실로부터 이론을 직접 추론하는 것은 불가능하다 [Pop81]. 이런 개념들은 관찰물을 묘사할 필요가 있으며 이것은 학습자의 배경 지식의 일부분이어야 한다. 이 배경 지식은 또한 일반화 과정을 유도하는 학습 목표, 영역 특유의 제한, 보통의 관계 (relationship), 휴리스틱, 귀납적 편향 등과 다른 가설을 계산하는 기준도 포함하고 있다.

일반화를 유도하고 제한하는 두가지 기법은 유사성 기반 (similarity-based) 기법과 제한 기반 기법 (constraint-based techniques) 으로 구분될 수 있다. 유사성 기반 기법은 예제간의 관계를 조사하는데, 개념 정의를 하기 위해 개념의 정례와 반례를 검사한다. 같은 집합 (class) 에 속하는 예제나 사실들 사이의 공통의 특성을 찾고, 다른 예제들이 같은 집합에 속하는 원인과 그에 대한 설명을 찾는다. 이 기법은 다른 특성들을 무시하거나 이런 차이점들을 포괄하는 개념들을 형성함으로써 예제들 사이의 차이점을 일반화 한다.

제한 기반 기법은 예제 내에 존재하는 관계 (intra-example relationship) 을 이용하는데, 이 관계들은 사실이나 예제들에 적용되는 해석적인 혹은 설명적인 개념들을 제한한다. 이 사실들이나 예제들의 일반화는 이 제한을 만족하여야 한다. 예를 들어 상자가 테이블 위에 있다는 사실을 일반화할 때, 이 사실은 테이블 위에 있는 것은 테이블을 무너뜨릴 정도의 무게가 되어서는 안되며 테이블 위에 놓을 수 없을 정도로 커서도 안되다는 제한을 만족하여야 한다. 이 기법의 한 변형이 Andreae 에 의해 제시되었는데, 그는 가설에 대한 정당화 (justification) 라는 개념을 사용하였다. 또 다른 중요한 변형으로 설명 기반 일반화 (explanation-based generalization) 는 설명적 지식의 역할을 강조하고 있다. 여기서는 주어진 사실이나 사건등을 고차원적이고 개념적으로 설명하거나 해석하기 위해 시스템의 배경 지식을 적용한다. 유사성 기반이나 제한 기반 기법들은 상호 보완적이어서 학습시스템에서 동시에 사용될 수도 있다.

3.2.2. 지식 표현에 의한 분류

학습 시스템은 행동의 규칙, 물리 객체에 대한 서술, 문제해결 휴리스틱, 복잡한 데이터의 분류기준 등 다양한 작업을 수행하는데 유용한 여러 가지 형태의 지식을 습득할 수 있다. 따라서 습득되는 지식의 형태에 따라 기계학습을 분류해 볼 필요가 있다.

3.2.3. 응용 영역에 의한 분류

유용한 학습 시스템의 분류 기준 중 하나는 그 용용 영역이다. 여러 가지 학습 시스템이 적용되어 왔던 응용 영역을 열거하면 다음과 같다.

    1. 농업
    2. 화학
    3. 인지 모델링 (cognitive modeling) - 사람의 학습과정 시뮬레이션
    4. 컴퓨터 프로그래밍
    5. 교육
    6. 전문가시스템 (expert system) - 고성능, 정해진 영역의 AI 프로그래밍
    7. 게임 (체스, 체커, 포커 등)
    8. 일반적 방법 (특정한 영역에 한정되지 않는)
    9. 영상 인식 (image recognition)
    10. 수학
    11. 의학적 진단
    12. 음악
    13. 자연언어 처리
    14. 물리적 물체 특성화 (physical object characterization)
    15. 물리학
    16. 계획과 문제해결 (planning and problem-solving)
    17. 로보틱스 (robotics)
    18. 순서 예측 (sequence prediction)
    19. 음성인식 (speech recognition)

4. 기계학습 연구 패러다임

1950 년대에 기계학습 연구가 시작된 이후 시대가 감에 따라 여러 가지 서로 다른 접근법과 목표를 가진 연구활동이 계속되었다. 이것은 크게 (1) 신경 모델링 (neural modeling) 과 의사결정이론 기술 (decision theoretic techniques), (2) 기호 개념 획득 (symbolic concept acquisition), (3) 지식 집약적 영역 특유의 학습 (knowledge intensive, domain-specific learning) 의 세가지 주요한 연구 패러다임 혹은 접근법이다. 이들 연구 접근법은 학습 시스템에 주어지는 사전 지식의 양과 시스템에서 지식이 표현되고 수정되는 방식에서 주요한 차이를 보이고 있다.

신경모델링 접근법은 적은 양의 초기 지식을 가지고 시작하는 범용의 학습 시스템을 개발하려고 한다. 그런 시스템은 보통 신경망 (neural nets) 혹은 자기 조직 (self-organizing) 시스템으로 불린다. 이런 형태의 시스템은 신경세포 같이 단순히 어떤 논리적 연산, 보통 임계논리 (threshold logic) 연산을 수행하는 유닛들이 상호 연결되어 있는 망 구조를 이루고 있다. 이런 종류의 시스템은 유닛 간의 연결강도 (connection strength) 를 점진적으로 변화시킴으로써, 실제로는 이런 연결들과 관련된 연속된 (비 이산적) 가중치 (weights) 를 변화시킴으로써 학습하게 된다. 시스템의 초기 지식은 대상 객체의 선택적 속성을 나타내는 입력 원소들의 선택, 망에서의 연결구조와 초기 강도에 의해 주어진다. 이것은 임의 구조나 설계자에 의해 미리 조정된 구조, 또는 이 두 가지가 혼용된 구조가 될 수 있다. 이런 학습 시스템에는 Perceptron [Ros58], Pandemonium [Sel59], discriminant functions [Nil65] 를 사용하는 학습 기계등이 있다. 이 분야에서의 연구는 패턴인식에서 결정이론 접근법을 발생시켰다. 진화적 학습 (evolutionary learning) [FOW66 ; Con83] 과 유전 알고리즘 [Hol75] 의 연구도 이 접근법과 연관이 있다. Connection Machine 을 개발하기 위한 노력과 더불어 학습 패러다임에 대해 다시 관심이 집중되고 있다.

이 패러다임에 기반하여 만들어진 시스템은 저수준의 사전 지식과 학습 달성을 위해 연속적으로 변하는 인자들을 상용한다는 특징을 갖는다. 학습방법과 알고리즘의 수치 기호 등과 관련되는 특성이다. 이 점이 다음의 두 패러다임과 대별되는 점이다. 두 패러다임에서는 학습과정에서 복잡한 기호 구조를 생성하고 조작하는데 역점을 두고 있다.

기호개념 획득 (symbolic concept acquisition, SCA) 에서, 시스템은 개념들의 집합이 주어질 때 이 개념들의 예제와 반례들의 분석을 통해 기호적 표상 (symbolic representation) 을 구성함으로써 학습한다. 이 표상들은 전형적으로 논리 표현, 결정 트리, 생성규칙, 의미망 등의 형태이다. 이런 패러다임에 기반하여 만들어진 몇몇 시스템은 다목적으로 적용이 가능하며 실제로 유용하다. 이런 시스템의 예가 Winston 의 Arch 프로그램, AQVAL 프로그램, ID3 등이다. 이 패러다임에서는 개념과 관련된 술어와 속성들이 교수자에 의해 시스템에 주어진다.

지식 집약적 영역특유의 학습 (knowledge-intensive, domain-specific learning, KDL) 에서 시스템은 이미 만들어진 수많은 개념들과 지식구조, 영역제한, 경험적 규칙, 구성된 시스템이 기반하는 특별한 영역과 관련된 기존의 변형 등으로 구성되어 있다. 관련 속성과 개념들은 초기에 전혀 주어지지 않는다. 단지 학습과정에서 시스템이 새로운 것을 도출할 뿐이다. 이 과정을 소위 구성적 귀납 (constructive induction) 이라 부른다. KDL 과 SCA 패러다임의 중요한 차이점은 시스템에 주어지는 배경 지식의 종류와 양 그리고 시스템에 의해 생성되는 지식 구조의 풍부함에 있다. 이 접근법에 기반한 시스템은 전형적으로 특별한 분야를 위해서만 개발되었으며 다른 분야에는 바로 사용할 수가 없다. 이 패러다임에서의 연구의 보기는 예로부터의 학습 뿐만 아니라 유추에 의한 학습과 같은 전략, 관찰과 발견에 의한 학습 전략 등이다. 이 접근법에 기반한 시스템의 예로는 Meta-DENDRAL 과 AM 등이 있다.

과거에 개발된 많은 시스템들은 위에서 언급된 접근법들을 적절히 혼용하고 있다. SCA 와 KDL 을 흥미롭게 결합한 것이 교환 가능한 지식 단위 (exchangeable knowledge module) 라는 아이디어에 기반한 시스템이다. 그런 시스템은 범용 학습 시스템에 영역 특유의 지식을 정의하고 사용하는데 필요한 기제들을 결합한다. 그런 시스템이 주어진 문제에 적용될 때, 교수자는 영역 특유의 지식들을 시스템의 지식표현 기제를 이용하여 주게 된다. 이런 학습 시스템은 영역 특유의 지식으로부터 일반적 추론 능력을 분리함으로써 다른 넓은 영역에 적용될 수 있으며, 여전히 영역 특유의 지식을 학습과정에서 이용할 수도 있다. 이런 철학에 기반을 두고 있는 시스템중의 하나가 객체의 구조적 묘사를 학습하는 INDUCE 라는 시스템이다. 유추에 의한 학습용으로 개발된 Winston 의 프로그램은 또 다른 예이다. 문제해결을 위한 경험적 규칙을 획득하고 정련하는 LEX 시스템과 새로운 경험 규칙을 개발하는 EURISKO 시스템이 또 다른 예이다.

4.1. 귀납적 학습

기호주의적 학습에 있어서 가장 널리 연구되는 방법은 찾고자 하는 개념에 대한 일련의 사례 (example) 들과 그 개념에 대해 잘 알려진 반례 (counterexample) 들로부터 일반적인 개념 기술을 이끌어내는 방법이다. 이 작업은 학습시에 제시한 모든 긍정적 사례가 보편 사례화 (universal instantiation) 에 의해 다시 도출될 수 있는 반면, 학습시에 제시한 부정적 사례는 어떤 것도 다시 도출될 수 없는 개념 묘사를 만들어 내는 것이다. 이 문제는 추상적 수준에서는 간단하게 보이지만, 사실 제대로 파악되지 않고 있다. 귀납 시스템의 잠재적인 설계 공간은 다음과 같은 여러 가지 차원에 의해 결정된다.

서술 언어 (descriptive language) : 서술언어란 입력 사례들과 출력 개념들이 표현되는 언어이다. 서술언어는 표현 능력 면에서 다양할 수 있다. 예를 들어, 명제논리 (propositional logic), 일차논리 (first-order logic), 혹은 그 이상의 고차논리 등이 표현할 수 있는 대상이 다르다. 그 기술 언어 내의 변수의 정의역은 이산적, 연속적, 혹은 이 둘의 결합된 형태를 가질 수 있으며, 그 값들은 그 정의역 내의 특정 위치 (점) 나 가능한 정의역 값들간의 확률 분포로 표현될 수 있다. 초기 대부분의 개념 습득 시스템들은 한정된 목록을 가진 정의역에서 한 개의 값을 가지는 변수들을 가진 명제적 표현들 (속성과 값의 리스트) 만을 다루었다. 연속된 값을 가지는 변수는 임의로 이산적 간격으로 나뉘어 표현되었다. 현재 시스템들은 모든 가능성을 탐색하기 시작했다. 그러나 대부분의 시스템은 모든 관련된 서술자 (descriptor) 들이 학습을 시작할 때 존재해야 한다는 점에서 고정된 어휘를 사용한다는 가정을 요구한다. 최근에 어떤 연구자들은 학습하는 동안에 기술 언어가 성정하는 것에 관심을 갖기 시작하였으며 이를 표현의 전이 (representational shift) 라고 한다.

잡음과 사례 분류 (noise and instance classification) : 대부분의 초기의 예제 학습 (learning-from-examples) 시스템은 모든 사례가 목표 개념에 비추어 정례 또는 반례로 올바르게 분류되어 있다는 것을 가정했다. 즉 이 시스템들은 잘 구성된 일련의 데이터를 제공하는 정확한 외부 교수자를 가정했다. 그런 가정은 실세계에서 적용하는데 제한을 가하기 때문에, 새로운 시스템은 사례들이 부정확하게 분류되거나 분류되지 않을 가능성, 혹은 사례들이 부분적으로 명시될 가능성 (어떤 속성은 알려지지 않을 수 있다), 혹은 속성 값에 측정 오차가 발생하거나, 그 속성들간의 관련 정도가 다를 수 있을 가능성에 대해 면밀히 조사한다. 신호 대 잡음 비율이 받아들여질 만하고 사례의 수가 충분히 많다면, 학습 방법에 통계적 기술을 접합하는 것이 도움이 될 것이다.

개념 유형 (concept type) : 어떤 학습 시스템들은 차별적 (discriminant) 개념을 얻으려고 애쓴다. 차별적 개념의 기술은 그 시스템에 알려진 다른 모든 개념들의 모든 사례들로부터 그 개념의 모든 사례들을 분리하기 위해 고안된 테스트들의 집합이다. 대개 차별적 개념 기술들은 루트로부터 점진적으로 획득되는 결정트리의 단말 노드까지의 경로로 부호화된다. 어떤 다른 학습 시스템들은 특징적 (characteristic) 개념을 습득한다. 특징적 개념들은 개념 기술에서 간결성과 정확성을 찾으려고 애쓴다. 이러한 개념들은 사용자와 의사 소통하기 훨씬 쉽고, 그 개념들이 그 수행 시스템의 다른 부분들에 의해 해석되어야 할 때 보다 유용한 것으로 알려져 있다. 그러나 개념 기술을 단순하게 표현하는 방식은 종종 정확성을 떨어지게 한다. 특정한 개념은 엄격한 구별 기준에 반드시 들어맞지는 않는다. 특징적 개념 기술은 대개 논리식의 프레임으로 부호화된다. 학습 시스템의 귀납적 편향 (inductive bias) 은 대개 습득되어야 할 개념 유형에 대한 선호 (preference) 로서 표현된다. 개념 기술의 단순성은 문제 영역에 무관한 귀납적 편향의 가장 잘 알려진 형태이다.

사례들의 원천 (source of instances) : 초기의 예제로부터의 학습 모델은 얻고자 하는 하나의 개념에 대한 일련의 분류된 예들을 한번에 제공하기 위해서 외부의 교사를 필요로 했다. 이 데이터에 잡음이 있을 가능성을 고려하는 동시에, 외부의 교사를 완전히 제거하고 외부 세계를 데이터의 원천으로 사용할 수 있다. 이런 경우들에 학습 시스템은 예제들을 찾기위해 더욱 적극적이어야 하고, 한 번에 여러 개의 개념들에 대해서 대처해야 하며, 외부 조언의 참고, 실험, 혹은 개념 클러스터링 기법을 사용하여, 스스로 사례를 분류하려고 해야 한다. 부분적으로 형성되는 개념들 (다차원 이진 탐색의 복잡한 형태) 에서의 불확실성을 최대한 줄이기 위해 사례들을 적절히 선택하는 문제에 대해 활발한 연구가 진행되고 있다 [Zha92].

점진적 귀납 대 일회적 귀납 (incremental vs. one-shot induction). 일회적 귀납 학습 시스템은 훈련 데이터로 한번에 주어진 모든 정례와 반례들을 고려하며 학습 후에 수정되지 않는 개념 기술을 만든다. 점진적 기법은 최선의 추정 개념 (best-guess concept), 혹은 지금까지의 데이터와 일관성을 유지하는 범위의 개념을 만들어 낼 수 있고, 또한 학습과 수행을 번갈아 할 수 있다. 학습이 계속 진행된다는 측면에서 후자의 실세계 상황을 더 정확히 반영하므로 최근에 더 많이 연구되고 있다.

4.2. 연역적 학습

최근에 더욱 폭넓게 연구되어온 학습 패러다임은 아주 적은 (때로는 하나) 범례 (examplar) 와 풍부한 기저의 이론으로부터의 분석적 학습에 기반하고 있다. 이와 관련있는 방법들은 귀납적이기 보다는 연역적이며 과거의 문제해결 경험을 이용하여, 새로운 문제를 풀 때 어떤 연역적인 추론 과정으로 수행할 것이가를 찾아내고, 도메인 지식을 더욱 효과적으로 적용할 수 있게 하는 탐색 제어 규칙을 만든다. 따라서 분석적 방법은 개념 기술의 라이브러리를 확장하기 보다는, 정확성이나 일반성을 희생하지 않고 시스템의 효율을 향상 시키는데 초점을 맞춘다. 분석적 학습 방법의 선구자는 매크로 연산자 (macro operator), 최소 조건 분석 (weakest precondition analysis) 과 같은 형식적 방법들이다. 현재 분석적 학습 방법들은 설명기반 학습, 다단계 청킹 (multi-layer chuncking), 반복적 매크로 연산자 (iterative macro-operators), 파생적 유추 (derivational analogy) 에 집중되어 있다. 다음의 문제는 모든 분석적 방법들에 공통된다.

사례들의 표현 (representation of instances) : 분석적 방법에서 하나의 사례는 문제해결 과정의 일부분에 해당한다. 그리고 학습은 그 하나의 사례와 배경 지식 (도메인 이론) 을 사용한다. 가장 간단한 경우에 하나의 사례는 단지 일련의 연산자들이다. 이러한 연산자들은 매크로 연산자로 그룹화되거나 유추적 전이로 수정되거나, 혹은 설명 기반 학습에서의 문제해결 증명 단계로 간주될 수 있다. 최근에 문제해결 과정은 그 연산자들과 함께 정당화 구조를 수반한다. 정당화 구조는 목표-하위목표 트리, 각 연산자가 선택된 이유에 대한 설명, 실패한 해결 시도들의 과정들 모두가 의존 관계로 상호 연결된 것이다. 이러한 과정은 일반화된 청킹, 파생적 유추, 설명기반 세분화와 같은 더 고급의 학습 과정들을 가능하게 한다.

성공 혹은 실패로부터의 학습 (learning from success and failure) : 가장 초기의 분석적 기술은 단지 더 효율적으로 성공을 거듭하기 위한 능력만을 습득하였다. 가령 매크로 연산자, 초기 설명기반 학습, 초기 청킹등이 그 예이다. 그러나 같은 혹은 유사한 실패 원인으로 발생할수 있는 미래의 실패를 막기 위해 실패로부터의 학습이 중요하게 되었다. 최근의 EBL 기술인 유추에 의한 학습 방법과 SOAR 에서의 청킹은 성공과 실패 모두로부터 학습한다.

일반화의 정도 (degree of generalization) : 분석적 학습에서 습득된 제어 지식은 범례의 상황으로 한정되거나 혹은 해당 도메인 이론에 의해 허용되는 범위까지 일반화 될 수 있다. 일반화 전략은 거의 모든 분석적 방법에 있어서 부적절한 정보를 제거하는 것에서부터, 확고한 도메인 이론과 구조 이론이 있는 상황에서 제어 지식을 가장 일반적인 형태로 향상 시키기 위한 일반적인 메타 추론 전략들을 적용하는 데까지 사용된다.

닫힌 루프 대 열린 루프 학습 (closed vs. open loop learning) : 열린 루프 학습은 새로운 지식의 정확성이나 유용성에 의문을 갖게 하는 증거가 나중에 나타나는 가에 상관없이, 한번에 새로운 지식을 습득하는 것을 의미한다. 반면, 닫힌 루프 학습은 그 새로운 지식이 기대만큼 시스템의 수행력을 향상 시키지 못할 경우, 수정이나 삭제될 수 있도록 새로 습득된 지식의 차후 평가를 허용한다. 새로이 학습된 지식에 대한 수행력 측정은 그 지식이 본질적으로 경험적이라는 것을 드러낸다. 단지 제어 지식의 습득만이 순수하게 분석적이다.

4.3. 신경망 학습

신경망 혹은 병렬분산 처리시스템 (PDPs) 이라고도 불리는 연결주의적 학습 시스템들은 최근 많은 관심을 끌어왔다. 연결주의적 학습 시스템은 은닉 신경 유닛을 도입하여 중간 처리 과정을 표현하고 비선형적 함수를 계산함으로써 퍼셉트론과 초기 선형 신경망의 이론적 한계를 극복하였다. 연결주의 시스템에는 두 가지 기본적인 유형이 있다. 하나는 분산 표상 (distributed representations) 를 사용하는 시스템인데, 여기서 개념은 전체 또는 일부 망에 걸쳐있는 활성화된 패턴에 해당한다. 그리고 다른 하나는 국부 표상 (localized representations) 을 사용하는 시스템인데, 여기서는 망의 물리적인 부분이 각각의 개념에 해당된다. 비록 복잡한 시스템을 구성하는 계층적인 모듈화가 개념 표현의 물리적인 범위를 제한하지만 전자가 더 널리 인정받는 유형이다.

연결주의적 시스템들은 전체론적 (holistic) 방식으로 입력 도메인의 패턴들의 동치 집합들을 식별하는 것을 배운다. 이 시스템들은 각 동치 집합의 대표적인 사례들로 구성된 훈련 집합을 제시 받는다. 그리고 이 시스템들은 각 대표적인 집합들의 이런 저런 사례들을 인식하는 것을 배운다. 학습은 볼쯔만 방법이나 오류 역전파 (error backpropagation) 기법과 같은 서로 다른 학습 알고리즘을 이용하여 고정된 위상의 신경망에서 연결강도를 재조정하는 것으로 이루어진다. 기본적으로 이런 알고리즘들은 망에서 활성화된 모든 링크의 각각의 가중치 값으로 부여될 보상치 (credit) 를 최후의 식별 결과로부터 거꾸로 계산한다.

구조적이 차이에도 불구하고, 연결주의적 학습 시스템과 기호주의적 학습 시스템 (귀납적 시스템과 유전자 알고리즘) 사이에는 강한 기능적인 유사성이 존재한다. 귀납적인 기호주의적 결정 트리와 신경망은 모두 미리 분류된 많은 사례 패턴들로부터 훈련된다. 또한 둘 다 잡음에 견딜 수 있고 (noise-tolerant), 훈련 후 새로운 사례들을 올바르게 분류하는 일을 수행한다. 처리해야 할 작업에 대한 각 기법의 적절성을 평가하기 위해서는 세부적인 정량적 비교를 할 필요가 있다. 첫째는 훈련 데이터를 적합한 형태로 변환하는 작업의 용이성이고, 둘째는 충분히 정확하게 수행하기 위해 필요한 훈련 데이터의 양, 셋째는 훈련 단계와 수행 단계 양측에서의 각 기법들의 상대적인 계산 부담이며, 경우에 따라서는 그 외 다른 인자들도 비교해 보아야 한다.

4.4. 진화적 학습

진화 알고리즘 또는 유전자 알고리즘은 기계학습 패러다임 중에서 극도로 경험적인 입장을 나타낸다. 진화 알고리즘은 생물학적 번식에서의 돌연변이 (cross-over, point mutation 등) 와 다윈의 자연 선택 (각 생태학적 활동 범위에서의 적자 생존) 에서의 직접적인 유추에 의해 영감을 받은 것이다. 개념 기술에서의 변종 (variant) 들은 한 종의 개체에 해당하고 이러한 개념들로부터 유도된 변화와 재조합은 어떤 것이 유전자 풀 (pool) 에서 보존될 수 있는가를 판단하기 위해 목적 함수 (자연 선택 기준) 에 대해 검사된다. 원리적으로 유전자 알고리즘은 개념 공간을 병렬적으로 탐색하도록 부호화되어 있으며, 각 단계는 변동 범위가 큰 등산법 (coarse-grain hill climbing) 을 수행한다.

진화 알고리즘 계열은 대체로 다른 기계학습 접근방법과 무관하게 발전해 왔으며, 따라서 자신만의 분석적 도구, 응용범위와 학술회의를 발전시켜 왔다. 그러나 많은 근본적인 문제점들과 기법들은 귀납법의 주류 및 연결주의적 패러다임과 일맥상통한다. 예를 들어, 모든 경험적인 학습에서와 같이 목적 함수로써 측정되는 수행 성능의 변화에 대해 보상치 (reward, credit) 나 벌점 (penalty, blame) 을 설정하는 것은 어렵고 간접적으로 수행되는 일이다. 귀납적 접근방법에는 이러한 문제를 해결하기 위한 많은 방법들이 있으며, 그 기원은 Samuel 의 체커게임 학습 시스템으로 거슬러 올라간다. 유전자 알고리즘에서도 일종의 강화학습으로 bucket brigade 알고리즘을 발전시켰다. 보상치와 벌점의 부여 문제는 역전파 기법과 같은 모든 연결주의적 학습 방법에서 단연 중심적인 요소이다.

5. 맺음말

본고에서는 학습의 본질과 필요성에 대해 논하고 인공지능과 인지과학적인 관점에서 기계학습 연구의 목표와 방향, 주요 연구 방법, 여러 가지 학습 전략 및 패러다임에 대해 살펴보았다. 초기연구가 좌절을 겪었음에도 불구하고 많은 인공지능 연구자들이 기계학습에 대한 연구를 고집하는 이유는 바로 학습과정의 본질 때문일 것이다. 행동을 학습하고 학습된 지식을 문제에 적용하고 수정하는 능력은 인간 지능의 가장 핵심적인 요소이다. 학습은 어떤 형태의 지능이든 간에 반드시 선행되어야 하는 필수조건이며 따라서 아무리 어려운 문제라고 할지라도 반드시 연구되어져야 한다는 것이 많은 인공지능 연구자들의 견해이다. 게다가 기계학습에서의 연구결과는 모든 다른 인공지능 문제, 예를 들어 자연언어처리, 음성인식, 컴퓨터 시각, 로보틱스, 교육 및 오락, 전문가시스템등에 활용될 수 있는 핵심 원천 기술이다.

기계학습에 대한 연구가 중요한 가장 근본적인 이유는 아마도 대규모의 정보처리 시스템에서 아무리 비효율적인 학습이라도 궁극적으로 프로그래밍 보다는 더 효율적일 것이기 때문일 것이다. 그러나 인간의 학습에 대한 이해가 심화됨으로써 기계학습에서 무엇을 모방하고 무엇을 피해야 하는가에 대한 중요한 단서들을 더욱 잘 얻게 될 것이다. 따라서 학습이론적인 연구와 응용시스템의 개발과 더불어 인지과학적인 학습연구가 병행되어야 할 것이다.

마지막으로, 여기에서 제시된 기계학습 연구에 대한 방법론과 개괄적인 토론을 통해 좀 더 전문적인 연구 내용을 쉽게 접할 수 있는 기반이 마련될 수 있기를 기대한다. 또한 본고가 여러 가지 기계학습 패러다임 간의 유사성과 차별성을 이해하는데 도움이 되고 기계학습 분야에 대한 관심있는 연구자들이 많이 생길 수 있는 계기가 되었으면 하는 바람이다.