SSL DTW는 앵무새가 보호자의 단어를 따라 했는지 판정하는 방법이다. 고도화 Phase 2에서 Phase 1에 채택한 ContentVec 레이어 8을 변경 없이 유지하고, 운영에 필요한 정책 4개를 같은 쌍 점수 행렬에서 비교했다. 이 글을 읽으면 정책 4개가 무엇으로 결정됐고, 그 근거 수치가 무엇이며, Phase 3로 넘긴 항목이 무엇인지 알 수 있다.
요약
아래 정책 4개 중 점수 정규화는 Phase 3로 이관했다.
| 정책 | 결정 | 한 줄 근거 |
|---|---|---|
| DTW 모드 | full | 성능은 subsequence와 같고, 확장 mimic을 통과시키지 않으며 계정별 FAR 편차가 작음 |
| 기준음성 구성과 개수 | 보호자 녹음 전부에 다른 계정 녹음을 계정당 최대 2개씩 더해 20개 세트 | pooled 전부보다 항목 4a 0.857 → 0.866. 녹음 3개 이상 계정만 좋아지고 다른 계정은 손해 없음 |
| 점수 정규화 | Phase 3에서 원점수와 백분위 T-norm 중 결정 | AUC로는 갈리지 않고, 차이는 임계값을 다른 계정에 적용할 때 드러남 |

