Loading the catalog…
Loading the catalog…
26년 1학기 산업공학종합설계에서 진행한 Cross-corpus 환경에서의 병리 음성 판별 연구의 정리이다. 데이터 문제와 AIHUB 안심존 이슈 등 여러 장애물 때문에 성공적인 연구가 되진 못했지만, 이후 연구 주제로 발전시켜 진행할 예정이다. 1. 문제 정의 음성으로 정상·병리 여부를 구분하는 모델을 만들었다고 해보자. 익숙한 데이터의 테스트셋에서 좋은 점수를 얻었다면, 다른 병원이나 다른 나라에서 수집한 음성에도 그대로 적용할 수 있을까? 실제 임상 현장처럼 학습에 사용되지 않은 새로운 데이터 환경에 적용될 경우에는 데이터셋 간의 분포 불일치(domain shift) 로 인해 성능이 크게 저하되는 문제가 발생한다. 병리 음성 데이터는 녹음 장비의 주파수 특성이나 주변 소음과 같은 물리적 요인뿐만 아니라 화자의 언어적 배경, 발성 방식, 피실험자 집단의 인구통계학적 특성 등 다양한 환경적 변수에 민감하게 영향을 받기 때문이다. 본 연구는 이러한 문제의식에서 출발하여, 세 개의 병리 음성 코퍼스를 대상으로 교차 코퍼스 환경에서 발생하는 일반화 실패의 구조를 진단하고, 나아가 제한된 타겟 데이터만으로 이를 회복할 수 있는 전이학습 전략의 효과를 검증한다. 2. 데이터 설명 본 연구에서는 네 개의 병리 음성 데이터베이스를 사용하였다: Saarbrücken Voice Database(SVD), Advanced Voice Function Assessment Databases(AVFAD), Far Eastern Memorial Hospital database(FEMH), 그리고VOice ICar fEDerico II database(VOICED).(Pützer & Barry, 2008)(Jesus et al., 2017)(Wang, 2026)(Verde & Sannino, 2018) 코퍼스 간 언어적 변수의 영향을 최소화하기 위해 모든 실험은/a/지속발성 녹음만을 대상으로 수행하였으며, 이를 통해 언어적 정보에 따른 변이를 줄이고 데이터셋 간 비교 가능성을 확보하였다. 3. 활용 모델 본 연구에서는 데이터 규모(DB당 약2,000건)와 계산 효율을 고려하여ResNet18을 채택하였다. ResNet50 이상의 모델은 파라미터 수가25M을 초과하여 소규모 데이터에서 과적합 위험이 높은 반면, ResNet18은 약11M의 파라미터로 충분한 표현력을 확보하면서도 학습 안정성을 유지할 수 있다.(Geng et al., 2025) 본 연구에서는 그림 2와 같이 ImageNet으로 사전학습된 ResNet18을 기반 모델로 사용한다. 입력은Mel-spectrogram을 224×224×3 크기로 변환한 이미지이며, conv1과 bn1을 거쳐 네 개의 잔차 블록(layer1 layer4)을 순차적으로 통과한다. 이후Global Average Pooling을 통해 512차원 임베딩 벡터로 압축되며, Dropout(p=0.5)과 이진 분류를 위한 완전연결층을 거쳐 정상 또는 병리로 분류된다. 512차원 임베딩은 분류 외에도 코퍼스 간 표현 분포 분석에 활용된다. 그림에서 점선으로 표시된 초기 레이어(conv1, bn1, layer1)는 사전학습된 저수준 특징을 보존하기 위해 고정하고, 나머지 레이어(layer2 layer4)는 학습 가능하도록 설정한다. 본 연구에서는 레이어별로 학습률을 달리 적용하는 판별적 학습률(discriminative learning rate) 전략을 사용한다. (Ro & Choi., 2020) 일반적인 전이학습에서 단일 학습률을 전체 레이어에 동일하게 적용할 경우, 사전학습으로 획득한 표현이 손상될 위험이 있다. 이를 방지하기 위해 backbone에는 낮은 학습률(1e-5)을 적용하여 사전학습된 특징 표현을 유지하고, 새로운 분류 과제에 직접 관여하는 분류층에는 높은 학습률(3e-4)을 적용하여 빠른 적응을 유도한다. 4. 전처리 및 학습 각 데이터베이스는 샘플링 레이트와 녹음 길이가 상이하므로 모델 입력의 일관성을 확보하기 위한 전처리가 필요하다. 전처리된 신호는 병리 음성 분류에서 CNN 기반 모델의 입력으로 자주 사용되는 Mel-spectrogram으로 변환하며(Javanmardi et al., 2023; Farazi et al., 2024), 변환에 사용된 주요 파라미터는 <표 3>와 같다. 이후 최솟값–최댓값 정규화를 적용한 후 단일 채널을 3채널로 복제하여 224×224 크기로 조정한다. 본 연구에서는 cross-corpus 병리 음성 분류에서 발생하는 성능 저하의 구조를 진단하고 대응 전략의 효과를 비교하기 위해 zero-shot transfer, multi-source 학습, target fine-tuning, 소규모 외부 사이트 검증을 포함한 실험 전략을 구성한다. 과적합 방지와 일반화 성능 향상을 위해 SpecAugment를 포함한 데이터 증강을 적용하였으며, 세부 학습 설정은 <표 4>와 같다. 5. 결과 단일 데이터 베이스에서의 결과는 위와 같다. 세 corpus 모두 UAR 0.728~0.837 수준으로 내부 분류 성능이 충분히 확보되었으며, 이는 이후 cross-corpus 성능을 판단하는 상한 기준으로 활용된다. Zero shot 전이 실패 양상 그런데 다른 데이터셋으로 그대로 옮기자 여섯 방향의 UAR이 0.504~0.603 , MCC가 0.013~0.209 로 내려갔다. 더 중요한 것은 어떻게 틀렸는가였다. SVD → AVFAD 의 UAR은 0.515였고, 병리 음성을 병리로 맞힌 민감도는 0.962였다. 이 숫자만 보면 병리 음성을 잘 찾아낸 것 같지만, 정상 음성을 정상으로 맞힌 특이도는 0.068 에 불과했다. 실제로는 거의 모두를 병리로 예측하는 쪽으로 기운 것이다. FEMH → AVFAD 도 민감도 0.922, 특이도 0.085로 비슷한 양상이었다. 반대 방향의 쏠림도 있었다. AVFAD → FEMH 의 UAR은 0.588이고 특이도는 0.897이었지만, 민감도는 0.279 였다. 정상 음성은 비교적 잘 구분하는 대신 병리 음성을 많이 놓친 셈이다. 같은 UAR 근처의 점수라도 어느 클래스를 놓치는지에 따라 실패의 모습이 전혀 달랐다. 이 차이를 보기 위해 예측한 병리 비율 - 실제 병리 비율 을 prediction bias 로 정의했다. 양수이면 병리 과다 예측, 음수이면 병리 과소 예측이다. 분석에서는 이 값이 커질수록 민감도는 높고 특이도는 낮아지는 경향이 확인됐다. 핵심은 점수 한 개가 떨어진 사실보다, 데이터셋이 바뀌며 예측이 한쪽 클래스로 기울었다는 것 이다. 이 편향을 이해하기 위해 임계값, 학습 데이터의 클래스 비율, 모델 내부 표현의 차이를 차례로 확인했다. 전이 실패 분석 전이 실패의 원인을 분리하기 위해 몇가지 진단을 수행하였다. 첫째, 결정 임계값 조정 첫 번째 가설은 0.5 라는 분류 임계값이 새 데이터셋에 맞지 않는다는 것이었다. 평가 데이터의 정답을 알고 있다고 가정하고 UAR이 최대가 되는 임계값을 찾아보니, SVD → FEMH 는 0.574에서 0.706 으로 올랐다. 분명 임계값 불일치의 영향이 있었다. 하지만 다른 조합에서는 개선 폭이 작았고, 임계값을 바꿔도 무너진 분류가 충분히 회복되지는 않았다. 또한 정답을 보고 고른 이 값은 원인을 확인하기 위한 상한 실험 이지, 정답이 없는 새 환경에서 그대로 선택할 수 있는 운영 임계값은 아니다. *둘째, 클래스 불균형을 통제하기 위한 클래스 비율(prior) 조정 * 두 번째 가설은 학습 데이터의 정상·병리 비율 차이였다. SVD와 FEMH의 학습 데이터를 1:1 비율로 맞춰 다시 평가했지만, UAR 개선은 조합에 따라 0.002~0.023 에 머물렀다. 클래스 비율은 일부 영향을 줄 수 있으나, 데이터셋 간 성능 저하를 혼자 설명하기에는 부족했다 셋째, source–target 간 centroid distance(CD)와 MMD를 계산하여 6개 조합에서의 거리–성능 상관을 탐색 음성에서 추출한 모델 내부 표현의 분포 차이도 살펴봤다. 데이터셋 간 임베딩 거리와 성능의 관계를 탐색했지만, 방향별 비교가 여섯 개뿐이고 클래스별 거리와 민감도·특이도의 관계가 일관되지 않았다. 언어·녹음·질환 구성 중 어느 요인이 주원인인지는 이 실험만으로 분리할 수 없다. 원인을 하나로 특정하기 어렵다면, 실제 성능을 회복하는 방법은 무엇일까? 학습된 모델에 소량의 타겟 데이터 fine-tuning 대상 데이터의 일부 정답을 학습에 쓸 수 있을 때는 상황이 달라졌다. 예를 들어 SVD → AVFAD 의 대표 실험에서 zero-shot UAR 0.520 이 대상 데이터 미세조정 후 0.820 으로 올랐다. SVD → FEMH 도 0.599 → 0.822 로 회복됐다. 마지막 분류층만 조정하는 것보다 앞쪽 표현까지 조정하는 설정이 유리한 경우가 있었다. 이는 차이가 단순히 최종 임계값이나 마지막 층에만 있지 않을 가능성을 보여준다. 외부 데이터에서 실패한 모델을 현지 데이터로 상당 부분 회복할 수 있었다 는 것이다. 이후 지금까지 졸업논문으로 제출한 cross - corpus 관련된 연구 요약이다. 이 연구를 진행하면서 novelty 있는 결과를 보여주지 못했지만 그 안에서 알게된 것들이 많다. 다음 게시물에서는 한국 AIHUB 음성장애 데이터 활용에 있어 발생한 여러 문제점 IRB 승인 과정 느낀 점 에 대해 작성할 예정이다.
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
병리 음성 판별의 Cross-Corpus 환경에서 도메인 일반화 진단 및 분석. 26년 1학기 산업공학종합설계에서 진행한 Cross-corpus 환경에서의 병리 음성 판별 연구의 정리이다. 데이터 문제와 AIHUB 안심존 이슈 등 여러 장애물 때문에 성공적인 연구가 되진 못했지만, 이후 연구 주제로 발전시켜 진행할 예정이다. 1. 문제 정의 음성으로 정상·병리 여부를 구분하는 모델을 만들었다고 해보자. 익숙한 데이터의 테스트셋에서 좋은 점수를 얻었다면, 다른 병원이나 다른 나라에서 수집한 음성에도 그대로 적용할 수 있을까? 실제 임상 현장처럼 학습에 사용되지 않은 새로운 데이터 환경에 적용될 경우에는 데이터셋 간의 분포 불일치(domain shift) 로 인해 성능이 크게 저하되는 문제가 발생한다. 병리…
Open source