서강대학교 IIPLAB 미팅용 연구 소개 자료 앵무새 언어 학습 서비스 buddybird의 핵심 판정 기능

  • 일자: 2026. 08. 31

1. 서비스 배경: 앵무새에게 말을 가르치는 buddybird

buddybird는 보호자가 부재중일 때 앵무새를 돌보고 말(단어)을 가르치는 서비스입니다.

새장 앞에 놓인 디바이스(station)가 보호자가 녹음한 학습 오디오를 재생하고, 앵무새가 내는 소리를 마이크로 감지해 “오늘 앵무새가 어떤 단어를 얼마나 따라 했는지”를 학습 리포트와 알림으로 보호자에게 전달합니다.

이 서비스가 성립하려면 시스템이 두 가지를 판정할 수 있어야 합니다.

  1. 마이크에 잡힌 소리가 앵무새 소리인가? (발성 감지)
  2. 앵무새가 낸 소리가 학습 단어의 모사에 성공했는가? (모사 판정)

2. 파이프라인 구조

앵무새 발화 판정 파이프라인 구조

단계별 목표

단계 목표 상태
1. 음량 게이트 판별 불가능한 저음량 클립을 인코더 추론 전에 제거 (임계 −39 dBFS 확정) 완료
2. 앵무새 소리 게이트 사람 음성 차단을 최우선으로 비앵무 클립 제거. 사람 음성 오통과율 상한 기준으로 운영 임계값 확정 v1.0.0 완료 · 업그레이드 중
4. 모사 성공 판정 앵무새 단어 시도를 보호자 기준음성 1~5개와 비교해 성공/실패 + 연속 점수 산출 착수 예정

3. 2단계 앵무새 소리 게이트 (parrot sound gate)

클립이 앵무새 소리인지 아닌지를 판별하는 이진 게이트입니다.

모델 구조 — 사전학습 인코더 Perch 2.0 + 선형 probe

Google Perch 2.0은 대규모 생물음향(bioacoustics) 데이터로 사전학습된 인코더입니다. 오디오를 32kHz 리샘플 후 5초 창(홉 2.5초)으로 잘라 1536차원 임베딩을 추출하고,

그 위에 표준화 + L2 로지스틱 회귀를 학습합니다.

  • 모델 구조 설계 근거
    • 데이터 부족
      • 학습 데이터가 총 2,322클립(앵무 503 · 비앵무 1,819)
      • 딥러닝 모델을 처음부터 학습하는 대신 frozen 인코더 + 선형 probe가 적합하다고 판단
    • 타 인코더에 비해 높은 성능을 확인함
      • AVES, AudioSet zero-shot, MFCC 등 후보를 고려하였으나, Perch2.0이 제일 높은 성능을 보임

평가 방법론

  • 고객의 앵무새는 항상 학습에 없던 개체
  • 고객의 앵무새가 학습 데이터에 없는 앵무새 종일 가능성
프로토콜 분할 기준 용도
LOSO (leave-one-species-out) 앵무 종 단위 홀드아웃 대표 지표. 학습에 없던 종으로의 일반화
LOIO (leave-one-individual-out) 개체 단위 홀드아웃 보조 지표. 미학습 개체 일반화
kfold (층화 5겹) 클립 단위 낙관 편향 상한 참고용

운영 임계값 τ — Neyman-Pearson 방식의 τ 선정

  • 앵무 확률 ≥ τ(0.0378) → 앵무 (통과)
  • 앵무 확률 < τ(0.0378) → 비앵무 (차단)

사람 음성 오통과율(FAR) ≤ 2%를 하드 제약으로 걸고, 그 안에서 앵무 재현율을 최대화하는 Neyman-Pearson 프레이밍을 사용하여 도출.


v1.0.0 성능 (운영 임계값 τ=0.038, LOSO 기준)

probe 학습 데이터셋 — 총 2,322클립

클래스 구성 개수
앵무 (503) 7종 — conure 151 · lovebird 150 · cockatiel 89 · budgerigar 60 · quaker 44 · cockatoo 7 · patagonian conure 2 503
비앵무 (1,819) 팀이 직접 녹음한 사람 음성 40
  실서비스 station에서 수집한 사람 음성 859
  실서비스 station에서 수집한 생활 잡음 920

핵심 지표

지표
앵무 재현율 (전체) 96.6%
사람 음성 오통과율 (상한 2%) 1.9%
잡음 오통과율 2.1%
종별 ROC-AUC (7종 전부) 0.996+

