인공지능(Artificial Intelligence)
-
높은 학습률은 nan 예측을 만들 수 있다.인공지능(Artificial Intelligence)/딥러닝(Deep Learning) 2023. 1. 8. 23:42
모델의 그라디언트가 너무 커지게 되면 모델의 가중치가 너무 높거나 낮아져 모델의 예측이 nan이 될 수 있다. 이를 방지 하기 위해선 1) 낮은 학습률 2) gradient clipping 3) weight decay 등을 적용 할 수 있다. 1)은 그라디언트의 크기를 줄이는 용 2), 3)은 모델의 가중치에 대한 큰 그라디언트의 효과를 완화시키는 용 warmup scheduler를 이용해 eta_max (learning rate의 상한치)를 1e-2~5e-3를 주었을 때 2번째 에폭 학습 도중 모델의 결과가 nan이 발생하였다. 이를 1e-3을 줄임으로써 문제가 해결되었다. scheduler = CosineAnnealingWarmUpRestarts(optimizer, T_0=10, T_up=2, eta..
-
Probability calibration인공지능(Artificial Intelligence)/기계학습(Machine Learning) 2022. 7. 11. 11:09
Probability calibration 확률 보정 Building Machine Learning Porwed Applications의 5.2.4에 보정 곡선이라는 내용이 나온다. 모델 평가에 대한 내용 중 일부로 오차 행렬 (Confusion Matrix), ROC 곡선 (ROC Curve) 다음에 등장하는 내용이다. 책에서는 다음과 같이 보정 곡선에 대해 설명한다. "이진 분류 작업에 유용한 또 다른 그래프이며 모델 출력 확률을 신뢰할 수 있는지 가늠하는데 도움이 된다. 분류기의 신뢰도에 대한 함수로 진짜 양성 샘플의 비율을 나타낸다." 기계학습을 공부하며 처음 알게 된 평가방법으로 조금 더 자세히 알아보기로 하였다. 참고 내용은 가장 하단에 링크로 정리되어있다. 우선적으로 확률 보정에 대해 이해해..
-
Tabular Data Augmentations인공지능(Artificial Intelligence)/기계학습(Machine Learning) 2022. 6. 27. 00:37
Tabular Data Augmentations 표 데이터 증강 이미지나 가끔은 텍스트/시계열 데이터에서 데이터 증강이 효과적임을 보곤한다. 강아지 이미지가 회전을 하더라도 강아지이고, 신경망은 이를 이해할 수 있다. 하지만 tabular data를 다룰 때는 상황이 약간 달라진다. table을 회전하거나 확대/축소를 할 수는 없으니. 그렇다면 뭘 해야할까? Simple Noise (Jitter) 간단히 말해서, columns 그 자체에 노이즈를 추가 할 수 있다. 이 방식에서 간단한 개선 사항을 생각한다면, 노이즈를 추가하려 할 때 columns의 표준편차(std)를 고려하는 것이다. Swap Noise 과거에 여러 번 사용되었다. (1), (2) 이 방법은 같은 feature column에 있는 값을..
-
Mixed precision methods인공지능(Artificial Intelligence)/딥러닝(Deep Learning) 2022. 6. 15. 10:05
요약 Mixed precision methods은 계산시 다른 수치 포맷을 사용하는 방법을 포함한다. 서론 32-bit 부동소수점 보다 낮은 정밀도를 가진 수치 포맷을 사용하는 것은 여러 이득을 준다. 1. 메모리를 덜 필요로 한다. 이는 더 큰 신경망을 학습하고 deployment할 수 있게 한다. 2. 메모리 bandwidth를 덜 필요로 한다. 이는 데이터 전송 연산의 속도를 올려준다. 3. 수학 연산이 더 빠르게 작동한다. 특히 Tensor Core 지원하는 GPU에서의 성능 개선을 보여준다. 참고 https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html