2015년 12월 10일 목요일

[컴퓨터 예술]음악에서 사람 목소리를 구분하는 인공신경망

오늘은 "딥러닝 머신이 칵테일 파티의 문제를 해결했다"는 제목의 기사를 소개해 드리려고 합니다. 칵테일 파티 효과(cocktail party effect)는 주변 환경에 개의치 않고 자신에게 의미 있는 정보만을 선택적으로 받아들이는 것을 말합니다. ‘선택적 지각(selective perception)’ 또는 ‘선택적 주의’라고 하는데, 이런 선택적 지각이나 주의가 나타나는 심리적 현상을 일컫는 것으로 ‘자기 관련 효과(self-referential effect)’, ‘연회장 효과, 잔치집 효과’라고도 합니다.(출처 : 위키피디아)

음악을 들을 때도 우리는 이와 비슷한 상황을 경험하게 됩니다. 음악에 따라 여러 가지 악기와 사람의 목소리가 복잡하게 섞여 있는데, 사람들은 자기의 의도에 따라 특정한 사람의 목소리 또는 특정한 악기만을 따로 구분하여 듣습니다. 그런데 이 일을 기계도 할 수 있을까요? 사람에게는 정말 아무것도 아닌 능력일 수 있는 일이지만, 최근까지 기계에게는 이것이 굉장히 어려운 일이었다고 합니다. 그런데 최근 인공신경망이라는 머신러닝 기술을 통해 기계도 이일을 해 낼 수 있게 됐다고 합니다. 근래 들어 사람의 얼굴인식이나 표정인식과 같은 시각 영역에서 머신러닝의 활약이 두드러졌는데, 이제는 컴퓨터가 사람 못지않은 청각 능력도 갖게 된 것입니다. 


기사원문은 여기를 클릭해 주세요.







칵테일 파티 이펙트(Cocktail party effect)는 여러 사람의 목소리나 여러 배경음 가운데서 특정 사람의 목소리를 구분해 내는 능력을 말합니다. 사람은 쉽게 할 수 있는 일이지만 과학자나 엔지니어들이 인공적으로 재현하기는 어려운 문제였습니다.

음악 분야에서도 이 칵테일 파티 이펙트가 특히나 어려운 문제로 여겨집니다. 사람은 여러 악기가 함께 연주되는 사운드 속에 사람 목소리가 숨어 있어도 이것을 아주 잘 구분해 내지만 기계는 이 일을 하는데 어려움을 겪습니다.

그런데 최근에 영국 서레이 대학교의 앤드류 심슨과 동료들 덕에 이 문제가 풀릴 수 있을 것으로 보입니다. 이 연구진은 배경음악에서 사람 목소리를 구분해 내기 위해 인공신경망(Deep Neural Network)을 사용했습니다.

이러한 접근법은 최근 머신러닝이나 신경망(neural network) 연구가 크게 진보했다는 것을 보여줍니다. 또 이연구를 통해 음악에서 목소리를 구분해 내는 것 뿐만아니라 칵테일 파티 이펙트라고 알려진 것과 관련된 좀 더 보편적인 문제들도 해결할 수 있을 것으로 보입니다.

이 연구진이 선택한 연구법은 아주 직설적입니다. 여러 악기나 보컬이 각각 별도의 트랙에 기록되어 있는 63곡을 수집해 이를 데이터베이스화하여 분석하였습니다. 물론 모든 악기와 보컬이 하나의 파일로 믹스되어 있는 트랙도 있습니다.

연구진은 악기별로 따로 녹음된 트랙과 모든 악기와 보컬이 합쳐져 있는 트랙을 20초 단위로 쪼개어 각 부분별로 어떤 주파수 특성이 나타나는지 스펙트로그램을 통해 확인했습니다. 확인 결과 각 악기나 사람의 목소리를 구분할 수 있는 독특한 핑거프린트(finger print)를 확인할 수 있었습니다.

모든 소리가 합쳐진 스팩트로그램도 만들었는데 이 것은 각각의 트랙의 스팩트로그램이 하나로 합쳐진 것과 같았습니다. 결국 사람 목소리를 악기소리로 부터 분리해 내는 작업은 모든 소리가 합쳐져 있는 스펙트로그램에서 사람의 목소리에 해당하는 스펙트로그램을 분리해 내는 작업이었습니다.

연구진은 전체 63곡 중 50곡을 인공신경망의 훈련(학습)을 위해 사용했습니다. 나머지 13곡은 실제 테스트를 위해 남겨두었습니다. 결과적으로 이 인공신경망은 모두 2만 개 이상의 스펙트로그램을 학습하게 되었습니다.

이 인공신경망이 수행하는 작업은 아주 간단합니다. 전체가 믹스된 트랙의 스펙트로그램이 인풋으로 주어지면 거기서 사람의 목소리에 해당하는 부분의 스팩트로그램을 아웃풋으로 내는 것입니다.

이와 같은 머신 러닝 작업은 결국 파라미터값을 조정해 나가는 작업이 됩니다. 인공신경망은 원하는 아웃풋을 내기 위해 조정되어야 할 수십억개의 파라미터값을 갖습니다. 이렇게 많은 파라미터값의 조정은 반복작업을 통해 가능하게 됩니다. 처음에는 랜덤하게 시작하지만 점차 많은 데이터를 분석할 수록 파라미터 값이 점점 안정됩니다.

세팅이 어느정도 안정됐다고 판단된 시점에서 연구진은 13개의 테스트 곡을 입력해 보았습니다. 결과는 매우 인상적이었습니다. 연구진은 음악에서 사람의 목소리를 분리하도록 훈련된 인공신경망이 처음 듣는 새로운 음악에서도 사람 목소리를 분리해 낼 수 있는 것을 확인했습니다. 또 인공신경망 연구에 있어서 이번 연구가 갖는 중요한 의미는 도대체 "보컬" 사운드라는 것이 어떤 것인지를 알았다는 것이다라고도 얘기합니다.

이 연구 결과를 가장 먼저 적용해 볼 수 있는 분야는 노래방 기계입니다. 음악과 노래가 함께 믹스되어 있는 트랙에서 사람목소리 부분만 빼서 노래방 기계에 적용할 수 있기 때문입니다. 그러나 이것은 하나의 예일 뿐, 좀 더 광범위한 응용이 가능합니다.

인공신경망이 머신러닝을 광범위한 영역에서 혁신시키고 있습니다. 얼굴인식이나 사물인식에 있어서도 사람만이 가능한 일이었지만 최근에는 이 역시 기계가 할 수 있는 일이 되었습니다. 그리고 이제는 "칵테일 파티 이펙트" 문제에 있어서도 사람이 우위를 점하기는 어려워 졌습니다.

자료 :  arxiv.org/abs/1504.04658 : Deep Karaoke: Extracting Vocals from Musical Mixtures Using a Convolutional Deep Neural Network


댓글 없음:

댓글 쓰기