보호자 기준음성의 평균 벡터 하나로 앵무새의 ‘안녕’ 모사를 판정하는 방법을 시험했다. 단어 일치 AUC는 후보 방법론 1인 SSL+DTW와 같은 수준이었다. FAR 5% 기준 검출률은 공용 기준음성에서 15.3%, 같은 계정 기준음성에서 7.0%로, SSL+DTW의 23.2%와 18.6%보다 낮았다.

전체 파이프라인은 개발 현황 글에서 다룬다.


0. 용어 정리

용어 의미
mimic 앵무새가 사람 단어를 흉내 낸 클립
비발화(non_speech) 단어가 아닌 앵무새 소리
보호자 기준음성(reference) 보호자가 단어를 가르치려고 녹음한 사람 음성
공용 기준음성(pooled) 다른 계정 보호자와 외부 사람의 기준음성을 모은 것
같은 계정 기준음성(own-ref) 앵무새와 같은 계정의 보호자가 녹음한 기준음성
프로토타입 같은 단어의 기준음성 임베딩을 평균한 벡터 1개
AUC 성공 클립에 실패 클립보다 높은 점수를 주는 정도로, 0.5는 무작위이고 1.0은 완전 구분
단어 일치 AUC 단어 모사 성공을 오답과 구분한 AUC로, 말한 단어가 ‘안녕’인지 다른 단어인지 구분하는 정도
모사 여부 AUC 단어 모사 성공을 non_speech와 구분한 AUC로, 단어를 말한 소리인지 단어가 아닌 소리인지 구분하는 정도
계정 서비스에 등록된 한 가정
fold 계정을 6개 묶음으로 나눈 것 중 1개

1. 목표

배경

사람의 단어 발음 오디오(기준음성)는 앵무새의 mimic보다 비교적 수집하기 쉽다. 또한 TTS 기술 등을 통해 데이터를 늘리는 것도 가능하다. 따라서 사람 발음 오디오를 다량 수집하여 이것을 기준으로 삼으면 앵무새의 단어 모사 성공 여부를 판단할 수 있지 않을까하는 생각이 들었다.

보호자 기준음성을 평균한 프로토타입 하나로, 앵무 클립이 ‘안녕’을 말했는지 판정한다. 프로토타입은 공용 기준음성과 같은 계정 기준음성으로 각각 구성해 모두 시험한다.

구분 프로토타입에 사용하는 기준음성 적용 대상
공용(pooled) 다른 계정 보호자와 외부 사람의 녹음 계정 141개 전체
같은 계정(own-ref) 앵무새와 같은 계정의 보호자 녹음 기준음성이 있는 계정 25개

SSL+DTW는 기준음성과 앵무 클립을 프레임 단위로 시간 정렬하며, 기준음성이 N개면 정렬을 N번 반복한다. 프로토타입은 기준음성을 미리 평균해 벡터 1개로 만들고, 앵무 클립마다 cosine 유사도를 1번 계산한다. 기준음성이 증가해도 계산 비용이 같다.

보호자 기준음성은 단어 등록 때 확보되지만 앵무 mimic은 단어마다 미리 확보하기 어렵다. 그래서 사람 음성만으로 구성하는 판정 기준이 필요하다.


2. 방법론 설명

프로토타입 점수를 계산하는 순서다.

오디오 클립 -> (ContentVec L9) -> 프레임 벡터들 -> (시간축 평균) -> 클립 벡터 1개
기준음성 클립 벡터들 -> (화자별 평균, 화자 간 평균) -> 프로토타입
점수 = cosine(앵무 클립 벡터, 프로토타입)
점수 >= τ 이면 성공

프로토타입과 SSL+DTW의 구조 비교

  • 학습: 없음, ContentVec 가중치 고정
  • 임계값 τ: 교정 fold에서 오답 FAR와 비발화 FAR가 각각 5% 이하인 값 중 검출률이 최대인 값, 평가 fold에 그대로 적용

인코더를 고른 근거는 후보 방법론 2에서 다뤘다.


3. 프로토타입 구성

프로토타입에 포함하는 음성에 따라 네 가지 구성을 비교했다. 이후에는 기호로 부른다.

기호 구성 프로토타입에 포함한 음성
V-H 사람 기준음성 다른 계정 보호자와 외부 사람의 녹음
V-HT 사람 기준음성과 TTS 사람 기준음성에 TTS 합성 음성 13개 추가
V-HP 사람 기준음성과 앵무 mimic 사람 기준음성에 다른 계정 앵무새의 ‘안녕’ mimic 추가
V-P 앵무 mimic 다른 계정 앵무새의 ‘안녕’ mimic

4. 데이터셋

  • 대상 단어: 안녕
  • 대상: 소형조, 중형조 앵무새
  • 규모: 평가 클립 6,419개, 계정 141개
클래스 클립 수
성공 849
오답 234
비발화 5,336
보호자 기준음성 157
외부 사람 녹음 20