그림 1. 정책 축 4개의 항목 4a 주 단어 평균. 오차 막대는 계정 단위 부트스트랩 95% 신뢰구간이다.
0. 용어
| 용어 | 뜻 |
|---|---|
| mimic | 앵무새가 단어를 따라 말한 클립 |
| non_speech | 단어를 따라 하려는 시도가 아닌 자연적인 앵무새 소리(짹짹) |
| 기준음성(reference) | 보호자가 녹음한 목표 단어 음성 |
| 계정 | 같은 새, 같은 보호자, 같은 마이크를 공유하는 클립 집합 |
| pooled | 질의 계정을 제외한 다른 계정들의 기준음성으로 구성한 세트. 보호자 녹음이 없는 단어를 다른 사람 목소리로 판정하는 상황을 재현하며, 세트에 여러 계정의 목소리가 포함된다. |
| own-ref | 질의 계정의 기준음성만으로 구성한 세트. 보호자가 직접 녹음한 기준음성(reference)와 비교하는 상황을 재현하며, 기준음성이 없는 계정은 판정할 수 없다. |
| trial | 질의 1개를 단어 w의 세트와 비교해 점수 1개를 계산하는 시행 |
1. 목표
임계값 없이 비교할 수 있는 지표로 운영 정책 4개를 판정한다.
Phase 2 설계 문서대로 아래 정책 4개를 비교한다.
| 정책 | 후보 |
|---|---|
| DTW 모드 | full, subsequence |
| 기준음성 구성 | pooled, own-ref |
| 기준음성 개수 | pooled 1, 3, 5, 10, 20, 전부. own-ref 1, 3, 5, 전부 |
| 점수 정규화 | 원점수를 포함한 9가지 |
Phase 2는 임계값을 정하지 않는다. 임계값 산출, 데이터 분할, 최종 수치는 Phase 3에서 한다.
2. 실험 설계
2-1. 데이터
| 구분 | 건수 | 계정 수 |
|---|---|---|
| mimic | 1,332 | 102 |
| non_speech | 32,919 | 123 |
| 기준음성 | 392 | 66 |
- 주 단어: positive 30건 이상인 단어. pooled는 안녕, 안녕하세요, 사랑해, 까꿍이고 own-ref는 안녕, 안녕하세요
- 결론은 주 단어 평균으로 판단
- 대형 앵무 5종과 해당 종이 있는 계정의 기준음성은 제외
2-2. 계산 방식
Phase 1에서 계산한 쌍 점수 행렬을 그대로 사용했다. mimic과 non_speech를 합한 질의 34,251개와 기준음성 392개의 모든 쌍에 DTW 모드 2개의 점수가 있다. 정책 4개는 이 행렬의 평균과 표준화만으로 계산할 수 있기 때문에 행렬을 재사용했다.
| 변경하지 않는 조건 | 값 |
|---|---|
| 인코더 | ContentVec 레이어 8 |
| 전처리 | 무음 트리밍, peak 진폭 정규화, CMVN. Phase 1과 같음 |
| 프레임 거리 | cosine |
| DTW 정규화 | 비용을 경로 길이로 나눔 |
| 세트 점수 | 세트 안 기준음성 쌍 점수의 평균 |
2-3. 기준음성 개수
단어 w의 세트에서 n개를 무작위로 추출해 평균한 점수로 평가했다. 추출은 seed 20개로 반복해 AUC의 평균과 표준편차를 계산했다.
- pooled: 질의 계정을 제외한 다른 계정의 기준음성에서 n개 추출
- own-ref: 질의 계정의 기준음성이 n개 이상인 계정만 포함
- 전부: Phase 1과 같은 설정
2-4. 점수 정규화 방법론 9가지
정규화 9가지 모두 판정 대상 클립의 정답 정보를 사용하지 않는다. 기준음성의 단어 라벨과 다른 계정의 코호트만 사용하므로 운영에서 같은 계산을 할 수 있다.
| 방식 | 계산 | 제거하려는 것 |
|---|---|---|
| 원점수 | trial 점수 그대로 | 대조군 |
| Q-mean norm | 같은 질의를 다른 단어 기준음성과 비교한 점수의 평균을 차감 | 질의 쪽 점수 수준 차이 |
| Z-norm | 질의를 다른 계정의 기준음성 그룹과 비교한 점수의 평균과 표준편차로 표준화 | 질의 쪽 점수 수준과 척도 차이 |
| T-norm | 세트를 다른 계정의 non_speech 2,000건과 비교한 점수의 평균과 표준편차로 표준화 | 세트 쪽 점수 수준과 척도 차이 |
| S-norm | Z-norm과 T-norm의 평균 | 양쪽 차이 |
| 강건 S-norm | S-norm의 평균과 표준편차를 중앙값과 MAD로 대체 | 코호트 이상치의 영향 |
| AS-norm | 코호트 전체 대신 점수 상위 K개로 S-norm 계산 | 이질적인 코호트의 영향 |
| 백분위 T-norm | trial 점수를 T-norm 코호트 분포에서의 경험적 백분위로 변환 | 세트 간 척도 차이 |
| duration QMF | T-norm 코호트에서 추정한 질의 길이별 기대 점수를 차감 | 길이 상관 |
2-5. 평가 항목
| # | 항목 | positive | negative | 목적 |
|---|---|---|---|---|
| 1 | mimic vs non_speech | 모든 단어 w의 positive를 합친 것 | non_speech를 각 단어 w의 기준음성(reference)과 비교한 trial을 합친 것 | 인코더가 mimic과 non_speech의 음향학적 차이를 구분하는지 |
| 2 | 각 단어 mimic vs non_speech | 단어 w의 positive | non_speech를 w의 기준음성(reference)과 비교한 trial | 인코더가 단어 w의 mimic과 non_speech의 음향학적 차이를 구분하는지 |
| 3 | 각 단어 mimic vs 다른 단어 mimic | 단어 w의 positive | 다른 단어 mimic을 w의 기준음성(reference)과 비교한 trial | 인코더가 서로 다른 단어 mimic의 음향학적 차이를 구분하는지 |
| 4 | 각 단어 mimic vs (다른 단어 mimic & non_speech) | 단어 w의 positive | 항목 2와 항목 3의 negative 전부 | 실제 입력 전체에서 단어 w를 구분하는지 |
항목 4는 두 값으로 계산한다.
- 4a: 항목 2와 항목 3의 negative를 그대로 합산한 AUC
- non_speech가 다른 단어 mimic보다 약 25~110배 많아 사실상 항목 2와 같은 값. Phase 2 정책 판정의 1차 기준
- 4b: 항목 2 AUC와 항목 3 AUC의 평균
- non_speech 분리와 단어 구분을 같은 비중으로 본 값. Phase 1의 채택 기준이었고 Phase 2에서는 참고값
2-6. 정책 판정 규칙
정책 축마다 다른 축은 Phase 1 설정인 pooled, 개수 전부, 원점수로 유지하고 아래 순서로 정한다.
- pooled 항목 4a 주 단어 평균이 높은 방향으로
- 1위와 2위의 짝지은 95% 신뢰구간이 0을 포함하면 항목 3이 높은 방향으로
3. 실험 결과
3-1. DTW 모드
| 모드 | 항목 2 | 항목 3 | 항목 4a | recall@FAR 5% 항목 3 |
|---|---|---|---|---|
| full | 0.860 | 0.744 | 0.857 | 0.402 |
| subsequence | 0.860 | 0.747 | 0.858 | 0.415 |
값은 pooled 구성, 개수 전부, 원점수의 주 단어 평균 AUC다.
주 단어 평균에서는 두 모드 중 어느 쪽이 높다고 말할 수 없다. subsequence에서 full을 뺀 차이가 항목 4a +0.000 [-0.015, +0.024], 항목 3 +0.003 [-0.018, +0.029]로 둘 다 신뢰구간이 0을 포함하기 때문이다. 대괄호는 같은 계정 재표집으로 두 모드를 함께 계산한 짝지은 95% 신뢰구간이다.
단어별로는 차이의 방향이 단어마다 다르다.
| 단어 | 항목 4a 차이, subsequence − full | 해석 |
|---|---|---|
| 사랑해 | +0.033 [+0.000, +0.098] | subsequence가 높음. 신뢰구간 경계 |
| 안녕 | +0.010 [-0.010, +0.035] | 차이 없음 |
| 안녕하세요 | -0.018 [-0.049, +0.009] | full이 점 추정에서 높음 |
| 까꿍 | -0.024 [-0.054, +0.009] | full이 점 추정에서 높음 |
네 단어를 평균하면 서로 상쇄되어 차이가 0이 된다.
두 모드가 다른 점은 확장 mimic의 처리다.
안녕 기준음성vs안녕하세요 mimic을 비교하면 full은 positive보다 낮은 점수로 분류하고, subsequence는 positive와 같은 점수대로 분류한다.positivevs확장 mimicAUC는 full 0.676, subsequence 0.506이다.
3-2. 기준음성 구성
own-ref 세트가 있는 같은 trial에서 두 구성을 비교했다. 안녕 480건과 안녕하세요 30건이 주 단어다.
| 모드 | 항목 | pooled → own-ref | 차이 |
|---|---|---|---|
| full | 4a | 0.782 → 0.740 | -0.042 [-0.086, +0.123] |
| full | 3 | 0.775 → 0.798 | +0.023 [-0.048, +0.138] |
| full | 2 | 0.783 → 0.737 | -0.046 [-0.095, +0.005] |
| subsequence | 4a | 0.819 → 0.682 | -0.137 [-0.203, +0.132] |
| subsequence | 3 | 0.799 → 0.751 | -0.048 [-0.191, +0.147] |
| subsequence | 2 | 0.820 → 0.678 | -0.142 [-0.212, -0.060] |
규칙의 판정 항목인 항목 4a와 항목 3의 차이는 모두 신뢰구간이 0을 포함하므로 두 구성을 모두 운영 후보로 유지한다. 점 추정은 pooled가 높다. subsequence의 항목 2 차이는 -0.142 [-0.212, -0.060]으로 own-ref가 신뢰구간 밖으로 낮다. 임계값을 정한 recall@FAR 5%에서도 own-ref가 낮다.
| 단어 | recall@FAR 5% 항목 4a pooled → own-ref, full |
|---|---|
| 안녕 | 0.379 → 0.227 |
| 안녕하세요 | 0.633 → 0.300 |
3-3. 기준음성 개수

