0. 용어
| 용어 | 뜻 |
|---|---|
| mimic | 앵무새가 단어를 따라 말한 클립 |
| non_speech | 단어를 따라 하려는 시도가 아닌 자연적인 앵무새 소리 |
| 기준음성(reference) | 보호자가 녹음한 목표 단어 음성 |
| 계정 | 같은 새, 같은 보호자, 같은 마이크를 공유하는 클립 집합 |
| pooled | 질의 계정을 제외한 다른 계정의 기준음성. 보호자 녹음이 없는 단어를 다른 사람 목소리로 판정하는 상황 |
| own | 질의 계정의 기준음성. 보호자가 직접 녹음한 음성과 비교하는 상황 |
| 세트 | 질의 하나를 판정할 때 점수를 평균하는 기준음성 집합. own 전부에 pooled를 더해 20개 |
| trial | 질의 1개를 단어 w의 세트와 비교해 점수 1개를 계산하는 시행 |
| p75 | 계정별 FAR 분포의 75번째 백분위수. 계정 4개 중 3개가 이 값 이하 |
| 코호트 | 백분위 T-norm의 기준 분포. 임계값 산정용 데이터의 non_speech에서 질의 계정과 세트 계정을 제외한 2,000건 |
| 목표 FAR | 임계값을 산정할 때 맞추는 계정 평균 non_speech FAR. 운영 FAR 상한과 다른 값이다. 그림에서는 ‘교정 목표’로 표기한다 |
1. 목표
Phase 2 조합으로 임계값 1개를 정했을 때, 임계값 산정에 사용하지 않은 계정에서도 non_speech FAR이 운영 상한 5% 이하이면서 recall이 얼마나 나오는지 확인한다.
| 확정이 필요한 정책 | 중요한 이유 |
|---|---|
| 운영 임계값 | 모사 성공 / 실패를 가르는 서비스에 적용할 임계값. 점수 척도, 임계값 단위, 수치 |
| 점수 척도 | 원점수, T-norm |
2. 실험 설계
2-1. 데이터 분할
계정 단위로 dev와 test를 나눴다.
| 분할 | 계정 | 정의 | positive | non_speech | 기준음성 |
|---|---|---|---|---|---|
| dev | 172 | 2026-09-28 export에 있던 계정 | 959 | 32,916 | 271 |
| test | 40 | 2026-10-06에 신규 편입한 계정 | 152 | 3 | 121 |
- positive는 pooled 풀에 기준음성이 1개 이상인 단어 16개의 mimic이며 부정확 음원은 포함하지 않았다.
2-2. 세트와 점수
pair 점수는 질의 1개와 보호자 기준음성(reference) 1개의 음의 DTW 비용이며 높을수록 유사하다.
세트는 질의 1개를 판정할 때 비교하는 기준음성 묶음 20개이며 계정과 단어마다 하나다.
Phase 2에서 확정한혼합 정책에 따라, 질의 계정의 보호자가 그 단어로 녹음한 기준음성(own)을 전부 넣고, 20개에 미달하면 풀에 있는 다른 계정의 같은 단어 녹음(pooled)을 계정당 최대 2개씩 무작위 순으로 더한다원점수는 세트 안 기준음성 전부에 대한 pair 점수의 평균이다백분위 T-norm은 원점수를 코호트 non_speech 2,000건의 점수 분포에서 경험적 백분위로 변환한 값이다
운영에서 신규 계정은 라벨 데이터로 만든 고정 풀과 고정 코호트를 사용하므로, 평가에서도 풀과 코호트를 임계값 산정용 데이터의 계정으로 제한했다. 세트의 무작위 순서는 seed 10개로 반복했고 모든 수치는 seed 평균이다.
2-3. 계정 교차검증과 임계값 산정
- dev 계정을 fold 5개로 나눈다. non_speech 20건 이상 여부와 positive 5건 이상 여부로 층을 정한다
- fold마다 나머지 4개 fold의 non_speech trial로 임계값을 정하고 held-out fold 계정에 적용한다. 임계값은 계정 평균 FAR이 목표 FAR 이하가 되는 가장 낮은 값이다. 공통 단위는 모든 단어의 trial을 합치고, 단어별 단위는 그 단어의 trial만 사용한다
- fold 배정 seed를 변경해 10회 반복한다
3. 실험 결과
| 절 | 질문 | 한 줄 답 |
|---|---|---|
| 3-1 | 임계값 하나가 모든 계정에 맞는지 | 맞지 않는다. 계정 평균을 2%에 맞춰도 계정 4개 중 1개는 FAR 3~4% 이상, 최대 9%다 |
| 3-2 | 원점수와 백분위 T-norm 중 무엇이 나은지 | 사전에 정한 선택 규칙으로는 원점수, 상한 안의 recall로는 백분위 T-norm. 백분위 T-norm으로 최종 결정 |
| 3-3 | 목표 FAR을 몇 %로 정할지 | 상한 5%를 충족하는 목표 FAR은 2% 이하다. 상한 5%와 목표 FAR 2%로 결정 |
| 3-4 | test에서는 어떤지 | 합산 recall 49.6%, 안녕 30.0%. 신규 계정의 클립이 쉬운 영향이 포함된 값이다 |
3-1. 임계값 하나가 모든 계정에 맞는지
계정 평균 FAR을 목표 FAR에 맞춰도 held-out 계정별 FAR은 목표 위아래로 넓게 분포한다. 중앙값은 목표의 절반 이하이고, p75는 목표의 약 1.6~1.7배, 최대는 4배를 넘는다.

