2019년 12월 18일(목) 구글 AI 리서치 블로그
지난 20년 동안 Google은 텍스트 정보, 사진 및 동영상에서 지도 및 작업에 이르기까지 검색을 통해 정보에 광범위하게 접근할 수 있도록 했습니다. 그러나 전 세계 정보의 대부분은 연설을 통해 전달됩니다. 그러나 많은 사람들이 대화, 인터뷰, 강의 등에서 중요한 정보를 캡처하기 위해 오디오 녹음 장치를 사용하더라도 나중에 몇 시간의 녹음들을 분석하여 관심 있는 정보를 식별하고 추출하는 것은 매우 어려울 수 있습니다. 그러나 여러분이 긴 녹음 내용들이 필요할 때 필요한 관련 정보를 직관적으로 찾을 수 있도록 그 내용들을 실시간으로 자동으로 녹음하고 태그를 지정할 수 있다면 어떨까요?
이러한 이유로, 우리는 온-디바이스 머신러닝(ML)에서 최신 연구 개발들을 해서 대화들을 녹음하며, 녹음된 오디오 유형(음악이나 연설과 같은 광범위한 카테고리에서 박수, 웃음, 휘파람과 같은 특정 소리까지)을 감지하고 식별하며, 사용자들에게 관심 있는 세그먼트들을 빠르게 찾아 주고 추출할 수 있는 Pixel 폰용 새로운 종류의 오디오 녹음 앱인 Recorder를 출시했습니다. 이러한 모든 기능은 인터넷 연결 없이 장치에서 완전히 실행됩니다.
녹음
Recorder는 올해 초(2019년) 발표된 개선사항을 기반으로 하는 온-디바이스의 자동 음성 인식 모델을 사용하여 실시간으로 음성을 녹음합니다. Recorder의 많은 스마트 기능의 핵심 구성 요소인 이 모델은 긴 오디오 녹음(몇 시간)들을 안정적으로 녹음할 수 있으며 음성 인식 모델에서 계산 한대로 타임스탬프들에 단어들을 매핑하여 대화를 색인화 할 수 있습니다. 이를 통해 사용자는 녹음 파일에서 하나의 단어를 클릭하고 녹음의 해당 지점에서 시작하여 재생을 시작하거나 단어를 검색하고 녹음된 말의 정확한 지점으로 이동할 수 있습니다.
사운드 분류를 통한 녹음 콘텐츠 시각화
녹음을 위한 녹음 기록들을 표시하는 것은 유용하고 특정 단어들을 검색할 수 있지만, 때로는(특히 매우 긴 녹음 기록들인 경우) 특정 순간들이나 소리들을 기준으로 녹음 섹션들을 시각적으로 검색하는 것이 더 유용한 경우가 있습니다. 이를 가능하게 하기 위해 Recorder는 오디오를 시각적으로 각 파형이 다른 사운드 카테고리와 연관된 색상 파형으로 표시합니다. 이것은 오디오 사운드를 분류하기 위해 CNN을 사용하는 연구 (예: 개 짖는 소리 또는 악기 연주 식별)와 오디오 이벤트 감지를 위한 이전에 발표된 데이터셋들을 결합하여 개별 오디오 프레임들에서 식별할 수 있는 사운드 이벤트들을 분류함으로써 수행됩니다.
물론 대부분 상황에서 많은 소리들이 동시에 나타날 수 있습니다. 오디오를 매우 명확하게 시각화하기 위해, 주어진 타임프레임(이 경우 50ms 막대들)에서 가장 지배적인 사운드를 나타내는 단일 색상으로 각 파형 막대에 색상을 지정하기로 우리는 결정했습니다. 색상이 지정된 파형을 통해 사용자들에게 특정한 녹음에서 캡처된 콘텐츠 유형을 이해시키고, 계속 증가하는 오디오 라이브러리를 보다 쉽게 탐색할 수 있습니다. 이를 통해 오디오 녹음을 시각적으로 표현하여 사용자들이 녹음에서 오디오 이벤트를 검색할 수 있습니다.
Recorder는 50ms 간격으로 부분적으로 겹치는 960ms 오디오 프레임들을 처리하고 프레임 내에서 지원되는 각 오디오 클래스의 확률을 나타내는 sigmoid score vector를 출력하는 슬라이딩 윈도 기능을 구현합니다. 시스템 정밀도를 최대화하고 올바른 사운드 분류를 보고하기 위해, 우리는 임계값 메커니즘과 함께 sigmoid score에 선형화 프로세스를 적용합니다. 작은 50ms 오프셋으로 960m 윈도의 내용을 분석하는 이 프로세스를 통해 연속된 큰 960ms 윈도 슬라이스들을 자체적으로 분석하는 것보다 실수가 덜 발생하는 방식으로 정확한 시작 및 종료 시간을 정확하게 찾아낼 수 있습니다.
그 모델이 각 오디오 프레임을 독립적으로 분석하기 때문에, 오디오 클래스들 간에 빠른 상하 진동이 계속 발생하기 쉽습니다. 이것은 가장 최근의 모델 오디오 클래스 출력에 적용된 적응형 크기의 중앙값 필터링 기술로 해결되어 부드러운 연속 출력을 제공합니다. 그 프로세스는 매우 엄격한 전력 소비 제한을 요구하면서 실시간으로 지속적으로 실행합니다.
타이틀들을 위한 태그 제안
녹음이 완료되면 Recorder는 앱이 가장 기억에 남는 콘텐츠를 나타내는 것으로 간주되는 3개의 태그를 제안하여 사용자가 의미 있는 타이틀을 빠르게 작성할 수 있도록 합니다.
녹음이 종료될 때 이러한 태그를 즉시 제안할 수 있도록, Recorder는 녹음 내용을 번역하면서 내용을 분석합니다. 먼저 Recorder는 문장에서 용어 출현들과 문법적인 역할을 계산합니다. 엔터티로 식별된 용어들은 대문자로 표시됩니다. 그런 다음, 우리는 문법 역할에 따라 문장의 각 단어에 레이블을 붙인 모델인 on-device part-of-speech-tagger를 사용자들에 의해 더 기억하기 쉽게 보이는 일반 명사들과 적절한 명사들을 감지하여 이용합니다. Recorder는 유니그램(unigram) 및 빅그램(bigram) 용어 추출 모두 지원하는 이전 스코어 테이블을 사용합니다. 점수들을 생성하기 위해 우리는 대화형 데이터를 사용하여 boosted decision tree알고리즘으로 훈련시키고 문서들의 단어 빈도 및 특이성과 같은 텍스트 기능을 활용했습니다. 마지막으로 중지 단어 및 욕설 필터링이 적용되고 상단 태그들이 출력됩니다.
결론
Recorder는 사용자 개인 정보 보호를 지키기 위해 on-device 모델들을 실행하는 우리의 가장 최근의 온-디바이스 ML 연구 노력에 도움을 주었습니다. 머신러닝 연구 논문들과 사용자의 요구들 사이의 긍정적인 피드백 루프는 소프트웨어를 더욱 유용하게 만들 수 있는 흥미로운 기회를 보여주었습니다. 우리는 모든 사람들의 아이디어들과 대화들을 보다 쉽게 접근하고 검색할 수 있게 해주는 미래의 연구에 대해 기쁘게 생각합니다.
감사의 말
위의 기능들을 개발하고 형성하는 데 중요한 역할을 수행했으며 이 블로그 게시물을 사용할 수 없었던 Ayalon 박사에게 특별한 감사를 드립니다. 또한 우리는 다음과 같이 이 프로젝트를 진행한 모든 팀원들과 협력자들에게도 감사의 말씀을 전합니다: Amit Pitaru, Kelsie Van Deman, Isaac Blankensmith, Teo Soares, John Watkinson, Matt Hall, Josh Deitel, Benny Schlesinger, Yoni Tsafir, Michelle Tadmor Ramanovich, Danielle Cohen, Sushant Prakash, Renat Aksitov, Ed West, Max Gubin, Tiantian Zhang, Aaron Cohen, Yunhsuan Sung, Chung-Ching Chang, Nathan Dass, Amin Ahmad, Tiago Camolesi, Guilherme Santos, Julio da Silva, Dan Ellis, Qiao Liang, Arun Narayanan, Rohit Prabhavalkar, Benyah Shaparenko, Alex Salcianu, Mike Tsao, Shenaz Zack, Sherry Lin, James Lemieux, Jason Cho, Thomas Hall, Brian Chen, Allen Su, Vincent Peng, Richard Chou, Henry Liu, Edward Chen, Yitong Lin, Tracy Wu, Yvonne Yang.
게시자: Itay Inbar, Nir Shemy 및 Google Research 소프트웨어 엔지니어들
원본링크: https://ai.googleblog.com/2019/12/the-on-device-machine-learning-behind.html
이 블로그는 2019년 12월 18일(수), Google AI Research Blog 기사를 영어에서 우리나라 말로 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)