inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 이론 + PyTorch 실무 완전 정복

13 표준화에 관한 질문

해결된 질문

343

청큐비

작성한 질문수 3

1

1.위의 그림에서 weight가 정규분포(Gaussian distribution)를 따르기 때문에 각 layer의 input의 분포도 정규분포를 따른다고 말씀해주셨는데 그 이유가 궁금합니다..

2.표준화(Z~N(0,1))를 위해서는 확률분포가 정규분포여야 한다고 알고 있습니다..

그래서 batch normalization의 위의 식에서 x가 정규분포를 가져야 한다고 생각했는데 학습 데이터셋은 직접 정규분포를 가지게 넣는다고 가정하더라도 그 다음에 있는 convolutional layer의 weight가 gradient descent에 의해 업데이트 되어 더이상 정규분포를 따르지 않으면 출력값이 정규분포를 따르지 않을수도 있지 않을까요...?

딥러닝 pytorch NLP 컴퓨터-비전 cnn rnn transformer llm

답변 1

2

변정현

안녕하세요!

좋은 질문들을 주셔서 감사합니다~

첫번째 질문의 경우, 제가 Weight이 He initialize로 초기화되었다는 설명을 드리면서 혼선을 드린 것 같네요.

부연설명드리자면, Weight은 처음에 초기화될때 Normal Distribution으로부터 샘플링된 것으로, 샘플링 된 후에 (즉, 이후 학습의 과정)에서는 특정 값을 가지는 parameter입니다. 반면에 입력값은 학습 과정에서 계속 랜덤하게 샘플링되는 Random Variable이라고 볼 수 있습니다.

그리고 Gaussian 분포를 따르는 Random Variable에 사칙연산들을 적용했을때 Gaussian 분포가 출력되므로 WX+b의 분포도 Gaussian 분포를 따르게 됩니다.

Non-linear한 transformation이 적용된 경우, 변환된 Gaussian 분포는 Gaussian이 아닐 수 있지만 변환이 충분히 smooth하고 입력 분포의 Variance가 작다면 변환된 분포는 대략적으로 Gaussian 분포를 따른다고 볼 수 있습니다.

따라서 각 Layer의 출력값 (즉, 다음 Layer의 입력값) 들은 대략적으로 Gaussian 분포라고 볼 수 있습니다.

두번째 질문의 경우도 마찬가지로, Gradient Descent을 수행한 후에는 Weight parameter 값은 변하고 이에 따라 WX + b 의 평균과 분산은 바뀌지만 출력되는 분포는 여전히 Gaussian입니다.

답변이 도움이 되었으면 좋겠네요 ㅎㅎ

감사합니다!

1

청큐비

제가 W를 값으로 보지 않고 하나의 Random Variable로 착각해서 보았군요! 답변 감사합니다!

노션URL 이동문제

0

56

1

섹션12 실습코드 의 initialization 각각 적용 코드 문의

0

97

0

오타

0

82

0

혹시 이론강의 자료도 공유가 가능하실까요?

1

166

1

[sec. 2-8 실습] 배치사이즈의 선택

0

171

2

[section 14 / [실습] 직접 만든 CNN 모델과 ResNet, VGGNet을 활용한 CV 프로젝트] transforms.Normalize 질문

1

226

1

[section 14 / VGGNet ] receptive filed 질문

1

131

2

[섹션3, PyTorch로 구현해보는 Loss Function] 분류task loss함수 질문입니다.

1

233

2

KL Div Loss에서 Negative Entropy를 더해주는 의미에 대해서

1

193

2

GoogleNet Inception 모듈

1

166

2

Batch Normalization 효과

1

183

2

Layer Norm이 언어모델에 적합한 이유

1

520

1

9-2 fully connected NN

1

129

1

Mini-batch Gradient Descent computation time 질문

1

175

2

Huber Loss에 대한 질문

1

303

2

Batch size 가 극단적으로 작은 경우 (예를들어 batch_size =1) Normalization 적용 방안

3

351

1

Normalization 질문

1

270

2

Section 7 [Activation Function의 종류] Softmax logit 분포와 Entropy 질문이 있습니다

2

210

1

Section 3 [실습] PyTorch로 구현해보는 Loss Function의 Cross Entropy 구현 관련하여 질문이 있습니다.

1

299

1

Section 3의 [이론] Regression task의 Loss: L1, L2, Huber, Log Cosh Loss "미분가능"관련 에서 질문이 있습니다.

1

280

1

Section 15 실습 중, lstm 클래스의 forward 함수 질문

1

236

2

Section 16 [이론] Transformer의 Encoder 질문

1

177

1

Auto Differentiation에서 computational Graph 질문있습니다

1

212

1

Section 3 이론 classification Loss function 질문

1

235

1