그림 1. 목표 FAR 6개 × 척도 2개의 held-out 계정별 non_speech FAR 분포. 공통 단위, non_speech 20건 이상 계정, 반복 10회. 점선은 목표 FAR, 빨간 파선은 상한 5%다.
백분위 T-norm, 공통 단위의 값이다. 충족은 반복 10회 중 p75가 5% 이하였던 횟수다.
| 목표 FAR | 중앙값 | p75 | 최대 | 충족 |
|---|---|---|---|---|
| 1% | 0.3% | 1.7% | 5.5% | 10/10 |
| 2% | 0.7% | 3.4% | 9.3% | 10/10 |
| 3% | 1.1% | 5.1% | 12.7% | 3/10 |
| 5% | 2.3% | 8.7% | 19.6% | 0/10 |
| 7% | 3.9% | 12.3% | 25.9% | 0/10 |
| 10% | 6.6% | 17.2% | 33.9% | 0/10 |
- 목표 FAR 5%에서 p75는 8.7%다. “목표 FAR 5%가 다른 계정에서 7~10%가 된다”는 이전 탐색의 현상이 교차검증에서도 재현됐다
- FAR이 높은 계정은 반복이 바뀌어도 같은 계정이다. 채택 설정에서 10회 중 7회 이상 5%를 초과한 계정은 43개 중 8개이고, 편차는 계정 고유의 점수 수준 차이다
- 원점수 설정은 중앙값이 백분위 T-norm보다 높고 p75는 비슷하다
3-2. 원점수 vs 백분위 T-norm / 공통 임계값 vs 단어별 임계값중 무엇을 선택할 것인가
- 원점수: 세트 안 기준음성 20개에 대한 pair 점수의 평균. 음의 DTW 비용이라 음수이며, 세트마다 점수 수준이 다르다
-
백분위 T-norm: 원점수가 같은 세트의 코호트 non_speech 2,000건 점수 분포에서 차지하는 백분위. 0~1 값이며, 0.99는 non_speech의 99%보다 점수가 높다는 뜻이다
- 공통 임계값: 모든 단어에 같은 임계값 1개를 적용한다.
- 단어별 임계값: 주 단어 4개(안녕, 안녕하세요, 사랑해, 까꿍)는 단어마다 값을 정하고, 그 외 단어는 공통 값을 적용한다.
백분위 T-norm, 공통 임계값 채택(2026-10-13).
목표 FAR 2%에서 척도 2개 × 단위 2개의 조합 4개를 비교한 근거다.
| 설정 | 계정별 FAR p75 | 합산 recall | 안녕 | 안녕하세요 | 사랑해 | 까꿍 | 다른 단어 FAR |
|---|---|---|---|---|---|---|---|
| 원점수, 공통 | 3.3% | 21.2% | 21.8% | 14.4% | 3.3% | 41.1% | 6.0% |
| 원점수, 단어별(사전 규칙 기준 채택) | 4.0% | 25.5% | 23.5% | 55.5% | 15.0% | 38.1% | 6.8% |
| 백분위 T-norm, 공통(최종 채택) | 3.4% | 31.3% | 29.9% | 58.1% | 14.7% | 59.2% | 5.9% |
| 백분위 T-norm, 단어별 | 3.0% | 24.5% | 22.0% | 56.3% | 14.5% | 52.7% | 5.8% |
| 설정 | 임계값 |
|---|---|
| 원점수, 공통 | -0.7279 |
| 원점수, 단어별 | 공통 -0.7279, 안녕 -0.7332, 안녕하세요 -0.7925, 사랑해 -0.7607, 까꿍 -0.7359 |
| 백분위 T-norm, 공통 | 0.9915 |
| 백분위 T-norm, 단어별 | 공통 0.9915, 안녕 0.9955, 안녕하세요 0.9940, 사랑해 0.9925, 까꿍 0.9940 |
원점수, 공통은 안녕하세요 14.4%, 사랑해 3.3%로 비교적 긴 단어에서 성능이 낮다. 세트마다 점수 수준이 달라 임계값 1개로는 긴 단어의 positive가 임계값에 미달한다.원점수, 단어별은 단어마다 임계값을 낮춰 이를 해결하지만 다른 단어 FAR이 가장 높고, 주 단어 외 단어와 신규 단어는 공통 값을 사용해야 한다백분위 T-norm, 공통은 임계값 1개로 주 단어 4개가 모두 작동하고 합산 recall이 가장 높다. 백분위가 세트 간 점수 수준 차이를 반영하기 때문이다백분위 T-norm, 단어별은 FAR이 가장 낮지만 단어별 임계값이 공통 값보다 높게 정해져 recall이 공통보다 6.8%p 낮다- non_speech FAR은 네 조합 모두 held-out 합산 1~2%로 같다