그림 2. 기준음성 개수에 따른 항목 4a, 원점수. 선은 기준음성 추출 seed의 평균, 띠는 그 표준편차, 점선은 계정 단위 부트스트랩 95% 신뢰구간이다.
- (a) pooled: 주 단어 평균. 검정 full, 빨강 subsequence
- (b) own-ref: 안녕 기준음성 5개 이상 계정 10개로 평가 대상을 고정해 네 점이 같은 trial 집합
- (c) 혼합 정책: 세트 목표 개수 1~50의 주 단어 평균. 검정은 own 전부에 pooled를 계정당 상한으로 채운 정책, 회색은 pooled 계정당 상한만, 빨간 점선은 pooled 전부
1) pooled
- 값은 pooled 항목 4a(단어 w의 mimic vs (다른 단어 w의 mimic & non_speech)) 주 단어 평균AUC이고 seed 20개의 평균이다.
| 개수, pooled | full | subsequence | 전부와의 차이, full |
|---|---|---|---|
| 1 | 0.778 | 0.759 | -0.079 [-0.093, -0.057] |
| 3 | 0.826 | 0.816 | -0.032 [-0.038, -0.021] |
| 5 | 0.839 | 0.835 | -0.018 [-0.023, -0.012] |
| 10 | 0.847 | 0.844 | -0.011 [-0.014, -0.007] |
| 20 | 0.853 | 0.852 | -0.004 [-0.005, -0.002] |
| 전부 | 0.857 | 0.858 | - |
- 기준음성 개수가 1개 → 3개에서, AUC는 0.048 증가하지만 20개 → 전부에서는 0.004만 증가한다.
- 20개도 전부보다 신뢰구간 밖으로 낮다. pooled의 전부는 단어마다 개수가 다르며 안녕은 131개에서 204개다.
단어별 최소 충분 개수(그 이상은 기준 음성을 늘려도 큰 차이가 없다.)는 다음과 같다.
| 단어 | 최소 충분 개수 , pooled |
|---|---|
| 사랑해 | 10 |
| 안녕하세요 | 20 |
| 안녕 | 격자 안에 없음. 전부가 최고 |
| 까꿍 | 격자 안에 없음. 전부가 최고 |
2) own-ref
결과 문서의 own-ref 표는 n마다 “기준음성이 n개 이상인 계정”을 평가하므로 n마다 trial 집합과 주 단어가 달라 곡선으로 읽을 수 없다. 그림 2(b)는 평가 대상을 안녕 기준음성 5개 이상인 계정 10개(그중 안녕 positive가 있는 계정 8개)로 고정하고, 같은 trial 집합(positive 178, non_speech 153, 다른 단어 14)에서 n = 1, 3, 5, 전부를 평가한 값이다. 전부와의 차이는 같은 재표집을 공유한 짝지은 95% 신뢰구간이다.
| 개수, own-ref 안녕 | full 항목 4a | full 전부와의 차이 | subsequence 항목 4a | subsequence 전부와의 차이 |
|---|---|---|---|---|
| 1 | 0.861 | -0.057 [-0.085, -0.023] | 0.841 | -0.068 [-0.091, -0.027] |
| 3 | 0.907 | -0.011 [-0.015, -0.002] | 0.898 | -0.011 [-0.016, +0.007] |
| 5 | 0.915 | -0.003 [-0.007, +0.003] | 0.905 | -0.004 [-0.012, +0.017] |
| 전부 | 0.918 | - | 0.909 | - |
- 집합을 고정하면 곡선은 단조 증가한다. 1개 → 3개에서 가장 크게 증가하고(+0.05) 그 뒤는 완만하다
- 전부와 구별되지 않는 최소 n은 full 5개, subsequence 3개다. 결과 문서의 참고값(두 모드 5개)과 full은 같고 subsequence는 작다
- 0.92라는 수준은 기준음성을 5개 넘게 녹음한 계정 8개의 값이라 전체 계정으로 일반화하지 않는다. 계정이 적어 점선 구간이 0.70~1.00으로 넓다
- n 사이의 차이만 해석하고 pooled와 수준은 비교하지 않는다.
3) own과 pooled 혼합 정책
정책 설명
own-ref를 모두 포함하고, 부족한 수만큼 다른 계정의 녹음(pooled)으로 채워 기준음성 세트를 만드는 정책이다. 판정은 이 세트의 평균 점수로 한다.
- 질의 계정에 목표 단어의 보호자 녹음(own)이 있으면 전부 세트에 포함한다
- 세트가 목표 개수 20에 미달하면 부족분을 다른 계정의 녹음(pooled)에서 가져와 채운다
- 보호자 녹음이 없는 계정은 2번만으로 20개를 채운다. pooled 20개와 같다
- 보호자 녹음이 20개 이상인 계정은 보호자 녹음만 사용한다
예시)
| 질의 계정의 보호자 녹음 수 | 세트 구성 |
|---|---|
| 0 | pooled 20 |
| 3 | own 3과 pooled 17 |
| 8 | own 8과 pooled 12 |
| 25 | own 25 |
이 정책을 시험한 이유는 둘이다. own-ref는 보호자 녹음이 3개 이상인 계정에서 pooled보다 항목 4a가 높았지만, 1~2개인 계정에서는 낮았고 녹음이 없는 계정은 판정할 수 없었다. 보호자 녹음을 우선하되 모자라면 채우면 두 구성의 장점을 계정 상황에 맞게 가져갈 수 있다.
비교 결과
pooled에서 가져오는 규칙은 두 가지를 비교했다. 무작위 추출과, 계정을 돌아가며 계정당 최대 2개씩 가져오는 계정당 상한이다. full 모드, 주 단어 평균, seed 10개 평균이다.
| 정책 | 원점수 항목 4a | 백분위 T-norm 항목 4a | 백분위 T-norm 분산비 |
|---|---|---|---|
| pooled 전부 | 0.857 | 0.855 | 0.468 |
| pooled 계정당 상한 20 | 0.858 | 0.860 | 0.485 |
| 혼합 무작위 20 | 0.857 | 0.861 | 0.398 |
| 혼합 계정당 상한 20 | 0.866 | 0.868 | 0.418 |
- 혼합에 계정당 상한을 둔 정책이 가장 높다. 안녕에서 pooled 전부 대비 +0.032 [-0.001, +0.051]이고 백분위 T-norm에서는 +0.044 [-0.003, +0.066]이다
- own-ref만 사용하면 녹음이 1~2개인 계정 17개의 항목 4a가 0.581이다. 같은 계정을 pooled로 채우면 0.632가 된다. 녹음 3개 이상 계정에서는 own이 pooled보다 높아(5개 이상 계정 8개에서 0.835 → 0.918) 보호자 녹음을 우선할 근거가 된다
- 이득의 출처는 둘이다. 계정당 상한은 73개를 녹음한 한 계정이 세트를 지배하지 못하게 해 안녕 pooled를 0.789 → 0.807로 높인다. own은 보호자 녹음이 3개 이상인 계정에서만 효과가 있어 그 계정들의 항목 4a를 0.83 → 0.87과 0.77 → 0.89로 높이고, 녹음이 없거나 1~2개인 계정의 값은 변하지 않는다
- 점수 척도가 계정마다 달라지는 문제는 백분위 T-norm이 보정한다. 분산비가 0.468 → 0.418로 감소한다
- 기준음성끼리 비슷한 순으로 고르는 대표성 규칙도 시험했으나 안녕에서 0.044 낮아져 제외했다
3-4. 점수 정규화

