21.05.18 10:31 작성
·
336
0
안녕하세요. 제가 오토인코더 loss를 ssim나 mse로 설정해서 훈련을 하습니다
오토인코더가 binary_crossentropy 혹은 categorical_crossentropy와 같은 기본 분류가 아니다보니 metric을 아래와 같이 그냥 적으면 이게 맞는 것인지 모르겠습니다
metrics=['mae'] if loss == 'mse' else ['mse']
metrics.append(['acc', Precision(name='precision'), Recall(name='recall'), AUC(name='auc')])
일정 threshold가 있어야, 정상 혹은 비정상으로 분류한 것인지 알아야 하는데 헷갈리네요
답변 3
0
0
0
2021. 05. 18. 16:23
네. 안녕하세요~. 반갑습니다.
1. 오토인코더의 로스는 위에 말씀해주신대로 mse나 mae로 설정해주시면 됩니다.
2. 오토인코더를 이용한 정상 비정상은 말씀해주신대로 threshold를 지정해서 사용하시면 되는데요. 이때 정상/비정상 이미지를 넣어서 hidden layer의 output으로 나온값들을 이용해서 정상 이미지일 경우에 대한 일정한 기준 threshold를 설정하고 새로운 이미지를 넣었을때 hidden layer의 output으로 나온값이 일정한 threshold를 벗어나면 비정상이라고 판단하는 형태로 작업하시면 됩니다. 적절한 threshold에 대한 공식이 딱 정해져 있는 것은 아니라서 직접 데이터로 실험해보시면서 설정하시면 될 것 같습니다.
감사합니다~.