빅 데이터 분석을 위한 고성능 컴퓨팅 플랫폼 개발하는 Cornell Bioacoustics 과학자들

“MATLAB을 이용한 고성능 컴퓨팅 덕분에 이전에는 처리하지 못했던 빅 데이터를 처리할 수 있었습니다. 알게 된 정보를 통해 인간 활동이 생태계의 건강에 어떤 영향을 주는지 이해함으로써 바다와 육지에서의 인간 활동에 관한 책임 있는 결정에 필요한 정보를 제공할 수 있습니다.”

과제

바다, 초원, 숲, 정글에서 수집한 방대한 음향 데이터 세트의 동물 소리를 감지하고 분류

솔루션

MATLAB, Parallel Computing Toolbox 및 MATLAB Distributed Computing Server를 사용하여 음향 데이터를 분석하기 위한 고성능 컴퓨팅 플랫폼을 개발

결과

  • 수년간의 개발 시간을 절약
  • 분석 시간이 수 주에서 수 시간으로 단축
  • 전에는 처리하지 못한 데이터를 수일 내에 분석

Bioacoustics Research Program에서 큰수염 고래를 비롯한 다른 해양 포유류로부터 데이터를 수집하기 위해 사용한 음향 분석 장치. 사진 제공: Dimitri Ponirakis.

과학자들은 바다, 정글, 숲 및 기타 자연 환경에서 동물 소리를 녹음하는 방식으로 30년 넘게 지역 동물 개체 수를 연구해왔습니다. 연구 결과는 인간이 만들어내는 소음이 자연 환경에 주는 영향을 평가하고 멸종 위기에 처한 동물 개체 수를 모니터링하며 동물의 의사소통을 조사하는 데 활용됩니다. 패시브 음향 모니터링 시스템이 연속적으로 소리를 녹음하면서 테라바이트 단위의 데이터가 생성됩니다. 과학자들은 필요한 고급 알고리즘과 처리 성능이 부족하기 때문에 이러한 데이터의 1%도 처리하지 못하는 경우가 많습니다.

Cornell Laboratory of Ornithology의 BRP(Bioacoustics Research Program) 과학자들은 MATLAB®, Parallel Computing Toolbox™ 및 MATLAB Parallel Server™를 통해 방대한 양의 음향 데이터를 분석합니다. Office of Naval Research와 National Oceanic Partnership Program을 통해 자금을 지원받는 이 프로젝트는 Cornell의 수석 연구원인 Christopher Clark 박사(BRP 수석 과학자 및 책임자)와 Peter Dugan 박사(BRP 선임 데이터 과학자)가 주도하고 있습니다.

“MATLAB과 MATLAB 병렬 컴퓨팅 툴은 방대한 음향 데이터 세트 처리를 위해 필요한 알고리즘을 획기적으로 개선하고 조정할 수 있는 유연성을 제공했습니다.” 라고 Clark 박사가 말합니다. “C++ 또는 그와 비슷한 언어를 사용했다면 이렇게 빨리 작업을 진행하거나 이렇게 많은 시나리오를 검토하지 못했을 것입니다.”

과제

음향 데이터를 분석하는 연구원들은 날씨, 다른 동물, 근처의 기계나 차량으로 인한 잡음과 씨름을 벌여야 합니다. 동물의 경우 같은 종이라도 개체마다 소리가 다르기 때문에 복잡성이 증가합니다. 이처럼 잡음과 다양성이라는 두 요소는 잘못된 긍정 오류와 부정 오류를 늘려 탐지 알고리즘의 정확성을 떨어뜨립니다.

BRP가 수집하는 수백 테라바이트의 데이터를 처리하는 문제는 또 다른 과제입니다. 일반적인 프로젝트를 위해서는 많으면 10TB에 달하는 여러 채널로 녹음된 원시 음향 데이터를 수년간 처리해야 합니다. 각 채널은 수억 건의 이벤트(데이터를 스펙트로그램으로 봤을 때 두드러지는 소리)를 캡처할 수 있습니다. 소용량 고품질 샘플에서 테스트한 알고리즘을 더 크고 잡음이 많은 데이터 세트에 적용하면 정확성이 크게 떨어지는 경우가 종종 있습니다.

마지막으로 BRP 분석 툴은 다양한 연구 이니셔티브, 환경 및 변화하는 요구 사항을 충족해야 합니다. “초기 연구 질문에 대한 대답이 완전히 새로운 방면의 조사로 이어지는 경우가 있기 때문에 이러한 요구 사항의 갑작스러운 변화를 처리할 수 있어야 합니다.” 라고 Clark 박사는 말합니다.

