Sigmoid 함수의 특성
안녕하세요 교수님!
섹션 2의 딥러닝 모델에서 활성화 함수의 적용 강의에서 의문점이 생겨서 작성합니다.
Sigmoid 함수의 특성에서 평균값이 0.5, 즉 0이 아니라서 Gradient Update가 지그재그 형태로 발생한다고 하셨는데.. 이 부분이 이해가 잘 되지 않습니다.
입력값의 크기가 양으로 크거나 음으로 클 때 기울기가 0에 가까워서 Gradient Update가 적어진다는 것은 알겠습니다. 하지만 입력값을 넣었을 때의 시그모이드 출력값의 평균과 Gradient Update가 어떤 관계인지가 이해가 되지 않습니다ㅜ
시그모이드를 미분한 함수가 시그모이드 출력값을 입력값으로 넣는게 아닌데... 왜 지그재그로 발생하는 것인가요.....?
감사합니다!
답변 1
0
안녕하십니까,
음, 질문하신 부분이 글로 설명하기에는 좀 복잡한 부분이 있습니다.
입력값과 가중치가 결합된 출력 값에서 sigmoid가 적용된 결과 값이 0이 중심이 아닌 값들로( 예를 들어 0.5) 최종 출력이 되게 됩니다. 그러니까, sigmoid 입력 전 값이 0이 중심( 예를 들어-1 ~ 1 사이) 이더라도 sigmoid 출력값은 언제나 0 보다 크게 됩니다.
이렇게 sigmoid를 통과한 최종 출력값이 언제나 0보다 크게 되면 Backpropagation 시 Deep learning 의 가중치 Layer들의 업데이트 값들이 모두 동일한 부호, 즉 모두 + 이거나 모두 -가 되게 됩니다.
즉 2개의 가중치 layer가 있는 모델(w1, w1가)이라고 할 때 가중치 w1, w1의 업데이트가 모두 +이거나 모두 -가 되게 됩니다. 이걸 식으로 좀 보여드리면 좋을 텐데, 글로 답하기가 어려워서 아래 URL 사이트를 대신 참조해 보시면 좋을 것 같습니다.
https://nittaku.tistory.com/267
요약 드리면 Backpropagation으로 update 될 때마다 모든 가중치들이 + 방향성으로 업데이트 되거나, 또는 - 방향성으로 업데이트 됩니다. 이렇다보니 + 방향성으로 업데이트 될때는 우상향 방향으로, - 방향성으로 업데이트 될때는 좌하단 방향으로 가중치들이 업데이트 되다 보니까, Backpropagation 으로 가중치 값이 업데이트 될 때마다 큰 폭으로 왔다갔다 하는 방향성으로, 즉 지그재그 방향성으로 가중치 값들이 업데이트 되는 현상이 발생하게 됩니다.
감사합니다.
resize 질문
0
50
1
20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅
0
75
1
Loss와 매트릭 관계
0
61
2
Boston 코랩 실습
0
162
2
배치 정규화의 이해와 적용 2 강의 질문
0
134
2
Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?
0
144
2
Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.
0
203
2
소프트맥스 관련 질문입니다
0
208
1
강의 관련 질문입니다
0
151
2
residual block과 identity block의 차이
0
185
2
옵티마이저와 경사하강법의 차이가 궁금합니다.
1
238
1
실습 환경
0
165
2
입력 이미지 크기
0
243
2
데이터 증강
0
195
2
albumentations ShiftScaleRotate
0
205
1
Model Input Size 관련
0
279
1
마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??
0
204
1
일반적인 질문 (kaggle notebook사용)
0
272
2
실무에서 Augmentation 적용 시
0
337
2
안녕하세요 교수님
0
231
1
가중치 초기화(Weight Initialization) 질문입니다.
0
327
1
테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류
0
407
1
학습이 이상하게 됩니다.
2
1036
2
boston import가 안됩니다
0
228
1