그림 3. 정규화별 항목 4a 주 단어 평균. 왼쪽은 pooled, 오른쪽은 own-ref다. 검정은 full DTW, 빨강은 subsequence DTW다. 동그라미는 항목 4a의 점 추정이고 가로 막대는 계정 단위 부트스트랩 95% 신뢰구간이다. 세로 점선은 full 원점수의 항목 4a이며, 점선 오른쪽에 있는 동그라미가 원점수보다 높은 정규화다.
1) pooled
| 정규화, pooled | full 항목 4a | full 항목 3 | subsequence 항목 4a | subsequence 항목 3 | 분산비, full |
|---|---|---|---|---|---|
| 원점수 | 0.857 | 0.744 | 0.858 | 0.747 | 0.624 |
| Q-mean norm | 0.771 | 0.798 | 0.779 | 0.795 | 0.676 |
| Z-norm | 0.770 | 0.801 | 0.773 | 0.794 | 0.670 |
| T-norm | 0.854 | 0.744 | 0.853 | 0.746 | 0.666 |
| S-norm | 0.847 | 0.776 | 0.844 | 0.770 | 0.663 |
| 강건 S-norm | 0.852 | 0.774 | 0.850 | 0.774 | 0.627 |
| AS-norm | 0.854 | 0.764 | 0.838 | 0.762 | 0.688 |
| 백분위 T-norm | 0.855 | 0.744 | 0.853 | 0.746 | 0.468 |
| duration QMF | 0.870 | 0.745 | 0.871 | 0.747 | 0.698 |
값은 pooled 주 단어 평균 AUC다. 제약 1을 충족한 후보는 full에서 원점수, 백분위 T-norm, 강건 S-norm이고 subsequence에서 원점수, 백분위 T-norm이다.
- duration QMF: 항목 4a 1위이지만 분산비가 0.624 → 0.698로 증가하고 계정별 항목 2 AUC 최소값이 0.543 → 0.435로 감소해 제약 1 미달로 제외
- 원점수와 백분위 T-norm: 항목 4a 차이 +0.002 [-0.003, +0.007], 항목 3 차이 +0.000 [-0.008, +0.006]으로 신뢰구간이 0을 포함
- Q-mean norm과 Z-norm: 항목 3은 0.80으로 상승하지만 항목 2가 0.77로 감소해 항목 4a가 신뢰구간 밖으로 낮음
- S-norm: 항목 4a가 원점수보다 낮아 2-6의 조건대로 강건 S-norm과 AS-norm은 후보에서 제외
2) own-ref
own-ref는 표본이 적어 방향 확인에만 사용한다. 주 단어는 안녕과 안녕하세요다.
| 정규화, own-ref | full 항목 4a | full 항목 3 | full 원점수 대비 항목 4a 차이 | subsequence 항목 4a | subsequence 항목 3 | subsequence 원점수 대비 항목 4a 차이 | 분산비, full |
|---|---|---|---|---|---|---|---|
| 원점수 | 0.740 | 0.798 | - | 0.682 | 0.751 | - | 0.591 |
| Q-mean norm | 0.592 | 0.465 | -0.149 [-0.359, +0.026] | 0.591 | 0.466 | -0.092 [-0.314, +0.047] | 1.061 |
| Z-norm | 0.763 | 0.734 | +0.023 [-0.042, +0.061] | 0.655 | 0.710 | -0.028 [-0.065, +0.009] | 0.628 |
| T-norm | 0.784 | 0.785 | +0.044 [-0.025, +0.085] | 0.749 | 0.747 | +0.067 [-0.032, +0.116] | 0.458 |
| S-norm | 0.791 | 0.793 | +0.051 [-0.011, +0.084] | 0.729 | 0.752 | +0.046 [-0.019, +0.090] | 0.447 |
| 강건 S-norm | 0.754 | 0.784 | +0.014 [-0.019, +0.054] | 0.668 | 0.724 | -0.015 [-0.041, +0.022] | 0.443 |
| AS-norm | 0.807 | 0.802 | +0.067 [-0.007, +0.104] | 0.743 | 0.750 | +0.061 [-0.027, +0.108] | 0.436 |
| 백분위 T-norm | 0.806 | 0.796 | +0.066 [-0.017, +0.106] | 0.766 | 0.756 | +0.083 [-0.030, +0.138] | 0.211 |
| duration QMF | 0.738 | 0.771 | -0.002 [-0.037, +0.033] | 0.710 | 0.735 | +0.028 [-0.030, +0.067] | 0.586 |
값은 own-ref 주 단어 평균 AUC다.
- own-ref에서는 원점수보다 항목 4a가 높은 정규화가 있으나 원점수 대비 차이의 신뢰구간이 모두 0을 포함한다
- 백분위 T-norm: pooled와 같이 분산비가 가장 낮고, own-ref에서는 항목 4a도 상위다
- Q-mean norm: own-ref 안녕은 다른 단어 기준음성이 3개 미만인 질의가 3,656건으로 대부분 원점수로 대체돼 값의 뜻이 없다
3-5. 임계값 공통 적용 가능성
임계값 하나를 모든 계정에 공통 적용할 수 있는지, 그 가능성을 본다.
AUC는 가능한 모든 임계값에서의 분리 성능을 평균한 값이라, 임계값 하나를 정했을 때 계정마다 오통과율이 얼마나 다른지는 알려 주지 않는다. 점수 수준이 높은 계정에서는 non_speech까지 임계값을 넘고, 낮은 계정에서는 mimic까지 걸러진다. 그래서 계정 간 점수 일치도를 분산비와 계정별 AUC 최소값으로 따로 측정했다.