데이터 분할

  • 분할 단위: 계정, fold 6개
  • fold 역할: 평가 1개, 임계값 교정 1개, 프로토타입 구성 3개, 미사용 1개
  • 집계: 평가 fold 6개 병합

5. 테스트 결과

5-1. 프로토타입 구성 비교

V-H의 검출률(FAR 5% 기준으로 정한 임계값에서, 실제 ‘안녕’ mimic 중 성공으로 판정된 비율)이 15.3%로 가장 높다.

  • 단어 일치 AUC: 해당 단어의 모사 성공(mimic)과 다른 단어의 모사 성공(mimic)이 구분되는 정도
  • 발화 여부 AUC: 해당 단어의 모사 성공(mimic)과 비발화(non_speech)가 구분되는 정도

프로토타입 구성별 AUC

구성 단어 일치 AUC 모사 여부 AUC 검출률 오답 FAR 비발화 FAR
V-H 0.724 0.672 15.3% 4.7% 3.2%
V-HT 0.681 0.676 12.7% 3.8% 1.3%
V-HP 0.755 0.602 10.1% 2.6% 4.1%
V-P 0.712 0.505 7.7% 0.9% 4.3%

앵무 mimic을 포함한 V-HP와 V-P는 모사 여부 AUC가 V-H보다 낮고, V-P는 무작위 수준이다. V-HT는 단어 일치 AUC가 V-H보다 낮다.

이후 비교에서는 프로토타입을 V-H로 구성한다.

 

5-2. AUC 비교

프로토타입과 SSL+DTW의 단어 일치 AUC는 비슷한 수준이다.

두 방법에 같은 기준음성 목록, 같은 평가 클립, 같은 교정 fold, 같은 임계값 규칙을 적용했다. SSL+DTW는 ContentVec 프레임 시퀀스를 cosine 거리로 정렬하고, 기준음성별 점수를 화자별로 평균한 뒤 화자 간에 평균한다.

방법 단어 일치 AUC 모사 여부 AUC
프로토타입 0.724 0.672
SSL+DTW 0.726 0.702

FAR 10% 이하 구간에서는 SSL+DTW의 검출률이 프로토타입보다 높다.

이 실험의 교정 목표는 FAR 5%다. ROC 그림의 17.6%와 26.7%는 평가 점수에서 FAR 5% 지점을 직접 계산한 값이며, 교정 fold에서 임계값을 정한 검출률 비교 섹션의 수치와 계산 방식이 다르다. 실패 클립 중 50번째로 높은 점수를 기준으로 하면, 그 점수 이상을 받은 성공 클립은 SSL+DTW가 134개, 프로토타입이 71개다.

두 방법의 ROC 곡선

두 방법의 점수 분포

 

5-3. 검출률 비교

기준음성 조건 세 가지 모두에서 SSL+DTW의 검출률이 프로토타입보다 높다.

같은 조건의 성공 검출률

구분 기준음성 조건 프로토타입 SSL+DTW 차이 차이의 95% 신뢰구간
공용 다른 계정 보호자와 외부 사람 15.3% 23.2% -7.9%p -14.3%p ~ -3.6%p
공용 외부 사람 녹음 20개 13.0% 22.1% -9.2%p -16.0%p ~ -5.3%p
같은 계정 같은 계정 보호자 7.0% 18.6% -11.6%p -36.5%p ~ -1.1%p
  • 95% 신뢰구간: 계정을 재추출해 계산, 세 조건 모두 0 미포함
  • FAR: 두 방법 모두 오답 FAR 5.1% 이하, 비발화 FAR 3.2% 이하
  • 같은 계정 보호자 조건: 기준음성이 있는 계정의 클립만 평가, 성공 클립 357개
  • 같은 계정 보호자 조건의 수치: 계정마다 기준음성 최대 5개를 무작위 추출하는 과정을 20회 반복한 평균

아래 두 그림은 다른 계정 보호자와 외부 사람 조건의 판정 건수와 fold별 검출률이다. 평가 fold 6개 전부에서 SSL+DTW의 검출률이 프로토타입 이상이다.

판정 건수

fold별 성공 검출률

 

5-4. 같은 계정 기준음성

앵무새와 같은 계정의 기준음성만으로 프로토타입을 구성하면 검출률이 7.0%다. 같은 성공 클립 357개에서 V-H 프로토타입은 12.9%, 같은 계정 기준음성을 사용한 SSL+DTW는 18.6%다.

원인 후보는 두 가지이며 검증 전이다.

  • 기준음성 수: 평가한 19개 계정 중 14개 계정의 기준음성이 1~2개
  • 순서 정보: 프로토타입은 시간축 평균으로 음절 순서 정보를 제거, DTW는 순서를 유지

같은 계정 보호자 조건의 검출은 fold 4에 집중된다. 프로토타입은 25건 전부, SSL+DTW는 평균 66.5건 중 59.5건이 fold 4의 클립이다.

 

