머신 러닝의 이해 및 딥러닝의 개요

  • 최초 작성일: 2025년 5월 27일 (화)

목차

  1. 머신러닝과 딥러닝의 차이
  2. 지도학습 vs 비지도학습
  3. 딥러닝 주요 구조 소개 (ANN, CNN, RNN)

1. 머신러닝과 딥러닝의 차이

AI, 머신러닝, 딥러닝의 관계

먼저 인공지능(AI), 머신러닝, 딥러닝의 관계를 이해하는 것이 중요하다. 이 세 개념은 서로 포함 관계에 있다.

AI, ML, DL의 관계

그림 1: 인공지능, 머신러닝, 딥러닝의 포함 관계

위 그림에서 볼 수 있듯이:

  • 인공지능(AI): 가장 넓은 개념으로, 감지하고 추론하며 행동하고 적응할 수 있는 프로그램을 의미한다
  • 머신러닝(ML): AI의 하위 분야로, 시간이 지남에 따라 더 많은 데이터에 노출되면서 성능이 향상되는 알고리즘이다
  • 딥러닝(DL): 머신러닝의 하위 분야로, 다층 신경망이 방대한 양의 데이터로부터 학습하는 기술이다

머신러닝이란?

머신러닝(Machine Learning)은 명시적으로 프로그래밍하지 않고도 데이터로부터 학습하여 예측이나 의사결정을 내리는 기술이다. 전통적인 프로그래밍이 규칙을 직접 코딩하는 방식이라면, 머신러닝은 데이터와 정답을 제공하면 컴퓨터가 스스로 규칙을 찾아내는 방식이다.

예를 들어 스팸 메일 필터를 만든다고 생각해보자:

  • 전통적 방법: “광고”, “무료”, “클릭” 등의 단어가 포함되면 스팸으로 분류하는 규칙을 직접 코딩한다
  • 머신러닝 방법: 스팸 메일과 정상 메일의 예시를 대량으로 제공하고, 컴퓨터가 스스로 패턴을 찾도록 한다

딥러닝이란?

딥러닝(Deep Learning)은 머신러닝의 한 분야로, 인공신경망을 여러 계층으로 쌓아 올려 데이터의 추상적 특징을 자동으로 학습한다. “딥(Deep)”이라는 이름은 신경망의 층이 깊다는 의미에서 유래했다.

주요 차이점 정리

머신러닝과 딥러닝의 핵심적인 차이는 특징 추출 방식에 있다:

구분 머신러닝 딥러닝
특징 추출 사람이 직접 특징을 설계하고 선택 자동으로 특징을 학습
데이터 요구량 상대적으로 적은 데이터로도 가능 대량의 데이터 필요
계산 자원 CPU로도 충분한 경우가 많음 GPU 등 고성능 하드웨어 필수
학습 시간 상대적으로 빠름 오래 걸림
해석 가능성 결과를 이해하기 비교적 쉬움 블랙박스 성격이 강함

💡 쉬운 비유: 머신러닝이 자전거라면, 딥러닝은 자동차다. 자전거는 구조가 단순하고 이해하기 쉽지만 속도에 한계가 있고, 자동차는 복잡하지만 더 빠르고 강력하다.


2. 지도학습 vs 비지도학습

머신러닝의 학습 방법은 데이터에 정답(레이블)이 있는지 여부에 따라 크게 두 가지로 나뉜다.

지도학습과 비지도학습

그림 2: 지도학습과 비지도학습의 프로세스 비교

지도학습 (Supervised Learning)

지도학습은 입력 데이터에 대한 정답 레이블이 주어진 상태에서 모델을 학습시키는 방법이다. 위 그림의 상단 프로세스가 지도학습을 보여준다.

작동 과정:

  1. 입력 데이터(Input Data)를 모델에 제공한다
  2. 모델이 예측한 답(Model Answers)을 실제 정답(My Answers)과 비교한다
  3. 손실 함수(Loss Function)를 통해 오차를 계산한다 (예: 평균 제곱 오차)
  4. 이 오차를 최소화하는 방향으로 모델을 업데이트한다

