7.인공지능 vs 머신러닝 vs 딥러닝

다양한 머신러닝 방법들
This entry is part 7 of 7 in the series 딥러닝 이야기

1. 들어가며

지금까지 컴퓨터에게 강아지와 고양이 이미지를 가르쳐주기 위한 다양한 방법을 살펴봤습니다.
아주 다양하고 중요한 용어들이 나왔었는데요. 인공지능, 전문가 시스템, 머신러닝, 인공신경망, 딥러닝 등등 많이 들어봤지만 헷갈리는 용어들이 많았습니다. 더 나아가기 전에 이번 글에서는 지금까지 나온 개념들의 용어 정리를 하겠습니다.

2. 인공지능 (Artificial Intelligence)

먼저 인공지능에 대해 정리해 보겠습니다.

지금까지 컴퓨터에게 강아지와 고양이를 가르쳐주기 위한 이야기를 전개해 왔습니다. 실제로도 아주 옛날부터 컴퓨터를 사용하여 인간의 지능을 흉내 내고자 하는 시도가 있어왔습니다. 이렇게 컴퓨터로 하여금 인간의 지능을 흉내 내고자 하는 모든 시도를 인공지능이라고 합니다. 영어로는 Artificial Intelligence의 약자인 AI라고 부르죠. 따라서 인공지능과 AI는 동의어입니다.

인공지능의 시작은 1950년부터라고 할 수 있습니다.
앨런튜링의 튜링테스트를 보통 최초의 인공지능을 위한 시도라고 하죠. 튜링테스트는 쉽게 말해 지금 대화 상대가 사람인지 컴퓨터인지를 맞추는 테스트입니다. 맞추기 힘들다면 컴퓨터가 사람의 지능을 모방하고 있다고 판단할 수 있겠죠. 튜링테스트를 시작으로 지금까지 다양한 인공지능 방법론들이 연구되며 발전해 왔습니다.

이러한 인공지능은 기능에 따라 크게 두 가지로 구분하여 표현합니다.
바로 약인공지능과 강인공지능입니다. 이때 약하다, 강하다의 의미는 활용도의 범위를 말합니다. 즉 약인공지능은 특정 용도로만 사용할 수 있는 인공지능을 말하죠. 예를 들어 번역만 할 수 있거나, 대화만 할 수 있거나, 바둑만 둘 수 있는 인공지능을 말합니다. 알파고는 강인공지능일까요, 약인공지능일까요?

1.알파고
1.알파고

일반 대중에게 인공지능의 가능성을 인식하게 한 최초의 AI는 알파고라고 생각하는데요.
가능한 경우의 수가 무한가지에 가까워 불가능할 것으로 여겨졌던 바둑을 두는 인공지능이었죠. 인간 중 가장 바둑을 잘 둔다는 이세돌 9단을 압도적으로 이기면서 인공지능의 시대를 열었습니다. 하지만 이렇게 대단한 알파고도 오직 바둑만 잘 두는 인공지능입니다. 바둑과 비슷한 체스라고 할지라도 전혀 할 수 없죠.

또는 최근 가장 유명한 ChatGPT는 어떨까요?

2.ChatGPT
2.ChatGPT

ChatGPT는 스스로 논문도 쓸 수 있고 시도 지을 수 있는 대화형 AI입니다.
ChatGPT가 작성한 에세이는 사람이 쓴 것인지 컴퓨터가 쓴 것인지 구분하기 힘든 정도죠. 구분하기 힘든 정도가 아니라 최상위 수준의 글을 씁니다. 하지만 이렇게 대단한 ChatGPT도 오직 대화만 할 수 있는 AI죠. ChatGPT가 운전을 할 수는 없습니다.

현재의 AI는 모두가 약인공지능이라고 할 수 있습니다.
대단한 능력을 가진 AI일지라도 특정 분야에서만 잘한다는 한계가 있죠. 이를 극복하는 것이 인공지능 연구의 큰 과제입니다.

3. 전문가 시스템

인공지능 초창기에는 전문가 시스템 방법을 사용했습니다.
전문가 시스템은 해당 문제를 풀기 위한 모든 조건을 사람이 찾아 컴퓨터에게 입력해 주는 방법이었죠.

3.전문가 시스템
3.전문가 시스템

생각해 보면 초창기에 당연히 할 법한 아이디어였습니다.
우리도 어린아이들에게 무언가를 가르쳐줄 때 이런 방법을 사용하죠. 강아지는 어떻고 고양이는 어떻고 하면서 설명해 줍니다. 당연히 컴퓨터도 이런 방법으로 지능을 넣어줄 수 있을 거라 생각했을 겁니다.

실제로 특정 분야에서는 성능이 충분히 좋기도 했습니다.
예를 들면 공장 같은 경우가 있죠.

4.제한된 조건에서의 전문가 시스템
4.제한된 조건에서의 전문가 시스템

공장은 제약조건이 많은 환경입니다.
크기도 제한되어 있고 동작 조건이 다양하지 않죠. 지금이야 공장 시스템이 자동으로 동작한다는 게 당연하지만, 예전에는 커다란 혁신이었을 겁니다.

