1. 논문이 나온 배경
음성 기반 AI 어시스턴트 기술의 발전과 함께 웨이크워드 감지는 사용자가 특정 키워드를 말했을 때만 AI가 음성을 듣고 반응하도록 하는 핵심 기능으로 자리잡았습니다. 하지만 현재 대부분의 공개된 웨이크워드 감지 모델들은 영어에만 집중되어 있으며, 한국어를 비롯한 비영어권 언어에 대한 사전 학습된 모델이 현저히 부족한 상황입니다. 이러한 언어적 불균형은 비영어권 사용자들의 접근성을 제한할 뿐만 아니라, 음성 기반 AI의 글로벌 활용을 저해하는 주요 요인이 되고 있습니다.
더욱이 웨이크워드 기반 시스템은 항상 음성을 청취하는 특성상 심각한 프라이버시 문제를 야기합니다. 웨이크워드의 존재 여부만을 판단하는 시스템의 경우, 해당 웨이크워드를 알고 있는 누구나, 심지어 우연히 발화한 사람조차도 시스템을 활성화시킬 수 있기 때문입니다. 생성형 AI의 능력이 확장되고 점점 더 능동적으로 변화하는 현 시점에서, 강력한 인증 계층의 필요성이 더욱 중요해지고 있습니다.
2. 어떤 것을 개선할 것인지?
이 연구는 두 가지 핵심 문제를 동시에 해결하고자 합니다.
첫째, 한국어 웨이크워드 감지 모델의 부재 문제를 해결하기 위해 한국어 특화 웨이크워드 "하나"에 대한 감지 시스템을 구축합니다. 둘째, 단순히 웨이크워드만 감지하는 것이 아니라 화자 인증 단계를 추가하여, 허가받지 않은 사용자의 접근을 차단하는 프라이버시 중심의 시스템을 제안합니다.
구체적으로는 웨이크워드 감지의 정확도를 높이면서도 오탐지율(False Acceptance Rate)과 미탐지율(False Rejection Rate)을 균형있게 낮추는 것을 목표로 합니다. 또한 화자 인증 과정을 통합하여 인가된 사용자만이 AI 어시스턴트를 활성화할 수 있도록 하여, 기존 웨이크워드 시스템의 보안 취약점을 개선합니다.
이 모든 과정을 NVIDIA Jetson Nano와 같은 리소스가 제한된 디바이스에서도 실시간으로 동작하도록 경량화하고 최적화하는 것도 중요한 개선 목표입니다.
3. 어떤 원리로 개선된 것인지?
3.1 시스템 아키텍처
시스템은 네 개의 핵심 모듈이 순차적으로 동작하는 파이프라인 구조로 설계되었습니다.
첫 번째로 전처리 유닛(Pre-processing Unit)이 16kHz로 샘플링된 원시 오디오를 멜-스펙트로그램으로 변환합니다. 이 과정에서 1,760개의 샘플이 축적되면 TensorFlow Lite 모델을 통해 STFT(Short-Time Fourier Transform)와 멜 필터링을 수행하여 [batch_size, 1, window_count, 32] 차원의 스펙트로그램을 생성합니다. 25밀리초 윈도우 크기와 32개의 멜 빈을 사용하여 약 60Hz에서 3800Hz 범위의 주파수 성분을 포착합니다.
두 번째로 공유 특징 추출 백본(Shared Feature Extraction Backbone)이 멜-스펙트로그램을 96차원 임베딩으로 변환합니다. 이 백본은 대규모 오디오 데이터로 사전 학습된 경량 CNN(TFHub 모듈 기반)을 사용하며, 추론 시 계산 부담을 줄이기 위해 가중치를 고정(freeze)합니다. MIT의 Room Impulse Response를 활용한 잔향 효과와 다양한 배경 소음을 추가하는 데이터 증강 기법을 적용하여 실제 환경에 대한 강건성을 향상시켰습니다.
세 번째로 웨이크워드 분류 모듈(Wakeword Classification)이 96차원 임베딩을 입력받아 목표 웨이크워드 "하나"의 존재 여부를 판단합니다. 이 모듈은 완전 연결 분류기(FCN)를 사용하며, 메모리 제약을 초과하지 않으면서 큰 배치 크기를 시뮬레이션하기 위해 그래디언트 누적(Gradient Accumulation) 기법을 활용합니다.
3.2 화자 인증 전략
화자 인증은 두 가지 접근법으로 구현되었습니다.