특징:

  • 데이터와 정답이 쌍으로 제공된다
  • 명확한 학습 목표가 있다
  • 성능을 정량적으로 평가할 수 있다

활용 예시:

  • 분류 문제: 이메일 스팸 필터, 이미지 속 동물 분류, 질병 진단
  • 회귀 문제: 집값 예측, 주식 가격 예측, 날씨 예보

비지도학습 (Unsupervised Learning)

비지도학습정답이 없는 데이터를 다루며, 주어진 입력 데이터들에서 숨겨진 패턴이나 구조를 스스로 발견한다. 위 그림의 하단 프로세스가 비지도학습을 보여준다.

작동 과정:

  1. 입력 데이터만 모델에 제공한다 (정답 없음)
  2. 모델이 데이터의 패턴을 분석하여 결과를 생성한다
  3. 손실 함수는 그룹 내 분산(within group variance) 등을 최소화하는 방향으로 설계된다
  4. 데이터의 내재된 구조를 찾아낸다

특징:

  • 정답 레이블이 없다
  • 데이터의 구조나 패턴을 탐색한다
  • 평가가 주관적일 수 있다

활용 예시:

  • 군집화(Clustering): 고객 세분화, 유사 문서 그룹핑
  • 차원 축소: 데이터 시각화, 특징 압축
  • 이상 탐지: 신용카드 사기 감지, 제조 불량품 검출

두 방법의 선택 기준

상황 적합한 방법 이유
정답 데이터가 있을 때 지도학습 명확한 목표로 학습 가능
데이터의 구조를 파악하고 싶을 때 비지도학습 숨겨진 패턴 발견
예측이 목적일 때 지도학습 입력-출력 관계 학습
데이터 탐색이 목적일 때 비지도학습 데이터 이해도 향상

3. 딥러닝 주요 구조 소개 (ANN, CNN, RNN)

딥러닝에서는 문제의 특성에 따라 다양한 신경망 구조를 사용한다. 가장 대표적인 세 가지 구조를 살펴보자.

인공 신경망 (ANN - Artificial Neural Network)

인공 신경망은 가장 기본적인 형태의 신경망으로, 생물학적 뉴런의 작동 방식을 모방한 구조다.

ANN 구조

그림 3: 기본적인 ANN 구조 - 입력층, 은닉층, 출력층

구조 설명:

  • 입력층(Input): 빨간색 노드들로, 데이터를 받아들이는 층이다
  • 은닉층(Hidden): 파란색 노드들로, 데이터를 처리하는 중간 층이다
  • 출력층(Output): 초록색 노드들로, 최종 결과를 출력하는 층이다

작동 원리:

  1. 각 연결선은 가중치(weight)를 가지고 있다
  2. 각 노드는 입력값들의 가중합을 계산한다
  3. 활성화 함수를 통과시켜 비선형성을 추가한다
  4. 이 과정을 각 층에서 순차적으로 반복한다

특징:

  • 모든 노드가 다음 층의 모든 노드와 연결된다 (완전 연결)
  • 구조가 단순하여 이해하기 쉽다
  • 다양한 종류의 데이터에 적용 가능하다

활용 분야:

  • 정형 데이터 분석 (테이블 형태의 데이터)
  • 간단한 분류 및 회귀 문제
  • 다른 신경망의 기본 구성 요소

합성곱 신경망 (CNN - Convolutional Neural Network)

합성곱 신경망이미지나 영상 데이터 처리에 특화된 신경망이다. 인간의 시각 처리 과정을 모방한 구조를 가지고 있다.

<div align=”center” CNN 구조 그림 4: CNN의 계층별 구조와 특징맵의 변화</p> </div>

