인공지능, 머신러닝 그리고 딥러닝이란?
[AI : ML, DL]
Concept
기본 개념
AI : 인간의 지능을 모방하여 사람이 하는 일을 컴퓨터가 할 수 있도록 하는 기술
ML (Machine Learning) : 학습 모델을 제공하여 데이터를 분류할 수 있는 기술 (데이터 전처리를 인간이 진행한다)
DL : (Deep Learning) : 학습 모델을 제공하여 데이터를 분류할 수 있는 기술 (데이터 전처리 과정을 컴퓨터가 진행한다)
데이터 전처리란? : 데이터 분류는 input → 특성 추출 → 분류 → output 네 단계로 이루어진다. 이 때 사람이 인지하는 데이터를 컴퓨터도 인지할 수 있게 하기 위해서 ‘특성 추출’이라는 작업이 이루어지는데, 데이터 전처리는 이 단계를 의미한다. 이 단계에서는 데이터의 특징을 추출해서 고유한 벡터로 변환하는 과정을 거친다.
Relation
AI ML DL 관계를 가진다.
[Maching Learning]
Learning Process
학습 과정
- 학습 단계
- 예측 과정
Components
Data
학습 모델을 만들기 위한 데이터이다.
데이터 셋 종류
- Train dataset : 훈련 데이터 셋이다. 검증(과적합 등의 문제)을 위한 Validation dataset이 포함되기도 한다. 데이터가 많지 않다면 Vailidation data를 따로 만들지 않는게 좋다.
- Test dataset : 테스트 데이터 셋이다.
Model
학습 단계에서 얻은 최종 결과물이다.
모델의 학습 절차는 다음과 같다.
- 모델 선택
- 모델 학습 및 평가
- 평가를 바탕으로 모델 업데이트
Algorithm
지도 학습
정답 레이블을 알려주고 학습시키는 방법이다.
ex. regression, classification
비지도 학습
정답 레이블을 알려주지 않고 학습시키는 방법이다. 특징이 비슷한 데이터를 클러스터링 하여 예측하는 학습을 한다.
ex. clustering, dimensionality reduction
강화 학습
보상을 주며 학습시키는 방법이다.
[Deep Learning]
Concept
딥러닝의 기본 정의
딥러닝은 인간의 신경망 원리를 모방한 머신러닝 알고리즘이다. 각각의 뉴런들이 병렬 연산 되어 복잡한 처리를 가능하게 한다.
Learning Process
학습 과정
- 데이터 준비
Tip : 파이토치나 케라스, 캐글 등에서 제공하는 데이터를 사용하는 게 좋다. 만약 다른데이터를 사용하고 싶다면 전처리 이후에 이용해야 한다.
- 모델 정의
신경망을 생성한다.
- 모델 컴파일
활성화 함수, 손실함수, 옵티마이저를 세팅한다.
- 모델 훈련
적합한 Batch(한 번에 처리할 데이터의 양, 한 번에 처리해야 할 양이 많아지면 학습 속도 저하 등의 문제를 야기할 수 있다), Epoch를 선택하여 훈련을 진행한다. 훈련 과정을 눈으로 확인하며 파라미터와 하이퍼파라미터에 대한 최적의 값을 찾아야한다. (파라미터는 모델이 결정, 하이퍼파라미터는 사람이 결정)

- 모델 예측
검증 데이터 셋을 이용해서 모델을 검증한다.
Components
심층 신경망 (Deep Neural Network)
신경망보다 복잡하다. 2개 이상의 은닉층을 가지고 있을 때 심층 신경망이라 부른다. 딥러닝과 머신 러닝 사이의 가장 큰 차이점이다.
역전파
가중치를 업데이트하기 위한 방법이다. 미분이 핵심 개념이다.
Algorithm
지도 학습
정답 레이블을 알려주고 학습시키는 방법이다.
ex. 이미지 분류, 시계열 데이터 분석
비지도 학습
정답 레이블을 알려주지 않고 학습시키는 방법이다. 특징이 비슷한 데이터를 클러스터링 하여 예측하는 학습을 한다.
ex. Word Imbedding, clustering, dimensionality reduction
전이 학습
이미 학습이 완료된 모델을 가지고 우리가 원하는 학습에 미세 조정 기법을 이용하여 학습시키는 방법이다.
강화 학습
보상을 주며 학습시키는 방법이다.