그림 2. 목표 FAR 2%의 조합 4개 단어 혼동행렬. dev held-out, 반복 0, 세트 seed 1개. 행은 질의 종류(positive, 다른 단어 mimic, non_speech), 열은 판정, 셀은 건수와 행 비율이다.
3-3. 목표 FAR을 몇 %로 정할 것인가
목표 FAR을 2%로 확정한다.
운영 FAR 상한을 5%로 유지하는 것이 목표이므로, 목표 FAR은 2%로 확정하였으며, 임계값은 0.9915다.
목표 FAR을 높이면 임계값이 낮아져 recall이 오르지만, 그만큼 non_speech도 더 많이 통과한다.
- held-out 계정별 FAR p75는 목표 FAR의 약 1.7배다. 목표 FAR을 1%p 올릴 때마다 약 1.7%p씩 오른다
- 합산 recall은 목표 FAR 1%에서 2%로 올릴 때 8.9%p, 2%에서 3%로 올릴 때 6.2%p 오른다. 목표 FAR이 높아질수록 증가 폭은 줄어든다
| 목표 FAR | 임계값 | p75 | 최대 | 합산 recall | 안녕 recall | 상한 5% |
|---|---|---|---|---|---|---|
| 1% | 0.9970 | 1.7% | 5.5% | 22.4% | 20.4% | 충족 |
| 2% | 0.9915 | 3.4% | 9.3% | 31.3% | 29.9% | 충족 |
| 3% | 0.9855 | 5.1% | 12.7% | 37.5% | 36.4% | 미충족 |
| 5% | 0.9735 | 8.7% | 19.6% | 45.0% | 44.1% | 미충족 |
운영 FAR 상한을 5%로 유지하는 것이 목표이므로, 목표 FAR은 2%로 확정하였으며, 임계값은 0.9915다.
- 상한을 3%로 낮추면 목표 FAR 1%(recall 22.4%), 7%로 높이면 3%(recall 37.5%)가 된다.
3-4. 최종 결정 정책(백분위 T-norm, 공통, 2%) test 결과
dev 전체로 산정한 임계값 0.9915를 dev에 없던 신규 계정 40개(test)에 그대로 적용했다.
| 항목 | dev held-out | test | test 건수 |
|---|---|---|---|
| 합산 recall | 31.3% | 49.6% [37.3%, 61.4%] | 152 |
| 안녕 recall | 29.9% | 30.0% [14.9%, 42.4%] | 74 |
| 안녕하세요 recall | 58.1% | 59.8% [45.1%, 73.5%] | 52 |
| 사랑해 recall(참고) | 14.7% | 92.9% [49.4%, 100.0%] | 14 |
| 까꿍 recall(참고) | 59.2% | 75.8% [42.9%, 91.8%] | 12 |
| 다른 단어 FAR | 5.9% | 6.5% [4.2%, 8.8%] | 3,017 |
모든 값은 세트 seed 10개 평균이다. 대괄호는 계정 단위 부트스트랩 95% 신뢰구간이다. 사랑해와 까꿍은 test positive가 14건, 12건이라 참고값이다.

