inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

오차 역전파(Backpropagation)의 Gradient 적용 메커니즘 - 02

back propagation의 weight를 뒤에서부터 업데이트 하는 공식?은 없나요?

540

김진섭

작성한 질문수 10

0

안녕하세요~! 좋은 강의 정말 감사드립니다...!!

강의와 강의 질문중 대답해주신걸 바탕으로 이리저리 고민해봣는데

backpropagation은 뒤에서부터 weight를 순차적으로 업데이트(gradient descent 알고리즘을 이용해서) 한다고 설명 되어 있는데...

현재까지 강의에서는 체인룰에 좀 집중이 되어있는것 같고 최종 미분하는 것이 입력층에서 제일 가까운 weight로 보여집니다

그럼 한가지 궁금한것이

체인룰을 실제로 사용할때 출력층과 제일 가까운 weight를 gradient descent를 이용해서 업데이트(앞쪽 강의의 단일퍼셉트론에서 한것과 같이) 한 다음 그업데이트 된 값에 대해서 다시 체인룰을 적용하는 것인가요!?

인프런 질문.png

다시한번 좋은강의 감사드립니다 성생님!^^

 

 

머신러닝 딥러닝 keras tensorflow kaggle cnn

답변 1

0

권 철민

안녕하십니까,

잘 듣고 계시다니 저도 기분이 좋군요 ^^

체인룰과 Back propagation은 밀접한 관계가 있습니다. back propagation을 위해 딥러닝 식을 체인룰로 표시합니다. 체인룰로 딥러닝 식을 표시하면 출력쪽에 가장 가까운 쪽 부터 차례로 미분을 적용하면 최종적으로 입력쪽에 가장 가까운 식이 미분이 됩니다.

딥러닝 식은 매우 많은 인자로 구성되기 때문에 일반적인 식 구성이 복잡한데 여기에 미분을 적용하기는 매우 어렵습니다. 때문에 체인룰로 딥러닝 식을 구성하는 이유는 back propagation 방식으로 미분을 쉽게 적용하기 위함입니다.

체인룰 식 자체는 입력쪽 함수의 인자로 입력쪽에 가장 가까운 식부터 재귀적으로 내포하면서 만들어집니다. 하지만 체인룰로 만들어진 식을 미분할 때는 출력쪽에 가장 가까운 쪽 부터 미분을 순차적으로 수행하면 최종적으로 입력쪽에 가장 가까운 쪽을 미분하게 됩니다.

제 생각에 거의 다 이해하신것 같은데, 살짝 헷갈리신 부분도 있는것 같습니다 ^^

한번 미분의 연쇄법칙 부터 다시 한번 강의를 복기하시면 더 좋지 않을 것 같습니다.

 

감사합니다.

 

resize 질문

0

51

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

76

1

Loss와 매트릭 관계

0

62

2

Boston 코랩 실습

0

164

2

배치 정규화의 이해와 적용 2 강의 질문

0

136

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

145

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

206

2

소프트맥스 관련 질문입니다

0

208

1

강의 관련 질문입니다

0

151

2

residual block과 identity block의 차이

0

190

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

240

1

실습 환경

0

165

2

입력 이미지 크기

0

244

2

데이터 증강

0

196

2

albumentations ShiftScaleRotate

0

207

1

Model Input Size 관련

0

281

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

204

1

일반적인 질문 (kaggle notebook사용)

0

272

2

실무에서 Augmentation 적용 시

0

338

2

안녕하세요 교수님

0

231

1

가중치 초기화(Weight Initialization) 질문입니다.

0

327

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

409

1

학습이 이상하게 됩니다.

2

1036

2

boston import가 안됩니다

0

229

1