종별 ROC-AUC는 conure 0.996, quaker·lovebird·cockatiel 1.000 등 전 종에서 높은 분리도를 보였습니다. LOSO는 종을 통째로 빼는 보수적 하한이므로, 알려진 종의 신규 개체를 만나는 실서비스에서는 실제 재현율이 이보다 높습니다.


현재 v1.1.0 개발 진행 중

v1.0.0 이후 새 데이터가 편입되어 클립이 2,322 → 2,771개로 늘었습니다.

새롭게 추가된 데이터는 유튜브의 앵무새 영상에서 수집한 총 449클립으로, 다수의 앵무새 단어 모사 시도(311클립)와 보호자의 단어 발화 오디오(138클립)로 구성됩니다.

이 새 데이터에 대해 v1.0.0 probe로 분류를 시도한 결과:

사람 음성인 보호자 단어 발화 138클립 중 70클립(50.7%)이 앵무새 소리로 잘못 통과.

데이터 출처 probe 학습에 포함되었는지 여부 n 오통과 오통과율 확률 중앙값 / 최대
팀이 직접 녹음한 사람 단어 발화 클립 포함 40 0 0.0% 0.000 / 0.010
유튜브에서 수집한 사람 단어 발화 클립 미학습 138 70 50.7% 0.048 / 0.993
합계 178 70 39.3%

앵무새 단어 모사 클립 분류 결과 — 미학습 종에서 미탐

새로 추가된 앵무새 클립 311개(단어 모사 시도 257 · 비발화 54)에 v1.0.0 probe로 분류를 진행한 결과. 전체 재현율은 79.1%(모사 시도 75.1% · 비발화 98.1%)

v1.0.0 학습 포함 모사 시도 n 통과 재현율
quaker 포함 91 91 100%
lovebird 포함 80 80 100%
conure 포함 7 7 100%
eclectus 미학습 76 14 18.4%
amazon 미학습 3 1 33.3%

학습에 있던 종은 신규 클립에서도 전부 통과했지만, 학습에 없던 종(eclectus·amazon)은 단어 모사 대부분이 차단됐습니다.


4. 모사 성공 판정 (착수 예정)

2단계를 통과한 앵무새 클립이 학습 단어 모사에 성공했는지를 보호자 기준음성과 비교해 판정하는 단계입니다. 후보 기술 조사와 실험 설계를 마쳤고, 본 실험에 착수할 예정입니다.

문제 정의 — 분류가 아니라 기준음성 기반 유사도

  • 입력: 앵무 단어 시도 클립 1개 + 같은 단어의 보호자 기준음성 1~5개
  • 출력: 성공/실패

분류가 아닌 보호자의 단어 발화 오디오 기반 유사도

난관

① 음색 도메인 갭

  • 기준음성은 사람 성대 / 앵무새의 모사 시도는 앵무새 명관(syrinx)에서 비롯됨.
  • 포먼트·배음 구조가 근본적으로 달라, 스펙트럼을 직접 비교하면 “같은 단어”보다 “같은 발성기관”이 먼저 매칭됩니다. 사람 음성 사전학습 모델엔 앵무 오디오가 OOD.

② 데이터 부족

  • 단어 클립은 현재 앵무 시도 372개 + 보호자 기준음성 178개 규모.
  • 기존 앵무새 음성 데이터셋 자체가 없고. 모두 직접 수집해야 함.
  • 현실적으로, 지도학습이 불가능하므로 사전학습 인코더(frozen) + 거리·정렬 기반 무학습 기법을 우선

검토중인 후보 기술 — [특징 추출기] × [알고리즘 기반 비교·정렬]

조합 아이디어 역할
MFCC × DTW 고전 음향 특징 + 동적 시간 정렬 대조군 — 모든 후보가 이겨야 할 기준선
Perch 2.0 × DTW / 코사인 Perch가 노출하는 시계열 출력(멜 10ms 프레임)으로 DTW 정렬, pooled 임베딩으로 코사인 2단계와 임베딩 인프라 공유 — 추론 비용 최소
음소 posteriorgram(PPG) × DTW 다국어 음소 인식기로 오디오를 음소 확률 시퀀스로 변환 — 음소 공간은 음색·피치가 제거됨 음색 갭 정공법. 비발화는 평탄한 posterior가 나와 자동 기각되는 부수 효과
Content 임베딩 (ContentVec 등) × DTW 음성 변환(VC)용으로 설계된 “음색 제거·내용 보존” 임베딩 갭 문제의 설계상 정공법 — 단 사람 화자만 학습해 종간 외삽은 실증 필요