그림 3. 최종 결정 정책의 test 단어별 혼동행렬. 행은 질의 종류(positive, 다른 단어 mimic, non_speech), 열은 판정, 셀은 행 비율과 건수다. 건수는 세트 seed 10개의 평균이라 소수가 나올 수 있다. positive 행의 성공 칸이 recall, 나머지 두 행의 성공 칸이 오통과율이다.
recall은 주 단어에서 held-out과 같은 수준이다.
- 안녕 30.0%, 안녕하세요 59.8%로 held-out 29.9%, 58.1%와 거의 같다. 임계값 0.9915가 신규 계정에서도 같은 수준으로 작동한다
- 합산 recall이 held-out보다 18.3%p 높은 것은 임계값이 달라져서가 아니다. 안녕과 안녕하세요는 같은 수준이고, 차이는 사랑해와 까꿍처럼 건수가 적은 단어에서 난다. 신규 편입 계정의 클립이 dev 계정의 클립보다 판정하기 쉬운 영향이 포함된 값이다
다른 단어를 성공으로 판정하는 비율은 6.5%다.
- 단어별로는 안녕 세트 0.2%, 사랑해 0.8%, 까꿍 1.9%로 낮고 안녕하세요 세트가 9.8%로 가장 높다
- 확장 mimic(안녕하세요 mimic을 안녕 세트에 비교) 52건은 0.2%만 임계값 이상이다. 안녕하세요를 안녕으로 잘못 판정하지 않는다
- 부정확 mimic 20건은 54.5% [24.6%, 80.0%]가 임계값 이상이다. 부정확하게 따라 한 발화의 절반은 성공으로 판정된다
계정 간 편차가 크다.

그림 4. 최종 결정 정책의 test 계정별 안녕 recall. 계정명은 recall이 높은 순으로 계정 A~S로 익명화했다. 괄호의 mimic은 그 계정의 안녕 positive 건수, own은 그 계정 보호자가 녹음한 안녕 기준음성 수다. 점선은 전체 안녕 recall 30.0%다.
- 안녕 positive가 있는 계정 19개 중 7개는 recall 0%다. 계정별 중앙값은 5.0%, p75는 46.3%다
- 전체 30.0%는 잘 맞는 계정 몇 개가 끌어올린 평균이다. 계정 19개 중 11개는 recall이 10% 미만이다
- positive가 1~2건인 계정이 8개라 계정별 값 자체의 불확실성도 크다
4. 결론
| 질문 | 답 | 근거 |
|---|---|---|
| 운영 임계값 | 백분위 T-norm, 공통 임계값, 목표 FAR 2%. 임계값 0.9915 |
3-2, 3-3 |
| 다른 계정에서 운영 상한 5%를 충족하는지 | 목표 FAR 2% 이하에서 충족한다(held-out p75 3.4%). 3% 이상은 p75가 5%를 초과한다. | 3-1, 3-3, 3-4 |
| 채택 임계값에서의 recall | held-out 합산 31.3%, 안녕 29.9%. test 안녕 30.0%, 안녕하세요 59.8%로 같은 수준이다. | 3-2, 3-4 |
| 모든 계정에서 고르게 작동하는지 | 아니다. held-out 계정별 FAR은 최대 9.3%이고, test 안녕 계정 19개 중 7개는 recall 0%다 | 3-1, 3-4 |
| 어떤 소리를 잘못 성공으로 판정하는지 | 다른 단어 mimic 6.5%(안녕하세요 세트 9.8%), 부정확 mimic 54.5%. 안녕하세요를 안녕으로 판정하는 경우는 0.2%다 | 3-4 |
