본문 바로가기
  • Maker's VAP
AI/ML DL

[Do it! 딥러닝 입문] 딥러닝(Deep Learning)이란?

by E = mc² 2020. 3. 2.

4차 산업혁명이란 단어가 등장하면서 흔히 접한 단어 중 하나가 AI(인공지능)이다.

인공지능(Artificial Intelligence)은 '사람의 지능을 만들기 위한 시스템이나 프로그램'을 말하는데 가장 대표적인 예가 이세돌 9단과 세기의 대결을 했던 알파고이다. 그럼 사람의 지능과 비슷하면 모두 인공지능이라 할 수 있는 것인가?

 

AI는 크게 2가지로 분류할 수 있다.

정말 사람과 같은 인공지능을 강 인공지능이라고 하며 요즘 주위에서 흔히 볼 수 있는 인공지능 제품들이 약 인공지능이라고 한다. (각각 인공지능의 차이점은 인공지능 이란? 참조)

 

머신러닝과 딥러닝, 인공지능의 관계

출처 : NVIDIA

위의 그림과 같이 머신러닝(ML, Machine Learning)과 딥러닝(DL, Deep Learning)은 인공지능의 포함되는 기술이며 약 인공지능에 포함되는 기술이고, 딥러닝은 머신러닝 알고리즘 중 하나이면서 인공신경망(artificial neural network)으로 만든 것이다. 쉽게 집합의 개념으로 이해하면 된다.

 

먼저 머신러닝에 대해 알아보자.


🍟 머신러닝 (ML, Machine Learning)

" 머신러닝 = 기계 학습 "

 

기계가 학습한다는 의미는 정확히 무슨 뜻일까?

먼저 머신러닝, 딥러닝에 대해 알아가면서 규칙, 훈련, 모델과 같은 용어와 개념에 대해 익숙해져야 한다.

 

  • 학습

    • 지도 학습
    • 비지도 학습
    • 강화 학습

 

머신러닝과 딥러닝에서의 학습은 데이터의 규칙을 컴퓨터 스스로 찾아내는 것을 말한다.

전통적인 프로그램은 사람이 규칙을 정해 프로그래밍하고, 실행 결과를 보며 규칙을 조금씩 수정하는 것 또한 사람이 직접 하지만 머신러닝은 사람이 만든 프로그램이기는 하나 규칙을 스스로 찾아 수정하고 이 과정을 학습 또는 훈련이라고 한다.

 

머신러닝은 학습 방식에 따라 지도 학습(supervised learning)과 비지도 학습(unsupervised learning), 강화 학습(reinforcement learning)으로 분류한다.

 

 

🍦 지도 학습 (supervised learning) - 입력과 타깃으로 모델을 훈련시킨다.

만약 전날의 습도를 기준으로 다음 날 비가 왔는지 안 왔는지 꾸준히 기록했다면 오늘 습도만 알아도 바로 다음 날 비가 올지 안 올지 예측할 수 있을 것이다. 꾸준히 기록한 데이터를 바탕으로 모델을 지도 학습 방식으로 훈련시키면 해당 모델은 훈련을 통해 어떠한 규칙을 얻게 된다. 예를 들어, 습도가 0.6 이상일 때 비가 왔었고 그 미만일 경우 비가 안 왔다는 내용을 O, X로 기록하고 이 데이터를 바탕으로 모델을 해당 방식으로 훈련시킨 후 '오늘 습도가 0.6 이상이면 내일 비가 온다'라는 규칙을 얻을 수 있다.

 

훈련 데이터 모델을 훈련시키기 위해 사용하는 데이터
입력 모델이 풀어야 할 일종의 문제와 같은 것
타깃(target) 모델이 맞춰야 할 정답과 같은 것
모델(model) 학습을 통해 예측하는(만들어진) 프로그램


즉, 문제에 대한 답을 주는 방법으로 모델을 훈련시키는 것이고 모델은 새로운 입력에 대한 예측을 만든다.

 

지도 학습은 기존의 데이터를 통해 모델을 학습시키고 학습시킨 모델로 새로운 입력에 대한 예측을 할 수 있으므로 날씨를 미리 예측하거나 스팸 이메일을 분류하는 등 다양한 일을 해결할 때 많이 사용한다.

 

🔥 훈련 데이터 만들 때 주의할 점!

  1. 잘못된 입력과 타깃을 훈련 데이터에 포함시키면 모델이 잘못 만들어질 수 있다.
  2. 데이터의 개수가 너무 적으면 모델을 충분히 훈련시킬 수 없다.

따라서 실전에서는 모델을 훈련시키기 위해 훈련 데이터를 만드는 시간이 많이 소요된다.

 

 

🍧 비지도 학습 (unsupervised learning) - 타깃이 없는 데이터를 사용한다.

타깃이 없는 훈련 데이터를 사용하면 비지도 학습이라고 한다. 예로 기업이 고객의 소비 성향에 따라 그룹을 지정하는 상황을 생각하면 이해하기 쉬운데 그룹을 만들기 전까지는 어떤 그룹이 존재하는지 또 그룹의 수가 얼마나 되는지 알 수 없다. 즉, 타깃이 없는 셈. 비지도 학습의 대표적인 예시인 군집(clustering)에 대해 간략히 알아보자.

 

