딥러닝에 대하여 쉽게 알아보기 1편

2025. 9. 3. 00:27인공지능/DNN

AI는 Artificial Intelligence의 약자이다. 한국어로 번역하면 인공지능이라고 부른다.

인공지능이란 인간의 지능을 모방한 컴퓨터 프로그램이다. 예를 들어 나이 많은 사람은 한 번씩 사용해봤다는 심심이,

심심이도 인공지능으로 볼 수 있다.

 

또는 간단한 질문 몇 개로 우리가 생각하고 있던 어떤 것을 맞추는 아키네이터

이런 것들도 인공지능이라고 볼 수 있다. 더 나아가서 과거에 은행 사이트나, 통신사 사이트에서 볼 수 있던

정해진 질문 예) "이 서비스는 어떻게 이용하나요?" 라는 버튼을 누르면 정해진 답변만 내놓는 간단한 채팅 봇 마저도 인공지능이다.

 

이처럼 인공지능이라는 타이틀은 생각보다 넓게 사용된다. 사실 위에서 말한 것들은 코딩으로 구현하고 싶다면

if문이나, switch-case문으로 도배하면 언제든 만들 수 있을 것이다. (이런 방법론을 Rule-based - 규칙기반이라고 한다.)

우리가 알아볼 것은 규칙을 직접 정해주는 것이 아닌 스스로 학습하는 방법인 Training-based - 학습기반을 배우도록 하겠다.

 

우리가 근래에 사용하는 인공지능들은 상상을 뛰어넘는 성능을 보여준다. 그 배경에는 AI라는 큰 타이틀 안에 있는

한 분야인 머신러닝이라는 것이 있다. 또, 머신러닝이라는 분야 안에

우리가 요즘 지겹도록 듣는 딥러닝이라는 분야가 있는 것이다. 아래 이미지를 보면 알 수 있다.

이제 머신러닝부터 딥러닝까지 차근차근 들어가 보도록 하자.

머신러닝에서 나오는 개념은 딥러닝에서 사용되기 때문에 꼭 알아야한다!

 

먼저 머신러닝이 대체 무엇일까? 말 그대로 기계 학습이다. [문제: 정답] 이 있는 여러 데이터를 통해서

데이터의 패턴을 학습하여 정답이 무엇일지 스스로 예측하는 기술이다.

예를 들어 문제인 10, 20, 30, 40, 50이 있고, 정답인 60이 있다. 또, 문제로 5, 10, 15, 20, 25가 있고 정답으로 30이 있다.

저 두개를 머신러닝으로 학습시키고 20, 40, 60, 80, 100 은? 이라고 물어보면 120이라고 답할 것이다.

AI는 이런 패턴을 단순 수열뿐만 아니라 수천, 수만 가지 복잡한 데이터에서도 찾아낸다.

 

이 말은 즉 직접 사람이 if문, switch 문으로 규칙을 직접 정해주지 않아도 수 많은 데이터를 통해서 이런 문제엔 이런게 정답이더라 라는 추론을 해내는 방식이다.

 

이런 것이 가능한 이유는 수많은 데이터(문제): 정답을 보며 틀리고 고쳐지고를 반복하며 데이터와 정답 사이에 어떤 패턴을

찾아내어 그 후에 만나는 자신이 학습하지 않은 문제를 만나더라도 자기가 찾아낸 패턴을 적용하여 문제를 푸는 것이다.

 

머신러닝은 앞으로 지겹도록 들을 단어인 분류(Classification)과, 회귀(Regression) 문제를 푸는 것에 강하다.

(위 두개 말고도 군집화, 강화학습 등도 있지만 다루지 않는다.)

 

말이 좀 어렵지만 분류와 회귀에 대하여 알아보자.

먼저 간단하게 분류와 회귀가 뭔지 요약해보자면

 

내가 만든 AI가 어떤 특정한 수치를 예측하고 싶다 : 회귀

예) 집 값 등 

 

내가 만든 AI가 이것은 무엇이다 라고 말하고 싶으면 : 분류

예) 이 사진은 고양이

 

위 두개를 꼭 기억하자.

더보기

회귀는 되돌아간다, 원래 상태로 간다 라는 뜻이다. 프랜시스 골턴 이라는 과학자는 부모와 자식 키의 관계를 연구하다가,

부모가 키가 크더라도 자식은 평균 키 쪽으로 "되돌아가는" 경향을 발견했다.

이걸 Regression toward the mean : 평균으로의 회귀 라고 부르게 된다.

후에 수학자들이 어떤 직선이나 곡선에 가장 잘 맞도록 되돌려 놓는 과정을 회귀라고 부르기 시작했다.

즉, 관찰된 흩어진 점(데이터)들을 보고 그걸 설명할 수 있는 규칙(직선 또는 곡선)을 찾는 것이 회귀 모델이다.

이름 그대로 데이터를 원래의 규칙으로 되돌린다 라는 느낌으로 볼 수 있다.

 

예를 들어 여러 사람들의 시험 점수와 공부 시간 데이터를 그래프로 그리면 점들이 이곳 저곳 흩어져있을 것이다.

회귀는 이 점들을 쭉 보고 "대체로 공부 시간이 늘수록 점수가 오른다" 라는 일반적인 흐름(선/곡선)을 찾아내는 과정이다.

머신러닝의 학습방법은 생각보다 아주 간단하다.

예를 들어 AI(모델)에게 문제를 풀어봐라고 시킨다고 하자.

정답은 [60, 30]인데 모델은 처음이라 아무렇게나 답을 내놓는다 (예: [54, 28])

 

그 후에 얼마나 틀렸는지 확인한다.

  • 첫 번째 문제는 정답 60인데 54라고 해서 6점 틀림
  • 두 번째 문제는 정답 30인데 28이라고 해서 2점 틀림

이렇게 문제 하나하나에서 틀린 정도를 loss(손실)이라고 부른다.

시험으로 치면 한 문제에서 내가 몇 점 깎였는지 보는 것과 같다.

 

그 다음에는 모든 문제의 loss를 합치거나 평균을 낸다.

예) 6점 틀림 + 2점 틀림 ÷ 2 = 4점

이렇게 전체적으로 평균적으로 얼마나 틀렸는지를 나타내는 것을 cost(비용)라고 한다.

시험으로 치면 전체 평균 점수가 몇 점이냐 같은 개념이다.

 

그리고 이 cost를 줄이도록 모델의 규칙(가중치)을 조금씩 고쳐나가는 과정이 바로 추후에 설명할 경사하강법이다.

즉, 한 문제에서 깎인 점수(loss)를 보고, 전체 평균 점수(cost)를 올리기 위해 조금씩 공부 방향을 바꾸는 것이다.

 

이런 학습 과정은 위에서 이야기했던 분류와 회귀 모델 둘 다 동일하다.

'인공지능 > DNN' 카테고리의 다른 글

딥러닝 양자화  (0) 2025.03.17