: 인공지능(Artificial Intelligence)이란 사람의 지능을 만들기 위한 시스템이나 프로그램을 말합니다.
- 강 인공지능(Strong AI) : 사람과 구분이 안 될 정도로 강한 성능을 가진 인공지능
ex:) '아이언맨'의 자비스
- 약 인공지능(Weak AI) : 특정 영역에서 작업을 수행하는 인공지능 -> 머신러닝&딥러닝이 포함
ex:) '애플'의 시리, '테슬라'의 자율 주행 자동차, '구글'의 인공지능 스피커 구글 홈
: 딥러닝 ⊂ 머신러닝 ⊂ 인공지능
- 딥러닝이란? 인공신경망 알고리즘을 사용한 머신러닝
- 강 인공지능은 실제로 만들기 어려운 기술이므로 약 인공지능을 인공지능이라 부릅니다
: Machine Learni ng(기계 학습)
-
머신러닝과 딥러닝에서 말하는 학습(또는 훈련)은 데이터의 규칙을 컴퓨터 스스로 찾아 수정하는 과정
-
전통적인 프로그램과의 차이점
- 사람이 규칙을 정하여 프로그래밍하고, 실행 결과를 보며 규칙을 수정해나감
- 반면, 머신러닝은 사람이 만든 프로그램이기는 하나 규칙을 스스로 찾아 수정해나감
: 학습방식에 따른 분류
- 지도 학습(Supervised learning)
: 입력과 타깃으로 모델을 훈련시켜 새로운 입력에 대한 예측을 할 수 있음
ex:) 내일의 날씨 예측, 스팸 이메일 분류
-
머신러닝으로 다루는 많은 작업들이 지도학습에 속함
- 지도학습이 비지도 학습보다 성능이 좋음
- 단 학습 데이터 구축에 드는 시간, 비용적 문제가 큼
-
모델을 훈련시키기 위해 사용하는 데이터를 통틀어 훈련 데이터라고 함
- 훈련 데이터는 입력과 타깃으로 구성되어 있음
- 입력은 모델이 풀어야 할 일종의 문제, 타깃은 모델이 맞춰야 할 정답
-
힉습을 통해 만들어진 프로그램은 모델이라고 함
- 모델은 새로운 입력에 대한 예측을 만듦(학습을 통해 예측하는 프로그램)
-
지도학습에서 가장 어려운 일은 모델을 훈련시키는 것이 아니라 훈련 데이터를 만드는 일
-
적절한 데이터와, 충분한 양의 데이터를 훈련 데이터에 포함시켜야 함
- 비지도 학습(Unsupervised learning)
: 타깃이 없는 훈련 데이터를 사용
ex:) 군집(Clustering)
- 훈련 데이터에 타깃이 없으므로 모델의 훈련 결과를 평가하기 어려움
- 강화 학습(Reinforcement learning)
: 주어진 환경으로부터 피드백을 받아 훈련
ex:) '딥마인드' 알파고
-
머신러닝 알고리즘으로 에이전트라는 것을 훈련시킴
- 훈련된 에이전트는 특정 환경에 최적화된 행동을 수행하고 수행에 대한 보상과 현재 상태를 받음
- 에이전트의 목표는 최대한 많은 보상을 받는 것
-
강화학습의 대표적인 알고리즘으로는 Q-learning, SARSA, DQN(Deap Q Network)이 있음
: 대부분의 머신러닝 알고리즘은 훈련 데이터와 규칙의 관계를 식으로 표현 가능
(가중치)*(X) + 절편 = Y
-
x : 입력, y : 타깃
-
딥러닝의 경우 10~100만개의 가중치와 절편을 가짐
: 앞의 수학식이 바로 모델에 해당, 모델은 훈련 데이터로 학습된 머신러닝 알고리즘임
- 가중치와 절편을 합쳐 모델 파라미터(model parameter)라고 부름
- 실제 실습에서 모델을 클래스로 구현하므로 이를 통해 만든 객체를 모델이라고 이해하면 됨
: 기존의 모델에 새로운 입력 값이 들어왔을 때 예측값과 실제값이 다른 경우 모델의 규칙(가중치, 절편)을 수정해야 하는데, 이 때 모델의 규칙을 수정하는 기준이 되는 함수를 손실 함수(loss function) 라고 함
-
손실함수의 예:) 모델이 예측한 값과 타깃값의 차이를 계산함수
-
최적화 알고리즘: 손실함수는 단순히 예측값과 타깃의 차이를 정의하는 것이므로 손실 함수의 최솟값을 효율적으로 찾기 위한 방법이 필요, 이 방법을 최적화 알고리즘이라고 함
: 딥러닝은 머신러닝 알고리즘 중 하나인 인공신경망(artificial neural network)으로 만든 것으로, 복잡한 문제를 해결하기 위해 인공신경망을 다양하게 쌓은 것을 딥러닝이라고 함
: 딥러닝이라는 용어는 인공신경망을 여러겹으로 쌓은 모습에서 유래
- 입력을 받아 출력으로 전달하는 인공신경망은 뇌의 뉴런에서 영감을 받아 만듦
: 딥러닝과 머신러닝의 차이점은 처리하는 데이터를 예로 들 수 있음, 딥러닝의 경우 보통 인지와 관련된 문제를, 머신러닝의 경우 정형화된 데이터에 대한 문제를 잘 해결함
- 딥러닝에 잘 맞는 데이터란? 이미지/영상, 음성/소리, 텍스트/번역 등의 비정형 데이터
- 머신러닝에 잘 맞는 데이터란? 데이터베이스, 레코드 파일, 엑셀/CVS 등에 담긴 정형 데이터