하지만 조금 더 복잡한 문제에 적용한다면 얘기가 복잡해집니다.
강아지와 고양이 이미지를 구분하는 문제만 해도 컴퓨터에게는 매우 복잡한 문제죠.

5.복잡한 데이터에서의 전문가 시스템
5.복잡한 데이터에서의 전문가 시스템

이렇게 강아지와 고양이 이미지를 구분하는 규칙을 모두 찾는 건 거의 불가능에 가깝기 때문입니다.
공장 환경과 달리 실제 환경에서는 제약조건이 거의 없기 때문이죠. 무한히 많은 변수가 존재하기에 이를 일일이 코드로 작성해 준다는 건 불가능합니다. 이렇게 전문가 시스템의 한계가 명확하기에 이를 대체할 혁신적인 방법이 필요했습니다.

여기까지 정리하고 넘어가겠습니다.
인공지능은 컴퓨터로 인간의 지능을 모방하고자 하는 모든 시도를 의미했죠. 이렇게 인공지능을 구현하기 위한 다양한 방법이 존재할 텐데요. 초창기 인공지능의 대세 방법이 바로 전문가 시스템이었습니다.

4. 머신러닝 (Machine Learning)

이렇게 인공지능 연구가 정체되어 있을 때 등장한 방법이 바로 머신러닝입니다.
전문가 시스템의 한계는 모든 조건을 사람이 직접 찾아줘야 한다는 것이라고 했는데요. 머신러닝은 이에 착안하여 정반대의 전략을 사용합니다. 컴퓨터에게 데이터를 주고 스스로 조건을 찾도록 하는 방법이죠.

6.전문가 시스템과 머신러닝
6.전문가 시스템과 머신러닝

따라서 이제 전문가 시스템에 비해 문제 해결이 아주 쉬워졌습니다.
그저 데이터만 많이 확보해 주면 가장 중요한 준비는 끝나는 거니까요. 머신러닝으로 문제를 풀기 위해서는 우선 데이터를 아주 많이 확보해야 합니다. 데이터가 많을수록 컴퓨터가 규칙을 찾기 유리하기 때문이죠.

7.머신러닝의 철학
7.머신러닝의 철학

그리고는 이렇게 모은 데이터를 학습용과 시험용으로 구분합니다.
학습용으로는 컴퓨터에게 규칙을 찾도록 시킬 거고요. 시험용으로는 이렇게 찾은 규칙이 얼마나 잘 동작하는지 시험만 하는 용도입니다.

머신러닝의 등장으로 인공지능은 다시 한번 크게 도약하게 됩니다.
그리하여 아주 다양한 머신러닝 방법들이 등장하죠.

8.다양한 머신러닝 방법들
8.다양한 머신러닝 방법들

이번 시리즈글에서는 kNN, SVM, 인공신경망, 딥러닝 등의 방법들을 간단히 살펴봤었습니다.
머신러닝 방법들은 각각의 철학이 있고 그에 따른 장단점이 존재했습니다.

자, 여기까지 다시 정리해 볼게요.
전문가 시스템은 인공지능의 초창기 방법이었습니다. 이 한계를 극복하며 나온 방법이 머신러닝이죠.

5. 인공신경망 (Artificial Neural Network)

이러한 머신러닝에는 다양한 방법들이 존재합니다.
그중 하나의 방법인 인공신경망에 대해 자세히 살펴봤습니다. 굳이 인공신경망을 자세히 살펴본 이유는, 인공신경망은 딥러닝의 다른 이름이기 때문입니다. 우리가 초점을 맞추고 있는 건 바로 딥러닝이죠. 이제 딥러닝 개념에 거의 다 왔습니다. 인공신경망은 머신러닝 방법 중, 구불구불한 경계선을 사용하여 데이터 종류를 구분하는 방법입니다.

9.인공신경망
9.인공신경망

이때의 구불구불한 울타리는 직선과 곡선 함수들을 조합하여 표현할 수 있었죠.

10.인공신경망 그래프 표현
10.인공신경망 그래프 표현

이렇게 직선을 표현하는 함수를 퍼셉트론이라고 하고, 곡선을 표현하는 함수를 비선형 활성함수라고 했습니다.
이러한 구성 방법이 인공신경망이라는 이름을 얻은 건 사람의 신경망과 구성이 매우 비슷하기 때문입니다.

11.사람 신경망
11.사람의 신경망

위 그림은 사람의 신경망의 구성을 표현한 그림입니다.
가장 기본 단위인 뉴런들이 시냅스로 연결되어 있는 모습입니다. 이렇게 뉴런들이 자극을 전달하는 과정은 인공신경망의 정보 전달 과정과 매우 흡사하죠.

6. 딥러닝 (Deep Learning)

하지만 이러한 인공신경망의 방법에도 한계가 존재했습니다.

12.인공신경망의 한계
12.인공신경망의 한계

한 번의 구불구불한 경계선으로는 복잡한 데이터를 표현할 수 없다는 것이었죠.
이러한 한계를 극복하기 위해 경계선을 여러 번 구분하는 방법이 제안되는데요.