주요 구성 요소:

  1. 합성곱 층 (Convolutions)
    • 작은 필터(커널)를 이미지 위에 슬라이딩하며 특징을 추출한다
    • 엣지, 모서리, 텍스처 등의 지역적 특징을 감지한다
    • 파라미터 공유로 학습 효율성을 높인다
  2. 서브샘플링/풀링 층 (Subsampling)
    • 특징맵의 크기를 줄여 계산량을 감소시킨다
    • 중요한 정보는 보존하면서 노이즈를 제거한다
    • 위치 변화에 대한 강건성을 제공한다
  3. 완전 연결층 (Fully Connected)
    • 추출된 특징들을 종합하여 최종 분류를 수행한다
    • 전통적인 ANN과 같은 구조를 가진다

CNN의 특별한 점:

  • 이미지의 공간적 구조를 보존한다
  • 지역적 패턴을 효과적으로 학습한다
  • 파라미터 수가 적어 학습이 효율적이다

활용 분야:

  • 얼굴 인식 시스템
  • 자율주행 차량의 객체 탐지
  • 의료 영상 분석 (X-ray, MRI)
  • 문자 인식 (OCR)

순환 신경망 (RNN - Recurrent Neural Network)

순환 신경망시간적 순서가 있는 데이터를 처리하기 위한 신경망이다. 이전 정보를 기억하고 활용할 수 있는 구조를 가지고 있다.

RNN 구조

그림 5: RNN의 순환 구조와 시간에 따른 전개

핵심 개념:

  • 왼쪽은 순환 연결을 가진 압축된 표현이다
  • 오른쪽은 시간에 따라 펼친 모습이다
  • 각 시점(t-1, t, t+1)에서 같은 가중치를 공유한다

작동 과정:

  1. 시점 t-1: 입력 x_{t-1}과 이전 은닉 상태를 받아 새로운 은닉 상태 h_{t-1}을 생성한다
  2. 시점 t: 입력 x_t와 h_{t-1}을 받아 h_t를 생성한다
  3. 시점 t+1: 입력 x_{t+1}과 h_t를 받아 h_{t+1}을 생성한다
  4. 각 시점에서 출력 o를 생성할 수 있다

RNN의 특징:

  • 이전 정보를 ‘기억’하여 현재 예측에 활용한다
  • 가변 길이의 입력을 처리할 수 있다
  • 시간적 패턴을 학습할 수 있다

RNN의 한계와 변형:

  • 문제점: 긴 시퀀스에서 초기 정보가 소실되는 문제 (기울기 소실)
  • 해결책:
    • LSTM (Long Short-Term Memory): 장기 기억을 위한 게이트 구조 추가
    • GRU (Gated Recurrent Unit): LSTM의 단순화된 버전

활용 분야:

  • 자연어 처리 (기계 번역, 챗봇)
  • 음성 인식 및 합성
  • 시계열 예측 (주가, 날씨)
  • 텍스트 생성 (작문, 코드 생성)

세 가지 신경망 비교

구조 특화 분야 입력 데이터 주요 특징 대표 응용
ANN 일반적인 데이터 정형 데이터 범용적, 완전 연결 표 데이터 분석
CNN 이미지/영상 공간적 데이터 합성곱 필터, 파라미터 공유 컴퓨터 비전
RNN 시계열/텍스트 순차적 데이터 순환 연결, 기억 기능 자연어 처리

마무리

이번 포스트에서는 머신러닝과 딥러닝의 기본 개념과 주요 신경망 구조들을 살펴보았다. 핵심 내용을 정리하면:

  1. 머신러닝은 데이터로부터 패턴을 학습하는 넓은 개념이고, 딥러닝은 깊은 신경망을 사용하는 머신러닝의 한 분야다
  2. 지도학습은 정답이 있는 데이터로 학습하고, 비지도학습은 데이터의 숨겨진 구조를 발견한다
  3. ANN은 가장 기본적인 신경망, CNN은 이미지 처리에 특화, RNN은 순차 데이터 처리에 특화되어 있다

다음 포스트에서는 이미지 처리의 핵심인 CNN에 대해 더 자세히 알아볼 예정이다. CNN의 내부 작동 원리, 각 층의 역할, 그리고 PyTorch를 사용한 실제 구현까지 단계별로 살펴보겠다.