일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- BFS
- 백트래킹
- 다익스트라
- 회고록
- c++
- 너비 우선 탐색
- lazy propagation
- 세그먼트 트리
- tensorflow
- object detection
- 조합론
- 미래는_현재와_과거로
- 우선 순위 큐
- dfs
- 문자열
- 가끔은_말로
- 크루스칼
- back propagation
- pytorch
- 이분 탐색
- 알고리즘
- 플로이드 와샬
- dropout
- 가끔은 말로
- 분할 정복
- Overfitting
- 자바스크립트
- DP
- NEXT
- 2023
- Today
- Total
목록AI (19)
Doby's Lab

✅ 1. Intro Gradient Vanishing / Exploding의 문제에 대해 알아보겠습니다. 이 문제에 대해 왜 발생하는지를 알기 위해 앞서 Back Propagation에 대해 포스팅으로 정리해 두었습니다. https://draw-code-boy.tistory.com/519 Back-Propagation(역전파)에 대하여 ✅ Contents 1. Intro 2. Gradient Descent 3. Back Propagation (1): MLP 구조 및 함수 정의 4. Back Propagation (2): \(w_{1,1}^{(2)}\) 업데이트 5. Back Propagation (3): \(w_{1,1}^{(1)}\) 업데이트 6. Outro 7. Reference ✅ 1. Intro ..

✅ Contents 1. Intro 2. Gradient Descent 3. Back Propagation (1): MLP 구조 및 함수 정의 4. Back Propagation (2): \(w_{1,1}^{(2)}\) 업데이트 5. Back Propagation (3): \(w_{1,1}^{(1)}\) 업데이트 6. Outro 7. Reference ✅ 1. Intro Batch Normalization에 대해 공부하다가 Gradient Vanishing / Exploding라는 개념이 다시 나왔었습니다. Vanishing / Exploding 문제는 매우 낮거나, 높은 Learning Rate로 인해 발생하는 문제라고만 인식했었는데 Back-Propagation이 원인이 될 수 있다는 얘기가 나왔었습..
Back Propagation에 대해 공부하다가 시그모이드 함수의 미분에 대해 '어떻게 미분을 했길래 이런 결과가 나오는 거지'라는 궁금증이 생겨 정리하게 되었습니다. 몫의 미분법(Quotient Rule) 몫의 미분법이란 분수 형태의 함수를 미분하는 방법을 의미합니다. 예로 주어진 \(g(x)\)는 아래와 같은 형태로 미분됩니다. $$ \{\frac{1}{g(x)}\}' = \frac{-g'(x)}{\{g(x)\}^2} $$ 이런 분수 형태의 함수를 미분하는 것에 대한 증명은 도함수를 사용하여 정리하여봅시다. $$ \begin{align}\{\frac{1}{g(x)}\}' &= \lim_{t \to 0} \frac{\frac{1}{g(x+t)}-\frac{1}{g(x)}}{t} \\ \\ &= \lim..
Gradient Vanishing 현상에 대해 공부하던 중에 Back Propagation의 작동 원리에 대해 알아야 했고, 이 과정에서 미분의 연쇄 법칙이 쓰여 정리해 봅니다. 미분의 연쇄 법칙(Chain Rule) 미분의 연쇄 법칙이란 말이 잘 안 쓰일 뿐이지, 학생 시절에 꽤 많이 봤던 법칙 중 하나입니다. 미분의 연쇄 법칙이란 합성함수에 대한 미분법입니다. \( y=f(g(x)) \)라는 합성함수를 예로 들어 설명해 보겠습니다. 이 합성함수를 미분하면 아래와 같은 결과가 나오는 것은 다 압니다. $$ y' = f'(g(x))\times g'(x) $$ 이게 왜 이렇게 되는지 궁금해졌습니다. 미분을 한다는 것을 자세히 풀어보면 아래와 같습니다. 미분의 유도 과정 $$ \begin{align} y' ..

Batch Normalization Batch Normalization는 모델이 복잡할 때, 정확히는 Layer가 깊어지면서 가지는 복잡도가 높을 때 일어나는 Overfitting을 해결하기 위한 기법입니다. Batch Normalization이 어떻게 작동되는지 알기보다 왜 Batch Normalization이 나왔는지 먼저 알아야 합니다. Internal Covariate Shift 아래 그림과 같이 Input Data의 분포가 Layer를 거치면서 분포가 달라지는 현상을 Covariate Shift라고 합니다. Covariate란 공변량으로 연속성을 가지는 독립변수라는 의미이기 때문에 이러한 의미를 알면 이해하기 쉬울 것입니다. Shift는 말 그대로 옮겨갔다는 뜻으로 '데이터의 분포가 달라졌다'라..

Dropout Dropout이란 학습을 하면서 일부 뉴런을 일부러 끄면서 Overfitting을 방지하는 기법입니다. 뉴런들이 꺼지는 기준은 Hyperparameter인 Dropout-rate를 통해 꺼질지 말지 결정합니다. 또한, Dropout은 batch마다 켜지고 꺼지는 뉴런이 달라집니다. Overfitting 이러한 Dropout이 Overfitting 방지가 어떻게 되는지 알아봅시다. Sample마다 영향력이 강한 feature가 존재합니다. 만약 이러한 feature가 없다면 다른 feature들이 더 영향을 주게 됩니다. 결론적으로 correlation이 강한 feature에 과하게 학습되는 걸 방지하며 최대한 균등하게 영향력을 가져가려 합니다. Ensemble 또한, 학습마다 Dropout..

Regularization Overfitting 문제를 해결하는 데에 있어서 여러 기법들이 있습니다. 오늘은 L1, L2 Regularization에 대해 알아봅시다. 이 두 기법은 모델이 복잡할 때 일어나는 Overfitting을 해결하기 위한 기법입니다. 이 기법을 통해 가중치들이 작아지면서 모델이 아래 그림과 같이 일반성을 가질 수 있도록 합니다. MSE (Mean Squared Error) 들어가기 전에 일반적으로 Cost Function을 많이 쓰이는 MSE에 대해 알아봅시다. MSE란 평균 제곱 오차라는 뜻으로 예측 값과 실제 값의 차이를 제곱하여 이를 모두 평균화한 것을 의미합니다. $$ MSE = \frac{1}{N}\sum_{i=1}^{N}(\hat{y_i}-y_i)^{2} $$ MSE(..

Image Augmentation Image Augmentation(이미지 증강)이란 Overfitting을 막는 방법 중 하나입니다. 더 디테일하게 말하자면 데이터셋의 크기가 작으면 train_set에 대해 모델이 학습할 수 있는 게 적습니다. 그렇기에 모델이 작은 train_set에 대해 최적화되게 학습을 하면서 Overfitting이 나는 현상에 대한 해결책입니다. 즉, Overfitting이 나는 이유가 '데이터셋의 크기가 작아서 그렇구나'라는 의심을 가지고서 Image Augmentation을 사용해야겠다는 판단을 할 수 있는 게 중요하다고 시작하기 전에 앞서 말하고 싶습니다. Overfitting이 일어나는 이유와 이를 대처하는 방법은 항상 여러 가지가 있으니까요. (Regularization..