포스트

(CNN) 머신 러닝의 이해 및 딥러닝의 개요

머신러닝과 딥러닝의 차이부터 CNN, RNN까지 한눈에 정리

(CNN) 머신 러닝의 이해 및 딥러닝의 개요

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

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

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

AI, ML, DL의 관계

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

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

머신러닝이란?

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

예를 들어 스팸 메일 필터를 만든다고 생각해보자. 전통적인 방법은 “광고”, “무료”, “클릭” 등의 단어가 포함되면 스팸으로 분류하는 규칙을 직접 코딩하는 것이고, 머신러닝 방법은 스팸 메일과 정상 메일의 예시를 대량으로 제공하고 컴퓨터가 스스로 패턴을 찾도록 하는 것이다.

딥러닝이란?

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

주요 차이점 정리

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

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

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


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

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

지도학습과 비지도학습

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

지도학습 (Supervised Learning)

지도학습은 입력 데이터에 대한 정답 레이블이 주어진 상태에서 모델을 학습시키는 방법이다. 위 그림의 상단 프로세스가 지도학습을 보여준다. 입력 데이터(Input Data)를 모델에 제공하면, 모델이 예측한 답(Model Answers)을 실제 정답(My Answers)과 비교하고 손실 함수(예: 평균 제곱 오차)로 오차를 계산한 뒤, 이 오차를 최소화하는 방향으로 모델을 업데이트한다.

데이터와 정답이 쌍으로 제공되므로 학습 목표가 명확하고 성능을 정량적으로 평가할 수 있다. 이메일 스팸 필터, 이미지 속 동물 분류, 질병 진단 같은 분류 문제와 집값 예측, 주식 가격 예측, 날씨 예보 같은 회귀 문제에 활용된다.

비지도학습 (Unsupervised Learning)

비지도학습은 정답이 없는 데이터를 다루며, 주어진 입력 데이터들에서 숨겨진 패턴이나 구조를 스스로 발견한다. 위 그림의 하단 프로세스가 비지도학습을 보여준다. 정답 없이 입력 데이터만 모델에 제공하면 모델이 데이터의 패턴을 분석하여 결과를 생성하는데, 손실 함수는 그룹 내 분산(within group variance) 등을 최소화하는 방향으로 설계되며 이를 통해 데이터의 내재된 구조를 찾아낸다.

정답 레이블이 없어 평가가 주관적일 수 있다. 고객 세분화나 유사 문서 그룹핑 같은 군집화(Clustering), 데이터 시각화와 특징 압축을 위한 차원 축소, 신용카드 사기 감지나 제조 불량품 검출 같은 이상 탐지에 활용된다.

두 방법의 선택 기준

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

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

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

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

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

ANN 구조

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

그림에서 빨간색 노드들이 데이터를 받아들이는 입력층(Input), 파란색 노드들이 데이터를 처리하는 은닉층(Hidden), 초록색 노드들이 최종 결과를 출력하는 출력층(Output)이다. 각 연결선은 가중치(weight)를 가지며, 각 노드는 입력값들의 가중합을 계산한 뒤 활성화 함수를 통과시켜 비선형성을 추가한다. 이 과정이 각 층에서 순차적으로 반복된다.

모든 노드가 다음 층의 모든 노드와 연결되는 완전 연결 구조라서 단순하고 이해하기 쉬우며, 다양한 종류의 데이터에 적용할 수 있다. 테이블 형태의 정형 데이터 분석이나 간단한 분류, 회귀 문제에 쓰이고, 다른 신경망의 기본 구성 요소가 되기도 한다.

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

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

CNN 구조

그림 4: CNN의 계층별 구조와 특징맵의 변화

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

CNN은 이미지의 공간적 구조를 보존하면서 지역적 패턴을 효과적으로 학습하고, 파라미터 수가 적어 학습이 효율적이다. 얼굴 인식, 자율주행 차량의 객체 탐지, X-ray나 MRI 같은 의료 영상 분석, 문자 인식(OCR) 등에 활용된다.

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

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

RNN 구조

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

그림의 왼쪽은 순환 연결을 가진 압축된 표현이고, 오른쪽은 이를 시간에 따라 펼친 모습이다. 각 시점(t-1, t, t+1)은 같은 가중치를 공유한다. 시점 t-1에서 입력 x_{t-1}과 이전 은닉 상태를 받아 은닉 상태 h_{t-1}을 만들고, 시점 t에서 입력 x_t와 h_{t-1}을 받아 h_t를, 시점 t+1에서 입력 x_{t+1}과 h_t를 받아 h_{t+1}을 만든다. 각 시점에서 출력 o를 생성할 수 있다.

이렇게 이전 정보를 ‘기억’하여 현재 예측에 활용하므로 가변 길이의 입력을 처리할 수 있고 시간적 패턴을 학습할 수 있다. 다만 긴 시퀀스에서는 초기 정보가 소실되는 기울기 소실 문제가 있어서, 장기 기억을 위한 게이트 구조를 추가한 LSTM(Long Short-Term Memory)이나 이를 단순화한 GRU(Gated Recurrent Unit) 같은 변형이 쓰인다. 기계 번역이나 챗봇 같은 자연어 처리, 음성 인식과 합성, 주가나 날씨 같은 시계열 예측, 텍스트 생성 등에 활용된다.

세 가지 신경망 비교

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

마무리

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

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

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.