Data Analysis Study

딥러닝의 기초 개념과 이론 총정리

Solbi Lee 2025. 7. 19. 19:21

1. 딥러닝이란?

딥러닝은 머신러닝의 한 분야로 인간의 뇌에서 영감을 받은 인공 신경망을 사용한다. 

AI(인공지능)머신러닝딥러닝

 

신경망(Neural Network)의 핵심 구조

신경망은 다음 3가지 층(layer)으로 구성된다. 

- 입력층(Input Layer) : 데이터를 처음 받아들이는 층

- 은닉층(Hidden Layer) : 데이터를 가공하고 특징(Feature)을 추출하는 중간층

- 출력층(Output Layer) : 최종 결과를 도출하는 층

 

딥러닝(심층학습)이란?

층(Layer)의 개수를 늘려서 신경망을 깊게 만드는 것을 심층 신경망( Deep Neural Network) 이라고 한다. 

이렇게 깊은 층을 가진 신경망을 이용한 학습 과정을 딥러닝이라고 부름 

 

2. 딥러닝의 활용 분야 및 가능성 

딥러닝으로 해결 가능한 주요 문제

- 분류(Classification) : 데이터를 카테고리로 나눔 (예: 스팸메일 분류)

- 회귀(Regression) : 연속된 값을 예측 (예: 주가 예측, 집값 예측)

- 클러스터링(Clustering) : 비슷한 데이터끼리 그룹화

- 이미지 생성(Image Generation) : GAN 등으로 가짜 이미지 생성

- 자연어 처리(NLP) : 챗봇, 번역기, 감정 분석 등

 

3. 딥러닝 관련 용어 심층 분석 

* GPU

- 고성능 병렬 연산장치. 딥러닝 학습 속도 향상에 필수적 

- 일반 CPU 대비 수백~ 수천 배 더 빠르게 신경망 연산 가능 

* 셀프 수퍼바이즈 러닝 (Self Supervised Learning)

- 레이블(모델이 예측하도록 학습하는 정답, target)이 없는 대규모 데이터로 모델을 학습시키는 방식 

- 스스로 학습 데이터를 생성하거나 가짜 문제를 만들어 학습 수행 

- 레이블링 비용 (사람이 일일이 태깅하는 시간, 비용) 절감 

- 사전학습 후, 소량의 레이블 데이터로도 높은 성능 달성 

예시 )

예시 도메인     Pseudo‑Task(가짜 문제)                                            설명

언어(NLP) 마스크된 언어 모델링 (Masked LM)– 문장에서 일부 단어를 [MASK] 로 가리고, 원래 단어 예측– 대표 모델: BERT - 문장에서 토큰 15%를 가린 뒤, 가려진 토큰을 맞추는 과제- 대규모 말뭉치로 사전학습 후, 감정분류·QA 등 다양한 다운스트림에 활용
컴퓨터 비전(CV) Contrastive Learning (SimCLR, MoCo)– 하나의 이미지에 서로 다른 Augmentation(크롭, 색상 조정 등)을 적용해 “같은”/“다른” 쌍을 만들고 구분 - 이미지 A를 Crop1·Crop2로 변형하여 같은 클래스(positive pair), 다른 이미지와는 negative pair로 학습- 임베딩 공간에서 유사도가 높아지도록 Contrastive Loss 최적화
오토인코더(Autoencoder) 입력 복원 (Reconstruction)– 입력 데이터를 잠재벡터로 압축했다가, 다시 원본으로 재구성 - Encoder–Decoder 구조를 통해 입력 x → z → x̂ 재생성- 재생성 오차를 최소화하며 특징(feature) 학습

* BERT 모델 

- 구글이 개발한 자연어처리(NLP)의 혁신적인 모델

- 최초로 문장을 양방향으로 분석하여 단어의 맥락(context)을 더욱 정확하게 파악

* 인코더 (Encoder)

- 문장을 숫자 형태의 의미 있는 벡터로 변환하는 구성요소

- 번역, 요약, 문장 생성에 필수적

* 퍼셉트론(Perceptron)

- 최초의 간단한 인공신경망 형태

- 입력값을 받아 가중치를 곱한 후 합산하고 임계값을 넘으면 활성화되어 출력

* 가중치(weight)

- 각 입력 신호의 중요도를 나타내는 값

- 모델이 데이터에서 배우는 실제 값

4. 딥러닝 학습의 핵심 포인트 

- 양질의 데이터 : 많은 양의 데이터일수록 학습 성능 향상 

