Transcript lec20

기계 학습 (Machine Learning)
(Lecture Note #20)
인공지능
이복주
단국대학교 컴퓨터공학과
1
Outline
개념
 기계학습의 정의
 학습의 분류
 예를 통한 학습
 관찰을 통한 학습
 암기학습
 지도에 의한 학습
 유추에 의한 학습
 유전자 알고리즘

2
개념

개요
– 지능을 가진 객체의 특징
• 새로운 환경에 적응
• 새로운 문제를 풀 수 있는 능력
– 컴퓨터에게 지능 부여
• 지능을 가진 컴퓨터 프로그램이 가능한가? (많은 학자들이 부정적)
• 주어진 입력을 컴퓨터 성능을 점차적으로 개선하는 방향으로 해석하도
록 하는 방법 제공
– 학습의 일반적 정의
• “주어진 환경 내에서 반복되는 경험으로 인해서 발생되는 어떤 주체의
행동 변화, 일시적인 주체의 상태(피로, 약물복용 상태)로는 설명 불가”
• 컴퓨터 분야를 위한 정의로는 부적절
3
기계학습 (Machine Learning)의 정의

기계학습(Machine Learning)의 정의
– 학습 프로그램과 일반 프로그램과 구별하여 특징지우는 방
법 필요
– 그렇게 만족할 만한 정의가 내려지지 못하고 있음
– 학습의 특성
• 1. 새로운 지식의 습득
– 컴퓨터의 데이터 습득은 용이 ↔ 사람은 어려움
– 데이터의 습득은 진정한 학습 프로그램이 아님
• 2. 문제 풀이
– 추론
• → 굳이 정의하자면, 새로운 지식을 습득하면서(1) 새로운 상황의 문제
를 풀 수 있는(2) 프로그램.
4
기계 학습 시스템 모델

Simon의 단순 모델
주위 환경
(Environment)
학습 요소
(Learning
Element)
지식베이스
실행 요소
(Performance
Element)
– 원: 선언적 정보, 사각형: 절차, 화살표: 자료의 흐름
• 주위환경: 학습요소에 특정 정보 제공
• 학습요소: 입수된 정보로 지식베이스 개선
• 실행요소: 지식베이스의 지식 이용, 특정의 작업 수행
– 네 가지 구성요소의 구현 방식에 따라 학습 시스템 분류
–
→ 주위환경, 지식베이스, 실행 작업들이 학습문제의 본질
을 결정
5
기계 학습의 분류

학습 전략에 의한 기계 학습의 분류
– 학습 전략: 어떻게 학습하는가? → 얼마나 추론을 많이 하는
가?
• 1. 추론 없음: 지식 증대, 직접 프로그램된 시스템
• 2. 풍부한 추론 수행: 새로운 이론 발견, 새로운 개념 도출
• 3. 중간 정도의 추론
– 수학 책의 예제 풀이(교사의 풀이를 학습, 학생이 교사의 풀이를 유추)
– 새로운 이론 발견보다는 추론이 훨씬 적다
– 추론의 양 vs. 교사, 외부환경의 부담
• 추론의 양 증대 → 교사의 지도 부담이 줄어든다.
• 어떤 작업의 지도
– 유사한 작업을 다루는 방법을 보여줌 (what)
–
→ 교사는 쉽게 지도, 학습자는 많은 생각(추론)을 해야 함
– 그 작업의 세부 사항을 단계별로 설명하여 가르침 (how)
–
→ 교사는 지도에 많은 노력 필요, 학습자는 간단히 단계를 실행 (적은 추론)
6
기계 학습의 분류
암기 학습 (Rote Learning)
 지도에 의한 학습 (Learning by Advice-taking)
 유추에 의한 학습 (Learning by Analogy)
 예를 통한 학습 (Learning from Examples)
 관찰을 통한 학습 (Learning from Observation)

7
학습의 분류

1. 암기 학습 (Rote Learning): 지식의 직접적 부여
–
–
–
–

학습자 측면에서 추론이나 지식의 변형이 불필요
학습이 외부 객체에 의해 미리 프로그램 됨
주어진 사실, 데이터에 대한 기억만 저장 → 입력에 대한 추론 없음
기초적인 데이터베이스 시스템 수행으로 가능
2. 지도에 의한 학습 (Learning by Advice-taking)
– 교사, 교과서 같은 지식 원천으로부터 지식 습득
– 교사는 학습자의 지식을 증대하기 위해 지식을 잘 조직해야 함 →
부담
– 전문가 시스템의 구축과정과 동일

3. 유추에 의한 학습 (Learning by Analogy)
– 이미 존재하는 지식을 변형하거나 증식하여 새로운 사실, 기술 습
득
• 예) 자동차 운전 기술을 이용, 트럭 운전이 가능(운전 기술의 변형 필요)
– 학습자 입장에서 지도에 의한 학습보다 많은 추론 요구: 유사성에
대한 검색, 새로운 상황에 적용
8
학습의 분류

