뭐라도 끄적이는 BLOG

00-01 AI, Machine Learning, Deep Learning 본문

AI/이론

00-01 AI, Machine Learning, Deep Learning

Drawhale 2020. 4. 14. 19:57

인공지능 머신러닝 딥러닝의 관계를 쉽게 나타내면 위 사진과 같은 포함 관계를 가지게 됩니다.

인공지능

인공지능은 '사람의 지능을 만들기 위한 시스템이나 프로그램'을 말합니다. 즉, 기계가 사람의 행동을 모방하게 하는 기술을 총칭합니다. 인공지능은 강인공지능과 약인공지능으로 나눌 수 있습니다. 강인공지능은 '사람과 구분이 안 될 정도로 강한 성능을 가진 인공지능'을 합니다. 일반적으로 영화 속에서 나오는 아이언맨의 자비스 Her의 사만다를 예로 들 수 있습니다.

강인공지능은 만들 수 있는 방법은 현재 없으며 언제 나올지 예측조차 어렵습니다. 현재 이용되고 있는 인공지능 기술은 모두 약 인공지능입니다.

약인공지능은 특정 영역에서 작업을 수행하는 인공지능을 말합니다. 자율주행 자동차나 인공지능 비서 시리 구글 홈 등이 그 예입니다.

머신러닝

기계가 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 알고리즘을 개발하는 분야

학습

머신러닝과 딥러닝에서 말하는 학습은 데이터의 규칙을 컴퓨터 스스로 찾아내는 것을 말합니다. 전통적인 프로그램은 사람이 규칙을 정하여 프로그래밍하고, 사람이 프로그램의 실행 결과를 보며 규칙을 조금씩 수정합니다.

머신러닝은 사람이 만든 프로그램이기는 하지만 규칙을 스스로 찾아 수정합니다. 여기서 말하는 규칙을 찾아 수정하는 과정을 학습 또는 훈련이라고 부릅니다.

머신러닝의 학습 방식

머신러닝은 학습 방식에 따라 지도 학습(supervised learning), 비지도 학습(unsupervised learning), 강화 학습(reinforcement learning)으로 분류합니다. 많은 작업들이 지도학습에 속합니다.

지도학습

모델을 훈련시키기 위해 사용하는 데이터를 통틀어 훈련 데이터라고 부르며 훈련 데이터는 입력타깃으로 구성되어 있습니다. 입력은 모델이 풀어야 할 일종의 문제와 같은 것이며, 타깃은 모델이 맞춰야 할 정답과 같은 것입니다. 문제에 대한 답을 주는 방법으로 모델을 훈련시키는 것입니다. 이렇게 학습을 통해 만들어진 프로그램을 모델(model)은 입력에 대한 예측을 만듭니다. 즉 '학습을 통해 예측하는 프로그램'정도로 이해하고 있으면 됩니다.

지도학습에 있어서 가장 어려운 일은 훈련 데이터를 만드는 것입니다. 잘못된 입력과 타깃을 훈련 데이터에 포함시키면 잘못된 모델이 만들어질 수 있고 데이터의 개수가 너무 적으면 모델을 충분히 훈련시킬 수 없기 때문입니다.

비지도 학습

타깃이 없는 훈련 데이터를 사용하면 비지도 학습이라고 합니다. 그룹을 만들기 전까지는 어떤 그룹이 존재하는지 또 몇 개의 그룹이 만들어질지 알 수 없습니다. 대표적으로 군집(Clustering)이 있습니다.

강화학습

강화 학습은 주어진 환경으로부터 피드백을 받아 훈련합니다. 강화 학습은 머신러닝 알고리즘으로 에이전트라는 것을 훈련시킵니다. 훈련된 에이전트는 특정 환경에 최적화된 행동을 수행하고 수행에 대한 보상과 현재 상태를 받습니다. 에이전트의 목표는 최대한 많은 보상을 받는 것입니다. 그래서 에이전트는 주어진 환경에서 아주 많은 행동을 수행하여 학습됩니다.

