본 포스팅은 2022-09-07(수), 국민대학교 이재구 교수님의 인공지능 수업을 통해 배운내용을 정리하기 위해 작성하는 게시글입니다.
# 인공지능(Artificial Intelligence) 정의
인간의 학습, 추론, 지각, 자연언어 이해 등의 지능적 능력을 인공적으로 구현하려는 컴퓨터 과학의 세부분야이다.
"A machine that thinks or acts like human"말과 같이, 사람처럼 생각하고 행동하는 기계를 만드는 것이 목적이다.
# 인공지능의 역사
초기 인공지능은 실제 뇌의 뉴런을 이용하여 인공지능을 만들기 위해서, 뉴런을 만들었지만 뇌는 매우많은 뉴런들의 유기적인 연결로 이루어지기 때문에 실패했고 현재의 딥러닝까지 발전했다.
# 기계 학습 ( Machine Learning)
인간에게 학습이란, 경험의 결과를 바탕으로 지속적인 행동의 변화나 그 잠재력의 변화가 오거나 지식을 습득한다. 인간이 태어나서 걷고, 수영하고 운동을 하는 것, 수학문제를 푸는것 등등 학습을 통해 얻어낸 행동의 결과이다.
기계에게 학습도 같은 맥락으로 해석될 수 있다, 경험을 통해 점진적으로 원하는 성능에 도달하는 것이 기계 학습(Machine Learning)이다. 기계에게 경험이란 데이터(Data)이다.
컴퓨터 비전시간에도 나왔던 PTE개념이 등장한다. 경험을 통해 주어진 작업에 대한 성능의 개선을 한다.
## 프로그래밍과 기계학습의 차이점
일반적인 프로그래밍은 Input으로 어떠한 값을 넣으면, 내가 코딩했던 알고리즘에 따라서 결과값을 반환한다.
기계학습은, 주어진 데이터로부터 내가 풀고싶어하는 문제에 해당하는 규칙을 찾는 것이다. 규칙을 찾는 것에 대한 포먼스라는 척도를 통해서 얼마나 잘 찾는지에 대한 평가를 한다.
# 기계학습(Machine Learning)의 유형
기계학습(Machine Learning)은 교사학습(Supervised Learning), 비교사 학습(Unsupervised Learning), 강화학습(Reinforcement Learning), 준교사 학습(Semi-supervised Learning)으로 나뉜다.
학습은 경험에서부터 결과를 이끌어낸다고 했고 기계학습은 이러한 경험이 데이터(Data)라고 했다. 학습의 유형을 나누는 것은 이러한 데이터(Data)가 어떻게 주어지고 셋팅되는지에 따라 나뉘어 지게 된다.
## 교사학습(Supervised Learning)
교사학습은 데이터와 그 데이터의 정답을 함께 주어지고 규칙을 찾게 하는 방법이다. 정답이 있기 때문에 비교적 문제에 대한 규칙을 쉽게 찾을 수 있다. 분류(Classification)와 회귀(Regression)의 가 있다.
분류를 간단히 설명하자면, 고양이에 대한 사진과 함께 고양이라는 것을 알려주어, 고양이라는 것의 공통적인 특징을 쉽게 찾을 수 있도록 해준다. 결국 분류와 회귀는 예측을 위한 것이다.
## 비교사학습(Unsupervised Learning)
데이터만 제공하고 데이터에 대한 정답을 제공하지 않는다. 즉 X의 값만 주어지고 Y를 주지 않기 때문에, 교사학습에 비해서 어렵다. 데이터에 내재된 규칙을 찾긴 찾지만 정답이 없기때문에 명확하지 않다.
그렇지만 교사학습은 라벨링된 값이 필요하기 때문에 인간이 직접 라벨링을해야한다. 인공지능을 위해서 그만큼의 인간이라는 자원이 필요하다. 그렇지만 비교사학습은 이러한 과정들을 머신이 하도록 한다.
## 준교사 학습(semi-supervised Learning)
교사학습과 비교사 학습의 중간으로, 모든 데이터에 대한 라벨을 제공하지는 않고, 일부의 데이터에만 라벨링된 데이터를 제공한다.
데이터에는 어떠한 규칙이 존재하며, 그 규칙은 인간이 모를 수도 있다. 라벨링 없는 개와 고양이의 사진이 주어질때 우리는 어떠한 규칙때문에 고양이와 개를 분류할 수 있다. 이렇게 군집된 데이터들의 몇몇에는 라벨링된 데이터가 있기에 학습 할 수 있다.
## 강화학습(Reinforcement Learning)
교사학습과 비슷하게 일부분 목표치가 같이 주어진다. 그러나 교사학습은 output이 절대적이지만 강화학습은 output값이 상대적이다. 바둑을 예로 들어, 특정한 위치에 바둑을 두었다 하더라도 상황에따라서 결과는 달라 질 것이다. 즉 변화하는 판세에 따라 최적의 결과를 찾는 것이다.
# 기계학습 모델의 유형
## 온라인 모델과 오프라인 모델
- 오프라인 모델은 데이터를 한꺼번에 수집해놓고 규칙 즉 모델을 만들어 낸다.
- 실시간으로 데이터가 주어짐에 따라서 계속해서 학습해나가는 모델이다.
## 결정론적 모델과 확률론적 모델
- 결정론적 모델은 데터집합을 가지고 학습하면 매번 동일한 결과를 만드는 모델이다.
- 확률론적 모델은 가변적 즉 불변성의 요소를 추가하여, 수행할때마다 다른 결과를 만들어 낼 수 있다.
현실세계에서는 불확실성과 변동성이 존재하기 때문에 의도적으로 모델에 확률전 분포를 추가한다.
## 분별모델과 생성모델
- 분별모델은 데이터를 뷴류하는거와 같이, 추정이 목적인 모델이다.
- 생성 모델은 데이터의 규칙을 찾아내 데이터를 생성하도록 한다. 유명인의 사진을 통해서 학습시켜 새로운 사람을 만들어 내도록 하는거와 같다.
# 기계학습의 학습(TASK) 과업
- 이상탐지는 튀는 데이터를 찾아내는 과업이다. 애플워치가 낙상을 감지하는 예시와 같이, 일반적인 데이터를 수집하여 학습하고, 그중 이상한 값이 오면 이상을 감지하도록 한다.
- 밀도추정은 관찰값으로 분포를 얻어내는 행위이다. 생성모델의 예가 될 수 있다. 사진의 픽셀을 통해서 데이터를 수집하는 것은 매우 많은 양이기 때문에 불가능하다. 저차원의 데이터는 이러한 관찰로 분석을 하지만, 고차원의 데이터들은 신경망을 통해서 근사화를 시키는 생성모델과 같은 것이 나온다.
# 기계학습의 필요 조건
# 데이터의 중요성
기계학습은 데이터를 통해서, 데이터에 숨은 규칙을 찾아가는 행위이다. 데이터의 생성 과정 P(X)을 알 수 없다. 만약 이러한 생성 과정을 안다면, 사진의 일부분을 통해서 그 사진의 전체를 그릴 수 있어야 한다.
현실에서는 이렇게 데이터 생성 과정 P(X)을 모르는 상황에서 관찰된 데이터만으로 규칙을 찾아 근사 추정을 해야하며, 지금의 딥러닝이 하는 것이다. 그렇기 위해서 다양성을 보장하는 충분한 양의 데이터를 수집하고 전처리과정을 거쳐 성능 향상을 기대하기 때문에 학습에 있어서 이러한 데이터들은 매우 중요하다.
# 마치며
오티이후 첫 수업이며, 인공지능의 전반적인 이해를 돕기위한 강의라 그런지 교수님께서도 최대한 쉽게 설명하려 예를 많이 들으셨다. 그러나 그 예시들을 글들에 그대로 녹일 수 없어 아쉽다.
'•Compter Science > Artificial Intelligence' 카테고리의 다른 글
[인공지능#6/10-03] 확률과 조건부 확률, 베이지 정리를 이용한 IRIS 추정 (0) | 2022.10.08 |
---|---|
[인공지능#5/09-28] 선형대수(벡터,행렬,분해,놈,선형결합..) (0) | 2022.10.01 |
[인공지능#4/09-21] 학습모델(검증, k-교차검증)선택, 규제(데이터 증대, 가중치 패널티), 인공지능 기본수학 (1) | 2022.09.25 |
[인공지능#3/09-19] 기계학습 훈련과정, 오버피팅(overfitting)과 언더피팅(underfitting), 편향(bias)과 변동(variance) (0) | 2022.09.20 |
[인공지능#2/09-14] 특징공간, 차원의 저주, 기계학습의 전반적 개요 및 목적함수의 의미와 훈련과정 (0) | 2022.09.18 |