딥러닝(35)
-
[밑바닥딥러닝] 14. 과대적합(Overfitting) 대응 - 규제, 드롭아웃
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 과대적합(Overfitting)은 모델의 표현력이 복잡해지거나, 훈련 데이터 수가 적을 때 주로 발생한다. 모델이 과대적합되면 훈련 데이터에 대해서만 정확해지기 때문에 범용적인 모델을 만들 수 없어진다. 이번 장에서는 과대적합을 막기 위한 L1, L2 규제와 드롭아웃(dropout)이라는 방법에 대해서 알아보도록 하자. l1, l2 규제 출처 : https://medium.com/analytics-vidhya/l1-vs-l2-regularization-which-is-better-d01068e6658c L1 규제는 기존 손실값에 (람다(λ)값이 곱해진) 가중치의 절대값을 더한다. 가중치 중에 큰..
2021.10.16 -
[밑바닥딥러닝] 13. 모델 가중치의 초기화
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 좋은 모델을 만들기 위해서는 모델 가중치를 처음에 적절히 설정하는 것이 중요하다. 가중치를 처음 초기화할 때 고르게 분포시키지 않고, 한쪽에 치우치게 하면 어떻게 될까? 위는 활성화 함수로 시그모이드 함수를 가진 모델의 가중치 초기화에 표준편차를 1로 설정했을 때 각 층에 나타난 저장된 활성화 값들을 나타낸다. 시그모이드 함수에 의해 0이나 1에 값이 쏠려있는데 학습 시 역전파의 기울기 값이 점점 작아지다 사라지는 기울기 소실 현상이 발생할 수 있다. 표준편차를 0.01로 작게 설정하면 위와 같이 된다. 대부분의 값이 0.5로 편중되어 있는데, 이 역시 모델의 표현력 관점에서 부정적인 현상이다...
2021.10.16 -
[밑바닥딥러닝] 12. 매개변수 갱신법
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. '좋은 가중치'를 찾기 위해서 우리는 손실 함수를 통해 각 가중치의 값을 지속적으로 갱신한다. 저번 장에서는 가중치의 값을 갱신하는 방법을 확률적 경사 하강법(SGD)를 통해 알아보았는데 SGD 이외에도 매개변수(가중치) 갱신에 다양한 방법을 응용할 수 있다. 다양한 매개변수 갱신법에 대해 알아보도록 하자. 확률적 경사 하강법(SGD) 출처 : https://www.geeksforgeeks.org/difference-between-batch-gradient-descent-and-stochastic-gradient-descent/ 확률적 경사 하강법(SGD)는 가장 기본적인 경사 하강법이라 할 수..
2021.10.16 -
[밑바닥딥러닝] 11. 오차역전파법(backpropagation) 구현(2)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 8장에서 살펴보았던 2층 신경망 구현에서는 가중치에 대한 편미분을 수행해 이를 가중치 갱신에 반영하였다. https://humankind.tistory.com/57 [밑바닥딥러닝] 8. 2층 신경망 구현, 미니배치 학습 본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 이번 장에서는 지금까지 살펴본 신경망의 출력, 손실 함수, 그레디언트, 가중치 humankind.tistory.com 하지만 이는 시간 복잡도 측면에서 매우 비효율적인 방법이었고, 오차역전파법이 그 대안이 될 수 있다는 사실을 확인하도록 하자! 2층 신경망 구현 from..
2021.10.07 -
[밑바닥딥러닝] 10. 오차역전파법(backpropagation) 구현(1)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 지난 장에서는 덧셈 노드와 곱셈 노드에서의 순전파와 역전파 방법에 대해서 살펴보았다. 이번 장에서는 저 두 노드 이 외에도 다양한 계산 노드의 순전파/역전파 구현을 알아보도록 하자. 활성화 함수 구현 1. ReLU 계층 첫번째로 알아볼 활성화 함수는 ReLU 함수이다. 출처 : https://medium.com/@danqing/a-practical-guide-to-relu-b83ca804f1f7 ReLU 함수는 은닉층 노드에 적용되는 활성화 함수 중 하나로, 가중치 합(w1*x1 + w2*x2 + .... +b)이 0을 넘지 못한다면 해당 노드를 0으로 만들고, 0을 넘는다면 가중치 합 그대로를..
2021.10.07 -
[밑바닥딥러닝] 9. 오차역전파법(backpropagation) - 계산그래프
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 지난 장에서는 예측 모델에서 예측한 결과와 실제 값과의 차이를 통해 손실값을 계산하고 계산된 손실 값에서 가중치(및 편향)에 대해서 (가중치마다) 수치미분을 수행해 이를 가중치 갱신에 반영하여 학습시키는 방법에 대해서 알아보았다. 하지만 이는 시간 복잡도 측면에서 매우 비효율적인 방법이므로 이번 장에서 오차역전파법(Backpropagation)에 대해서 알아보도록 하겠다. 계산 그래프 오차역전파에 대해 알아보기 앞서서 계산 그래프가 무엇인지 살펴보고 계산 그래프를 사용했을 때의 이점에 대해서 알아보도록 하겠다. 개당 가격이 a원인 사과 n개를 주문하고 이에 대한 소비세가 t %라고 할 때 이를 ..
2021.10.03