강화학습의 대표적인 알고리즘으로 Q러닝, SARSA, 인공신경망을 이용한 DQN등이 있다. 딥마인드의 알파고가 이 예입니다.

규칙

대부분의 머신러닝 알고리즘은 훈련 데이터와 규칙의 관계를 식으로 표현할 수 있습니다.

H(x) = Wx + b

이 규칙은 각각 가중치와 절편이라고 부르는데 입력 x와 곱하는 수 W가 가중치, 더하는 수 b가 절편입니다.

모델

H(x) = Wx + b 수식이 바로 모델입니다. 엄밀히 정의하면 모델은 '훈련 데이터로 학습된 머신러닝 알고리즘'을 말합니다. 그리고 가중치와 절편을 합쳐 모델 파라미터라고 부릅니다.

손실함수

이전 모델이 예측한 값에 의한 타깃 값이 새로운 입력과 출력에 맞지 않을 때 모델의 규칙을 수정해야 합니다. 이때 모델의 규칙을 수정하는 기준이 되는 함수를 '손실 함수(loss function)'라고 부릅니다.

손실 함수는 단순히 예측한 값과 타깃의 차이를 정의하는 것이므로 손실함수의 최솟값을 효율적으로 찾는 방법도 필요합니다. 이때 최솟값을 효율적으로 찾는 방법을 최적화 알고리즘이라고 부릅니다.

딥 러닝

딥러닝(deep learning)은 머신러닝 알고리즘 중 하나인 인공신경망(artificial neural network)으로 만든 것입니다. 머신러닝 알고리즘에는 선형 회귀나 로지스틱 회귀와 같은 알고리즘들이 있습니다. 인공신경망도 머신러닝 알고리즘 중 하나입니다. 복잡한 문제를 해결하기 위해 인공신경망을 다양하게 쌓은 것을 딥러닝이라 부는 것입니다.

딥러닝은 인공신경망을 사용해 만드는 것이므로 인공신경망과 딥러닝을 엄밀하게 구분하지는 않습니다. 거의 같은 개념으로 생각해도 됩니다.

딥러닝 구성

딥러닝이라는 용어는 인공신경망을 여러 겹으로 쌓은 모습에서 유래되었습니다. 가장 간단한 인공신경망을 그림으로 표현하면 다음과 같습니다.

인공 신경망

입력을 받아 출력으로 전달하는 인공 신경망을 보면 뇌의 뉴런과 비슷한 점이 많습니다.

인공신경망을 여러 겹 쌓으면 다음과 같은 모양이 되며 이것을 딥러닝이라고 합니다. 인공신경망을 여러 겹 쌓은 것이 곧 딥러닝이므로 보통 인공신경망과 딥러닝이라는 용어는 구분하지 않고 사용하는 경우가 많습니다.

딥러닝 vs 머신러닝

딥러닝은 머신러닝이 처리하기 어려운 데이터를 더 잘 처리합니다. 머신러닝의 한 종류인 딥러닝은 머신러닝과 구체적인 차이점을 집어 보겠습니다. 대표적으로 둘의 차이점을 이야기할 때 처리하는 데이터를 예로 듭니다.

딥러닝은 이미지/영상, 음성/소리, 텍스트/번역 등의 비정형 데이터에 잘 맞습니다.

머신러닝은 데이터베이스, 레코드 파일, 엑셀/CSV 등에 담긴 정형 데이터에 잘 맞습니다.(암환자의 검진 데이터, 회사의 매출 데이터)

위 같은 이유로 딥러닝은 보통 '인지'와 관련된 문제를 잘 해결한다고 알려져 있습니다.

반응형

'AI > 이론' 카테고리의 다른 글

05. 다중 분류 문제  (0) 2021.05.02
04. 이진 분류 문제  (0) 2021.05.02
03. 회귀 문제의 이해  (0) 2021.05.02
02. 얕은 신경망의 수식적 이해  (0) 2021.05.02
01. 얕은 신경망을 이용한 분류와 회귀  (0) 2021.05.02