Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- GAN
- CPU
- alternative loss
- 케라스 창시자에게 배우는 딥러닝
- cyclegan mode collapse
- cnn mlp
- gan mode collapse
- 파이썬
- cyclegan generator
- 의료 영상 용어
- 재귀함수
- minmax loss
- 자료구조
- 의료 용어
- cyclegan discriminator
- fsim
- cyclegan architecture
- 역전파
- 의학 기본 용어
- antslibrary
- lpips
- cyclegan 구조
- 영상 의료 용어
- mode collapse
- 모델성능평가지표
- cyclegan 구성
- cyclegan loss
- CNN
- mlp
- 단일 퍼셉트론
Archives
- Today
- Total
JH 개발자의 성장일지
Deep Learning Study (10) / 24.09.26 본문
- Backpropagation
- Layer가 많이 쌓이면 Backpropagation 계산 시 나타나는 문제점?
- 계산해야 하는 양이 많아짐.
- Local Minimum : 층이 많아질수록 신경망 복잡해짐 → Loss Function의 형태가 더 복잡해짐(더 많은 지역 최솟값을 가짐) → 가중치 업데이트 과정에서 기울기가 0에 가까운 값이 되거나 특정 값으로 수렴하는 경우가 많음. (특히나 Activation Function이 Linear Function(ex. Sigmoid, Tanh 등)인 경우 그 정도가 더 심함) → Global Minimum이 아니라 Plane local 이나 Local Minimum에 빠질 수 있음 → 효과적으로 가중치 업데이트 불가능
역전파 역사
인공신경망 연구 초기 : Single Perceptron에 초점 ⇒ Backpropagation 등장으로 심층 신경망 (ex. Multi-Layer Perceptron) 학습 가능
ex. 3층 신경망 28*28 이미지 데이터 → Input Layer 784, Hidden Layer : 100, Output Layer : 10
가중치 한 번 바꾸는데 123시간 소요 ⇒ 최적의 가중치 찾기 불가능….
Backpropagation 연산을 통해 가중치 업데이트 후 2번째 학습에서 나온 Loss = 0.1245
⇒ Loss가 0.126 → 0.1245 로 줄어듦! (값 자체보다는 ‘줄어든다’에 집중!!)
ML (Machine Learning) vs Regression 의 Activation Function
- Classification vs Regression의 Activation Function (이전 Layer의 Output 값을 변환해 다른 Layer의 뉴런으로 신호를 전달하기 위해서, 주로 Nonlinear Function 활용 ← Linear Function = Layer 수십 개 쌓아도 하나의 Linear 연산이 됨 → 특성 추출 불가능 (많은 실제 데이터는 Linear 보다는 Nonlinear 패턴을 가지고 있음 → Linear Function으로는 복잡한 Nonlinear 패턴 추출 X)
- Classification : (이진) Sigmoid / (다중) Softmax (Softmax의 Output-graph = 입력에 따라 모양 바뀜, Sigmoid의 Output-graph = 일정)
- Regression : ReLU (Rectified Linear Unit) (음수일 수 없는 Regression 문제에 적합, Output 값에 변형 X / Regression 문제 = 연속적인 실수 값을 예측 → 입력 값에 제한 없이 출력이 가능)
Batch Normalization
- Normalization : 데이터의 범위를 특정 범위 또는 규칙에 따라 조정하는 과정
- Normalization 하는 이유
- 다양한 단위나 범위를 가진 데이터를 일관된 형태로 변환
- 데이터의 스케일을 조정하여 분석 또는 처리가 용이
- 학습 알고리즘이 더 빠르고 효과적으로 수렴
- 데이터 내 특징(feature) 간의 상대적 중요도 균등화
- Batch Normalization : 데이터를 학습 간 전체 데이터를 한번에 학습하기에 제한되는 경우, Mini-Batch로 쪼개고, 각 Layer에서의 Mini-Batch 입력 데이터의 분포를 평균 0, 분산 1로 정규화
- Batch Normalization 주요 목적
- 학습 속도 향상 및 안정성 증가
- Overfitting 방지
- Batch ****Normalization & Overfitting 방지
- Batch ****Normalization는 Mini-Batch 단위로 입력 데이터를 Normalization
- 각 Mini-Batch마다 평균과 분산이 달라지는 작은 노이즈가 발생
- 노이즈는 Dropout처럼 가중치에 약간의 무작위성을 부여하는 효과
- 모델의 각 Layer은 입력 분포의 변화에 덜 민감하게 됨.
- 모델이 특정 패턴이나 노이즈에 과도하게 적응(Overfitting)하는 것을 막아줌.
- Batch ****Normalization & Overfitting 방지
- 기울기 소실 문제 완화
- 기울기 소실 문제 & Batch ****Normalization
- 각 Layer의 Input 값이 매우 크거나 작을 때 → Activation Function(Sigmoid, Tanh)의 기울기가 0에 가까워짐.
- Backpropagation에서는 Activation Function의 미분값과 곱해지게 되는데, 이 미분값(기울기)가 0이 되면 가중치 업데이트 X
- Batch Normalization은 입력데이터 (각 층 마다 적용됨)의 분포를 평균 0, 분산 1로 조정 → Input 값이 매우 크거나 작은 문제가 해결되어 Activation Function 기울기가 0이 아닌 다른 값을 Backpropagation에서 곱할 수 있게 도와줌.
- : Layer가 깊어질수록 Backpropagation 과정에서 기울기가 작아져 0에 수렴해서 가중치가 업데이트가 되지 않아, 모델이 업데이트가 되지 않는 과정
- 기울기 소실 문제 & Batch ****Normalization
- Layer Normalization : training case별로 한 Layer의 모든 뉴런에 대한 Summed-Input의 평균과 분산을 구해 Regularization
*Batch Normalization vs Layer Normalizationbatch layer
적용 대상 | 고정된 데이터 구조 (이미지) | 시간적 의존성 가진 데이터 (텍스트, 시계열) |
배치 크기 의존성 | 큼 | 없음 |
시간적 데이터 적합성 | 시간에 따른 변화에 적합 X | 시간에 따른 변화에 적합 O |
이상적 환경 | 배치 내 데이터 통계 안정적일 때 | 미니 배치 크기 작거나 데이터 변동이 적을 때 |
활용 분야 | 이미지 인식, CNN | RNN, 트랜드포머, 자연어처리 |
참고 자료 https://jaylala.tistory.com/entry/Normalization-Batch-Normalization-Layer-Normalization
- : Batch Normalization = Batch 단위의 데이터 묶음 단위로 데이터의 특성(feature) 별 평균과 표준편차를 구함 / Layer Normalization = 데이터 채널 묶음 단위로 단일 데이터 별 평균과 표준 편차를 구함
'Deep Learning' 카테고리의 다른 글
Deep Learning Study (11) / 24.09.27 (0) | 2024.09.27 |
---|---|
이준석 교수님 - Deep Learning, Machine Learning 강의 정리 (2) / 24.09.27 (5) | 2024.09.27 |
Deep Learning Study (9) / 24.09.25 (1) | 2024.09.26 |
Deep Learning Study (8) / 24.09.24 (0) | 2024.09.24 |
이준석 교수님 - Deep Learning, Machine Learning 강의 정리 (1) / 24.09.22 (3) | 2024.09.22 |