솔루션

BRP 데이터 과학자들은 MATLAB을 사용하여 음향 데이터를 자동으로 처리하기 위한 HPC(high-performance computing) 소프트웨어를 개발했습니다.

이들은 탐지하고자 하는 동물의 오디오 클립, 그 동물의 환경에 있는 배경 잡음 클립, 그리고 아카이브 음향 데이터의 MAT 파일을 수집함으로써 감지 분류 프로젝트를 시작했습니다. MATLAB에 서 작업하면서 아카이브 데이터에서 클립 카탈로그와 비슷한 오디오 시퀀스를 감지하는 알고리즘을 새로 개발하거나 기존 알고리즘을 개선했습니다.

이 알고리즘은 패턴 일치, 윤곽선 검출, 연결형 지역 분석, 컨벌루션 및 기타 Image Processing Toolbox™ 및 Signal Processing Toolbox™에서 지원되는 기술은 물론 Fuzzy Logic Toolbox™ 및 Deep Learning Toolbox™에서 지원되는 기계 학습 기술도 사용합니다.

연구원들은 알고리즘의 정확성을 평가하기 위해 Statistics and Machine Learning Toolbox™를 사용하여 ROC(receiver operating characteristics) 및 기타 성능 곡선을 계산합니다.

Parallel Computing Toolbox를 사용하여 소형 데이터 세트에서 알고리즘을 디버깅하고 최적화한 후 이를 MATLAB Distributed Computing Server를 사용하여 64-worker 클러스터에서 완전한 아카이브 데이터 세트에 대해 실행합니다.

BRP 팀은 연구원들이 알고리즘, 데이터 세트 및 프로세서 개수를 지정할 수 있는 MATLAB 인터페이스를 개발했습니다.

BRP는 Marinexplore 및 Kaggle 커뮤니티와 협력하여 전 세계적인 대회를 후원했고 240명 이상의 참가자가 북대서양참고래의 가파른 울음소리를 감지하고 분류하기 위한 알고리즘을 제출했습니다. BRP는 MATLAB HPC 플랫폼을 사용하여 고래와 선박의 충돌을 방지하는 데 이용될 가장 정확한 알고리즘을 파악했습니다.

BRP는 알고리즘 파악 및 분류뿐 아니라 해양 및 지상 환경의 시간 및 빈도 분산 영향을 캡처하고 시뮬레이션하는 잡음 분석 및 음향 모델링에도 MATLAB을 이용했습니다.

결과

  • 수년간의 개발 시간을 절약. “예상 비용에 대한 연구 결과 만약 우리가 이러한 HPC 플랫폼을 직접 개발해야 했다면 3년의 시간과 백만 달러의 비용, 그리고 많은 외부의 지원이 필요하다는 사실이 드러났습니다.” 라고 Dugan 박사가 말합니다. “Parallel Computing Toolbox와 MATLAB Distributed Computing Server를 사용하여 3개월도 되기 전에 플랫폼을 개발할 수 있었습니다.”
  • 분석 시간이 수 주에서 수 시간으로 단축. “90일 분량의 데이터를 처리하는데 19주가 걸렸었습니다.” 라고 Dugan 박사가 말합니다. “Parallel Computing Toolbox와 MATLAB Distributed Computing Server를 사용하여 클러스터에 대한 똑같은 분석을 8시간 만에 끝낼 수 있었습니다.”
  • 전에는 처리하지 못한 데이터를 수일 내에 분석. “데이터 세트에는 100,000시간의 소리가 기록되었습니다. 너무 방대한 양이기 때문에 전에는 그 1%도 처리하지 못했고 나머지를 처리하려면 1년 이상이 필요한 것으로 예상되었습니다.”라고 Dugan 박사가 말합니다. “MATLAB HPC 플랫폼을 통해 다른 감지 알고리즘을 사용하여 데이터를 이틀 만에 6배 빠르게 처리할 수 있었습니다.”

감사의 글

코넬대학교는 MATLAB 및 Simulink에 대한 캠퍼스 전체 액세스를 제공하는 전 세계 1,300개 대학교 중 하나입니다. Campus-Wide License를 통해 연구자, 교수진 및 학생들은 최신 릴리스 레벨에서 제품의 공통 구성에 액세스하여 강의실, 가정, 실험실 또는 필드 등 어디서나 사용할 수 있습니다.