5-5. 계산 비용

기준음성 20개 이하에서는 DTW 추가 시간이 ContentVec 추출 시간보다 작고, 131개에서는 같은 수준이다. ContentVec 추출은 두 방법 모두에 필요하다.

항목 시간
DTW, 기준음성 5개 약 7ms
DTW, 기준음성 20개 약 30ms
DTW, 기준음성 131개 약 190ms
ContentVec 추출, 클립 1개 약 190ms

DTW 시간은 1쌍당 1.5ms 이하라는 로컬 CPU 실측을 환산한 값이며, 서비스 지연 시간과 다르다.

 

5-6. 다른 단어 확장

단어 일치 AUC가 ‘안녕’과 같은 수준인 단어는 안녕하세요 1개다.

단어별 프로토타입 성능

단어 성공 클립 수 단어 일치 AUC 95% 신뢰구간 사람 기준음성 클립의 단어 일치 AUC
안녕 849 0.724 0.623 ~ 0.793 0.903
안녕하세요 48 0.731 0.533 ~ 0.919 0.964
사랑해 63 0.539 0.415 ~ 0.660 0.961
까꿍 18 0.569 0.162 ~ 0.922 0.726
귀여워 15 0.912 0.661 ~ 0.989 0.999
코코야 6 0.988 0.974 ~ 0.994 0.997

사람 기준음성 클립의 단어 일치 AUC는 앵무 클립 대신 사람 기준음성 클립으로 계산한 단어 일치 AUC다. 화자 한 명을 뺀 기준음성으로 프로토타입을 만들고, 그 화자의 목표 단어 클립을 다른 단어 클립과 구분한다.

  • 안녕하세요: 성공 클립 48개 중 18개가 계정 1개에 집중
  • 사랑해: 사람 기준음성 클립은 구분하지만 앵무 클립은 무작위 수준
  • 까꿍, 귀여워, 코코야: 표본 부족으로 판단 불가

‘안녕’ 외 단어는 교정 fold의 성공 클립이 부족하기 때문에 임계값을 정하지 못했다.

SSL+DTW와 비교

안녕하세요에서는 SSL+DTW의 검출률이 프로토타입보다 높고, 사랑해에서는 두 방법 모두 무작위 수준이다. 두 방법에 같은 기준음성 목록, 같은 평가 클립, 같은 교정 fold, 같은 임계값 규칙을 적용했다. 교정 임계값 검출률은 교정 fold에서 정한 임계값을 평가 fold에 적용한 값이고, 평가 점수 기준 검출률은 평가 점수에서 FAR 5% 지점을 직접 계산한 값이다.

단어 방법 단어 일치 AUC 모사 여부 AUC 교정 임계값 검출률 평가 점수 기준 검출률
안녕하세요 프로토타입 0.731 0.811 10.0% 25.0%
안녕하세요 SSL+DTW 0.798 0.857 20.0% 52.1%
사랑해 프로토타입 0.539 0.522 3.2% 6.3%
사랑해 SSL+DTW 0.508 0.538 6.3% 14.3%
  • 안녕하세요의 평가 점수 기준 검출률 차이: -27.1%p, 95% 신뢰구간 -61.8%p ~ -4.5%p
  • 안녕하세요의 교정 임계값 검출률: 교정 fold 1개가 정의되지 않아 성공 클립 30개만 평가
  • 안녕하세요의 오답 1,071개 중 827개: ‘안녕’ 클립
  • 사랑해: 프로토타입 방식의 문제로 볼 수 없음, 데이터 쪽 원인 확인 필요

6. 종합 결과

프로토타입이 SSL+DTW를 대체할 근거는 확인하지 못했다.

  • 단어 일치 AUC: SSL+DTW와 같은 수준
  • 검출률: 안녕의 기준음성 조건 세 가지 모두에서 SSL+DTW보다 7.9~11.6%p 낮고, 안녕하세요에서도 낮음
  • 계산 비용: 기준음성 20개 이하에서는 DTW 추가 시간이 ContentVec 추출 시간보다 작음

후보를 비교할 때는 AUC와 목표 FAR의 검출률을 같은 조건에서 함께 확인해야 한다.

남은 한계는 다음과 같다.

  • 절대 수준: 두 방법 모두 FAR 5% 기준 검출률이 23.2% 이하이며 운영 가능 여부는 확인 전
  • 임계값 안정성: 오답 FAR가 5%를 초과한 평가 fold가 프로토타입 3개, SSL+DTW 2개
  • 범위: SSL+DTW와의 비교는 안녕, 안녕하세요, 사랑해 3개 단어에서만 진행, 프로토타입 결과를 확인한 뒤 추가한 분석
  • 데이터: 외부 사람 녹음 20개는 청취 확인 전
  • 평가 방식: 기존 데이터의 교차검증이며 독립 평가셋 성능과 다름