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 초기화 등, 적절 초기값으로 학습 안정화
* 전이 학습 & 파인튜닝
- 사전학습된 모델 일부 활용 → 적은 데이터로 빠른 학습
* 임베딩
- 고차원 희소 벡터를 저차원 실수 벡터로 변환 (단어, 카테고리 등)
'Data Analysis Study' 카테고리의 다른 글
| 딥러닝 분류(Classification) 이진분류 + 추가 학습 (0) | 2025.07.20 |
|---|---|
| 시험 점수 예측 딥러닝 모델 (0) | 2025.07.19 |
| TensorFlow의 핵심 개념과 사용법 (1) | 2025.07.10 |
| TensorFlow (텐서플로우) (1) | 2025.07.09 |
| 타이타닉 생존자 예측 모델(RandomForestClassifier) - 하이퍼파라미터 GridSearchCV & RandomizedSearchCV 비교 (1) | 2025.07.09 |