Search

Machine Listening이란 무엇일까요? (Part 3)

Tags
“비명소리를 탐지하는 기능이 탑재된 보안 카메라를 10년 전에 본 적 있어요"
(원문 : What is Machine Listening? (Part 3), 저자 : 한윤창, 번역 : 장민서)
2000년대 초 음성 인식 기능을 떠올려 봅시다.
사람들이 처음 머신 리스닝 기술을 알게 되었을 때, 10년도 전에 발행된 보안 카메라에 비명과 총격 소리 탐지 기능이 추가되었다는 뉴스 기사를 떠올리는 사람들이 있습니다. 그런 내용을 담은 기사는 많이 봤지만 실제로 작동되는 경우는 보기 드물죠.
많은 기술은 시간이 지날수록 더 개선되지만, 대부분 아예 다른 방식을 기반으로 만들어진 새로운 기술들이 더 잠재력 있고, 넓은 범위를 포괄하며, 많은 장점이 있고, 기능도 우수한 경우가 많습니다. 우리는 이를 “차세대 기술"이라고 일컫습니다. 2000년대 초 음성 인식 기능을 생각해보세요. 음성 인식 기능이 아주 오래전부터 있었다는 걸 우리 모두 알고 있지만, 매우 낮은 정확도로 아주 간단한 문장이나 단어만 알아들을 수 있었습니다. 기계가 사람에게 맞춰주는 게 아니라 사람이 기계가 알아들을 수 있도록 로봇처럼 말해야 했습니다. 그 당시 때는 그래도 많은 사람이 해당 기술을 보며 ‘우와'라고 할 수 있었지만, 우리의 일상 삶에 적용되기엔 아주 무리가 있었죠.
그러나, 음성 인식은 이제는 우리의 삶에 떼려야 뗄 수 없는 존재가 되었습니다. 자연스럽게 일상대화 하듯 발음해도 이해할 수 있고, 많은 스마트 장치와 연동되어 사람이 기계와 상호 작용하는 방식을 변화시킵니다. 아직은 개선되어야 할 여지가 많기 때문에 완벽하다고는 하지 않을래요. 예를 들어 “헤이, 구글"이라고 말하는 대신에 “헤이, 구구"라고 한다던가 “알렉사"라고 부르는 대신 “알렉따"라고 해보는 것처럼요. 제가 어떤 의미에서 개선이 필요하다고 하는지 아실 거예요.
현대 머신 리스닝 기술에서도 비슷한 상황이 있습니다. 기존의 소리 인식은 유사한 소리에서 자주 오경보가 발생하는 몇 가지 소리만 식별할 수 있는 것으로 제한됩니다. 이는 사람의 지식과 관찰에 의해 완전히 수동으로 설계된 손수 제작된 스펙트럼 기능을 사용하는 규칙 기반의 방식을 따르고 있기 때문입니다. 이는 머신 리스닝 기술이 이 분야에서 아주 새로운 것임을 의미하는 게 아닙니다. 머신 리스닝은 2016년까지 널리 사용되어져왔고, 머신 리스닝 분류기와 손수 만든 기능의 합작품이었습니다.
다만 현대 머신 리스닝 기술은 더 많은 것을 할 수 있습니다. 우선 실제 상황에서 더 뛰어난 성능을 보입니다. 이전에는 복잡한 상황과 환경에서 잘 작동하지 않았으나, 최신 딥러닝 기술은 다양한 실제 상황을 반영하여 오차율을 줄이고 더 신뢰성 있는 결과를 제공합니다.
또한 더 많은 소리의 종류를 지원합니다. 기존 방식으로는 새로운 목표가 발생할 때 마다 규칙이 변경되어져야 했기 때문에 성능이 떨어지는 건 피할 수 없는 부분이었습니다. 그러나 딥러닝 기반의 알고리즘이 등장하면서 인풋 데이터에서 더 많은 특징들을 뽑아낼 수 있어 소리의 종류가 풍부해졌고, 그에 따라 성능도 상향되어 유사한 소리에서 발생할 수 있는 오차를 줄여나갈 수 있게 되었습니다. 특정 소리를 감지하는 것이 그 소리를 제외한 다른 모든 소리를 부정적으로 감지하는 것과 동일하다고 생각하면 쉽게 이해할 수 있습니다.
가장 중요하게는 이전보다 일반화 할 수 있는 사례가 많아졌습니다. 특정 기기나 마이크에만 딥러닝을 적용한다면, 기존 진행한 방식과 비교해서 아무런 차이가 없으며 오히려 계산 용량만 더 무거워질 뿐입니다. (물론 마케팅 관점에서는 신선한 접근이 될 수 있어요)
딥러닝과 소리 신호 처리 기술을 적절하게 잘 사용한다면, 어떤 종류의 장비나, 마이크나, 환경에 상관없이 적용할 수 있는 시스템을 만들 수 있게 됩니다. 이는 머신 리스닝의 미래에 굉장히 중요한 부분인데 우리의 삶은 수많은 IoT 장비들로 둘러쌓이면서, 모두 다른 사양의 마이크와 다른 환경에서 작동될 예정입니다. 그렇다고 해서 Youtube에서 모든 영상의 정보를 따올 수 있는 것도 아니고요.
그렇다면 이 문제를 해결하는 것이 왜 어려울까요?
통용될 수 있는 시스템을 만드는 것은 소리 신호 처리 분야에 있어 깊은 이해가 있어야 합니다. 몇 가지 예를 들면 샘플링 주파수, 마이크 종류, 분석창 크기 등이 있습니다. 단순히 데이터에 딥러닝 기술을 적용하는 것으로만 되는 일이 아닌 게 그렇게만 한다면 그저 데모에서만 구현되겠죠.
그리고 세상에는 수백만 가지의 다른 소리가 존재합니다. 예를 들어 개 짖는 소리는 단순해 보이지만 개들의 종류가 다르고 나이대도 다르겠죠. 사람의 언어로 소리를 묘사하는 것도 때로는 굉장히 모호할 때가 있고, 똑같은 소리를 다르게 이야기하는 경우도 있습니다. 열쇠 딸랑거리는 소리는 열쇠 딸랑거리는 소리라고 묘사되지 금속이 딸랑거린다거나 혹은 키 체인이라고 말할 순 없는 것처럼요. 문화에 따라서도 소리가 달라질 수 있는데 가령 서울의 지하철 소리와 런던의 지하철 소리는 다릅니다. 더 나아가서, 어떤 소리는 수집 자체가 어렵습니다. 짧은 시간 내에 차가 충돌하는 소리를 실제 상황으로 수집하는 건 거의 불가능한 일인데, 차 사고라는 게 언제 어디서 일어날지 모르니까요.
데이터양에 대한 일반적인 신화
데이터의 양은 딥러닝에서는 매우 중요한 요소입니다. 사람들이 데이터가 새로운 유전이라고 말하는 이유죠. 그러나 제가 강조하고 싶은 건 데이터양이 많다고 해서 더 정확하다는 것은 아니라는 것입니다. 실제로 시스템의 최종적인 성능을 완성하는 요소는 다양합니다.
소리마다 필요로 하는 데이터의 양은 다릅니다. 예를 들어 사이렌과 같은 기계음은 항상 동일한 형태이기 때문에 많은 데이터가 필요하진 않습니다. 반대로, 60km/h의 속도로 터널 내에서 달리고 있는 구급차 사이렌의 소리는 매우 얻기 어려운 데이터입니다. 이때는 신호처리 기술을 이용해 시뮬레이션을 돌린다면 더 좋은 결과를 얻어낼 수 있습니다.
또한 동일한 오디오 소스에서 일정량의 입력 데이터가 들어오는 경우에는 성능이 동일해집니다. 타깃으로 하는 소리에 따라도 달라질 수 있지만, 모델이 학습하는데 더 많은 데이터가 사용되었다고 해서 무조건 성능이 더 높아지는 것은 아닙니다. 특히 일반화된 시스템의 경우, 성능에 있어서 더 주요한 요소는 데이터의 다양성입니다. 다양한 조건으로 패턴들을 찾는 경우 딥러닝 모델이 녹음된 장치나 환경에 최적화되는 것보다 타깃으로 하는 소리의 고유한 패턴을 더 잘 학습할 수 있도록 합니다.
마지막으로, 데이터의 품질은 매우 중요합니다. 여기서 말하는 고품질은 스튜디오에서 녹음한 것처럼 선명한 음질을 가졌다는 게 아닙니다. 왜냐하면 실생활에서 그런 소리를 접할 일은 거의 없으니까요. 올바르게 분류된 적절한 오디오 샘플을 갖추는 것을 의미합니다. 모델의 학습 세트에 잘못된 데이터나 노이즈가 많은 데이터가 많다면 전체적인 시스템 성능에 악영향을 줄 것입니다.
요약하자면, 돈과 시간을 붓는다고 해서 딥러닝 시스템이 더 강화되는 게 아니라는 것입니다. 효과적이고, 적절하며, 지속가능한 데이터 수집 파이프라인을 딥러닝 기술과 데이터 분류 기술과 결합해서 만들어 내고 데이터의 양보다 질에 더 집중한다면 성공적인 머신 리스닝 시스템을 만들 수 있습니다.
머신 리스닝 기술은 어디로 가고 있는가
딥러닝 기반 머신 리스닝은 이미 뛰어난 성능을 바탕으로 강력해졌습니다. 하지만 성능과 별개로, 일반화된 소리 인식 능력을 제공하며 우리의 삶을 더 편하게 만들어줄 엄청난 잠재력을 지니고 있습니다. 이를 통해 단순한 자극-반응 구조가 아닌, 상황에 대한 인식이 가능한 자율 시스템이나 휴머노이드 로봇을 만드는데 오디오 정보가 쓰일 수 있음을 말합니다.
개인적으로는, 현대 머신 리스닝 기술은 현존하는 음성 인식 시스템을 먼저 대체하게 되고, 그 후에 더 많은 타깃 사운드와 그에 대한 자세한 정보를 얻을 수 있는 것을 도와줄 것입니다. 지금은 머신 리스닝이라는 용어가 환경음 탐지 분야에서만 주로 쓰이고 있지만, 궁극적으로는 인간 수준으로 이해하는 정도에 도달하기 위해서는 점진적으로 음성인식기능과 음악 정보 검색 기술을 전부 다 한꺼번에 이해할 수 있도록 진화해 나갈 것입니다.