Team : 송해인, 양*령
딥페이크, 딥보이스 등 인공지능을 기반으로한 멀티미디어 합성 기술의 비약적 발전은 인류에게 새로운 산업의 전망을 제시하지만, 신기술이 긍정적인 용도로만 사용되는 것은 아니다. 최근 경찰청에서는 딥보이스를 이용한 보이스피싱 범죄에 유의 지침을 내리며, 익숙한 목소리도 조작된 음성일 수 있음을 경고했다. 딥보이스 기술이 교묘해질수록 이를 구별해내기 어려워지는 요즘, 인간이 분석할 수 없는 차이를 컴퓨터는 감지하고 분류할 수 있지 않을까 하는 역발상에서 출발하여 "DeepVoice Detector" 라는 주제를 선정하게 되었다.
본 모델의 훈련을 위해서는 다음의 Dataset이 필요하다.
사회적으로는 딥보이스 기술이 범죄에 악용되는 것을 막는 방법을 제공하므로 안전하게 사용될 수 있도록 한다. 그리고 기술적으로는, 음성 데이터를 이용한 머신러닝 기법을 향상시키는 데 도움이 된다.
Long Short-term Memory(LSTM)은 recurrent neural networks(RNN) 기술의 한 종류로서 장기 의존성 학습에 유리한 머신러닝 방식이다. LSTM은 Memory cell이라고 불리우는 구조를 가지고 있어 긴 데이터에서 과거 정보를 저장하고 학습에 반영할 수 있다. 따라서 문맥을 이해하여야 하는 자연어 처리나, 데이터 간 연속적 구조를 가지는 음성 샘플 처리에 매우 유리하다.
Convolutional Neural Networks (CNN)는 객체 검출, 패턴 찾기에 유리한 머신러닝 기술로서 오디오 처리에도 널리 사용된다. 파형 데이터를 이용한 딥보이스 패턴 검출뿐만 아니라, 오디오 라벨링 등 데이터 전처리에도 폭 넓게 사용될 수 있다.

음성 데이터는 시계열 데이터의 한 형태로서, 그 값이 시간에 따라 변화하며, 이전의
데이터 값이 이후의 데이터 값에 영향을 미친다. LSTM은 과거의 정보를 장기간 기억하고 이를 바탕으로 예측을 수행하는 능력이 있기 때문에, 음성 데이터의 패턴을 이해하는 데에 유용하다. 특히, LSTM은 기존의 RNN이 가진 장기 의존성 문제를 해결하므로, 음성 데이터의 긴 시퀀스를 처리하는 데에 적합하다.
음성 데이터를 효과적으로 처리하기 위해서는 파형 데이터의 패턴을 인식하는 능력이
중요하다. CNN은 데이터의 패턴을 감지하고 학습하는 능력이 있으며, 이는 음성 데이터에서 주기적인 패턴을 발견하는 데에 특히 유용하다. 또한, CNN은 데이터의 차원이 높아질수록 효율적으로 작동하므로, 음성 데이터와 같이 고차원의 데이터를 처리하는 데에 적합하다.
따라서 LSTM과 CNN의 조합은 복잡한 음성 데이터를 처리하고, 딥보이스를 정확하게 탐지하는 데에 효과적인 해결책을 제공할 수 있다.
첫째, 훈련된 모델은 주어진 음성 샘플이 원본인지, 혹은 딥보이스 기술을 이용해 합성된 것인지를 판단할 수 있다. 이 연구의 결과는 딥보이스와 관련된 범죄를 예방하고, 인간 음성과 딥보이스를 더욱 정확하게 구분하는 데에 도움이 될 것이다. 또한 딥보이스의 잠재적인 악용을 방지하고, 보안 분야에서의 응용 가능성을 제공할 수 있다. 또한, 다양한 연령대와 성별, 그리고 환경 조건에서 얻은 음성 샘플에 대해 모델이 일반화된 성능을 보일 것이다. 학습된 데이터와 현실의 데이터를 넘어, 딥보이스는 신기술과 함께 새로운 유형으로 발전할 것이므로 이러한 유연성은 매우 중요하다.
이 연구를 통해, 우리는 음성 데이터를 통해 얻을 수 있는 통찰력에 대해 더 깊게 이해할 수 있을 것이다. 이는 인간 음성만의 고유한 특성을 식별하고, 딥러닝을 이용해 딥보이스 음성과 어떤 부분이 다른지 알 수 있다. 또한, 이 연구는 인공지능이 우리 사회에 어떻게 적용되고, 어떤 문제를 해결하는 데 사용될 수 있는지에 대한 예시를 보여주며 딥보이스의 악용을 막고, 이로 인한 범죄를 예방하는데도 큰 도움이 될 것이다.
이 프로젝트에서는 다양한 연령, 성별의 음성 샘플과 딥보이스 음성 샘플이 필요하다.
이를 위해, 다음과 같은 데이터 수집 방법을 사용한다.
공개 음성 데이터셋: Common Voice, LibriSpeech 등의 공개 음성 데이터셋을 활용하면 다양한 연령, 성별의 음성 샘플을 수집할 수 있다.
딥보이스 음성 샘플: 실제 딥보이스 기술을 이용하여 생성된 음성 샘플을 수집하거나, 딥보이스 합성 기술을 활용하여 직접 합성한 음성 샘플을 사용한다.
음성 데이터는 주로 spectrogram 형태로 변환해서 사용한다. 이를 위해 Fourier Transform을 이용한 Short-Time Fourier Transform (STFT) 등의 방법을 사용한다. 또한, 데이터의 정규화(Normalization)를 통해 학습 효율을 높일 수 있다.
LSTM과 CNN을 조합한 모델을 사용한다. LSTM은 음성 데이터의 시간적 패턴을 파악하는 데 사용하며, CNN은 이 데이터의 고차원 특성을 인식하는 데 사용한다. 이들을 조합하여, 시간적 패턴과 고차원 특성을 동시에 파악하는 모델을 구현한다.
딥보이스를 정확하게 감지하는 것이 중요하므로, "Precision"과 "Recall"을 주요 평가 지표로 사용한다.
"Precision"은 모델이 딥보이스라고 판단한 샘플 중 실제로 딥보이스인 샘플의 비율을,
"Recall"은 실제 딥보이스 중에서 모델이 딥보이스라고 판단한 샘플의 비율을 나타낸다.
또한, 모델의 성능을 종합적으로 평가하기 위해 "ROC AUC"를 사용한다. 이는 모델이 얼마나 잘 분류하는지, 즉 얼마나 잘 판별하는지에 대한 평가 지표다.
테스트 데이터셋에 대한 모델의 성능을 평가하여, 모델이 실제 환경에서 얼마나 잘 작동할지를 평가한다. 이를 위해, 다양한 연령, 성별, 환경 조건에서 얻은 음성 샘플을 포함하는 테스트 데이터셋을 구성하고, 이에 대한 모델의 성능을 평가한다.