일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ImageNet Classification with Deep ConvolutionalNeural Networks 리뷰
- 다양한 모듈에서 log쓰기
- A Neural Attention Model for Abstractive Sentence Summarization
- 길찾기
- CNN 논문리뷰
- 뉴텝스 400
- Zero-shot Generalization in Dialog State Tracking through GenerativeQuestion Answering
- NLP 논문 리뷰
- UBAR: Towards Fully End-to-End Task-Oriented Dialog System with GPT-2
- Attention Is All You Need
- BART 논문리뷰
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 논문리뷰
- attention 설명
- Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
- MMTOD
- BERT 사용방법
- 정책기반 agent
- TOD 논문리뷰
- Attention Is All You Need 리뷰
- The Natural Language Decathlon:Multitask Learning as Question Answering
- T5 논문 리뷰
- hugging face tokenizer에서 special case 추가하기
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 리뷰
- 바닥부터 배우는 강화 학습
- RuntimeError: DataLoader worker (pid(s) ) exited unexpectedly
- Multi Task Learning Objectives for Natural Language Processing
- Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer 리뷰
- Multi Task Learning Objectives for Natural Language Processing 리뷰
- BERT란
- Evaluate Multiwoz
- Today
- Total
one by one ◼◻◼◻
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 본문
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
JihyunLee 2021. 10. 22. 15:31논문 링크 : https://arxiv.org/abs/1502.03167
이번주에 공부한 내용은 Batch Normalization입니다.
처음에는 논문만 읽고 내용을 이해해 보려고 했는데 지식이 부족해서 논문만 읽고 전체 내용을 이해하기에 한계가 있어서 블로그 글을 몇개 더 읽어보고 내용을 정리 해 보았습니다.
일단 이 논문을 읽어보고 싶었던 이유는! bert에 들어가는 구조이었기 때문입니다.!
리뷰!
신경망 학습은 loss function을 미분한 뒤, 이 기울기를 parameter에 반영하는 방식으로 이루어집니다. 이 기울기가 너무 크거나 작은 경우 학습이 제대로 이뤄지지 않습니다. 그래서 이 문제를 해결하기 위해 ReLU와 같은 활성화 함수를 쓰기도 하고, 가중치 초기값을 잘 두는 방법, small learning rate를 설정하기도 하였습니다
하지만 이러한 간접적인 방법 보다는, 근본적으로 학습 과정 자체를 안정시킬 수 있는 방법이 없을까 하는 고민의 결과로 Batch Normalization이 나오게 되었습니다.
Internal Covariant Shift
학습과정이 안정화 되지 않았다는 것을 internal covariant shift로 표현할 수 있습니다. Internal Covariante SHift는 학습 과정에서 계층별로 입력의 데이터 분포가 달라지는 현상을 말합니다. 각 레이어에서는 데이터를 받으면 > 신경망 연산 + activation function을 거치게 되고 이 과정은 학습 하는 데이터의 분포가 신경망 층 마다 달라지는 결과를 초래합니다. 이 문제를 batch 단위로 학습하는것을 생각해 보면 신경망이 Batch 마다 다른 데이터를 보고 학습하는듯한 문제가 생기게 됩니다.
Whitening
기존에 사용되던 normalization방법으로는 whitening이 있습니다. Whitening은 각 레이어의 입력을 평균 0 분산 1 로 정규화 시키는 방법입니다다. 그러나 이러한 방법은 1. 계산량이 많고, 2. Z=WX + b에서 b의 영향이 사라지고, 이는 학습에 영향을 끼치게 되는 단점이 있습니다.
Batch Normalization
Batch normalization은 이 문제점을 해결했는데,
평균과 분산을 조절하여 Normalization 하는 것을 신경망 학습과 별도의 과정으로 둔 것이 아니라, 이 과정도 파라미터를 두어 학습가능한 방법으로 Normalization을 하였다는 차이점이 있습니다. 위 식에서 감마와 베타가 BN에 사용되는 파라미터이다.
결론
이로인해, 기존보다 좋은 normalization이 가능해 졌다!
그러나: batch size가 너무 작은 경우, 효과가 없을 수 있다는 단점이 있습니다.
참조 : https://eehoeskrap.tistory.com/430
[Deep Learning] Batch Normalization (배치 정규화)
사람은 역시 기본에 충실해야 하므로 ... 딥러닝의 기본중 기본인 배치 정규화(Batch Normalization)에 대해서 정리하고자 한다. 배치 정규화 (Batch Normalization) 란? 배치 정규화는 2015년 arXiv에 발표된 후
eehoeskrap.tistory.com
https://gaussian37.github.io/dl-concept-batchnorm/
배치 정규화(Batch Normalization)
gaussian37's blog
gaussian37.github.io