4. 예를 통한 학습 (Learning from Examples)
– 어떤 개념 묘사를 위해
• 긍정 예 (positive example): 개념을 잘 설명하는 예
• 부정 예 (negative example, counterexample): 개념을 부정하는 예
– 부정적인 예들의 성질을 배제하면서 긍정적인 예들의 성질을 묘사
–
→ 주어진 개념에 대한 일반적인 개념 묘사 추론
–
→ 지도, 유추에 의한 학습보다 추론 양이 많다. (교사는 예제만
제공)
– 귀납적 학습

예가 주어지는 방법
– 교사가 예를 제공: 목표 개념 형성이 유익한 예를 선별 제공
– 학습자가 예를 생성: 목표 개념이 무엇인지 불분명할 때 → 분류
• 경쟁하는 개념들을 식별하는 정보에 기초하여 스스로 예를 생성
• 교사의 긍정, 부정에 대한 지도 필요
• 예, 강자성체 개념 습득 하려함 → 모든 금속 예 생성 → 동전 실험 → 동전은 부
정적인 예제
– 외부환경에서 예 제공: 예제 생성과정에서 외부 환경이 결정
• 관찰에 의존
• 예) 초신성 전조를 추론하려는 천문학자: 개념은 알고 있지만 언제, 어디서 초신
성 발생할 지 모름
9
학습자의 예제 이용 형태

학습자의 예제 이용 형태
– 긍정적인 예제만 이용
• 습득해야 할 개념에 대한 좋은 예시 제공
• 과도하게 일반화되는 것은 막아야 함
• → 최소의 일반화 고려, 추론되는 개념에 제약을 가하는 영역지식에 의존
– 긍정적, 부정적 예제들을 모두 사용
• 긍정적인 예제들의 개념을 일반화 시킴
• 부정적인 예제들은 과도한 일반화를 막는다
• 예를 통한 학습의 가장 근본적인 형태

일괄 학습 (batch learning) vs. 점진 학습 (incremental
learning)
– 일괄 학습: 개념 형성에 필요한 모든 예제들을 한번에 모두 제공
• 무분별한 예제가 주어질 확률이 줄어든다
– 점진 학습: 이용 가능한 자료들을 이용, 하나 이상의 개념 가설 형
성 → 점차적으로 추가적으로 주어지는 예제들을 이용, 가설 수정
• 인간의 개념 학습 방법과 유사
• 여러 개의 개념 습득에 유용
10
학습의 분류

5. 관찰을 통한 학습 (Learning from Observation)
– 귀납적 학습의 가장 일반적인 형태
– 비지도 학습 (unsupervised learning)으로도 분류됨
– 발견시스템, 이론 형성 작업, 분류 계층 형성을 위한 분류 기준 생
성, 외부 교사 부재의 학습 → 다른 어떤 학습보다도 더 많은 추론
요구
– 개념을 위한 적당량의 예제도 주어지지 않음
– 예제들의 긍정, 부정에 대한 정보도 없음
– 한 개념에 초점을 맞추지 않음 → 때에 따라서 습득될 필요가 있는
여러 가지 개념에 대해서 동시에 고려 → 개념 초점 맞추기 문제 발
생
– 외부 환경과의 상호작용 관점
• 수동적 관찰: 주위환경의 여러 양면들을 (단순) 관찰, 분류
• 능동적 관찰: 주위환경을 변동(실험)시키고 그 변동 결과를 관찰
무작위의 실험
다양한 가설
상황에 따라서 필요한 예제 생성
11
암기 학습 (Rote Learning)
기억: 필요할 때를 위해 새로운 지식을 저장
 검색이 주요 동작: 계산이나 추론이 아님
 기억의 중요성

– 기억이 분리된 학습과정은 의미가 없다
– 기억이 인식 시스템에서 매우 중요한 주체
–
→ 가장 기초적인 학습과정

실행 요소 (performance element)가 해결한 문제
를 받아서 그 문제와 해답을 기억
– 실행 요소는 함수 f: 입력 패턴 (X1, …, Xn) 받아서 출력값
(Y1, …, Yn) 계산
– 학습은 기억 속에 [(X1, …, Xn), (Y1, …, Yn)] 을 저장하는
것
– f의 계산은 기억 속에서 (Y1, …, Yn)을 검색하는 것
12
암기 학습 (Rote Learning)

자료 감축 (data reduction)의 개념: Lenat, Hayes-Roth,
Klahr
– 암기는 자료감축 계층에서 최하위 수준
– 계산은 검색으로 감축됨
• 중간계산 과정 생략할 수 있게 됨
– 연역은 계산으로 감축됨
• 2차 방정식: 연역을 통해 공식 찾음  계산
– 귀납은 연역으로 감축됨
ACCESS
CALCULATE
캐슁(암기)
DEDUCE
알고리즘, 이론
연역 사슬의 탐색 결
과를 세정하여 효율
적인 알고리즘으로
요약
INDUCE
휴리스틱 규칙
대량의 연습 예제들
을 하나의 휴리스틱
규칙으로 변형
13
지도에 의한 학습 (Learning by TakingAdvice)

McCarthy 제안:충고를 이용하여 계획 형성할 것
→
→
→
→

충고 습득의 단계
1)
2)
3)
4)
5)

