반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- CES 2O21 참여
- cudnn
- mglearn
- html
- discrete_scatter
- inorder
- 대이터
- java역사
- C언어
- postorder
- 웹 용어
- web 개발
- web
- 재귀함수
- classification
- web 용어
- bccard
- 데이터전문기관
- 결합전문기관
- tensorflow
- 자료구조
- paragraph
- KNeighborsClassifier
- 머신러닝
- vscode
- web 사진
- pycharm
- CES 2O21 참가
- broscoding
- Keras
Archives
- Today
- Total
bro's coding
WGAN.weight clipping(가중치 클리핑) 본문
반응형
WGAN의 가중치 클리핑 (Weight Clipping)
Wasserstein GAN(WGAN)은 기존 GAN의 훈련 불안정성을 개선하기 위해 등장한 모델로, Wasserstein 거리(지구 거리)를 사용하여 생성자와 판별자 간의 차이를 측정합니다. WGAN에서는 판별자가 1- Lipschitz 연속 조건을 만족해야 하는데, 이를 간단히 구현하기 위해 가중치 클리핑(weight clipping)을 사용합니다.
가중치 클리핑의 개념
- WGAN의 판별자(critic)가 Lipschitz 연속성을 만족하려면 네트워크의 가중치가 특정 범위 내에 제한되어야 합니다.
- 훈련 중 판별자의 모든 가중치를 일정 범위
[−c, c]
로 제한하는 방법이 가중치 클리핑입니다. - 이를 통해 판별자가 Lipschitz 조건을 근사적으로 만족하도록 합니다.
가중치 클리핑의 구현 방식
- 판별자의 가중치를 업데이트한 후, 각 가중치를 특정 범위로 자릅니다.
- 예를 들어, 가중치
w
가[-0.01, 0.01]
범위를 벗어나면, 해당 값을 범위 내로 조정합니다. - 수식으로 표현하면 다음과 같습니다:
w = clip(w, -c, c)
가중치 클리핑의 장점
- 간단한 구현으로 Lipschitz 연속성을 근사적으로 유지할 수 있음.
- 훈련 불안정성을 감소시키고 WGAN의 수렴 특성을 향상.
가중치 클리핑의 단점
- 모든 가중치를 단순히 잘라내기 때문에 표현력이 제한될 수 있음.
- 네트워크가 과도하게 제한되면 gradient vanishing 문제가 발생할 수 있음.
- 따라서 최근에는 Gradient Penalty와 같은 대안이 더 널리 사용됨.
결론
WGAN에서 가중치 클리핑은 Lipschitz 연속성을 보장하기 위한 간단한 방법으로, 훈련 안정성을 가져다주는 중요한 요소입니다. 그러나 단점도 존재하기 때문에, 이를 보완하기 위해 WGAN-GP(WGAN with Gradient Penalty)와 같은 방식이 제안되었습니다.
https://broscoding.tistory.com/308
반응형
'[AI] > GAN' 카테고리의 다른 글
WGANGP.source (0) | 2020.07.15 |
---|---|
WGANGP.train.faces (0) | 2020.07.15 |
Threshold(임계치) (0) | 2020.07.15 |
GAN VS DCGAN (0) | 2020.07.15 |
WGAN.source (0) | 2020.07.15 |
WGAN.mode collapse(모드 붕괴) (0) | 2020.07.15 |
GAN.source (0) | 2020.07.15 |
WGAN.example.train.cifar (0) | 2020.07.14 |
Comments