그림 4. 정규화 9가지에서 계정과 단어 쌍마다 positive 점수 중앙값 대 같은 계정 non_speech 점수 중앙값. pooled, full, 개수 전부.
- 점: 계정과 단어의 쌍. positive와 non_speech가 각 5건 이상인 쌍만 표시. 색은 계정, 모양은 단어
- x축: 그 계정의 non_speech 점수 중앙값. y축: 그 단어 mimic 점수 중앙값
- 대각선: 두 값이 같은 선. 점이 대각선에서 위로 멀수록 그 계정 안에서 mimic이 non_speech와 분리됨
- 점의 흩어짐: 점이 서로 가까울수록 계정 간 점수 수준이 같아 임계값 하나를 공통 적용할 수 있음
백분위 T-norm은 같은 세트 안에서 점수 순서를 유지하므로 3-4대로 AUC 차이가 신뢰구간 안이다. 변하는 것은 계정 간 분포다. 임계값 0.95는 코호트 FAR 5%에 해당한다. 다만 계정별 실제 FAR은 계정마다 다르다.
| 모드 | 전체 FAR | 계정별 FAR 중앙값 | 계정별 FAR 최대 |
|---|---|---|---|
| full | 0.067 | 0.071 | 0.308 |
| subsequence | 0.077 | 0.036 | 0.500 |
값은 pooled 안녕, 백분위 0.95 임계값, non_speech 20건 이상인 계정 43개 기준이다.
4. 한계
- 신뢰구간 안의 판정: 모드, 구성, 정규화 세 축 모두 후보 간 차이가 신뢰구간 안이다. 신뢰구간 폭은 주 단어 평균 기준 0.10 안팎이다
- own-ref 표본 부족: 안녕 30계정, 안녕하세요 10계정. 방향 확인에만 사용했다
- pooled 기준음성 집합의 편중: 안녕 기준음성 204개 중 73개가 한 계정의 녹음이다
- 점수 일치도 표본: 계정별 AUC 최소값은 positive와 negative가 각 5건 이상인 계정에서 계산했다. 분산비는 계정 필터 없이 계산했다
5. 결론
| 정책 | 결정 | 근거 |
|---|---|---|
| DTW 모드 | full 채택 | 항목 4a 차이 +0.000 [-0.015, +0.024]로 성능은 같음. full은 확장 mimic을 positive보다 낮게 분류하고 own-ref 항목 2 하락이 신뢰구간 안이며 계정별 FAR 최대가 0.308로 subsequence 0.500보다 작음. 3-1, 3-2, 3-5 |
| 기준음성 구성과 개수 | own과 pooled 혼합 정책 채택, 기준 음성 개수 20. 질의 계정의 보호자 녹음을 전부 세트에 포함하고, 개수가 20 미만이면 다른 계정의 녹음을 계정당 최대 2개씩 무작위 순으로 더해 20을 채운다. | 버디버드 앱서비스에서는 계정당 보호자 녹음이 1~5개 사이로 수집된다. own-ref만 사용하면 녹음 수에 따라 성능이 달라진다. 녹음이 1개인 경우는 녹음이 3개 이상인 경우에 비해 AUC가 크게 떨어지는 것을 확인했다. 녹음 개수가 부족한 경우에 대해, 기준 음성을 pooled로 보완하면 AUC가 높아진다. 따라서 보호자 기준 음성을 우선하고 부족분을 pooled로 채운다. |
| 점수 정규화 | Phase 3에서 결정한다. | 임계값 선정에 따라 적합한 정규화 방법론에 차이가 있을 수 있으므로, 임계값 설정을 다루는 Phase3에서 최종결정하는 것으로 한다. |
