22.05.21 RUL 예측 평가 지표 파악

2022. 5. 21. 15:33카테고리 없음

1. RUL 예측에 대한 RMSE, MSE, MAE가 무엇일까

시계열 데이터 예측 모형 적합도 평가지표

 

 

SSE 전체제곱합

실제 정답 - time series t일때의 예측값

 

RMSE 제곱근 평균오차제곱합, MSE 평균오차제곱합

MSE는 많은 통계 분석 패키지, 라이브러리에서 모델 훈련 시 비용함수(cost function) 또는 모델 성능 평가시 기본 설정 통계량으로 많이 사용합니다. 

RMSE (Root Mean Square Error) 는 MSE에 제곱근을 취해준 값으로서, SSE를 제곱해서 구한 MSE에 역으로 제곱근을 취해주어 척도를 원래 값의 단위로 맞추어 준 값입니다. 

 

MAE 평균절대오차

 

 

2. Overfitting이란? Overfitting이 되지 않게 하려면

- Overfitting이란 training data를 불필요할정도로 과하게 암기하여 training data에 포함된 노이즈까지 학습한 상태를 말한다. RUL 예측에 따른 RMSE, MSE, MAE가 있을 텐데 training 데이터셋의 Error는 낮아지는데 반해 validation 데이터셋의 Error는 높아진다면 과적합이 발생한다는 뜻이다. 따라서 학습을 진행할 때 이 Error에 대한 추이를 살펴보면서 어느 시점에 과적합이 일어나는지 파악을 하고 적절한 하이퍼파라미터를 선정한다.

- Overfitting이 되지 않게 하려면 일반적으로 1. 데이터 양 늘리기, 2. 모델의 복잡도 줄이기(hidden layer의 수 capacity 줄이기) - 모델에 따라 다름, 3. 가중치 규제 적용하기, 4. Dropout 이용. - 모델에 따라 다름.

의 방법이 있으므로 이를 실행한다. 하지만 모델에 따라 어떤 기법을 효과적인지도 다 다르고 무엇보다도 직접 training 해봐야 알기 때문에 SKT Fellowship을 진행하면서 지원받는 연구비를 통해 training 할 수 있는 환경을 마련하고 과적합 문제를 해결할 것이다.

https://scalar.tistory.com/165

 

22.03.24 딥러닝 학습과정5 - 과적합(Overfitting)을 막는 방법들

training dataset에만 모델이 과적합되는 현상은 모델의 성능을 떨어트리는 주요 이슈이다. train data에 대한 정확도는 높을지라도, 실제 데이터(처음보는 데이터- val data, test data)에 대해서는 정확도

scalar.tistory.com

 

 

3. Throughput, Latency, Capacity, GPU 사용량이 무엇인지.

NVIDIA PLASTER

https://www.tiriasresearch.com/wp-content/uploads/2018/05/TIRIAS-Research-NVIDIA-PLASTER-Deep-Learning-Framework.pdf

  • latency (시간 단위) : 어떤 작업을 처리하는 데 걸리는 시간
  • throughput ( 단위) : 초당 처리하는 작업의 갯수
  • capacity : 모델에 있는 학습 파라미터의 수(w1,w2,w3,b). 층을 넓게(node수 증가), 층을 더 깊게(layer수 증가) / 해결하고자 하는 문제에 비해 모델이 너무 크면 overfitting이 발생한다.  https://itrepo.tistory.com/17
  • GPU 사용량 https://chaelin0722.github.io/etc/gpu_utility/
 

[GPU] GPU 사용량 최대화 하기(GPU Utility) - Pytorch 분산학습을 중심으로

CPU와 GPU 사용량 체크하고 문제점 파악해 보기

chaelin0722.github.io

https://data-newbie.tistory.com/561

 

[Python] 딥러닝 학습하는 도중에 GPU 사용량 확인하기

이번 글은 실제 학습 동안에, GPU를 얼마나 사용하는지를 프린트해주는 것을 찾게 되어서 공유한다. 실제로는 nvidia-smi를 통해서 확인할 수 있지만, 도커를 쓰다보면 이러한 사용량을 알 수 없는

data-newbie.tistory.com

 

 

 3070 8GB, 2080TI 11GB, 3080 10GB

 

딥러닝 현직 개발자로써, 분명 DL에 GPU의 코어와 VRAM의 영향이 큰 건 맞습니다.

벤치도 이를 방증하고요.

하지만, 저는 금전적 상황에 따라 사라고 권해드리고 싶습니다.
(그래도 가급적이면 VRAM이 큰 게 전 더 편했습니다.)

 

코어는 대부분 학습시간을 단축시키는데 할애되고, VRAM은 모델에 데이터를 올리는데 주로 영향을 미칩니다.

VRAM이 조금 적으면 상황에 따라, 나누어 올리거나 모델을 쪼개는 방식과 같이 해결 가능하긴 한데,, 정말 이건 개발시 제일 짜증나는 부분입니다.
한 번에 올라가지 않으면요...
경험상 VRAM을 우선 순위 두고 그다음 코어를 보는게 개발 할 때 편했습니다.