AI
AI의 이해 - 1. AI, 머신러닝
조코마
2021. 12. 22. 21:52
AI(Artificial Intelligence)와 머신러닝
1) AI(Artificial Intelligence)
알고리즘으로 데이터를 학습(Train)하여 모델을 만드는 기술
2) 머신러닝
(전통적인 프로그래밍) 기계에 부여하는 명령을 만드는 작업과 달리, (머신러닝) 알고리즘으로 데이터를 학습하여 판단이나 예측을 하는 기술
AI 용어 및 요소
1) AI가 주목 받는 이유
- 빅데이터 시대의 도래 - 양질의 데이터 폭발적 증가(SNS, 블로그, 검색) + IoT
- 컴퓨팅 기술의 발전 - GPU, 클라우드 발전 => 인공지능을 개발할 수 있게 됨.
- Easy & Open - AI 기술 및 알고리즘 공유 문화
2) AI의 개발도구
- 프로그래밍 언어 - Python
- 오픈소스 라이브러리 - Numpy(수치 관련), Pandas(테이블 관련) ...
- 딥러닝, 머신러닝, 프레임워크 - TensorFlow, Keras, PyTorch
- AI모델링 자동화 플랫폼 - 개발자가 아니여도 쉽게 클릭으로 AI를 개발할 수 있음.
3) AI 구현을 위한 3가지 요소
알고리즘 / 데이터 / GPU
※ 주목받는 알고리즘 - 머신러닝 / 딥러닝
4) AI ⊃ 머신러닝 ⊃ 딥러닝
AI(인공지능) : 계산, 학습 등 인간의 지적능력을 컴퓨터를 통해 구현하는 기술
머신러닝 : 특정 부분을 스스로 학습해 성능을 향상
딥러닝 : 인간의 뉴런과 비슷한 인공신경망으로 정보를 처리
머신러닝 - 기계학습의 분류
- 지도학습(Supervised Learning) : 기계가 이미 정답이 정해져있는 데이터를 기초로 사람이 정해준 정답의 방향으로 학습하는 방향이다. 따라서 대량의 데이터가 제공될수록 더 효율적인 학습이 이루어질 수 있음.
- 비지도학습(Unsupervised Learning) : 기계가 정답이 없는 데이터집합에서 데이터의 특성을 분석하여 군집화하는 학습방법이다. 만약 데이터의 발생환경이나 테스트환경 등이 일관되지 않으면 정확한 학습이 이루어지기 어려움.
- 강화학습(Reinforcement Learning) : 학습과정에서 정답을 도출할 경우, 보상을 주어 정답을 도출할 가능성이 높은 방법이다. 행동심리학(쥐 보상 연구)에서 유래함.
학습데이터 | 환경피드백 | 응용분야 | |
지도학습 | Labeled past data | direct | 분류, 회귀 => 위험평가, 예측 |
비지도 학습 | Unlabeded past data | none | 군집화, 연관 => 상품추천, 특이사항 탐지 |
강화학습 | Dynamic current data | direct(rewards) | 바둑, 게임, 자율주행자동차, 드론 |
1) 문제도 주고 답도 주는 지도학습
- 입력(Feature, X)/출력(Label, Y, 정답) 데이터로 학습
- 결과를 예측할 때 결과가 범주형이면 분류(Classification), 수치형이면 회귀(Regression)라는 용어를 사용한다.
① 분류 | ② 회귀 |
분류는 명확하게 나누어진 범주형 데이터를 구분하는 것을 말한다. 분류에는 정답을 가진 데이터로 분류 알고리즘을 통해 트레이닝하여 분류기를 만들어낸다. |
부동산 가격, 키, 주가와 같이 수치형 데이터를 예측하는 하는 것을 말한다. |
<지도학습을 통해 모델을 만드는 방법>
- 정답이 있는 데이터를 수집한다.
- 기계가 잘 학습을 했는지 확인하기 위해 대체로 현재의 데이터를 Training set(7)과 Test set(3)으로 나눈다. (중복이 되지 않도록 주의하면서 정답의 분포도 비슷하게 구성할 수 있도록 나눠준다.)
- 정답이 있는 Training 데이터로 머신러닝을 통해 모델을 만들고, 정답이 없는 Test 데이터를 통해서 Training set으로 만들어진 예측 모델에 넣어 결과를 구한다.
- 그 결과를 알고있는 정답과 비교하여 평가(정확도, 오차율)를 하게 된다.
2) 문제만 주는 비지도학습
- 정답없이 문제만 가지고 데이터들의 패턴이나 구조를 스스로 찾아내는 방법
- 출력데이터(Label, Y, 정답) 없이 입력데이터만 주고 패턴으로 학습
- 어떤 규칙성을 찾아 서로 동일하거나 유사한 특징을 가진 데이터까지 그룹을 하는 것을 군집화(Clustering)이라고 한다.
3) 당근과 채찍, 강화학습
- 특정 행동(Action)을 시행하고, 상/벌(Reward)에 따라 해야 할 행동을 학습