사람과 동물은 학습을 한다. 그렇다면 기계도 학습이 가능한가? 경험을 통해 점진적으로 성능이 향상되는 기계를 만들 수 있을까?
- 인공지능(artificial inteligence)란?
- 인간의 학습, 추론, 지각, 자연언어 이해 등의 지능적 능력을 기기로 실현하는 기술
- 학습이란?
- 경험의 결과로 나타나는 비교적 지속적인 행동의 변화나 그 잠재력의 변화 또는 지식을 습득하는 과정
- 기계학습이란?(machine learning)
- 초창기 정의
- Programming computers to learn from experience should eventually eliminate the need for much of this detailed programming effort.
- 컴퓨터가 경험을 통해 학습할 수 있도록 프로그래밍할 수 있다면, 세세하게 프로그래밍해야 하는 번거로움에서 벗어날 수 있다.
- 현대적 정의
- A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P. if its performace at tasks in T, as measured by P, improves with experience E.
- 어떤 컴퓨터 프로그램이 T라는 작업을 수행한다. 이 프로그램의 성능을 P라는 척도로 평가했을 때 경험 E를 통해 성능이 개선된다면 이 프로그램은 학습을 한다고 말할 수 있다.
- 최적의 프로그램(알고리즘)을 찾는 행위
- 경험 E를 통해 주어진 작업 T에 대한 성능 P의 향상
- 사례 데이터, 즉 과거 경험을 이용하여 성능 기준을 최적화하도록 프로그래밍하는 작업
- 성능을 개선하거나 정확하게 예측하기 위해 경험을 이용하는 계산학 방법들
- 초창기 정의
- 기계 학습과 전통적인 프로그래밍의 비교
- 인공지능 관련 주요 연구 및 사건
- 초창기에는 지식기반 방식의 분류를 진행했었다.
- 지식기반: 경험적인 지식 혹은 사실을 인위적으로 컴퓨터에 부여하는 학습(예: 구멍이 2개이고 중간 부분이 홀쭉하며, 맨 위와 아래가 둥근 모양이라면 8이다)
- 하지만 지식기반에는 한계가 있었다.
- 학습의 대상이 심한 변화 양상을 가진 경우, 모든 지식 혹은 사실의 나열은 불가능하다.
- 인공지능의 주도권 전환
- 지식기반 -> 기계학습 -> 심층학습(deep learning, 표현 학습(representation learning))
- 데이터 중심 접근방식으로 전환
기계 학습 개념
- 기계 학습의 훈련(train)이란
- 주어진 문제인 예측을 가장 정확하게 할 수 있는 최적의 매개변수를 찾는 작업이라고 보면 된다.
- 처음은 임의의 매개변수 값에서 시작하지만, 개선하여 정량적인 최적 성능(performance)에 도달
- 훈련을 마치면, 추론(inference)을 수행
- 새로운(unknown) 특징에 대응되는 목표치의 예측에 사용
- 기계 학습의 궁극적인 목표
- 훈련집합에 없는 새로운 데이터에 대한 오류를 최소화(새로운 데이터 = 테스트 집합 = test set)
- 테스트 집합에 대한 높은 성능을 일반화(generalization)능력이라 부름
- 기계 학습의 필수요소
- 학습할 수 있는 데이터가 있어야 함
- 데이터 규칙 존재
- 수학적으로 설명 불가능
특징 공간에 대한 이해
- 1차원과 2차원 특징 공간
- 컴퓨터가 다루는 모든 데이터는 정량화된 형태로 표현되어 있다.
- 모든 데이터는 정량적으로 표현되며, 특징 공간 상에 존재한다.
- 1차원 특징 공간
- 2차원 특징 공간
- 벡터 표기
- x = (x1, x2)^T
차원 공간이란 입력각 x의 차원에 대한 얘기인 것 같다.
- 다차원 특징 공간 예제
- 차원의 저주(curse of dimensionality = number of features)
- 차원이 높아짐에 따라 발생하는 현실적인 문제들
- 만약 d = 784인 MNIST 샘플의 화소가 0과 1값을 가진다면 2^784개의 칸이 거대한 공간에 고작 6만개의 샘플을 흩뿌린 매우 희소한 분포를 띄게 된다.
- 즉 차원이 높아질수록 유의미한 표현을 찾기 위해 지수적으로 많은 데이터가 필요하다.
- 특징 공간 변환과 표현 문제
- 선형 분리 불가능(linearly non-separable)한 원래 특징 공간 -> XOR 문제
- 표현 문제(representations matter)의 예
직교 좌표계에서 직선으로 위의 왼쪽 그림의 데이터를 나눌수 있는 방법은 존재하지 않는다. 하지만 좌표계 변환을 통해 오른쪽과 같이 변환할 수 있다면 직선으로 분리 가능하다.
- 표현 학습(representation learning)
- 좋은 특징 공간을 자동으로 찾는 작업
- 심층학습(deep learning)
- 표현학습의 하나로 다수의 은닉층을 가진 신경망을 이용하여 최적의 계측정인 특징을 학습
'프로그래머스 AI 데브코스 5기 > Machine Learning' 카테고리의 다른 글
End-to-End 머신러닝 프로젝트 - 2 (2) | 2023.04.19 |
---|---|
End-to-End 머신러닝 프로젝트 (0) | 2023.04.18 |
기계학습 III (0) | 2023.04.16 |
기계학습 II (0) | 2023.04.15 |
인공지능이란? (0) | 2023.04.15 |