- 핵심 용어 (Terms) : 뉴런, 활성화 함수, 손실 함수 등 

- 모델 이해 : CNN, RNN, GAN, Transformer 등 

- 알고리즘 숙지 : 모델 최적화 방법 (경사 하강법 등)

5. 대표적인 딥러닝 모델의 분석

* CNN(합성곱 신경망)

- 이미지 처리 분야에서 매우 뛰어난 성능

- 이미지의 지역적 패턴을 분석하여 특징 추출에 효과적 (작은특징, 모서리, 선, 색 번짐 등을 자동으로 찾아낸다)

(1) 필터(커널)를 작은 창(예: 3×3)으로 이미지 위를 쭉 훑으며 곱셈·합(sum) 계산

(2) 각 위치별 결과가 모여 새로운 ‘특징 맵(feature map)’ 생성

(3) 여러 필터를 써서 다양한 특징(수직선, 수평선, 모서리 등)을 뽑아냄

(4) 풀링(pooling) 단계에서 중요 정보만 압축 → 계산량 절약

=> 마치 확대경으로 사진 구석구석을 살펴보면서 여기 모서리가 있네? 저긴 색이 진하네? 를 하나하나 기록하는 과정과 비슷하다. 

이미지의 지역 패턴을 효율적으로 잡아내기 때문에, 고양이vs강아지, 물체 분류에 탁월함. 

*  RNN(순환 신경망)

- 시간 순서가 중요한 데이터 처리(자연어, 시계열 데이터)에 적합

- 이전 데이터의 결과를 현재 데이터 입력으로 활용하여 시간적 흐름 이해

(1) 시퀀스(문장, 시계열 등)의 각 요소를 한 번에 하나씩 읽음 

(2) 은닉 상태(hidden state)라는 메모리에 이전까지 본 정보를 보관 

(3) 새로운 입력이 들어올 때마다 이전 메모리와 합쳐서 출력을 만듦 

=> 글을 읽을 때 앞 문장에서 누가 누구인지 기억하면서 다음 문장을 이해하는 것과 동일 

예  : 어제 나는 사과를 샀다 그리고 __을 먹었다. 에서 "나는" 과 "사과"를 기억해야 "사과를"로 문맥 이해 

장점 : 순차정보(문맥, 추세)를 자연스럽게 학습 

단점 : 긴 시퀀스에선 먼 과거 기억이 빠르게 사라지기 쉬움 -> LSTM, GRU 같은 개선형 등장

* GAN(적대적 생성 신경망)

- 진짜 같은 데이터를 생성하는 모델 (이미지, 음성, 텍스트)

- 생성자와 판별자가 경쟁하여 높은 품질의 데이터를 생성

(1) 생성자(Generator) : 랜덤 노이즈를 받아 "가짜 데이터" 생성 

(2) 판별자(Discriminator): 진짜 데이터와 가짜 데이터를 구분하려 시도 

(3) 서로 경쟁(적대적 학습) 하며 함께 발전 

=> 생성자는 판별자를 속이기 위해 점점 더 그럴듯한 샘플을 만들고

판별자는 생성자의 가짜를 더 잘 구분하려고 학습

두 네트워크가 균형을 이룰 때, 고품질 가짜 데이터가 탄생함 

6. 딥러닝의 핵심 개념 완벽 정리 (세부)

* 뉴런 

- 사람의 뇌 속 정보를 처리하는 뉴런을 모방한 인공 구조

- 입력을 받아서 계산한 후 결과(출력)을 다음 뉴런에게 전달 

예 ) 뉴런 1 : 동전(input)을 넣으면 어떤 음료를 선택했는지 계산 (Processing)한 음료(output)가 나옴 

뉴런 2 : 음료(input)를 넣으면 위와 장에서 처리(Processing)한 후 소변(output)이 나옴 

뉴런 3 : 소변 (Input)을 정제(Processing)해서 의약품(output)이 나옴 

* 입력층 (Input Layer)

- 데이터를 처음 받아들이는 층 

- 입력값 (숫자, 이미지의 픽셀, 텍스트의 벡터 등)을 신경망에 넣는 입구 또는 층 

예 ) 손글씨로 된 숫자 5 이미지를 입력하면 입력층은 28*28 픽셀의 784개의 숫자를 받게됨 

 

* 은닉층 (Hidden Layer)

- 입력을 받아서 계산하고 가공하는 중간 층 

- 은닉층에서 모델은 특징(Feature)들을 추출한다.