접근법 A(Parallel Pipeline)는 웨이크워드 감지 과정에서 생성된 96차원 임베딩을 그대로 활용하여 병렬로 화자 검증을 수행합니다. 이는 추가적인 임베딩 계산 없이 빠른 인증이 가능하지만, 낮은 차원의 임베딩으로 인해 화자 구별 능력에 제약이 있을 수 있습니다.

접근법 B(Post-classification Trigger)는 웨이크워드가 감지된 후 20프레임의 쿨다운 기간 동안 최근 4,000개의 오디오 프레임(0.25초)을 로컬 캐시에서 검색합니다. 이 오디오 청크는 별도의 인코더를 통해 256차원의 고차원 화자 임베딩으로 변환되며, 이는 화자의 음성 특성을 더욱 정교하게 포착할 수 있습니다.
두 접근법 모두 코사인 유사도(Cosine Similarity)를 사용하여 현재 화자의 임베딩과 저장된 인가 사용자 모델을 비교하며, 유사도가 사전 정의된 임계값을 초과할 때만 시스템을 완전히 활성화합니다.
3.3 데이터 증강 및 최적화
TTS 기반 데이터 증강을 활용하여 다양한 학습 샘플을 생성했습니다.
한국어 "하나"의 음성학적 구조가 영어 "hana"와 부분적으로 유사하다는 점을 활용하여 openai-piper를 통해 합성 음성 데이터를 생성했습니다. 또한 audiomentations 라이브러리를 사용한 다양한 음향 변형을 적용했습니다. SevenBandParametricEQ로 마이크 특성 변화를 시뮬레이션하고, TanhDistortion으로 저품질 녹음에 대한 강건성을 높였으며, PitchShift로 자연스러운 음성 피치 변화에 대응했습니다. BandStopFilter로 하드웨어 제약을 시뮬레이션하고, AddColoredNoise로 다양한 SNR의 컬러 노이즈를 주입하며, Gain Augmentation으로 여러 볼륨 레벨에서의 감지 능력을 보장했습니다.
CUDA 플랫폼을 통합하여 GPU 가속을 활용함으로써 추론 속도를 대폭 향상시켰습니다. 이를 통해 호환 가능한 하드웨어에서 거의 즉각적인 웨이크워드 감지와 검증이 가능해졌습니다.
4. 실험 결과 및 성능
4-1. 데이터셋 구조
실험에 사용된 데이터셋은 7명의 화자로부터 수집된 총 1,287개의 오디오 샘플로 구성되었습니다. 모든 샘플은 WAV 형식으로 저장되었으며, 각 화자가 한국어 단어 "하나"를 발화한 음성을 담고 있습니다. 화자 다양성을 보장하기 위해 데이터를 훈련 세트(919샘플)와 테스트 세트(368샘플)로 분할했습니다.
구체적인 화자별 구성을 보면, SGW가 491개로 가장 많은 샘플을 제공했으며(훈련 360개, 테스트 131개), 이어서 LDH가 280개(훈련 200개, 테스트 80개), JJA가 146개(훈련 100개, 테스트 46개), SHS가 115개(훈련 80개, 테스트 35개), PJH가 117개(훈련 89개, 테스트 28개), NHW가 92개(훈련 60개, 테스트 32개), LJH가 46개(훈련 30개, 테스트 16개)를 기여했습니다.
실험에서는 SGW를 인가된 사용자로 지정하고 나머지 6명을 비인가 사용자로 분류했습니다. 따라서 웨이크워드를 포함한 샘플은 두 가지 카테고리로 나뉩니다: voice-authp(인가된 사용자의 웨이크워드 발화)와 voice-authn(비인가 사용자의 웨이크워드 발화)입니다.
실제 음성 샘플 외에도 openai-piper를 사용하여 2,000개의 합성 오디오 클립을 생성했습니다. 한국어 "하나"와 음성학적으로 유사한 "haanaa"를 선택하여 tts-wwp(웨이크워드 양성) 카테고리로 분류하고, "haanaa"를 포함하지 않는 TTS 발화는 tts-wwn(웨이크워드 음성) 카테고리로 구성했습니다.
마지막으로 시스템의 오작동률을 평가하기 위해 AI-Hub의 한국어 대화 데이터셋을 포함했습니다. 이 데이터셋은 웨이크워드가 포함되지 않은 음성 세그먼트로 구성되었으며, 각각 하나의 문장을 포함하는 짧은 단위로 분할되어 문장 수준의 감지/인증 분석을 가능하게 했습니다. 전체 데이터 구성을 보면, 훈련 데이터는 voice-authp 360개, tts-wwp 1,000개, tts-wwn 1,000개, conversation 1,000개로 구성되었으며, 테스트 데이터는 voice-authp 131개, voice-authn 796개로 구성되었습니다.
데이터 수집은 recorder.py라는 맞춤형 Python 스크립트를 통해 이루어졌으며, PyInstaller로 실행 파일로 번들링하여 참가자들이 다양한 운영체제에서 Python이나 추가 의존성 설치 없이 실행할 수 있도록 했습니다. 스크립트는 16kHz 샘플링 레이트로 1초 길이의 클립을 자동 녹음하며, 각 클립 사이에 2초의 대기 시간을 두었습니다.
전처리 과정에서는 정규화와 음성 활동 감지(VAD) 두 가지 핵심 단계를 수행했습니다. PyDub 라이브러리 기반의 normalize.py를 사용하여 오디오 진폭을 표준화했고, vad.py를 통해 각 WAV 파일의 무음 구간을 감지하고 제거했습니다. 다만 VAD의 최종 성능에 대한 영향을 조사하기 위해 VAD가 적용된 버전과 적용되지 않은 버전 두 가지를 모두 유지했습니다.
4-2. 성능 평가 지표
성능 평가는 세 가지 핵심 지표를 중심으로 이루어졌습니다.
False Rejection Rate(FRR)는 실제 양성 케이스가 모델에 의해 잘못 음성으로 분류되는 비율로, FRR = FN / (FN + TP) 공식으로 계산됩니다. 여기서 FN(False Negatives)은 모델이 인식하지 못한 양성 인스턴스 수이고, TP(True Positives)는 모델이 올바르게 식별한 양성 인스턴스 수입니다. 웨이크워드 감지에서는 웨이크워드가 존재할 때 이를 놓치는 비율을, 화자 인증에서는 인가된 화자를 인식하지 못하는 비율을 의미합니다.
False Acceptance Rate(FAR)는 실제 음성 케이스가 모델에 의해 잘못 양성으로 분류되는 비율로, FAR = FP / (FP + TN) 공식으로 계산됩니다. FP(False Positives)는 잘못 양성으로 식별된 음성 인스턴스 수이고, TN(True Negatives)은 모델이 올바르게 분류한 음성 인스턴스 수입니다. 웨이크워드 감지에서는 웨이크워드가 없는데 있다고 판단하는 비율을, 화자 인증에서는 비인가 화자를 잘못 인증하는 비율을 나타냅니다.
Equal Error Rate(EER)는 FAR과 FRR이 같아지는 지점의 오류율로, 두 오류 유형 간의 균형을 평가하는 핵심 지표입니다. EER을 결정하기 위해 모델의 결정 임계값을 변화시키며 각 임계값에서 FAR과 FRR을 계산하고, FAR과 FRR이 일치하는 임계값에서 EER을 찾습니다. 낮은 EER은 더 정확하고 균형잡힌 모델 성능을 나타냅니다.
실제 평가에서는 임계값을 0부터 1까지 0.05 단위로 변화시키며 각 임계값에서 해당하는 FRR과 FAR 값을 계산했습니다. 이러한 FRR과 FAR 결과를 동일한 좌표계에 플로팅하여 FRR 및 FAR 곡선을 생성했으며, 이를 통해 임계값 변화에 따른 오거부와 오수락 간의 트레이드오프를 시각화하고, 두 곡선이 교차하는 지점에서 EER을 결정했습니다.
4-3. Wake-word 감지 모델 성능
네 가지 웨이크워드 모델 변형을 평가한 결과, voice_919 모델은 22.61%의 EER을 0.10 임계값에서 달성했습니다. 이 모델은 임계값이 증가함에 따라 높은 FRR을 보여 실제 웨이크워드 활성화를 거부하는 경향이 있었습니다.
voice_919_vad 모델은 VAD를 적용하여 비음성 세그먼트를 필터링했으며, 22.95%의 EER을 0.05 임계값에서 달성했습니다. VAD가 FAR을 감소시켰지만 동시에 FRR을 증가시켜 전체적인 EER이 약간 상승했습니다.
mix_919 모델은 TTS 기반 웨이크워드 양성 샘플을 훈련에 포함시켜 20.52%의 EER을 0.05 임계값에서 달성했습니다. 이는 voice_919에 비해 FRR과 FAR 간의 더 균형잡힌 트레이드오프를 보여주었습니다.
가장 우수한 성능을 보인 mix_919_vad 모델은 VAD와 TTS 기반 웨이크워드 훈련을 결합하여 16.79%의 가장 낮은 EER을 0.05 임계값에서 달성했습니다. 이는 평가된 모델 중 가장 균형잡힌 모델로, VAD와 TTS 기반 웨이크워드 데이터를 모두 통합하는 것이 웨이크워드 감지 강건성을 향상시킴을 입증했습니다.
4-4. 화자 인증 모델 성능
화자 인증은 접근법 A(96차원 임베딩)와 접근법 B(256차원 임베딩)의 두 가지 방식으로 평가되었습니다.
Embedding_96d 모델(접근법 A)은 22.23%의 높은 EER을 0.35 임계값에서 기록했습니다. 이 모델은 FRR과 FAR의 균형을 맞추는 데 어려움을 겪었으며, 제한된 차원으로 인해 화자 특성을 효과적으로 포착하는 능력이 부족했습니다.
접근법 B에서는 Resemblyzer, x-vector, ECAPA 세 가지 모델을 비교했습니다.
Resemblyzer 모델은 가장 낮은 6.60%의 EER을 0.80 임계값에서 달성하여 평가된 모델 중 가장 우수한 성능을 보였습니다. FRR과 FAR의 부드러운 전환은 균형잡힌 성능을 제공하여 가장 신뢰할 수 있는 모델임을 나타냈습니다.
x-vector 모델은 10.37%의 EER을 0.95 임계값에서 달성했습니다. 대부분의 임계값에서 FRR은 낮게 유지되었지만, FAR이 높은 분산을 보여 실제 시나리오에서 예측 가능성이 떨어졌습니다.
ECAPA 모델은 9.54%의 EER을 0.40 임계값에서 달성했습니다. Embedding_96d에 비해 더 안정적인 FRR과 FAR 전환을 보였지만, 임계값 조정이 더 민감하여 실제 배포 시 세밀한 조정이 필요했습니다.
4-5. CPU vs CUDA 가속 성능
추론 속도 비교 실험에서 CPU는 0.24초의 빠른 모델 로딩 시간을 보였지만, 평균 인증 시간이 약 0.65초로 상대적으로 느렸습니다. 반면 GPU(CUDA)는 27.77초의 긴 모델 로딩 시간이 필요했지만, 평균 인증 시간이 약 0.13초로 5배 가량 빨라졌습니다. 이는 GPU 가속이 웨이크워드당 인증 시간을 크게 줄여 연속 청취 시나리오에서 AI 어시스턴트의 반응성을 향상시킴을 보여줍니다. 다만 개발자는 CUDA 디바이스에서의 긴 초기 모델 로딩 시간을 고려해야 합니다.
5. 향후 실험 방향성 및 해결하지 못한 과제
연구 결과는 웨이크워드 감지와 화자 인증에서의 본질적인 트레이드오프를 강조하며, 몇 가지 향후 개선 방향을 제시합니다.
첫째, 동적 임계값 조정 메커니즘의 도입이 필요합니다. 현재 시스템은 고정된 임계값을 사용하지만, 배경 소음 수준이나 개별 화자의 발화 패턴과 같은 환경적 요인을 고려하여 임계값을 동적으로 조정한다면 웨이크워드 감지와 화자 인증 정확도를 더욱 향상시킬 수 있습니다. EER에서의 작은 개선도 대규모 사용자 기반과 장기간 시스템 사용에서 큰 영향을 미칠 수 있습니다.
둘째, 더 다양한 환경에서의 지속적인 데이터 수집이 필요합니다. 현재 데이터셋은 7명의 화자로 제한되어 있어, 더 많은 화자와 다양한 음향 환경에서 수집된 데이터로 모델을 강화해야 합니다. 시간이 지남에 따라 시스템이 자율적으로 이러한 임계값을 미세 조정하도록 학습할 수 있다면, 보안을 희생하지 않으면서도 최소한의 불편함을 보장할 수 있습니다.
셋째, FRR 개선이 중요한 과제로 남아 있습니다. 특히 웨이크워드 감지에서 최고 성능의 mix_919_vad 모델도 16.79%의 EER을 보였는데, 이는 약 6번의 시도 중 1번은 정당한 사용자가 거부당할 수 있음을 의미합니다. 이러한 오거부를 더욱 줄이기 위한 추가적인 모델 아키텍처 개선이 필요합니다.
넷째, 보안 강화 메커니즘의 구현이 필요합니다. 여러 차례 연속적인 인증 시도가 실패할 경우, 시스템은 무단 접근을 방지하기 위한 다양한 보안 조치를 구현해야 합니다. 예를 들어 3회 인증 실패 후 추가 검증(비밀번호 등)을 요구하거나 음성 접근을 일시적으로 차단하고, 관리자의 휴대폰으로 알림을 전송하는 등의 조치가 고려되어야 합니다.
다섯째, 온디바이스 최적화 연구가 필요합니다. 현재 NVIDIA Jetson Nano에서 실행 가능하지만, 프루닝(pruning)이나 양자화(quantization)와 같은 모델 경량화 기법을 적용하여 실시간 성능을 더욱 향상시키고 EER을 낮출 수 있습니다. 특히 CUDA 버전 호환성 문제로 전처리 유닛과 웨이크워드 분류기가 CPU에서만 동작하는 현재의 제약을 극복해야 합니다.
여섯째, 다른 언어로의 확장 가능성을 탐구해야 합니다. 현재 연구는 한국어에 초점을 맞추었지만, 동일한 방법론을 다른 저자원 언어에도 적용하여 글로벌 음성 AI 접근성을 향상시킬 수 있습니다.
일곱째, 고급 아키텍처의 탐색이 필요합니다. 현재 FCN 기반 분류기 대신 Transformer 기반 모델이나 더 정교한 attention 메커니즘을 도입하여 성능을 향상시킬 수 있는 가능성이 있습니다.
결론적으로 이 연구는 한국어 웨이크워드 감지와 화자 인증을 결합한 엔드투엔드 프레임워크를 제시하여 프라이버시 중심의 음성 인터페이스 구현 가능성을 입증했지만, 더 낮은 오류율, 더 강력한 보안 메커니즘, 그리고 더 광범위한 환경에서의 강건성 확보를 위한 지속적인 연구가 필요합니다.