13.구불구불 경계선 여러개로 표현하기
13.구불구불 경계선 여러개로 표현하기

위 그림처럼 구불구불한 경계선을 여러 번 사용하면 복잡한 데이터도 설명할 수 있었죠.
이렇게 경계선을 사용하여 데이터를 구분하는 작업을 하나의 함수라고 생각해 보겠습니다.

14.딥러닝
14.딥러닝

그러면 위 그림처럼 입력으로부터 여러 층의 함수를 연결한 모양이 됩니다.
이렇게 인공신경망을 여러 층으로 깊게 구성하는 방법을 딥러닝(Deep Learning)이라고 합니다. 데이터셋을 잘 설명해 주는 결정경계를 찾기 위해서는 딥러닝 모델을 ‘학습’해주어야 합니다.

15.딥러닝의 학습
15.딥러닝의 학습

학습 후에는 위 그림처럼 데이터셋을 잘 설명하도록 결정경계 모양이 변하게 되죠.
이를 위해 사칙연산만 이해하는 컴퓨터에게 우리의 목표를 설명해줘야 했었죠.

16.목적함수
16.목적함수

이렇게 사칙연산을 사용하여 우리의 목적을 설명한 함수를 목적함수 또는 오차함수라고 했습니다.
결국 딥러닝의 학습이란 오차값이 작아지는 방향으로 함수들을 조정하는 작업이었죠.

17.경사하강법-1
17.경사하강법-1

오차값이 작아지는 방향으로만 움직이다 보면 언젠가 가장 작은 오차값을 갖는 함수들을 찾을 수 있을 거란 아이디어였습니다.

18.경사하강법-2
18.경사하강법-2

이렇게 오차값이 작아지는 방향으로 학습하는 방법을 경사하강법(Gradient Descent)이라고 했죠.
이러한 학습 과정은 실제적으로는 네트워크를 구성하는 함수의 가중치를 변경함으로써 이루어집니다.

19.역전파
19.역전파

이때 경사하강법에 의한 기울기 정보가 역방향으로 전파되며 함수 가중치들을 변경해 주었죠.
이렇게 정보를 역방향으로 전파하며 가중치를 업데이트하는 알고리즘을 역전파(Backpropagation)이라고 했습니다. 경사하강법과 역전파는 딥러닝 학습의 핵심 알고리즘입니다. 딥러닝은 이번 시리즈글이 주제이자, 현재 인공지능의 대세가 되고 있는 방법이죠. 사실상 지금의 모든 인공지능은 딥러닝 방법이라고 해도 과언이 아닙니다. 인공지능을 알고 싶다면, 딥러닝을 공부해야 하죠.

7. 마무리

이제 총정리를 해보겠습니다.

20.인공지능, 전문가 시스템, 머신러닝, 인공신경망, 딥러닝
20.인공지능, 전문가 시스템, 머신러닝, 인공신경망, 딥러닝

인공지능이란 사람의 지능을 컴퓨터로 모방하기 위한 모든 방법을 말합니다.
인공지능의 시작은 아주 옛날로 거슬러 올라가 1950년부터 시작되었습니다.

초창기 인공지능은 전문가 시스템이라는 방법이 대세가 되었습니다.
문제를 풀기 위한 모든 조건을 사람이 직접 생각해 컴퓨터에게 코드로 입력해 주는 방법이었죠. 전문가 시스템은 제한된 조건에서는 좋은 성능을 냈지만 문제가 조금만 복잡해지면 형편없는 성능을 보였습니다.

이를 극복하기 위한 나온 방법이 머신러닝입니다.
머신러닝은 전문가 시스템과는 정반대 철학을 갖고 있죠. 컴퓨터에게 많은 데이터를 주고 스스로 필요한 규칙을 찾도록 하는 방법이었습니다. 머신러닝의 등장으로 인공지능은 비약적으로 성장할 수 있었습니다.
머신러닝에는 다양한 방법들이 존재합니다.

그중 인공신경망이라는 방법을 자세히 살펴봤습니다.
인공지능은 복잡한 데이터를 구불구불한 경계선을 사용하여 설명하는 방법이었죠. 동작 방식이 사람의 신경망과 유사하여 인공신경망이라는 이름을 얻었습니다. 하지만 인공신경망은 복잡한 데이터를 설명할 수 없다는 한계가 있었습니다.

이를 극복하기 위해 인공신경망을 깊게 쌓았고, 마침내 좋은 성능을 낼 수 있었죠.
이렇게 새롭게 태어난 인공신경망을 바로 딥러닝이라고 부릅니다.

지금까지 인공지능의 큰 틀을 살펴봤습니다.
인공지능을 이루는 큰 갈래인 전문가 시스템, 머신러닝의 핵심 철학을 살펴봤죠. 그리고 이번 시리즈글의 주제인 딥러닝에 대해 조금은 깊게 살펴봤습니다. 다음 글에서는 딥러닝의 현재 모습과 미래에 대해 살펴보도록 하겠습니다.

Series Navigation<< 6.딥러닝이 학습하는 방법 : 역전파(Backpropagation), 경사하강법(Gradient Descent)
0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top