예 ) 입력층이 '재료' 출력층이 '완성된 요리', 은닉층은 '요리사 

- 복잡한 문제일수록 은닉층이 많아짐 (깊어짐) -> 딥러닝 

* 출력층 (Output Layer)

- 최종 결과를 도출하는 층 

- 분류 문제라면 클래스별 확률을 출력함, 회귀 문제라면 다가올 값을 출력함 

예 ) 손글씨 숫자 분류라면, 출력층은 0~9까지 10개의 결과 중 하나를 출력 

* 활성화 함수 (Activation Function)

- 뉴런이 얼마나 강하게 신호에 반응할지를 정하는 함수 

- 뉴런의 입력값(합산된 신호)를 받아 -> 출력값으로 변환

이유 : 

비선형성 도입 : 선형(직선) 변환만 쌓으면 아무리 깊어도 한 줄 결과만 나옴 -> 복잡한 패턴 학습 불가 

활성화함수를 쓰면 곡선(비선형)이 생겨 모델이 이미지, 언어, 시계열의 복잡한 특징을 잡아낼 수 있음 

출력 범위 조정 : 확률처럼 0 또는 1 사이로 범위를 제한 

- 대표적인 활성화 함수 

 

  • ReLU: 가장 많이 사용, 음수는 0 처리
  • Sigmoid: 확률값(0~1) 도출, 이진분류 사용
  • Tanh: (-1~1) 값 도출, 순환 신경망에서 유용

* 손실 함수 (Loss Function)

- 정답과 모델의 예측이 얼마나 차이 나는지 측정하는 처도 

- 발생하는 손실값을 최소화하는 방향으로 학습 (역전파)

- 대표적인 손실 함수 

MSE (평균 제곱 오차) : 회귀에 사용, (실제값 - 예측값) ^2

Cross Entropy : 분류에 사용, 확률 분포간 거리 측정 

예 : 시험 답안이 틀린 정도를 알려주는 시험지 채점 기계 

* 최적화 함수 ( Optimizer Function)

- 모델의 손실을 최소화하기 위해 가중치를 점진적으로 조정해나가는 알고리즘 

- 목표는 손실을 최소로 하여 좀 더 정확한 예측을 하도록 하기 위함 

- 주요 알고리즘 : 

 

  • SGD(확률적 경사 하강법): 단순하지만 느림, 학습률 자동 조절 불가
  • Adam: 자동으로 학습률 조정하여 빠른 수렴 (실무에서 매우 선호)

 

 

< 용어 비유 >

 

입력층 : 식재료 

은닉층 : 요리사 

출력층 : 완성된 요리 

뉴런 : 조리도구 

활성화 함수 : 불조절 

손실함수 : 완성된 요리에 대한 평가자 


추가 학습 

* 학습률 (Learning Rate )

- 가중치 갱신 폭 조절 -> 너무 크면 발산, 작으면 느린 수렴 

* 학습 스케줄러 (LR Scheduler)

- Epoch마다 학습률 자동 감소 : Step, Cosine, Warmup 등 

* 학습 단위 

- Epoch : 전체 데이터 셋을 한 번 학습하는 주기 

- Batch : 한 번에 네트워크에 공급하는 샘플 묶음 

- Iteration : 한 Batch 학습 -> 한 Iteration

 

* 전파 과정 

- 순전파 (Forward Pass)

입력 -> 각 층을 지나며 출력 계산 

- 역전파 (Backpropagation)

손실 기준으로 그래디언트 계산 -> 가중치 편향 업데이트 

* 정규화 & 일반화 

- 배치 정규화 (Batch Normalization)

층별 입력 분포 자동 표준화 -> 학습 안정화 속도 개선 

- 드롭 아웃 (Dropout)

학습 시 무작위 뉴런 비활성화 -> 과적합 억제 

- L1, L2 정규화 

가중치 크기 페널티 -> 과적합 감소 

- 조기 종료

검증 성능 악화 시 학습 중단 -> 과적합 방지 

* 그래디언트 소실/폭발 (Vanishing/Exploding Gradient)

- 깊은 네트워크에서 역전파 시 기울기 소명 또는 급증 문제 

* 가중치 초기화 

- Xavier, He 초기화 등, 적절 초기값으로 학습 안정화

* 전이 학습 & 파인튜닝 

- 사전학습된 모델 일부 활용 → 적은 데이터로 빠른 학습

* 임베딩 

- 고차원 희소 벡터를 저차원 실수 벡터로 변환 (단어, 카테고리 등)