비지도 학습 군집(clustering)

위 그림은 비슷한 모양을 기준으로 그룹을 만들었다. 만약 새로운 모양이 발견되면 새 그룹이 생길 것이다.

비지도 학습은 훈련 데이터에 타깃이 없으므로 모델의 훈련 결과를 평가하기 어렵다는 특징이 있다.

 

 

🍨 강화 학습(reinforcement learning) - 주어진 환경으로부터 피드백을 받아 훈련한다.

머신러닝 알고리즘으로 에이전트라는 것을 훈련시키는 것을 강화 학습이라고 하는데 훈련된 에이전트는 특정 환경에 최적화된 행동을 수행하고 수행에 대한 '보상'과 '현재 상태'를 받는다. 에이전트의 목표는  '최대한 많은 보상을 받는 것'이기 때문에 주어진 환경에서 아주 많은 행동을 수행하여 학습된다.

 

강화 학습의 대표적인 알고리즘으로는 Q-러닝(Q-learning), SARSA, 인공신경망을 사용한 DQN(Deep Q Network) 등이 있고 예로 딥마인드(DeepMind)의 알파고(AlphaGo)와 같은 게임이나 온라인 광고 등이 있다.

 

  • 규칙

위에서 머신러닝은 스스로 규칙을 찾는다고 했다. 그럼 여기서 규칙은 정확히 무엇일까?

실제로 규칙은 어떻게 표현할까?

 

지도 학습의 예를 다음과 같은 식으로 표현할 수 있다.

 

1.5(가중치) * x(입력) + 0.1(절편) = y(타깃)  → y가 1 이상이면 다음 날 비가 온다고 예측

 

위의 식에서 1.5(가중치)와 0.1(절편)이 바로 규칙이 된다.

예로 입력값(x)이 되는 습도에 임의로 정한 0.672, 0.654, 0.311,... 등을 넣어 계산해 보면 입력 데이터와 규칙의 관계를 잘 표현한 식이라는 것을 알 수 있다.

 

예로 살펴본 데이터의 수는 매우 적으나 딥러닝은 훨씬 많은 개수(10만, 100만)의 가중치와 절편을 가진다.

 

  • 모델

위의 수학식이 바로 모델이다. 즉, 수학적 표현으로써 '훈련 데이터로 학습된 머신러닝 알고리즘'을 말하며 가중치와 절편을 합쳐 모델 파라미터(model parameter)라고 부른다.

 

  • 손실 함수

만약 예시로 만든 모델(1.5 * x + 0.1 = y)에 0.472이라는 새 입력값이 추가되었다고 하자. 모델이 예측한 값은 약 0.8이므로 실제 타깃값인 O(비가 옴, y=1 이상)와 맞지 않다. 바로 이런 경우에 모델의 규칙(가중치, 절편)을 수정해야 하는데 이때 수정하는 기준이 되는 함수를 '손실 함수(loss function)'라고 한다. 즉, 모델이 예측한 값과 타깃값의 차이를 계산하는 함수를 손실 함수로 정의할 수 있다.

 

이 모델의 경우 손실 함수를 대입하면 1 - 0.8 = 0.2 정도의 차이가 발생하므로 규칙을 약간 상향 조정하면 된다.

 


🥞 딥러닝 (DL, Deep Learning)

" 딥러닝 = 머신러닝 알고리즘 중 하나인 인공신경망(artificial neural network)으로 만든 것 "

 

복잡한 문제를 해결하기 위해 인공신경망을 다양하게 쌓은 것을 딥러닝이라고 하며 머신러닝 알고리즘(선형 회귀, 로지스틱 회귀,..., 인공신경망(≒딥러닝) 등) 중 하나이다.

 

🥨 딥러닝(Deep learning) - 인공신경망으로 구성된다.

입력 → 출력으로 전달하는 인공신경망을 보면 외부로부터 어떤 자극을 받아들여 다음 뉴런으로 전달하는 역할이 뇌의 뉴런과 비슷한 점이 많다. 이러한 인공신경망을 여러 겹 쌓으면 다음과 같은 모양이 된다.

이처럼 여러 겹 쌓은 것이 딥러닝이기 때문에 보통 인공신경망과 딥러닝이라는 용어는 구분 없이 사용하는 경우가 많다.

인공신경망 (≒딥러닝)

사실 딥러닝은 실제 뇌가 작동하는 방식과는 많이 다르므로 사람의 뇌와 깊은 연관이 있는 기술이라는 오해를 하지 않도록!


머신러닝과 딥러닝의 차이점은?

머신러닝이 처리하기 어려운 데이터를 딥러닝이 더 잘 처리한다.

딥러닝에 잘 맞는 데이터 머신러닝에 잘 맞는 데이터
이미지/영상, 음성/소리, 텍스트/번역 등의 비정형 데이터 데이터베이스, 레코드, 파일, 엑셀/CSV 등에 담긴 정형 데이터

 

 

반응형

댓글