의미론적 분할 모델을 최적화하기 위해 일반적으로 사용되는 손실 함수에는 Soft Jaccard 손실, Soft Dice 손실 및 Soft Tversky 손실이 포함됩니다. 그러나 이러한 손실 함수는 소프트 레이블과 호환되지 않으므로 레이블 평활화, 지식 증류, 준지도 학습 및 다중 주석자와 같은 일부 중요한 훈련 기술을 지원할 수 없습니다. 이러한 훈련 기법은 의미론적 분할 모델의 성능과 견고성을 향상시키는 데 매우 중요하므로 이러한 훈련 기법의 적용을 지원하려면 손실 함수에 대한 추가 연구와 최적화가 필요합니다.
한편, 일반적으로 사용되는 의미론적 분할 평가 지표로는 mAcc와 mIoU가 있습니다. 그러나 이러한 지표는 더 큰 객체를 선호하므로 모델의 안전 성능 평가에 심각한 영향을 미칩니다.
이러한 문제를 해결하기 위해 루벤대학교와 칭화대학교 연구진은 먼저 JDT 손실을 제안했습니다. JDT 손실은 Jaccard Metric 손실, Dice Semimetric 손실 및 Compatible Tversky 손실을 포함하는 원래 손실 함수를 미세 조정한 것입니다. JDT 손실은 하드 라벨을 처리할 때 원래 손실 함수와 동일하며 소프트 라벨에도 완전히 적용 가능합니다. 이러한 개선으로 모델 학습이 더욱 정확하고 안정적으로 이루어졌습니다.
연구원들은 라벨 스무딩, 지식 증류, 준지도 학습, 다중 주석기 등 4가지 중요한 시나리오에서 JDT 손실을 성공적으로 적용했습니다. 이러한 애플리케이션은 모델 정확도와 보정을 향상시키는 JDT 손실의 힘을 보여줍니다.
Pictures
논문 링크: https://arxiv.org/pdf/2302.05666.pdf
Pictures
논문 링크: https://arxiv.org/pdf/2303 .16296 .pdf
또한 연구자들은 세분화된 평가지표도 제안했습니다. 이러한 세분화된 평가 지표는 대형 개체에 대한 편향이 덜하고, 더 풍부한 통계 정보를 제공하며, 모델 및 데이터 세트 감사에 대한 귀중한 통찰력을 제공할 수 있습니다.
그리고 연구원들은 광범위한 벤치마크 연구를 수행하여 평가가 단일 측정항목을 기반으로 하지 않아야 한다는 점을 강조했으며 세분화된 측정항목을 최적화하는 데 신경망 구조와 JDT 손실이 중요한 역할을 한다는 사실을 발견했습니다.
Pictures
문서 링크: https://arxiv.org/pdf/2310.19252.pdf
코드 링크: https://github.com/zifuwanggg/JDTLosses
Jaccard Index와 Dice Score는 세트에 정의되어 있으므로 미분할 수 없습니다. 이를 차별화 가능하게 만들기 위해 현재 두 가지 일반적인 접근 방식이 있습니다. 하나는 Soft Jaccard loss(SJL), Soft Dice loss(SDL) 및 Soft Tversky와 같은 해당 벡터의 세트와 Lp 모듈 간의 관계를 사용하는 것입니다. 손실(STL).
집합의 크기를 해당 벡터의 L1 모듈로 쓰고, 두 집합의 교집합을 두 해당 벡터의 내적으로 씁니다. 다른 하나는 LSL(Lovasz-Softmax loss)과 같은 집합 함수에서 Lovasz 확장을 수행하기 위해 Jaccard Index의 하위 모듈 속성을 사용하는 것입니다.
Pictures
이 손실 함수는 신경망의 출력 x가 연속 벡터이고 레이블 y가 이산 이진 벡터라고 가정합니다. 레이블이 소프트 레이블인 경우, 즉 y가 더 이상 이산 이진 벡터가 아니고 연속 벡터인 경우 이러한 손실 함수는 더 이상 호환되지 않습니다.
SJL을 예로 들어 간단한 단일 픽셀 사례를 고려해보세요.
picture
y > 0인 경우 SJL은 x = 1에서 최소화됩니다. 이며 x = 0일 때 최대화됩니다. x = y일 때 손실 함수가 최소화되어야 하므로 이는 명백히 비합리적입니다.
원래 손실 함수가 소프트 라벨과 호환되도록 하려면 두 세트의 교집합과 합집합을 계산할 때 두 세트의 대칭 차이를 도입해야 합니다.
Picture
두 세트 간의 대칭 차이는 두 해당 벡터 간의 차이에 대한 L1 모듈로 작성할 수 있습니다.
Pictures
위의 내용을 종합하면 JDT 손실을 제안합니다. 이는 SJL의 변형인 Jaccard Metric loss(JML), SDL의 변형인 Dice Semimetric loss(DML) 및 STL의 변형인 Compatible Tversky loss(CTL)입니다.
Pictures
JDT 손실에는 다음과 같은 속성이 있음을 증명했습니다.
속성 1: JML은 미터법이고 DML은 반미터법입니다.
속성 2: y가 하드 레이블인 경우 JML은 SJL과 동일하고 DML은 SDL과 동일하며 CTL은 STL과 동일합니다.
속성 3: y가 소프트 레이블인 경우 JML, DML 및 CTL은 모두 소프트 레이블과 호환됩니다. 즉, x = y ó f(x, y) = 0입니다.
Property 1로 인해 Jaccard Metric loss, Dice Semimetric loss라고도 합니다. 속성 2는 훈련에 하드 레이블만 사용되는 일반적인 시나리오에서 JDT 손실을 사용하여 아무런 변경 없이 기존 손실 함수를 직접 대체할 수 있음을 보여줍니다.
많은 실험을 거쳐 JDT 손실 사용 시 주의사항을 정리했습니다.
참고 1: 평가 지수를 기준으로 해당 손실 함수를 선택합니다. 평가 지표가 Jaccard Index이면 JML을 선택해야 하며, 평가 지표가 Dice Score이면 DML을 선택해야 하며, 거짓 긍정과 거짓 부정에 서로 다른 가중치를 부여하려면 CTL을 선택해야 합니다. 둘째, 세분화된 평가 지표를 최적화할 때 JDT 손실도 이에 맞게 변경되어야 합니다.
참고 2: JDT 손실과 픽셀 수준 손실 기능(예: 교차 엔트로피 손실, 초점 손실)을 결합합니다. 이 기사에서는 0.25CE + 0.75JDT가 일반적으로 좋은 선택이라는 것을 확인했습니다.
참고 3: 훈련에는 더 짧은 에포크를 사용하는 것이 가장 좋습니다. JDT 손실을 추가한 후에는 일반적으로 교차 엔트로피 손실 훈련 기간의 절반만 필요합니다.
참고 4: 여러 GPU에서 분산 훈련을 수행할 때 GPU 간에 추가 통신이 없으면 JDT 손실로 인해 세분화된 평가 지표가 잘못 최적화되어 기존 mIoU의 성능이 저하됩니다.
참고 5: 극단적인 범주 불균형이 있는 데이터 세트에 대해 훈련할 때 JDL 손실은 각 범주에 대해 별도로 계산된 다음 평균화되므로 훈련이 불안정해질 수 있습니다.
교차 엔트로피 손실의 기준과 비교하여 JDT 손실을 추가하면 하드 레이블을 사용하여 학습할 때 모델의 정확도를 효과적으로 향상시킬 수 있다는 것이 실험을 통해 입증되었습니다. 소프트 라벨을 도입하면 모델의 정확도와 보정이 더욱 향상될 수 있습니다.
Pictures
훈련 중에 JDT 손실 항만 추가하면 됩니다. 이 기사에서는 의미론적 분할의 지식 증류, 준지도 학습 및 다중 주석자에서 SOTA를 달성했습니다.
Pictures
Pictures
Pictures
의미론적 분할은 픽셀 수준 분류 작업이므로 각 픽셀 정확도: 전체 픽셀- 현명한 정확성(Acc). 그러나 Acc는 다수 범주에 편향되기 때문에 PASCAL VOC 2007은 각 범주의 픽셀 정확도를 개별적으로 계산한 다음 이를 평균화하는 평가 지수(평균 픽셀 단위 정확도(mAcc))를 채택합니다.
그러나 mAcc는 오탐을 고려하지 않기 때문에 PASCAL VOC 2008부터 평균 교차 및 결합 비율(데이터 세트당 mIoU, mIoUD)을 평가 지표로 사용했습니다. PASCAL VOC는 의미론적 분할 작업을 도입한 최초의 데이터 세트였으며, 이를 사용한 평가 지표는 다양한 후속 데이터 세트에서 널리 사용되었습니다.
구체적으로 IoU는 다음과 같이 쓸 수 있습니다.
Pictures
mIoUD를 계산하려면 먼저 각 카테고리에 대한 전체 데이터 세트에서 모든 I 사진의 참양성(TP)과 거짓양성(FP)을 계산해야 합니다. c. FN):
Picture
각 카테고리에 대한 숫자 값을 얻은 후 카테고리별로 평균을 계산하여 다수 카테고리에 대한 선호도를 제거합니다.
Pictures
mIoUD는 전체 데이터 세트에 있는 모든 픽셀의 TP, FP 및 FN을 합산하기 때문에 필연적으로 대형 개체에 편향됩니다.
자율 주행, 의료 영상 등 안전 요구 사항이 높은 일부 응용 시나리오에는 작지만 무시할 수 없는 물체가 있는 경우가 많습니다.
아래 사진처럼 사진마다 자동차의 크기가 확연히 다릅니다. 따라서 mIoUD의 대형 객체 선호는 모델 안전 성능 평가에 심각한 영향을 미칠 것입니다.
mIoUD 문제를 해결하기 위해 세분화된 평가지표를 제안합니다. 이러한 표시기는 각 사진에 대해 별도로 IoU를 계산하므로 대형 개체에 대한 선호도를 효과적으로 줄일 수 있습니다.
각 카테고리 c에 대해 각 사진 i에 대한 IoU를 계산합니다.
picture
그런 다음 각 사진 i에 대해 다음에 표시된 모든 카테고리의 평균을 냅니다. 이 사진:
pictures
마지막으로 모든 사진의 값을 평균화합니다.
pictures
마찬가지로 IoU를 계산한 후 각 사진 i의 각 카테고리 c에 대해 각 카테고리 c가 나타나는 모든 사진의 평균을 계산할 수 있습니다.
마지막으로 모든 카테고리의 값을 평균화합니다.
모든 사진에 모든 카테고리가 표시되는 것은 아니기 때문에 아래 그림과 같이 일부 카테고리와 사진의 조합에는 NULL 값이 표시됩니다. mIoUI를 계산할 때는 범주를 먼저 평균한 다음 사진을 평균하고, mIoUC를 계산할 때는 사진을 먼저 평균한 다음 범주를 평균합니다.
그 결과 mIoUI는 자주 나타나는 카테고리(예: 아래 그림의 C1)에 편향될 수 있으며 이는 일반적으로 좋지 않습니다. 그러나 반면에 mIoUI를 계산할 때 각 사진에는 IoU 값이 있으므로 이는 모델과 데이터 세트에 대한 감사 및 분석을 수행하는 데 도움이 될 수 있습니다.
Pictures
일부 보안 중심 애플리케이션 시나리오의 경우 최악의 세분화 품질과 세분화된 지표에 더 관심을 두는 경우가 많습니다. 한 가지 이점은 다음과 같습니다. 해당 최악의 경우 지표를 계산하는 기능. mIoUC를 예로 들어 보겠습니다. 유사한 방법으로 mIoUI의 해당 최악 사례 지표를 계산할 수도 있습니다.
각 카테고리 c에 대해 먼저 표시된 모든 사진의 IoU 값을 오름차순으로 정렬합니다(Ic 사진이 있다고 가정). 다음으로 q를 1이나 5와 같은 작은 숫자로 설정합니다. 그런 다음 정렬된 사진의 상위 Ic * q%만 사용하여 최종 값을 계산합니다.
Pictures
각 클래스 c의 값을 얻은 후 이전과 같이 카테고리별로 정렬할 수 있습니다. 평균 이것은 mIoUC의 최악의 측정 기준을 얻기 위한 것입니다.
12개의 데이터 세트로 15개의 모델을 훈련한 결과 다음과 같은 현상을 발견했습니다.
현상 1: 모든 평가 지표에서 최상의 결과를 얻을 수 있는 모델은 없습니다. 평가지표마다 초점이 다르기 때문에 여러 평가지표를 동시에 고려하여 종합적인 평가를 해야 합니다.
현상 2: 일부 데이터 세트에는 거의 모든 모델이 매우 낮은 IoU 값을 달성하게 만드는 일부 사진이 있습니다. 이는 부분적으로 매우 작은 물체, 밝은 부분과 어두운 부분의 강한 대비 등 사진 자체가 매우 까다롭기 때문이기도 하고, 부분적으로는 이러한 사진의 라벨에 문제가 있기 때문이기도 합니다. 따라서 세분화된 평가 지표는 모델 감사(모델이 실수하는 시나리오 찾기) 및 데이터 세트 감사(잘못된 레이블 찾기)를 수행하는 데 도움이 될 수 있습니다.
현상 3: 신경망의 구조는 세분화된 평가 지표를 최적화하는 데 중요한 역할을 합니다. 한편으로는 ASPP(DeepLabV3 및 DeepLabV3+에서 채택)와 같은 구조로 인한 수용 필드의 개선은 모델이 대형 물체를 인식하는 데 도움이 되므로 mIoUD의 가치를 효과적으로 개선할 수 있습니다. 인코더 및 디코더 긴 연결(UNet 및 DeepLabV3+에서 채택)을 통해 모델은 작은 크기의 개체를 인식할 수 있으므로 세분화된 평가 지표의 가치가 향상됩니다.
현상 4: 최악의 경우 지표의 값은 해당 평균 지표의 값보다 훨씬 낮습니다. 다음 표는 여러 데이터 세트에 대한 DeepLabV3-ResNet101의 mIoUC 및 해당 최악 사례 지표 값을 보여줍니다. 앞으로 생각해 볼 만한 질문은 최악의 지표 하에서 모델의 성능을 향상시키기 위해 신경망 구조와 최적화 방법을 어떻게 설계해야 하는가이다.
Pictures
현상 5: 손실 함수는 세분화된 평가 지표를 최적화하는 데 중요한 역할을 합니다. 다음 표의 (0, 0, 0)과 같이 Cross Entropy 손실 벤치마크와 비교하여 평가 지표가 세분화된 경우 해당 손실 함수를 사용하면 세분화된 평가에서 모델의 성능을 크게 향상시킬 수 있습니다. 지표. 예를 들어 ADE20K에서는 JML과 교차 엔트로피 간의 mIoUC 손실 차이가 7%보다 큽니다.
Pictures
우리는 JDT 손실을 의미론적 분할의 손실 함수로만 고려했지만 전통적인 분류 작업과 같은 다른 작업에도 적용할 수 있습니다.
둘째, JDT 손실은 레이블 공간에서만 사용되지만 Lp 모듈 교체 및 코사인 거리와 같이 특징 공간에서 두 벡터 사이의 거리를 최소화하는 데 사용될 수 있다고 믿습니다.
참고자료:
https://arxiv.org/pdf/2302.05666.pdf
https://arxiv.org/pdf/2303.16296.pdf
https://arxiv.org/pdf/2310.19252 . pdf
위 내용은 세 편의 논문으로 '의미분할의 최적화 및 평가' 문제를 해결합니다! Leuven/Tsinghua/Oxford 등이 공동으로 새로운 방법을 제안의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!