오토인코더 모델성능 비교

강재윤·2024년 12월 23일

각각 상황일 때 어떤 것을 우선시 할지는, thresholds를 선정하는 기준을 바꿔가면 설정하면 된다.

accuracy

데이터가 두 개의 class가 비율이 비슷할 때(만약 양성 99 음성 1 일때 다 양성이라고만 평가해도 accuracy가 99가 나옴. 성능은 별로지만)

제품 분류 모델
제품이 여러 가지 범주로 고르게 분포되어 있는 경우, Accuracy를 통해 모델의 전반적인 성능을 평가할 수 있습니다.

precision

true positive를 놓치지 않는 경우가 중요할 때
추천시스템 - 추천하는 상품이 부적절한 경우, 고객이 떠나는 결과를 초래함.

recall

False Negative의 비용이 치명적인 경우,
Positive 사례를 절대로 놓쳐서는 안 되는 경우
암 진단 모델
False Negative(환자를 정상으로 판단)는 진단 실패로 이어져 치료를 놓칠 수 있습니다.

f1 score

데이터가 불균형하고,
Precision과 Recall 사이의 균형이 필요하며,
False Positive와 False Negative의 비용이 모두 중요한 경우

예시: 채용 시스템
잘못된 지원자를 선발(False Positive)하거나 우수한 지원자를 놓치는(False Negative) 비용이 모두 크다면, F1 Score로 Precision과 Recall 간의 균형을 평가하는 것이 중요합니다.

오토인코더 각 요소들
전반적인 성능들을 우선시함.

인코더 구조

인코더 FLOPs에 따라, 성능을 비교한다.
(codetr) (base) moa@moa-Precision-3650-Tower:~/Documents/advanced_ann/2024/Code$ python FLOPs.py
FLOPs 계산 결과:
Config 1: FLOPs = 2.31 MFLOPs
Config 2: FLOPs = 2.24 MFLOPs
Config 3: FLOPs = 3.19 MFLOPs
Config 4: FLOPs = 6.70 MFLOPs
Config 5: FLOPs = 8.24 MFLOPs
Config 6: FLOPs = 11.32 MFLOPs

layer_configs = [
[784, 512, 256, 128, 64, 32, 64, 128, 256, 512, 784],
[784, 500, 250, 125, 62, 32, 62, 125, 250, 500, 784],
[784, 600, 400, 200, 32, 200, 400, 600, 784],
[784, 700, 600, 500, 400, 300, 200, 100, 32, 100, 200, 300, 400, 500, 600, 700, 784],
[784, 700, 625, 550, 475, 400, 325, 250, 175, 100, 32, 100, 175, 250, 325, 400, 475, 550, 625, 700, 784],
[784, 700, 650, 600, 550, 500, 450, 400, 350, 300, 250, 200, 150, 100, 50, 32, 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 784]
]


config 2, config 3 비교 - 인코더 레이어 수,크기와 컴퓨팅 자원 cost 관계

Config3, Config4를 비교해보면, 인코더 레이어 수는 Config2가 더 많지만 FLOPs는 Config3가 더 크다. 이는 인코더의 크기 또한 cost를 결정하는데 중요하다는 것을 의미한다. 따라서, 모델의 Cost증가랑 성능 증가 정도를 비교하면서 trade-off를 정해야한다.

config 2, config 4 비교 - 성능과 컴퓨팅 자원 cost 관계

config 2와 config 4의 accuracy, precision 차이는 각각 0.0077, 0.0234로 큰 차이가 없지만 FLOPs는 2.24, 6.70으로 컴퓨팅 자원이 3배 이상 차이난다. 따라서 저 정도의 성능 증가보단 컴퓨팅 자원의 증가가 훨씬 더 크기에 config2를 선택할 수 있다.

config 4, config 5 비교 - 전체적인 성능과 precision, accuracy 관계

AVP, ATP를 기준으로 모델의 전체적인 성능을 비교했을 땐 0.101, 0.0253 정도로 config 5가 크게 감소하지만, accuracy는 0.0147이 감소하고, 0.0201이 증가하는 것으로 오히려 성능이 증가하였다. 이에 따라서, config 4 5를 비교했을 경우 상황에 따라 config 5를 선택하는 경우도 있을 수 있다.

FLOPs ≈ 컴퓨팅 자원 사용량

연산량이 많을수록 GPU/TPU의 활용도가 증가하고, 전력 및 자원 소모가 높아집니다.
추론 환경에서 효율적인 FLOPs 관리는 비용과 성능 간 균형을 유지하는 데 중요합니다.

학습 시간 ≈ 시간 자원 사용량

학습 시간이 길수록 프로젝트 일정과 개발 생산성에 영향을 미칩니다.
시간 자원을 효율적으로 관리하려면 학습 최적화(예: 배치 크기 조정, 병렬 처리)가 필요합니다.

0개의 댓글