70년대 후반까지 연구 미약
전문가 시스템 기술 발달로 전문가의 충고(지도, 전문지식)를 변형
전문가의 성능을 발휘하는 프로그램 연구
전문가 시스템 구축에 대한 연구
전문가시스템 구축 과정
요구 (requirement) 단계: 전문가에게 충고 요구 → 전문지식 습득
해석 (interpret) 단계: 내부 표현으로 변환
↘
지식 표현
연산자화 (operationalize) 단계: 연산자로 변환
↗
합병 (integrity) 단계: 지식베이스로 합병
→ 지식베이스 형성
평가 단계 (evaluate): 실행 요소에 의한 결과 평가 → 추론 결과 평가
지식베이스를 유지하는 보조 도구 개발
– 새로운 지식을 합병하는 기능
– 지식 베이스의 평가나 디버깅 기능
14
유추에 의한 학습


이미 존재하는 지식을 변형하거나 증식시켜 새로운
사실이나 기술을 습득하는 학습방법
Carbonell의 추론에 대한 가설
– "어떤 사람이 새로운 문제 상황에 직면하게 되면 그 사람은
현재 상황에 매우 유사한 과거의 상황을 상기(remind)한
다."
15
문제풀이와 유추


고전적 문제풀이 모델들, GPS, STRIPS, NOAH 등은 유사 문
제공간에 있는 다른 문제들의 해결에 대한 경험을 이용하지 않
음
원숭이, 바나나 문제의 2가지 상황
– 원숭이와 바나나 (case 1)
• 방안에 배고픈 원숭이
• 원숭이 손이 닿지않는 천정에 바나나가 걸려 있음
• 방 구석에 큰 상자가 있음(원숭이가 들 수 있고, 올라서면 천정에 손 닿음)
– 실험자와 바나나 (case 2)
•
•
•
•
실험자가 원숭이-바나나 문제 설정하려고 함
방안에 배고픈 원숭이
실험자는 바나나를 가지고 있고, 천정에 고리가 있음
방 구석에 큰 상자가 있음(원숭이가 들 수 있고, 올라서면 천정에 손 닿음)
– 지능적인 원숭이는 실험자가 바나나를 설치하는 과정을 보고 추론
• 목적 수단 방법처럼 초기상태와 목적상태 주어져 푸는 방식이 아님
• Case 2의 문제 해결과정을 case 1 이 이용

과거문제에 대한 기억과 현재 문제에 대한 과거문제의 해결방법
– 인간은 익숙하지 않은 문제보다 익숙한 상황에서 문제를 더 잘 해
결

기존의 목적-수단 방법에 유추적 변형과정을 추가, 과거의 경험
16
을 이용하는 방법
계획-변형 문제 공간 (Plan-Transformation)

고전적 목적-수단 방법 (means-end analysis)의 문제공간
– 현재 상태와 목표 상태 비교
– 차이를 줄일 수 있는 연산자 선택
– 적용: 적용이 불가능할 때 현재 상태 저장 후 부 문제에 대해서 다
시 목적 수단 방법 적용
– 부 문제 해결 후 저장된 상태 복구 후 원 문제에 다시 적용

문제공간에서 과거 문제의 풀이에 대한 지식을 어떻게 이용?
– 연산자, 초기 상태, 최종 상태를 포함하는 일련의 상태
– 풀이를 만족시키도록 하는 경로 제약 조건들
– 매크로 연산자 생성: 과거의 문제풀이에서 유용한 연산자의 나열

매크로 연산자의 문제점
– 모든 풀이과정의 나열은 관리가 어려움
• 적용 가능한 매크로 연산자 검색하는데 많은 시간
– 매크로 연산자의 적용은 새로운 문제에서 경로에 대한 제약조건을
무시
17
계획-변형 문제 공간 (Plan-Transformation)

유사문제에 대한 풀이
– 새로운 문제와 과거 해결된 문제의 초기 및 최종 상태
차이함수: 초기와 최종 상태 비교함수, 유사성 척도로 사용
 Carbonell의 가설

– 적절한 유추적 변형을 찾는 것은 그 자체가 문제풀이 과정
– 단지 문제 공간만 다름

변형 문제 공간
–
–
–
–
상태: 원래의 문제공간에서 풀이
초기 상태: 유사한 문제에 대한 검색된 풀이
목표상태: 현재 문제의 요구 조건을 만족하는 풀이
연산자: 풀이 변형 (예, 상태의 연산자를 다른 것으로 대체)
새 문제의 풀이
최종상태
초기상태
본래 문제 공간
(검 색 된 풀 이 )
T-OP
T-공 간
예제:
•피츠버그에서 뉴욕으로의 여행
•비행기 외의 여행 경험 없음
•현재 비행기를 이용할 수 없음
•다른 여행 수단 찾음(열차)
•열차 여행 경험 없음
•비행기 이용 과정 상기
•열차 이용에 적용
18
Summary
개념
 기계학습의 정의
 학습의 분류
 예를 통한 학습
 관찰을 통한 학습
 암기학습
 지도에 의한 학습
 유추에 의한 학습
 유전자 알고리즘

19