KR20220129034A - 작은 풋프린트 멀티-채널 키워드 스포팅 - Google Patents

작은 풋프린트 멀티-채널 키워드 스포팅 Download PDF

Info

Publication number
KR20220129034A
KR20220129034A KR1020227028125A KR20227028125A KR20220129034A KR 20220129034 A KR20220129034 A KR 20220129034A KR 1020227028125 A KR1020227028125 A KR 1020227028125A KR 20227028125 A KR20227028125 A KR 20227028125A KR 20220129034 A KR20220129034 A KR 20220129034A
Authority
KR
South Korea
Prior art keywords
channel
audio
svdf
input
hotword
Prior art date
Application number
KR1020227028125A
Other languages
English (en)
Inventor
지룽 우
이텅 황
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220129034A publication Critical patent/KR20220129034A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Abstract

발화된 발언(120)에서 핫워드를 검출하기 위한 방법(800)은, 스트리밍 멀티-채널 오디오(118)를 특성화하는 입력 프레임들(210)의 시퀀스를 수신하는 단계를 포함한다. 스트리밍 멀티-채널 오디오의 각각의 채널(119)은, 별개의 전용 마이크로폰(107)에 의해 캡처되는 개개의 오디오 피처들(510)을 포함하고, 각각의 입력 프레임에 대해, 이 방법은, 기억된 뉴럴 네트워크(300)의 3차원(3D) 단일 값 분해 필터(SVDF) 입력 계층(302)을 사용하여, 각각의 채널의 개개의 오디오 피처들을 병렬로 프로세싱하는 단계, 및 개개의 오디오 피처들의 연접(344)에 기초하여 대응하는 멀티-채널 오디오 피처 표현(420)을 생성하는 단계를 포함한다. 이 방법은, 순차적으로 적층된 SVDF 계층들(350)을 사용하여, 오디오에서의 핫워드의 존재를 표시하는 확률 스코어(360)를 생성하는 단계를 또한 포함한다. 이 방법은, 확률 스코어가 임계치를 만족시키는지 여부를 결정하는 단계, 및 만족될 때, 사용자 디바이스(102) 상에서 웨이크업 프로세스를 개시하는 단계를 또한 포함한다.

Description

작은 풋프린트 멀티-채널 키워드 스포팅
본 개시내용은 스트리밍 오디오에서의 작은 풋프린트 멀티-채널 키워드 스포팅(small footprint multi-channel keyword spotting)에 관한 것이다.
스피치 지원 환경(speech-enabled environment)(예를 들어, 집, 직장, 학교, 자동차 등)은, 질의에 대처 및 응답하거나 그리고/또는 커맨드에 기초하여 기능을 수행하는 컴퓨터 기반 시스템에 대해 큰 소리로 사용자가 질의 또는 커맨드를 발화(speak)하게 한다. 스피치 지원 환경은, 환경의 다양한 방들 또는 영역들에 걸쳐 분산되는 연결된 마이크로폰 디바이스들의 네트워크를 사용하여 구현될 수 있다. 이들 디바이스들은 환경에 존재하는 다른 개인과 관련된 발언(utterance)과는 대조적으로, 주어진 발언이 시스템에 관련될 때를 판별하는 데 도움을 주기 위해 핫워드(hotword)들을 사용할 수도 있다. 이에 따라, 디바이스들은 슬립 상태(sleep state) 또는 하이버네이션 상태(hibernation state)에서 동작하고, 검출된 발언이 핫워드를 포함할 때에만 웨이크업(wake-up)될 수도 있다. 이들 디바이스들은, 멀티-채널 오디오를 레코딩하기 위한 2개 이상의 마이크로폰을 포함할 수도 있다. 뉴럴 네트워크들은 스트리밍 오디오에서 사용자들에 의해 발화된 핫워드들을 검출하도록 모델들을 훈련시키기 위한 매력적인 솔루션으로서 최근에 부상하였다. 전형적으로, 스트리밍 오디오에서 핫워드들을 검출하는 데 사용되는 뉴럴 네트워크들은 스트리밍 오디오의 단일 채널을 수신한다.
본 개시내용의 일 양태는, 기억된 뉴럴 네트워크(memorized neural network)를 훈련시키고 훈련된 기억된 뉴럴 네트워크를 사용하여 발화된 발언에서 핫워드를 검출하기 위한 방법을 제공한다. 이 방법은, 사용자 디바이스의 데이터 프로세싱 하드웨어에서, 데이터 프로세싱 하드웨어와 통신하는 마이크로폰들의 어레이에 의해 캡처되는 스트리밍 멀티-채널 오디오를 특성화하는 입력 프레임들의 시퀀스를 수신하는 단계를 포함한다. 스트리밍 멀티-채널 오디오의 각각의 채널은, 마이크로폰들의 어레이에서의 별개의 전용 마이크로폰에 의해 캡처되는 개개의 오디오 피처(audio feature)들을 포함한다. 각각의 입력 프레임에 대해, 이 방법은, 데이터 프로세싱 하드웨어에 의해, 기억된 뉴럴 네트워크의 3차원(three-dimensional)(3D) 단일 값 분해 필터(single value decomposition filter)(SVDF) 입력 계층을 사용하여, 스트리밍 멀티-채널 오디오의 각각의 채널의 개개의 오디오 피처들을 병렬로 프로세싱하는 단계, 및 데이터 프로세싱 하드웨어에 의해, 기억된 뉴럴 네트워크의 중간 계층을 사용하여, 스트리밍 멀티-채널 오디오의 각각의 채널의 개개의 오디오 피처들의 연접(concatenation)에 기초하여 대응하는 멀티-채널 오디오 피처 표현을 생성하는 단계를 포함한다. 이 방법은, 데이터 프로세싱 하드웨어에 의해, 기억된 뉴럴 네트워크의 순차적으로 적층된 SVDF 계층들을 사용하여, 각각의 입력 프레임의 대응하는 멀티-채널 오디오 피처 표현에 기초하여 스트리밍 멀티-채널 오디오에서의 핫워드의 존재를 표시하는 확률 스코어를 생성하는 단계를 또한 포함한다. 이 방법은, 데이터 프로세싱 하드웨어에 의해, 확률 스코어가 핫워드 검출 임계치를 만족시키는지 여부를 결정하는 단계를 또한 포함한다. 확률 스코어가 핫워드 검출 임계치를 만족시킬 때, 이 방법은, 데이터 프로세싱 하드웨어에 의해, 스트리밍 멀티-채널 오디오에서의 핫워드 및/또는 핫워드에 후속하는 하나 이상의 다른 용어를 프로세싱하기 위해 사용자 디바이스 상에서 웨이크업 프로세스를 개시하는 단계를 포함한다.
본 개시내용의 구현들은 다음의 임의적인 피처들 중 하나 이상을 포함할 수도 있다. 일부 구현들에서, 3D SVDF 입력 계층은 다수의 병렬 SVDF 프로세싱 셀들을 포함한다. 다수의 병렬 SVDF 프로세싱 셀들의 각각의 SVDF 프로세싱 셀은 스트리밍 멀티-채널 오디오의 개개의 채널과 연관되고, 개개의 채널의 개개의 오디오 피처들에 대해 프로세싱을 수행하도록 구성된다. 일부 예들에서, 각각의 SVDF 프로세싱 셀은 적어도 하나의 뉴런을 포함하고, 각각의 뉴런은, 개개의 메모리 컴포넌트, 각각의 입력 프레임의 개개의 채널의 개개의 오디오 피처들에 대해 개별적으로 필터링을 수행하고 필터링된 피처들을 개개의 메모리 컴포넌트에 출력하도록 구성되는 제1 스테이지, 및 개개의 메모리 컴포넌트에 상주하는 필터링된 오디오 피처들 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지를 포함한다. 개개의 메모리 컴포넌트는, 대응하는 뉴런의 개개의 메모리 용량과 연관된다.
임의로, 각각의 입력 프레임의 각각의 개개의 채널의 개개의 오디오 피처들은 로그 필터뱅크(log-filterbank)들을 포함한다. 각각의 입력 프레임은 40개의 로그 필터뱅크를 포함할 수도 있다. 기억된 뉴럴 네트워크의 순차적으로 적층된 SVDF 계층들은, 일부 예들에서, 각각의 입력 프레임의 대응하는 멀티-채널 오디오 피처 표현을 순차적으로 수신하도록 구성되는 초기 SVDF 계층을 포함한다.
일부 구현들에서, 각각의 순차적으로 적층된 SVDF 계층은 적어도 하나의 뉴런을 포함하고, 각각의 뉴런은, 개개의 메모리 컴포넌트, 각각의 입력 프레임의 대응하는 멀티-채널 오디오 피처 표현에 대해 개별적으로 필터링을 수행하고 필터링된 멀티-채널 오디오 피처 표현을 개개의 메모리 컴포넌트에 출력하도록 구성되는 제1 스테이지, 및 개개의 메모리 컴포넌트에 상주하는 필터링된 멀티-채널 오디오 피처 표현들 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지를 포함한다. 개개의 메모리 컴포넌트는, 대응하는 뉴런의 개개의 메모리 용량과 연관된다.
순차적으로 적층된 SVDF 계층들 각각으로부터의 뉴런에 대한 개개의 메모리 컴포넌트들과 연관된 메모리 용량들의 합은, 전형적인 화자(speaker)가 핫워드를 발화하는 데 걸리는 시간의 길이에 비례하는 고정된 메모리 용량을 기억된 뉴럴 네트워크에 제공할 수도 있다. 개개의 메모리 컴포넌트들 중 적어도 하나와 연관된 개개의 메모리 용량은, 나머지 메모리 컴포넌트들과 연관된 개개의 메모리 용량들과 상이할 수도 있다. 일부 예들에서, 순차적으로 적층된 SVDF 계층들 모두의 개개의 메모리 컴포넌트들과 연관된 개개의 메모리 용량들은 동일하다.
일부 구현들에서, 원격 시스템이 복수의 멀티-채널 훈련 입력 오디오 시퀀스들에 대해 기억된 뉴럴 네트워크를 훈련시킨다. 각각의 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은, 핫워드의 음성 성분(phonetic component)들을 특성화하는 하나 이상의 개개의 오디오 피처를 각각이 포함하는 개개의 입력 프레임들의 시퀀스, 및 개개의 입력 프레임들에 할당되는 레이블들을 포함한다. 각각의 레이블은, 개개의 입력 프레임의 오디오 피처들이 핫워드의 음성 성분을 포함할 확률을 표시한다. 일부 예들에서, 복수의 멀티-채널 훈련 입력 오디오 시퀀스들의 제1 부분 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은, 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 다른 채널과의 복제물이고, 복수의 멀티-채널 훈련 입력 오디오 시퀀스들의 나머지 제2 부분 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은, 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 다른 채널에 고유하다. 임의로, 3D SVDF 입력 계층은 다수의 병렬 SVDF 프로세싱 셀들을 포함한다. 다수의 병렬 SVDF 프로세싱 셀들의 각각의 SVDF 프로세싱 셀은 각각의 멀티-채널 훈련 입력 오디오 시퀀스의 개개의 채널과 연관되고, 개개의 채널의 각각의 개개의 입력 프레임의 개개의 오디오 피처들을 개별적으로 수신하도록 구성된다.
본 개시내용의 다른 양태는, 기억된 뉴럴 네트워크를 훈련시키고 훈련된 기억된 뉴럴 네트워크를 사용하여 발화된 발언에서 핫워드를 검출하기 위한 시스템을 제공한다. 이 시스템은, 사용자 디바이스의 데이터 프로세싱 하드웨어, 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는, 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은, 데이터 프로세싱 하드웨어와 통신하는 마이크로폰들의 어레이에 의해 캡처되는 스트리밍 멀티-채널 오디오를 특성화하는 입력 프레임들의 시퀀스를 수신하는 것을 포함한다. 스트리밍 멀티-채널 오디오의 각각의 채널은, 마이크로폰들의 어레이에서의 별개의 전용 마이크로폰에 의해 캡처되는 개개의 오디오 피처들을 포함한다. 각각의 입력 프레임에 대해, 동작들은, 기억된 뉴럴 네트워크의 3차원(3D) 단일 값 분해 필터(SVDF) 입력 계층을 사용하여, 스트리밍 멀티-채널 오디오의 각각의 채널의 개개의 오디오 피처들을 병렬로 프로세싱하는 것, 및 기억된 뉴럴 네트워크의 중간 계층을 사용하여, 스트리밍 멀티-채널 오디오의 각각의 채널의 개개의 오디오 피처들의 연접에 기초하여 대응하는 멀티-채널 오디오 피처 표현을 생성하는 것을 포함한다. 동작들은, 기억된 뉴럴 네트워크의 순차적으로 적층된 SVDF 계층들을 사용하여, 각각의 입력 프레임의 대응하는 멀티-채널 오디오 피처 표현에 기초하여 스트리밍 멀티-채널 오디오에서의 핫워드의 존재를 표시하는 확률 스코어를 생성하는 것을 또한 포함한다. 동작들은, 확률 스코어가 핫워드 검출 임계치를 만족시키는지 여부를 결정하는 것을 또한 포함한다. 확률 스코어가 핫워드 검출 임계치를 만족시킬 때, 동작들은, 스트리밍 멀티-채널 오디오에서의 핫워드 및/또는 핫워드에 후속하는 하나 이상의 다른 용어를 프로세싱하기 위해 사용자 디바이스 상에서 웨이크업 프로세스를 개시하는 것을 포함한다.
이 양태는 다음의 임의적인 피처들 중 하나 이상을 포함할 수도 있다. 일부 구현들에서, 3D SVDF 입력 계층은 다수의 병렬 SVDF 프로세싱 셀들을 포함한다. 다수의 병렬 SVDF 프로세싱 셀들의 각각의 SVDF 프로세싱 셀은 스트리밍 멀티-채널 오디오의 개개의 채널과 연관되고, 개개의 채널의 개개의 오디오 피처들에 대해 프로세싱을 수행하도록 구성된다. 일부 예들에서, 각각의 SVDF 프로세싱 셀은 적어도 하나의 뉴런을 포함하고, 각각의 뉴런은, 개개의 메모리 컴포넌트, 각각의 입력 프레임의 개개의 채널의 개개의 오디오 피처들에 대해 개별적으로 필터링을 수행하고 필터링된 피처들을 개개의 메모리 컴포넌트에 출력하도록 구성되는 제1 스테이지, 및 개개의 메모리 컴포넌트에 상주하는 필터링된 오디오 피처들 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지를 포함한다. 개개의 메모리 컴포넌트는, 대응하는 뉴런의 개개의 메모리 용량과 연관된다.
임의로, 각각의 입력 프레임의 각각의 개개의 채널의 개개의 오디오 피처들은 로그 필터뱅크들을 포함한다. 각각의 입력 프레임은 40개의 로그 필터뱅크를 포함할 수도 있다. 기억된 뉴럴 네트워크의 순차적으로 적층된 SVDF 계층들은, 일부 예들에서, 각각의 입력 프레임의 대응하는 멀티-채널 오디오 피처 표현을 순차적으로 수신하도록 구성되는 초기 SVDF 계층을 포함한다.
일부 구현들에서, 각각의 순차적으로 적층된 SVDF 계층은 적어도 하나의 뉴런을 포함하고, 각각의 뉴런은, 개개의 메모리 컴포넌트, 각각의 입력 프레임의 대응하는 멀티-채널 오디오 피처 표현에 대해 개별적으로 필터링을 수행하고 필터링된 멀티-채널 오디오 피처 표현을 개개의 메모리 컴포넌트에 출력하도록 구성되는 제1 스테이지, 및 개개의 메모리 컴포넌트에 상주하는 필터링된 멀티-채널 오디오 피처 표현들 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지를 포함한다. 개개의 메모리 컴포넌트는, 대응하는 뉴런의 개개의 메모리 용량과 연관된다.
순차적으로 적층된 SVDF 계층들 각각으로부터의 뉴런에 대한 개개의 메모리 컴포넌트들과 연관된 메모리 용량들의 합은, 전형적인 화자가 핫워드를 발화하는 데 걸리는 시간의 길이에 비례하는 고정된 메모리 용량을 기억된 뉴럴 네트워크에 제공할 수도 있다. 개개의 메모리 컴포넌트들 중 적어도 하나와 연관된 개개의 메모리 용량은, 나머지 메모리 컴포넌트들과 연관된 개개의 메모리 용량들과 상이할 수도 있다. 일부 예들에서, 순차적으로 적층된 SVDF 계층들 모두의 개개의 메모리 컴포넌트들과 연관된 개개의 메모리 용량들은 동일하다.
일부 구현들에서, 원격 시스템이 복수의 멀티-채널 훈련 입력 오디오 시퀀스들에 대해 기억된 뉴럴 네트워크를 훈련시킨다. 각각의 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은, 핫워드의 음성 성분들을 특성화하는 하나 이상의 개개의 오디오 피처를 각각이 포함하는 개개의 입력 프레임들의 시퀀스, 및 개개의 입력 프레임들에 할당되는 레이블들을 포함한다. 각각의 레이블은, 개개의 입력 프레임의 오디오 피처들이 핫워드의 음성 성분을 포함할 확률을 표시한다. 일부 예들에서, 복수의 멀티-채널 훈련 입력 오디오 시퀀스들의 제1 부분 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은, 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 다른 채널과의 복제물이고, 복수의 멀티-채널 훈련 입력 오디오 시퀀스들의 나머지 제2 부분 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은, 대응하는 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 다른 채널에 고유하다. 임의로, 3D SVDF 입력 계층은 다수의 병렬 SVDF 프로세싱 셀들을 포함한다. 다수의 병렬 SVDF 프로세싱 셀들의 각각의 SVDF 프로세싱 셀은 각각의 멀티-채널 훈련 입력 오디오 시퀀스의 개개의 채널과 연관되고, 개개의 채널의 각각의 개개의 입력 프레임의 개개의 오디오 피처들을 개별적으로 수신하도록 구성된다.
본 개시내용의 하나 이상의 구현의 세부사항들이 아래의 설명 및 첨부 도면들에 제시된다. 다른 양태들, 피처들, 및 이점들은 이 설명 및 도면들로부터, 그리고 청구범위로부터 명백해질 것이다.
도 1은 기억된 뉴럴 네트워크를 훈련시키고 훈련된 기억된 뉴럴 네트워크를 사용하여 발화된 발언에서 핫워드를 검출하기 위한 예시적인 시스템의 개략도이다.
도 2a는 멀티-채널 오디오 스트림의 각각의 채널에 대한 독립적인 모델을 갖는 전형적인 핫워드 검출 시스템의 개략도이다.
도 2b는 멀티-채널 오디오 스트림의 모든 채널들에 대한 단일의 기억된 뉴럴 네트워크를 포함하는 도 1의 예시적인 시스템의 개략도이다.
도 3은 도 1의 시스템의 기억된 뉴럴 네트워크의 예시적인 컴포넌트들의 개략도이다.
도 4는 다수의 계층들을 갖는 기억된 뉴럴 네트워크의 예시적인 컴포넌트들의 개략도이다.
도 5a 및 도 5b는 뉴럴 네트워크들을 훈련시키기 위해 스트리밍 오디오로부터 생성되는 오디오 피처-레이블 쌍들을 도시하는 개략도들이다.
도 6은 복제된 채널들 및 고유한 채널들을 포함하는 훈련 샘플들의 개략도이다.
도 7은 도 1의 시스템의 기억된 뉴럴 네트워크의 계층들의 개략도이다.
도 8은 멀티-채널 스트리밍 오디오에서 핫워드를 검출하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 9는 본 명세서에서 설명되는 시스템들 및 방법들을 구현하는 데 사용될 수도 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 동일한 참조 부호들은 동일한 요소들을 표시한다.
보이스 지원 디바이스(예를 들어, 보이스 어시스턴트를 실행하는 사용자 디바이스)는 사용자가 큰 소리로 질의 또는 커맨드를 발화하게 하고 질의에 대처 및 응답하게 하거나 그리고/또는 커맨드에 기초하여 기능을 수행하게 한다. 합의에 의해, 보이스 지원 디바이스에 대한 주의를 환기시키기 위해 발화되는 미리 결정된 용어/어구가 예비된 "핫워드"("키워드", "주의 단어(attention word)", "웨이크업 어구/단어", "트리거 어구", 또는 "보이스 액션 개시 커맨드"라고도 또한 지칭됨)의 사용을 통해, 보이스 지원 디바이스는 시스템에 관련된 발언들과 환경에 있는 개인에 관련된 발언들 사이를 판별하는 것(즉, 발언에서 핫워드에 후속하는 하나 이상의 용어를 프로세싱하기 위해 웨이크업 프로세스를 개시하는 것)이 가능하다. 전형적으로, 보이스 지원 디바이스는 배터리 전력을 보존하기 위해 슬립 상태에서 동작하고, 입력 오디오 데이터가 발화된 핫워드에 후속하지 않는 한 입력 오디오 데이터를 프로세싱하지 않는다. 예를 들어, 슬립 상태에 있는 동안, 보이스 지원 디바이스는 마이크로폰을 통해 입력 오디오를 캡처하고, 입력 오디오에서의 핫워드의 존재를 검출하도록 훈련되는 핫워드 검출기를 사용한다. 핫워드가 입력 오디오에서 검출될 때, 보이스 지원 디바이스는 핫워드 및/또는 그 핫워드에 후속하는 입력 오디오에서의 임의의 다른 용어들을 프로세싱하기 위해 웨이크업 프로세스를 개시한다.
핫워드 검출은 건초 더미에서 바늘을 탐색하는 것과 유사한데, 이는 핫워드 검출기가 스트리밍 오디오를 연속적으로 청취해야 하고, 스트리밍 오디오에서 핫워드의 존재가 검출될 때 올바르게 그리고 즉시 트리거해야 하기 때문이다. 다시 말해, 핫워드 검출기는 핫워드의 존재가 검출되지 않는 한 스트리밍 오디오를 무시하는 작업이 행해진다. 오디오의 연속 스트림에서 핫워드의 존재를 검출하는 것의 복잡성을 해결하기 위해 핫워드 검출기들에 의해 뉴럴 네트워크들이 통상적으로 채용된다.
핫워드 검출기는 전형적으로, 단일 마이크로폰에 의해 레코딩된 오디오의 단일 채널(즉, 모노 오디오)을 수신하고 오디오의 단일 채널 내의 핫워드의 존재를 결정한다. 일부 사용자 디바이스들은, 멀티-채널 스트리밍 오디오를 레코딩하기 위해 2개 이상의 마이크로폰을 포함할 수도 있다(즉, 마이크로폰당 하나의 채널). 이 경우에, 핫워드 검출기는 전형적으로 각각의 채널에 대한 뉴럴 네트워크를 포함할 것인데, 이때 각각의 뉴럴 네트워크는 개개의 채널 내의 핫워드의 존재를 결정하기 위해 오디오의 별개의 채널을 프로세싱한다. 각각의 뉴럴 네트워크의 출력(즉, 개개의 채널 내 핫워드의 존재의 결정)이 논리 OR을 통해 조합될 수도 있다. 즉, 뉴럴 네트워크들 중 임의의 것이 스트리밍 오디오의 이들의 개개의 채널에서의 핫워드의 존재를 결정하는 경우, 사용자 디바이스에 대한 웨이크업 프로세스가 개시된다. 이 기법은 핫워드 검출기에 필요한 컴퓨팅 리소스들(예를 들어, 프로세싱 속도 및 메모리 소비)을 대폭 증가시킨다. 예를 들어, 2개의 독립 마이크로폰에 의해 캡처된 오디오의 2개의 채널을 프로세싱하기 위해 2개의 모델을 사용하는 핫워드 검출기는, 오디오의 단일 채널을 프로세싱하는 단일 모델에 비해 요구되는 컴퓨팅 리소스들이 2배로 될 수도 있다. 더욱이, 각각의 모델은 오디오의 단일 채널만을 단지 프로세싱하기 때문에, 핫워드 검출기는 마이크로폰 어레이를 사용하여 잡음 강건성(noise robustness)을 향상시키는 것으로부터의 잠재적 이익들을 활용하지 못한다.
본 명세서의 구현들은 멀티-채널 스트리밍 오디오에서의 지정된 핫워드의 존재의 확률을 결정하도록 단일의 기억된 뉴럴 네트워크를 훈련시키는 종단간 멀티-채널 핫워드 스포팅 시스템(end-to-end multi-channel hotword spotting system)('키워드 스포팅 시스템'이라고도 또한 지칭됨)에 관련된다. 이 단일의 기억된 뉴럴 네트워크는 다수의 핫워드들을 검출할 뿐만 아니라, 상이한 언어들 및/또는 상이한 지역들에서 발화된 동일한 핫워드를 검출하도록 훈련될 수도 있다. 구체적으로는, 기억된 뉴럴 네트워크는, 뉴럴 네트워크가 과거로 기억하기를 원하는 멀티-채널 스트리밍 오디오의 양에 비례하는 고정된 메모리의 양을 갖는 뉴럴 네트워크 토폴로지(neural network topology)를 지칭한다. 예를 들어, 뉴럴 네트워크는 전형적인 화자가 지정된 핫워드를 발화하는 데 걸리는 시간과 동등한 멀티-채널 스트리밍 오디오의 양을 기억하기에 충분한 메모리만을 단지 갖는 것이 바람직할 수도 있다. 일부 구현들에서, 기억된 뉴럴 네트워크 토폴로지는, 하나 이상의 3차원(3D) 단일 값 분해 필터(SVDF) 계층을 포함하는 것의 계층화된 토폴로지인데, 이때 각각의 계층은 2개 이상의 병렬 SVDF 프로세싱 셀을 포함한다. 각각의 SVDF 프로세싱 셀은 멀티-채널 스트리밍 오디오의 별개의 채널을 다른 SVDF 프로세싱 셀들과 동시에 그리고 병렬로 프로세싱한다.
각각의 SVDF 프로세싱 셀은 개개의 채널의 개개의 오디오 피처들에 대해 프로세싱을 수행하도록 구성되고, 개개의 메모리 용량을 갖는 적어도 하나의 뉴런을 포함한다. 각각의 뉴런은 적절한 활성화 함수(예를 들어, 정류된 선형)를 또한 포함할 수도 있다. 부가적으로, 각각의 SVDF 프로세싱 셀의 출력은 함께 연접되고 후속 중간 계층으로 전달되어 스트리밍 멀티-채널 오디오의 멀티-채널 오디오 피처 표현을 생성한다.
도 1을 참조하면, 일부 구현들에서, 예시적인 시스템(100)은, 각각이 개개의 사용자(10)와 연관되고 네트워크(104)를 통해 원격 시스템(110)과 통신하는 하나 이상의 사용자 디바이스(102)를 포함한다. 각각의 사용자 디바이스(102)는 모바일 폰, 컴퓨터, 웨어러블 디바이스, 스마트 어플라이언스, 오디오 인포테인먼트 시스템, 스마트 스피커 등과 같은 컴퓨팅 디바이스에 대응할 수도 있고, 데이터 프로세싱 하드웨어(103) 및 메모리 하드웨어(105)가 구비되어 있다. 원격 시스템(110)은 단일 컴퓨터, 다수의 컴퓨터들, 또는 스케일링가능/탄력적 컴퓨팅 리소스들(112)(예를 들어, 데이터 프로세싱 하드웨어) 및/또는 저장 리소스들(114)(예를 들어, 메모리 하드웨어)을 갖는 분산 시스템(예를 들어, 클라우드 환경)일 수도 있다. 사용자 디바이스(102)는 네트워크(104)를 통해 원격 시스템(110)으로부터 훈련된 기억된 뉴럴 네트워크(300)를 수신하고 훈련된 기억된 뉴럴 네트워크(300)를 실행하여 멀티-채널 스트리밍 오디오(118)에서 핫워드들을 검출한다. 멀티-채널 스트리밍 오디오(118)는 오디오의 2개 이상의 채널(119, 119a-n)을 포함한다. 훈련된 기억된 뉴럴 네트워크(300)는, 스트리밍 멀티-채널 오디오(118)에 대한 시맨틱 분석 또는 스피치 인식 프로세싱을 수행하는 일 없이 스트리밍 멀티-채널 오디오에서의 핫워드의 존재를 검출하도록 구성되는 사용자 디바이스(102)의 멀티-채널 핫워드 검출기(106)(핫워더(hotworder)라고도 또한 지칭됨)에 상주할 수도 있다. 임의로, 훈련된 기억된 뉴럴 네트워크(300)는 멀티-채널 핫워드 검출기(106)가 멀티-채널 스트리밍 오디오(118)에서의 핫워드의 존재를 올바르게 검출하였음을 확인하기 위해 원격 시스템(110) 및/또는 사용자 디바이스(102)의 자동 스피치 인식기(automatic speech recognizer)(ASR)(108)에 부가적으로 또는 대안적으로 상주할 수도 있다.
일부 구현들에서, 데이터 프로세싱 하드웨어(112)는 주해된 발언 풀(annotated utterance pool)들(130)로부터 획득된 훈련 샘플들(500)을 사용하여 기억된 뉴럴 네트워크(300)를 훈련시킨다. 주해된 발언 풀들(130)은 메모리 하드웨어(114) 및/또는 일부 다른 원격 메모리 위치(들) 상에 상주할 수도 있다. 도시된 예에서, 사용자(10)가 사용자 디바이스(102)에 의해 멀티-채널 스트리밍 오디오(118)로서 캡처된 핫워드(예를 들어, "Hey Google")를 포함하는 발언(120)을 발화할 때, 사용자 디바이스(102) 상에서 실행되는 기억된 뉴럴 네트워크(300)는 발언(120)에서의 핫워드의 존재를 검출하여, 발언(120)에서의 핫워드 및/또는 그 핫워드에 후속하는 하나 이상의 다른 용어(예를 들어, 질의 또는 커맨드)를 프로세싱하기 위해 사용자 디바이스(102) 상에서 웨이크업 프로세스를 개시하도록 구성된다. 부가적인 구현들에서, 사용자 디바이스(102)는 (예를 들어, 다른, 잠재적으로 더 계산 집약적인 기억된 뉴럴 네트워크(300)를 이용한) 부가적인 프로세싱 또는 검증을 위해 발언(120)을 원격 시스템(110)에 전송한다.
사용자 디바이스는, 사용자(10)로부터의 발언(120)을 캡처하기 위한 2개 이상의 마이크로폰(107, 107a-n)을 포함할 수도 있다(또는 이와 통신할 수도 있다). 각각의 마이크로폰(107)은 멀티-채널 스트리밍 오디오(118)의 별개의 전용 채널(119) 상에서 발언(120)을 별개로 레코딩할 수도 있다. 예를 들어, 사용자 디바이스(102)는, 발언(120)을 각각이 레코딩하는 2개의 마이크로폰(107)을 포함할 수도 있고, 2개의 마이크로폰(107)으로부터의 레코딩들은 2-채널 스트리밍 오디오(118)(즉, 스테레오포닉(stereophonic) 오디오 또는 스테레오)로 조합될 수도 있다. 일부 예들에서, 사용자 디바이스(102)는 2개 초과의 마이크로폰을 포함할 수도 있다. 즉, 2개의 마이크로폰은 사용자 디바이스(102) 상에 상주한다. 부가적으로 또는 대안적으로, 사용자 디바이스(102)는, 사용자 디바이스(102)로부터 분리된/원격인 2개 이상의 마이크로폰과 통신할 수도 있다. 예를 들어, 사용자 디바이스(102)는, 차량 내에 배치되고 차량의 2개 이상의 마이크로폰과 유선 또는 무선 통신(예를 들어, 블루투스)하는 모바일 디바이스일 수도 있다. 일부 구성들에서, 사용자 디바이스(102)는, 차량 내 오디오 시스템, 컴퓨팅 디바이스, 스피커, 또는 다른 사용자 디바이스를 제한 없이 포함할 수도 있는 별개의 디바이스(101) 상에 상주하는 적어도 하나의 마이크로폰(107)과 통신한다. 이들 구성들에서, 사용자 디바이스(102)는 또한, 사용자 디바이스(102) 상에 상주하는 하나 이상의 마이크로폰과 통신할 수도 있다.
도시된 예에서, 기억된 뉴럴 네트워크(300)는 입력 3차원(3D) 단일 값 분해 필터(SVDF) 계층(302) 및 복수의 다른 계층들(350), 예를 들어, 순차적으로 적층된 SVDF 계층들(350)을 포함한다. 입력 3D SVDF 계층(302)은 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 오디오 피처들을 병렬로 프로세싱한다. 즉, 멀티-채널 스트리밍 오디오(118)의 각각의 채널(119)은 동시에 프로세싱하기 위해 입력 3D SVDF 계층(302)으로서 제공된다.
이제 도 2a를 참조하면, 전형적인 핫워드 검출 시스템들(200)은, 각각의 채널(119)에 대한 별개이고 독립적인 종단간 핫워드 검출 모델(202, 202a-b)을 구현함으로써 멀티-채널 스트리밍 오디오(118)(즉, 마이크로폰들(107a, 107b)에 의해 캡처된 오디오)를 이용할 수도 있다. 각각의 모델(202)은 스트리밍 오디오(118)의 단일 채널(119a-b)을 수신하고 개개의 채널(119) 내의 핫워드의 존재를 결정한다. 각각의 모델(202)에 대한 핫워드 결정은 핫워드 검출(230)(예를 들어, yes/no 핫워드 검출 또는 확률 스코어)을 생성하기 위해 논리 OR 게이트(220)에 제공된다. 즉, 모델들(202) 중 임의의 것이 핫워드가 스트리밍 오디오(118)의 그의 개개의 채널(119) 내에 존재한다고 결정할 때, 시스템(200)은 사용자 디바이스(102)의 웨이크업 프로시저를 개시한다. 시스템(200)을 이용하면, 각각의 모델(202)은 상당한 컴퓨팅 리소스들을 소비할 뿐만 아니라, 모델들(202) 중 어느 것도 마이크로폰 어레이에 존재하는 어떠한 잠재적 이익(예를 들어, 잡음 강건성)도 얻지 못한다.
멀티-채널 스트리밍 오디오(118)의 각각의 채널(119) 상에서 핫워드를 검출하기 위한 독립적인 모델(202)을 구현하는 도 2a의 전형적인 시스템(200)과는 대조적으로, 도 2b는 멀티-채널 스트리밍 오디오(118)로부터 양측 채널들을 동시에 수신하도록 구성되는 멀티-채널 종단간 모델(예를 들어, 기억된 뉴럴 네트워크(300))을 사용하는 도 1의 시스템(100)의 멀티-채널 핫워드 검출기(106)를 도시한다. 여기서, 컴퓨팅 리소스들이 시스템(200)에 비해 대략 절반으로 될 뿐만 아니라(즉, 2개 대신에 하나의 종단간 모델), 멀티-채널 모델(300)은, 멀티-채널 스트리밍 오디오(118)를 프로세싱할 때 존재하는 정확성 및 잡음 강건성 증가들을 활용할 수도 있다. 예를 들어, 멀티-채널 모델(300)은 각각의 채널로부터의 주파수 피처들의 리던던시(redundancy)를 활용할 뿐만 아니라, 채널들에 걸친 시간적 변화들을 이용하여 잡음 강건성을 향상시킬 수도 있다. 도시된 예는 단지 2개의 채널만을 갖는 멀티-채널 스트리밍 오디오(118) 및 2개의 채널(119a, 119b) 각각을 동시에 수신하는 종단간 모델(300)을 도시하지만, 모델(300)은 이와 유사하게, 멀티-채널 스트리밍 오디오(118)가 3개 이상의 채널을 포함할 때 3개 이상의 채널(119)을 동시에 수신할 수 있다. 더욱이, 모델(300)은 스트리밍 오디오(118)가 단지 단일의 채널만을 포함할 때 단지 단일의 채널(119)만을 수신하도록 또한 구성될 수도 있다.
이제 도 3을 참조하면, 일부 구현들에서, 3D SVDF 뉴럴 네트워크(300)(기억된 뉴럴 네트워크라고도 또한 지칭됨)는 적어도 하나의 3D SVDF 계층(302)을 포함한다. 각각의 3D SVDF 계층(302)은 2개 이상의 SVDF 프로세싱 셀(304, 304a-b)을 포함하고, 각각의 SVDF 프로세싱 셀(304)은, 마이크로폰들(107)에 의해 캡처된 스트리밍 멀티-채널 오디오(118)를 특성화하는 입력 프레임들(210, 210aa-be)의 시퀀스를 수신한다. 각각의 SVDF 프로세싱 셀(304)은 입력 프레임들(210a, 210b)의 별개의 채널을 수신한다. 도시된 예에서, SVDF 프로세싱 셀(304a)은, 제1 마이크로폰(107a)에 의해 캡처된 제1 채널(119a)(즉, 채널 0)로부터의 오디오 피처들을 포함하는 입력 프레임들(210a)을 수신하는 한편, SVDF 프로세싱 셀(304b)은, 제2 마이크로폰(107b)에 의해 캡처된 제2 채널(119b)(즉, 채널 1)로부터의 오디오 피처들을 포함하는 입력 프레임들(210b)을 수신한다. 즉, 3D SVDF 입력 계층(302)은 다수의 병렬 SVDF 프로세싱 셀들(304)을 포함할 수도 있고, 다수의 병렬 SVDF 프로세싱 셀들의 각각의 SVDF 프로세싱 셀(304)은 스트리밍 멀티-채널 오디오(118)의 개개의 채널(119)과 연관되고, 개개의 채널(119)의 개개의 오디오 피처들(510)(도 5)에 대해 프로세싱을 수행하도록 구성된다.
각각의 SVDF 프로세싱 셀(304)은 임의의 수의 뉴런/노드(312)를 가지며, 여기서 각각의 뉴런(312)은 한 번에 단일 프레임(210)의 발화된 발언(120)만을 단지 수용한다. 즉, 각각의 프레임(210)이, 예를 들어, 30ms의 오디오 데이터를 구성하는 경우, 개개의 프레임(210)은 대략 매 30ms마다 뉴런(312)에 입력된다. 각각의 뉴런(312)은, 2-스테이지 필터링 메커니즘: 입력의 피처 차원에 대해 필터링을 수행하는 제1 스테이지(320)(즉, α ch0 α ch1 ), 및 제1 스테이지(320)의 출력들에 대한 시간 차원에 대해 필터링을 수행하는 제2 스테이지(340)(즉, ß t0 ß t1 )를 포함할 수도 있다. 그에 따라, 스테이지 1 피처 필터(320)는 단지 현재 프레임(210)에 대해서만 피처 필터링을 수행한다. 프로세싱의 결과(322)가 그 후에 메모리 컴포넌트(330)에 배치된다. 메모리 컴포넌트(330)의 사이즈는 노드별로 또는 계층 레벨별로 구성가능하다. 개개의 메모리 컴포넌트들(330) 중 적어도 하나와 연관된 개개의 메모리 용량은, 나머지 메모리 컴포넌트들(330)과 연관된 개개의 메모리 용량들과 상이할 수도 있다. 대안적으로, 모든 SVDF 프로세싱 셀들(304)의 뉴런들(312)의 개개의 메모리 컴포넌트들(330)과 연관된 개개의 메모리 용량들은 동일하다.
스테이지 1 피처 필터(320)가 (예를 들어, 프레임(210) 내의 개개의 채널의 오디오 피처들을 필터링함으로써) 주어진 프레임(210)을 프로세싱한 후에, 필터링된 결과(322)가 메모리 컴포넌트(330)의 다음 가용 메모리 위치(332, 332a-d)에 배치된다. 일단 모든 메모리 위치들(332)이 채워지면, 스테이지 1 피처 필터(320)는 메모리 컴포넌트(330)에 가장 오래된 필터링된 데이터를 저장한 메모리 위치(332)를 오버라이팅(overwrite)할 것이다. 예시 목적들을 위해, 도 3은 사이즈 4(4개의 메모리 위치(332a-d))의 메모리 컴포넌트(330) 및 5개의 프레임(210aa-e, 210ba-be)을 도시하지만, 핫워드 검출의 성질로 인해, 시스템(100)은 전형적으로, 각각의 뉴런(312)이 파이프라인과 유사한 프레임들(210)을 따라 "슬라이딩"하거나 또는 이들을 프로세싱하도록 멀티-채널 스트리밍 오디오(118)를 연속적으로 모니터링할 것이라는 것에 주목한다. 달리 말하면, 각각의 스테이지가 N개의 피처 필터(320) 및 N개의 시간 필터(340)(그 각각은 입력 피처 프레임(210)의 사이즈와 매칭됨)를 포함하는 경우, 계층은, 피처 프레임들의 사이즈의 스트라이드(stride)로, 입력 피처 프레임들(210) 상에서 N개의 필터(320, 340) 각각을 슬라이딩함으로써 피처 필터들의 N x T(T는 고정된 기간의 시간에서의 프레임들(210)의 수와 동일함) 콘볼루션들을 컴퓨팅한 것과 유사하다. 예를 들어, 스테이지 1 피처 필터가 필터링된 오디오 피처들(322)을 메모리 위치(332d)로 출력한 후에 메모리 컴포넌트(330)가 용량에 도달한 후에, 스테이지 1 피처 필터(320)는 메모리 위치(332a) 내의 프레임(210aa, 210ba)과 연관된 필터링된 오디오 피처들(322)을 오버라이팅함으로써 후속 프레임(즉, 210ae, 210be)과 연관된 필터링된 오디오 피처들(322)을 메모리(330) 내에 배치시킬 것이다. 이러한 방식으로, 스테이지 2 시간 필터(340)는, 스테이지 1 피처 필터(320)로부터 출력되는 이전 T-1(T는 고정된 기간의 시간에서의 프레임들(210) 수와 동일함)개의 필터링된 오디오 피처에 필터링을 적용한다.
그 후에, 스테이지 2 시간 필터(340)는 메모리(330)에 저장된 각각의 필터링된 오디오 피처를 필터링한다. 예를 들어, 도 3은 스테이지 1 피처 필터(320)가 메모리(330) 내에 새로운 필터링된 오디오 피처를 저장할 때마다 4개의 메모리 위치(332) 각각에서의 오디오 피처들을 필터링하는 스테이지 2 시간 필터(340)를 도시한다. 이러한 방식으로, 스테이지 2 시간 필터(340)는 다수의 과거 프레임들(210)을 항상 필터링하고 있고, 여기서 그 수는 메모리(330)의 사이즈에 비례한다. 각각의 뉴런(312)은 단일 SVDF 프로세싱 셀(304)의 일부이고, 뉴럴 네트워크(300)는 임의의 수의 프로세싱 셀(304)을 포함할 수도 있다.
3D SVDF 계층(302) 내의 각각의 스테이지 2 시간 필터(340)의 출력(342, 342a-b)이 함께 연접되어 단일 출력(344)을 형성할 수도 있다. 도시된 예에서, SVDF 프로세싱 셀(304a)의 출력(342a)(즉, O 0 )이 SVDF 프로세싱 셀(304b)의 출력(342b)(즉, O 1 )과 연접되어 단일 출력(344)을 형성한다. 연접된 출력(344)은 기억된 뉴럴 네트워크(300)의 후속 계층에 대한 입력으로서 전달된다. 일부 예들에서, 다음 계층은 다른 3D SVDF 계층(302)일 수도 있고 연접된 출력(344)은 다음 3D SVDF 계층(302)의 뉴런(312)으로 전달된다. 다른 예들에서, 후속 계층은 완전히 연결된 조밀 계층(fully-connected dense layer)이다(도 4). 계층들의 수 및 계층당 뉴런들(312)의 수는 완전히 구성가능하고, 가용 리소스들 및 원하는 사이즈, 전력, 및 정확성에 좌우된다. 본 개시내용은 3D SVDF 계층들(302)(또는 다른 계층 타입들)의 수, 3D SVDF 계층(302)당 SVDF 프로세싱 셀들(304)의 수, 또는 각각의 SVDF 프로세싱 셀(304)에서의 뉴런들(312)의 수로 제한되지 않는다.
이제 도 4를 참조하면, 뉴럴 네트워크(300)의 입력 3D SVDF 계층(302)은 출력(344)이 후속 계층에 대한 입력으로서 수용되도록 연결된다. 일부 구현들에서, 후속 중간 계층은 조밀 계층(410)이다. 조밀 계층(410)은 3D SVDF 계층(들)(302)으로부터 수신되는 연접된 출력(344)에 기초하여 대응하는 멀티-채널 오디오 피처 표현(420)을 생성할 수도 있다. 조밀 계층은, 연접된 출력(344)을 프로세싱하는 완전히 연결된 계층(즉, 모든 입력이 모든 출력에 연결된다)이다. 일부 예들에서, 조밀 계층(410)은 멀티-채널 스트리밍 오디오(118)의 채널들(119) 사이의 위상 차이들에 대해 보상한다. 즉, 사용자(10)와 각각의 마이크로폰(107) 사이의 거리의 차이에 기초하여, 각각의 채널(119)은 상이한 위상을 갖는다. SVDF 프로세싱 셀들(304)이 시간 필터링(즉, 스테이지 2 시간 필터(340))을 포함하기 때문에, 조밀 계층(410)은 빔포밍에서 사용되는 기법들과 유사한 이 위상 지연에 대해 보상 또는 조정하기 위해 연접된 출력(344)을 프로세싱할 수도 있다.
일부 구현들에서, 후속 계층들은 하나 이상의 부가적인 3D SVDF 계층(302)을 포함한다. 후속 계층들은 하나 이상의 SVDF 계층(350)(예를 들어, 순차적으로 적층된 SVDF 계층(350))을 포함한다. 순차적으로 적층된 SVDF 계층들(350)은 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)에 기초하여 스트리밍 멀티-채널 오디오(118)에서의 핫워드의 존재를 표시하는 확률 스코어(360)를 생성할 수도 있다. 순차적으로 적층된 SVDF 계층들(350)은, 대응하는 멀티-채널 오디오 피처 표현(420)을 수신하도록 구성되는 초기 SVDF 계층(350a)을 포함한다. 각각의 SVDF 계층(350)은, 3D SVDF 계층(302)의 각각의 SVDF 프로세싱 셀(304)과 실질적으로 동일한 컴포넌트들을 포함한다. 즉, 3D SVDF 계층(302)의 각각의 SVDF 프로세싱 셀(304) 및 각각의 SVDF 계층(350)은, 개개의 메모리 컴포넌트(330), 스테이지 1 피처 필터(320), 및 스테이지 2 시간 필터(340)를 포함하는 적어도 하나의 뉴런(312)을 포함한다. 순차적으로 적층된 SVDF 계층들(350)는 2차원(two-dimensional)(2D) SVDF 계층들이라고 지칭될 수도 있고, 이와 유사하게, 각각의 SVDF 프로세싱 셀(304)이 멀티-채널 스트리밍 오디오(118)의 개개의 채널과 연관됨에 따라, 각각의 SVDF 프로세싱 셀(304)은, 스트리밍 멀티-채널 오디오(118)의 각각의 입력 프레임(210)에 대해 다른 SVDF 프로세싱 셀들(304)과 병렬로 채널의 개개의 오디오 피처들을 프로세싱하는 2D SVDF 계층에 또한 대응한다. 3D SVDF 계층(302)의 병렬 SVDF 프로세싱 셀들(304)은 SVDF 계층들(350)의 2차원들(즉, 주파수 및 시간)에 3차원(즉, 채널들)을 부가시킨다. 일부 예들에서, 기억된 뉴럴 네트워크(300)의 최종 계층(350n)은, 발언(120)이 핫워드를 포함할 확률을 표시하는 확률 스코어(360)를 출력한다. 시스템(100)은 확률 스코어가 핫워드 검출 임계치를 만족시킬 때 발언(120)이 핫워드를 포함한다고 결정하고 사용자 디바이스(102) 상에서 웨이크업 프로세스를 개시할 수도 있다.
따라서, 본 명세서의 구현들은 3차원들(즉, 시간, 주파수, 및 채널)을 사용하여 오디오의 멀티-채널 스트림 내에서 핫워드를 검출하는 상태 기반(stateful) 적층가능 뉴럴 네트워크(300)에 관련된다. 3D SVDF 계층(302)이 다수의 SVDF 프로세싱 셀들(304)을 병렬로 포함한다. 각각의 SVDF 프로세싱 셀(304)의 각각의 뉴런(312)은, 필터링 오디오 피처들과 연관된 제1 스테이지(320), 및 시간과 관련하여 제1 스테이지(320)의 필터링 출력들과 연관된 제2 스테이지(340)를 포함한다. 구체적으로는, 제1 스테이지(320)는 한 번에 하나의 오디오 피처 입력 프레임(210)에 대한 하나 이상의 오디오 피처에 대해 필터링을 수행하고 필터링된 오디오 피처들을 개개의 메모리 컴포넌트(330)에 출력하도록 구성된다. 여기서, 스테이지 1 피처 필터(320)는 프로세싱을 위한 입력으로서 시간 프레임(210)과 연관된 하나 이상의 오디오 피처를 수신하고 프로세싱된 오디오 피처들을 SVDF 프로세싱 셀(304)의 개개의 메모리 컴포넌트(330) 내로 출력한다. 그 후, 제2 스테이지(340)는, 제1 스테이지(320)로부터 출력되고 개개의 메모리 컴포넌트(330)에 상주하는 필터링된 오디오 피처들 모두에 대해 필터링을 수행하도록 구성된다. 예를 들어, 개개의 메모리 컴포넌트(330)가 8과 동일할 때, 제2 스테이지(340)는, 8개의 입력 프레임(210)의 시퀀스 내의 오디오 피처들의 개별 필터링 동안 제1 스테이지(320)로부터 출력된 메모리 컴포넌트(330)에 상주하는 마지막 8개의 필터링된 오디오 피처에 접근할 것이다. 제1 스테이지(320)가 대응하는 메모리 컴포넌트(330)를 용량까지 채울 때, 가장 오래된 필터링된 오디오 피처들을 포함하는 메모리 위치들(332)이 오버라이팅된다(즉, 선입 선출(first in, first out)). 따라서, 뉴런(312) 또는 프로세싱 셀(304)에서의 메모리 컴포넌트(330)의 용량에 따라, 제2 스테이지(340)는 대응하는 SVDF 프로세싱 셀(304)의 제1 스테이지(320)에 의해 프로세싱된 다수의 과거 출력들을 기억하는 것이 가능하다. 더욱이, SVDF 프로세싱 셀들(304)에서의 메모리 컴포넌트들(330)은 부가적(additive)이므로, 각각의 뉴런(312)에서의 메모리 컴포넌트(330)는 또한 각각의 선행 뉴런(312)의 메모리를 포함하여, 따라서 기억된 뉴럴 네트워크(300)의 전체 수용 필드를 확장시킨다. 그 결과, 3D SVDF 계층(들)(302) 및 순차적으로 적층된 SVDF 계층들(350)은 뉴럴 네트워크(300)가 한 번에 하나의 입력 시간 프레임(210)에 대한 오디오 피처들(예를 들어, 30밀리초의 오디오 데이터)만을 단지 프로세싱하게 하고, 멀티-채널 스트리밍 오디오(118)에서 지정된 핫워드를 캡처하는 데 필요한 고정된 길이의 시간을 캡처하는 다수의 필터링된 오디오 피처들을 과거에 포함시키게 한다. 대조적으로, 메모리가 없는 뉴럴 네트워크는, 핫워드의 존재를 포함하는 멀티-채널 스트리밍 오디오의 확률을 결정하기 위해 고정된 길이의 시간을 커버하는 모든 오디오 피처 프레임들(예를 들어, 2초의 오디오 데이터)을 동시에 프로세싱하기 위해 그의 뉴런들(212)을 요구할 것인데, 이는 네트워크의 전체 사이즈를 대폭 증가시킨다. 더욱이, 장단기 메모리(long short-term memory)(LSTM)를 사용하는 순환 뉴럴 네트워크(recurrent neural network)(RNN)들이 메모리를 제공하지만, RNN-LSTM들은 뉴런들로 하여금 각각의 프로세싱 인스턴스 후에 이들의 상태를 연속적으로 업데이트하게 하여, 사실상 무한 메모리를 가지며, 그에 의해 (일단 고정된 사이즈의 메모리가 용량에 도달하면) 각각의 새로운 출력이 이전 출력 위에 재기입되는 유한한 과거의 수의 프로세싱된 출력을 기억하는 능력을 방해한다. 달리 말하면, SVDF 네트워크들은 상태(메모리)로 출력들을 순환시키지도 않고, 각각의 반복마다 모든 상태를 재기입하지도 않는다; 그 대신에, 메모리는 각각의 추론 실행의 상태를 후속 실행들과 격리된 채로 유지되는 대신에, 계층에 대해 구성된 메모리 사이즈에 기초하여 새로운 엔트리들에 있어서 푸시 및 팝(push and pop)한다.
이제 도 5a 및 도 5b를 참조하면, 일부 구현들에서, 기억된 뉴럴 네트워크(300)는, 멀티-채널 스트리밍 오디오(118)의 각각의 채널(119)에 대해 일 시퀀스의 입력 프레임들(210) 및 그 입력 프레임들(210)에 할당된 레이블들(520)을 각각이 포함하는 복수의 훈련 입력 오디오 시퀀스들(500)(즉, 훈련 샘플들)에 대해 훈련된다. 각각의 입력 프레임(210)은, 핫워드의 음성 성분들(530)을 특성화하는 하나 이상의 개개의 오디오 피처(510)를 포함하고, 각각의 레이블(520)은, 개개의 입력 프레임(210)의 하나 이상의 오디오 피처(510)가 핫워드의 음성 성분(530)을 포함할 확률을 표시한다. 도시된 예에서, 스트리밍 오디오(118)의 채널 0이 제공되지만, 멀티-채널 스트리밍 오디오(118)의 모든 다른 채널들(119)이, 유사한 훈련 입력 오디오 시퀀스들 및 성분들(예를 들어, 하나 이상의 오디오 피처(510)가 핫워드의 음성 성분(530)을 포함할 확률을 표시하는 레이블들(520) 및 음성 성분들(530)을 특성화하는 개개의 오디오 피처(420))을 포함한다는 것이 이해된다. 일부 예들에서, 각각의 입력 프레임(210)에 대한 오디오 피처들(510)은 프리-프로세싱 스테이지(pre-processing stage)(504)(즉, 피처 추출 또는 피처 생성 스테이지) 동안 멀티-채널 오디오 스트림(118)의 채널(119)의 원시 오디오 신호들(502)로부터 변환된다. 오디오 피처들(510)은 하나 이상의 로그 필터뱅크를 포함할 수도 있다. 따라서, 프리-프로세싱 스테이지는 오디오 스트림 채널(119)을 입력 프레임들(210)(예를 들어, 각각 30ms)의 시퀀스로 세그먼트화하고, 각각의 프레임(210)에 대해 별개의 로그 필터뱅크들을 생성할 수도 있다. 예를 들어, 각각의 프레임(210)은 40개의 로그 필터뱅크로 표현될 수도 있다. 입력 3D SVDF 계층(302)의 각각의 SVDF 프로세싱 셀(304)이 개개의 채널(119)로부터 입력 프레임들(210)의 시퀀스를 수신한다. 더욱이, 각각의 연속 계층(예를 들어, SVDF 계층들(350))은 시간과 관련하여 연접된 필터링된 오디오 피처들(510)(즉, 출력(344))을 입력으로서 수신한다. 일부 예들에서, 3D SVDF 입력 계층(302)는 다수의 병렬 SVDF 프로세싱 셀들(304)을 포함하고, 각각의 SVDF 프로세싱 셀(304)은 각각의 멀티-채널 훈련 입력 오디오 시퀀스(510)의 개개의 채널과 연관되고, 개개의 채널의 각각의 개개의 입력 프레임(210)의 개개의 오디오 피처들(510)을 개별적으로 수신하도록 구성된다.
도시된 예(즉, 멀티-채널 스트리밍 오디오(118)의 채널 0)에서, 각각의 훈련 입력 오디오 시퀀스(500)는, 고정된 길이의 시간(예를 들어, 2초) 내에서 발생하는 지정된 핫워드를 포함하는 주해된 발언을 포함하는 훈련 샘플과 연관된다. 기억된 뉴럴 네트워크(300)는 입력 3D SVDF 계층(302)의 각각의 SVDF 프로세싱 셀(304)에 대한 그러한 훈련 입력 오디오 시퀀스(500)에 대해 훈련될 수도 있다. 예를 들어, 2개의 SVDF 프로세싱 셀(304)에 대해(즉, 멀티-채널 스트리밍 오디오(118)의 2개의 채널(119)에 대해), 기억된 뉴럴 네트워크(300)는 2개의 훈련 입력 오디오 시퀀스(500)를 수신할 수도 있다. 기억된 뉴럴 네트워크(300)는 또한, 지정된 핫워드를 포함하지 않거나 또는 지정된 핫워드를 포함하지만 고정된 길이의 시간보다 더 긴 시간에 걸쳐 있고, 따라서, 고정된 메모리가 고정된 길이의 시간 외측의 데이터를 잊어버리는 것으로 인해 잘못 검출되지 않을 주해된 발언들(500)에 대해 임의로 훈련될 수도 있다. 일부 예들에서, 고정된 길이의 시간은, 발화된 질의들 및/또는 보이스 커맨드들을 프로세싱하기 위해 사용자 디바이스(102)를 호출하도록 전형적인 화자가 지정된 핫워드를 발화하는 데 걸리는 시간의 양에 대응한다. 예를 들어, 지정된 핫워드가 "Hey Google" 또는 "Ok Google"이라는 어구를 포함하는 경우, 심지어 느린 화자라도 일반적으로 지정된 어구를 발화하는 데 2초를 초과하여 걸리지 않을 것이므로 2초와 동일하게 설정된 고정된 길이의 시간으로 충분할 가능성이 있다. 이에 따라, 고정된 길이의 시간 동안 스트리밍 오디오(118) 내의 지정된 핫워드의 발생을 검출하는 것만이 단지 중요하므로, 뉴럴 네트워크(300)는, 고정된 시간(예를 들어, 2초)에 걸쳐 있는 오디오의 양에 비례하는 고정된 메모리의 양을 포함한다. 따라서, 뉴럴 네트워크(300)의 고정된 메모리는 뉴럴 네트워크의 뉴런들(312)이 스트리밍 오디오(118)의 각각의 채널(119)에 대해 한 번에 하나의 입력 프레임(210)(예를 들어, 30ms 시간 윈도우)으로부터의 오디오 피처들(510)(예를 들어, 로그 필터뱅크들)을 필터링하게 하면서, 고정된 길이의 시간에 걸쳐 있는 가장 최근의 필터링된 오디오 피처들(510)을 저장하고 현재 필터링 반복으로부터 고정된 길이의 시간 외측의 임의의 필터링된 오디오 피처들(510)을 제거 또는 삭제한다. 따라서, 뉴럴 네트워크(300)가, 예를 들어, 32의 메모리 깊이를 갖는 경우, 뉴럴 네트워크(300)에 의해 프로세싱된 처음 32개의 프레임은 메모리 컴포넌트(330)를 용량까지 채울 것이고, 처음 32개 이후의 각각의 새로운 출력에 대해, 뉴럴 네트워크(300)는 메모리 컴포넌트(330)의 대응하는 메모리 위치(332)로부터 가장 오래된 프로세싱된 오디오 피처를 제거할 것이다.
도 5a를 참조하면, 종단간 훈련을 위해, 훈련 입력 오디오 시퀀스(500a)는, 각각의 입력 프레임(210)에 적용될 수도 있는 레이블들(520)을 포함한다. 일부 예들에서, 훈련 샘플(500a)이 핫워드를 포함할 때, 핫워드의 끝에서의 또는 그 부근에서의 음성 성분들(530)을 특성화하는 오디오 피처들(510)을 포함하는 하나 이상의 입력 프레임(210)에, 타깃 스코어(예를 들어,'1')와 연관된 타깃 레이블(520)이 적용된다. 예를 들어, 핫워드 "OK Google"의 음성 성분들(530)이: "ou", 'k', "eI", "<silence>", 'g', 'u', 'g', '@', 'l'로 분해되는 경우, 그러면 핫워드의 음성 성분들(530)의 요구된 시퀀스의 일부인, 문자 'l'(즉, 핫워드의 마지막 성분(530))에 대응하는 모든 입력 프레임들(210)에 숫자 '1'의 타깃 레이블들이 적용된다. 이 시나리오에서, 모든 다른 입력 프레임들(210)(마지막 음성 성분(530)과 연관되지 않음)에는 상이한 레이블(예를 들어, '0')이 할당된다. 따라서, 각각의 입력 프레임(210)은 대응하는 입력 피처-레이블 쌍(510, 520)을 포함한다. 입력 피처들(510)은 전형적으로, 입력 프레임(210)에 걸쳐 입력 오디오로부터 컴퓨팅된, 예를 들어, 멜 필터뱅크(mel filterbank)들 또는 로그 필터뱅크들에 대응하는 1차원 텐서들이다. 레이블들(520)은 주해된 발언들(500a)로부터 생성되고, 여기서 각각의 입력 피처 텐서(510)에는 강제-정렬 단계(force-alignment step)를 통해 음성 클래스가 할당된다(즉, '1'의 레이블이, 핫워드에 속하는 마지막 클래스에 대응하는 쌍들에 주어지고, '0'의 레이블이 나머지 모두에 주어진다). 따라서, 훈련 입력 오디오 시퀀스(500a)는, 입력 프레임들의 시퀀스에 할당된 이진 레이블들을 포함한다. 주해된 발언들(500a), 또는 훈련 입력 오디오 시퀀스(500a)는, 도 1의 주해된 발언 풀들(130)로부터 획득된 훈련 샘플들(500)에 대응한다.
다른 구현에서, 도 5b는 핫워드의 음성 성분들(530)을 특성화(매칭)하는 다수의 오디오 피처들(510)이 진행됨에 따라 입력 프레임들(210)의 시퀀스를 따라 증가하는 스코어들과 연관된 레이블들(520)을 포함하는 훈련 입력 오디오 시퀀스(500b)를 포함한다. 예를 들어, 핫워드가 "Ok Google"을 포함할 때, 제1 음성 성분들 'o' 및 'k'를 특성화하는 개개의 오디오 피처들(510)을 포함하는 입력 프레임들(210)에는 '1'의 레이블들(520)이 할당된 한편, 'l'의 최종 음성 성분을 특성화하는 개개의 오디오 피처들(510)을 포함하는 입력 프레임들(210)에는 '5'의 레이블들(520)이 할당되었다. 중간 음성 성분들(530)을 특성화하는 개개의 오디오 피처들(510)을 포함하는 입력 프레임들(210)에는 '2', '3', 및 '4'의 레이블들(520)이 할당되었다.
부가적인 구현들에서, 포지티브 레이블들(520)의 수가 증가한다. 예를 들어, 핫워드의 최종 음성 성분(530)을 특성화하는 오디오 피처들(510)을 포함하는 제1 프레임(210)으로부터 시작하여, 고정된 양의 '1' 레이블들(520)이 생성된다. 이 구현에서, 포지티브 레이블들(520)(예를 들어, '1')의 구성된 수가 클 때, 다른 경우라면 비-포지티브 레이블(520)(예를 들어, '0')이 적용되었을 프레임들(210)에 포지티브 레이블(520)이 적용될 수도 있다. 다른 예들에서, 포지티브 레이블(520)의 시작 포지션이 수정된다. 예를 들어, 레이블(520)은 최종 키워드 음성 성분(530)을 포함하는 프레임들(210)의 세그먼트의 시작, 중간 포인트, 또는 끝에서 시작하도록 시프트될 수도 있다. 더욱 더 다른 예들에서, 가중 손실(weight loss)이 입력 시퀀스와 연관된다. 예를 들어, 가중 손실 데이터가 입력 시퀀스에 부가되는데, 이는, 훈련 프로시저가, 작은 오정렬에 의해 야기된 손실(즉, 에러 그래디언트(error gradient))을 감소시키게 한다. 구체적으로는, 프레임 기반 손실 함수들을 이용하면, 오분류 또는 오정렬 중 어느 하나로부터 손실이 야기될 수 있다. 손실을 감소시키기 위해, 뉴럴 네트워크(300)는 올바른 레이블(520)과 그 레이블(520)의 올바른 포지션(타이밍) 양측 모두를 예측한다. 심지어 네트워크(300)가 어느 포인트에서 키워드를 검출하였더라도, 결과는, 그것이, 주어진 타깃 레이블(520)과 완벽하게 정렬되지 않은 경우 에러로 간주될 수 있다. 따라서, 손실을 가중하는 것은, 강제-정렬 스테이지 동안 오정렬의 가능성이 높은 프레임들(210)에 특히 유용하다.
도 5a 및 도 5b의 훈련 입력 오디오 시퀀스들(500a, 500b) 중 어느 하나를 사용하는 훈련의 결과로서, 뉴럴 네트워크(300)는 핫워드(들)가 스트리밍 오디오(118)에 존재하는지 여부를 표시하는 이진 판정 레이블들(520)을 출력하도록 (전형적으로 크로스-엔트로피(cross-entropy)(CE) 손실을 사용하여) 최적화된다. 이제 도 6을 참조하면, 각각의 훈련 샘플(500)(즉, 각각의 멀티-채널 훈련 입력 오디오 시퀀스)은 입력 3D SVDF 계층(302)의 각각의 SVDF 프로세싱 셀(304)에 대한 훈련 입력 오디오 시퀀스(500)의 채널을 포함한다. 일부 구현들에서, 훈련 샘플들(500)은 훈련 샘플들(즉, 훈련 입력 오디오 시퀀스들)의 제1 부분(502D)을 포함하고, 여기서 각각의 채널은 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 다른 채널과의 복제물이다. 예를 들어, 2개의 채널을 포함하는 훈련 샘플(502D)은 각각의 채널에 대한 동일한 훈련 시퀀스를 포함한다. 훈련 샘플들의 나머지 제2 부분(502U)에서의 각각의 채널은 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 다른 채널에 고유할 수도 있다. 예를 들어, 2개의 채널을 포함하는 훈련 샘플(502U)은, (예를 들어, 2개의 별개의 마이크로폰에 의해 캡처된) 각각의 채널에 대한 상이한 훈련 시퀀스를 포함할 것이다.
복제된 채널들(502D)과 고유한 채널들(502U) 양측 모두를 포함하는 훈련 샘플들(500)의 혼합을 포함하면, 기억된 뉴럴 네트워크(300)가, 네트워크(300)가 다수의 채널들(119)(즉, 다수의 마이크로폰들(107))로부터 유효한 오디오 데이터를 수신할 때 그리고 또한 네트워크가 오디오의 단지 단일의 유효한 채널(119)만을 수신할 때 정확하게 응답하도록 훈련된다는 것을 보장한다. 예를 들어, 사용자 디바이스(102)는 단지 단일의 마이크로폰(107)만을 포함할 수도 있거나 또는 멀티-마이크로폰 사용자 디바이스(102)의 하나 이상의 마이크로폰(107)이 고장날 수도 있다. 어느 경우든, 기억된 뉴럴 네트워크가 발언들(120)에서의 핫워드의 존재를 여전히 정확하게 검출하는 것이 바람직하다. (각각의 채널이 각각의 다른 채널의 복제물이기 때문에) 고유한 오디오의 단지 단일의 채널만을 제공하는 훈련 샘플들의 일 부분(502D)에 대해 기억된 뉴럴 네트워크(300)를 훈련시킴으로써, 기억된 뉴럴 네트워크(300)는 유효한 오디오의 단지 단일의 채널만이 제공될 때 핫워드의 존재를 정확하게 검출하는 것을 학습한다.
이제 도 7을 참조하면, 개략도(700)는, 음향 사후 확률들(acoustic posterior probabilities)을 생성하도록 훈련되는, 예를 들어, 12개의 계층을 포함하는 뉴럴 네트워크(300)를 도시한다. 3D SVDF 계층들(302)에 부가적으로, 네트워크(300)는, 예를 들어, SVDF 계층들, 조밀 계층들, 병목 계층들, 소프트맥스 계층들, 및/또는 다른 계층들을 포함할 수도 있다. 뉴럴 네트워크(300)는 종단간 훈련될 수도 있다. 예를 들어, 뉴럴 네트워크(300)는 피처들을 직접 수용하고, 네트워크(300)를 훈련시킴에 있어서의 사용을 위해 이진 타깃 레이블(520)(즉, '0' 또는 '1') 출력들을 사용한다. 그러한 종단간 뉴럴 네트워크(300)는 임의의 토폴로지를 사용할 수도 있다. 일부 예들에서, 네트워크(300)는 인코더 부분 및 디코더 부분을 포함한다.
따라서, 뉴럴 네트워크(300)는, 다수의 독립적 마이크로폰들에 의해 캡처된 스트리밍 오디오의 다수의 채널들을 사용하여 정확성 및 잡음 강건성을 증가시키면서 작은 풋프린트를 제공한다. 핫워드 검출 시스템(100)은 임의의 수의 오디오 채널(119)에 대해 단지 단일의 기억된 뉴럴 네트워크(300)만을 요구하여, 따라서 요구된 컴퓨팅 리소스들을 상당히 감소시킨다. 기억된 뉴럴 네트워크(300)는 단일 채널의 오디오와 다수의 채널들의 오디오 양측 모두를 수신할 때 네트워크가 핫워드의 존재를 정확하게 검출하도록 복제된 오디오 채널과 고유한 오디오 채널의 혼합을 사용하여 훈련된다.
도 8은 멀티-채널 스트리밍 오디오(118)에서 핫워드를 검출하는 방법(800)에 대한 동작들의 예시적인 배열의 흐름도이다. 이 방법(800)은, 단계 802에서, 사용자 디바이스(102)의 데이터 프로세싱 하드웨어(103)에서, 데이터 프로세싱 하드웨어(103)와 통신하는 마이크로폰들(107)의 어레이에 의해 캡처되는 스트리밍 멀티-채널 오디오(118)를 특성화하는 입력 프레임들(210)의 시퀀스를 수신하는 단계를 포함한다. 스트리밍 멀티-채널 오디오(18)의 각각의 채널은, 마이크로폰들의 어레이에서의 별개의 전용 마이크로폰(107)에 의해 캡처되는 개개의 오디오 피처들(510)을 포함한다. 각각의 입력 프레임에 대해, 이 방법(800)은, 단계 804에서, 데이터 프로세싱 하드웨어(103)에 의해, 기억된 뉴럴 네트워크(300)의 3차원(3D) 단일 값 분해 필터(SVDF) 입력 계층(302)을 사용하여, 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 개개의 오디오 피처들(510)을 병렬로 프로세싱하는 단계를 포함한다. 또한 각각의 입력 프레임에 대해, 이 방법(800)은, 단계 806에서, 데이터 프로세싱 하드웨어(103)에 의해, 기억된 뉴럴 네트워크(300)의 중간 계층(410)을 사용하여, 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 개개의 오디오 피처들의 연접(344)에 기초하여 대응하는 멀티-채널 오디오 피처 표현(420)을 생성하는 단계를 포함한다.
단계 808에서, 이 방법(800)은, 데이터 프로세싱 하드웨어(103)에 의해, 기억된 뉴럴 네트워크(300)의 순차적으로 적층된 SVDF 계층들(350)을 사용하여, 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)에 기초하여 스트리밍 멀티-채널 오디오(118)에서의 핫워드의 존재를 표시하는 확률 스코어(360)를 생성하는 단계를 또한 포함한다. 순차적으로 적층된 SVDF 계층들(350)은, 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)을 순차적으로 수신하도록 구성되는 초기 SVDF 계층(350)을 포함한다. 단계 810에서, 이 방법(800)은, 데이터 프로세싱 하드웨어(103)에 의해, 확률 스코어(360)가 핫워드 검출 임계치를 만족시키는지 여부를 결정하는 단계, 및 단계 812에서, 확률 스코어(360)가 핫워드 검출 임계치를 만족시킬 때, 데이터 프로세싱 하드웨어(103)에 의해, 스트리밍 멀티-채널 오디오(118)에서의 핫워드 및/또는 그 핫워드에 후속하는 하나 이상의 다른 용어를 프로세싱하기 위해 사용자 디바이스(102) 상에서 웨이크업 프로세스를 개시하는 단계를 포함한다.
도 9는 본 문서에서 설명되는 시스템들 및 방법들을 구현하는 데 사용될 수도 있는 예시적인 컴퓨팅 디바이스(900)의 개략도이다. 컴퓨팅 디바이스(900)는 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말기(personal digital assistant)들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 여기에 도시된 컴포넌트들, 이들의 커넥션들 및 관계들, 그리고 이들의 기능들은 단지 예시적인 것으로 의도되고, 본 문서에서 설명 및/또는 청구되는 발명들의 구현들을 제한하는 것으로 의도되지 않는다.
컴퓨팅 디바이스(900)는, 프로세서(910), 메모리(920), 저장 디바이스(930), 메모리(920) 및 고속 확장 포트들(950)에 연결되는 고속 인터페이스/컨트롤러(940), 및 저속 버스(970) 및 저장 디바이스(930)에 연결되는 저속 인터페이스/컨트롤러(960)를 포함한다. 컴포넌트들(910, 920, 930, 940, 950, 및 960) 각각은 다양한 버스들을 사용하여 상호연결되고, 공통 마더보드 상에 또는 적절하다면 다른 방식들로 장착될 수도 있다. 프로세서(910)는, 고속 인터페이스(940)에 커플링되는 디스플레이(980)와 같은 외부 입/출력 디바이스 상에 그래픽 사용자 인터페이스(graphical user interface)(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(920)에 또는 저장 디바이스(930) 상에 저장되는 명령어들을 포함하여, 컴퓨팅 디바이스(900) 내의 실행을 위한 명령어들을 프로세싱할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이, 적절하다면, 다수의 메모리들 및 타입들의 메모리와 함께 사용될 수도 있다. 또한, 다수의 컴퓨팅 디바이스들(900)이 연결될 수도 있는데, 이때 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서) 필요한 동작들의 부분들을 제공한다.
메모리(920)는 정보를 컴퓨팅 디바이스(900) 내에 비일시적으로 저장한다. 메모리(920)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 또는 비휘발성 메모리 유닛(들)일 수도 있다. 비일시적 메모리(920)는, 컴퓨팅 디바이스(900)에 의한 사용을 위해 일시적으로 또는 영구적으로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수도 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(read-only memory)(ROM)/프로그래밍가능 판독 전용 메모리(programmable read-only memory)(PROM)/소거가능 프로그래밍가능 판독 전용 메모리(erasable programmable read-only memory)(EPROM)/전자적 소거가능 프로그래밍가능 판독 전용 메모리(electronically erasable programmable read-only memory)(EEPROM)(예를 들어, 전형적으로 부팅 프로그램들과 같은 펌웨어에 대해 사용됨)를 포함하지만, 이에 제한되지 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(random access memory)(RAM), 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM), 정적 랜덤 액세스 메모리(static random access memory)(SRAM), 상 변화 메모리(phase change memory)(PCM)뿐만 아니라 디스크들 또는 테이프들을 포함하지만, 이에 제한되지 않는다.
저장 디바이스(930)는 컴퓨팅 디바이스(900)에 대한 대용량 저장을 제공하는 것이 가능하다. 일부 구현들에서, 저장 디바이스(930)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현들에서, 저장 디바이스(930)는, 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 디바이스들의 어레이일 수도 있다. 부가적인 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어로 유형적으로(tangibly) 구체화된다. 컴퓨터 프로그램 제품은, 실행될 때, 상술된 것들과 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(920), 저장 디바이스(930), 또는 프로세서(910) 상의 메모리와 같은 컴퓨터 판독가능 또는 머신 판독가능 매체이다.
고속 컨트롤러(940)는 컴퓨팅 디바이스(900)에 대한 대역폭 집약적 동작들을 관리하는 한편, 저속 컨트롤러(960)는 더 낮은 대역폭 집약적 동작들을 관리한다. 그러한 직무 할당은 단지 예시적인 것이다. 일부 구현들에서, 고속 컨트롤러(940)는 메모리(920), 디스플레이(980)(예를 들어, 그래픽 프로세서 또는 가속기를 통해)에, 그리고 다양한 확장 카드들(도시되지 않음)을 수용할 수도 있는 고속 확장 포트들(950)에 커플링된다. 일부 구현들에서, 저속 컨트롤러(960)는 저장 디바이스(930) 및 저속 확장 포트(990)에 커플링된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수도 있는 저속 확장 포트(990)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에, 예를 들어, 네트워크 어댑터를 통해 커플링될 수도 있다.
컴퓨팅 디바이스(900)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수도 있다. 예를 들어, 그것은 표준 서버(900a)로서 또는 그러한 서버들(900a)의 그룹에서 다수 회, 랩톱 컴퓨터(900b)로서, 또는 랙 서버 시스템(900c)의 일부로서 구현될 수도 있다.
본 명세서에서 설명되는 시스템들 및 기법들의 다양한 구현들은 디지털 전자 및/또는 광학 회로부, 집적 회로부, 특수하게 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이들 다양한 구현들은, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 이들에게 데이터 및 명령어들을 송신하도록 커플링되는, 특수 목적 또는 범용일 수도 있는 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능한 그리고/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은, 컴퓨팅 디바이스로 하여금 태스크를 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수도 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱", 또는 "프로그램"으로서 지칭될 수도 있다. 예시적인 애플리케이션들은 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 유지관리 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들, 및 게이밍 애플리케이션들을 포함하지만, 이에 제한되지 않는다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 또한 알려져 있음)은 프로그래밍가능 프로세서에 대한 머신 명령어들을 포함하고, 하이-레벨 프로시저 및/또는 객체 지향 프로그래밍 언어로, 그리고/또는 어셈블리/머신 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어들은, 머신 판독가능 신호로서 머신 명령어들을 수신하는 머신 판독가능 매체를 포함하여, 머신 명령어들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광학 디스크들, 메모리, 프로그래밍가능 로직 디바이스(Programmable Logic Device)(PLD)들)를 지칭한다. "머신 판독가능 신호"라는 용어는, 머신 명령어들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하는 데 사용되는 임의의 신호를 지칭한다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는, 데이터 프로세싱 하드웨어라고도 또한 지칭되는 하나 이상의 프로그래밍가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 특수 목적 로직 회로부, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 또한 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 양측 모두의 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크, 또는 광학 디스크를 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들로 데이터를 전송하기 위해 동작적으로 커플링되거나, 또는 이들 양측 모두로 될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체들은, 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보충되거나 또는 그에 포함될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시내용의 하나 이상의 양태는 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 또는 터치 스크린, 그리고 임의로 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
다수의 구현들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범주로부터 벗어남이 없이 다양한 수정들이 이루어질 수도 있다는 것이 이해될 것이다. 이에 따라, 다른 구현들이 다음의 청구범위의 범주 내에 있다.

Claims (26)

  1. 방법(800)으로서,
    사용자 디바이스(102)의 데이터 프로세싱 하드웨어(103)에서, 상기 데이터 프로세싱 하드웨어(103)와 통신하는 마이크로폰들(107)의 어레이에 의해 캡처되는 스트리밍 멀티-채널 오디오(118)를 특성화하는 입력 프레임들(210)의 시퀀스를 수신하는 단계 - 상기 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)은, 상기 마이크로폰들(107)의 어레이에서의 별개의 전용 마이크로폰(107)에 의해 캡처되는 개개의 오디오 피처(audio feature)들(510)을 포함함 -;
    각각의 입력 프레임(210)에 대해:
    상기 데이터 프로세싱 하드웨어(103)에 의해, 기억된 뉴럴 네트워크(memorized neural network)(300)의 3차원(three-dimensional)(3D) 단일 값 분해 필터(single value decomposition filter)(SVDF) 입력 계층(302)을 사용하여, 상기 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 개개의 오디오 피처들(510)을 병렬로 프로세싱하는 단계; 및
    상기 데이터 프로세싱 하드웨어(103)에 의해, 상기 기억된 뉴럴 네트워크(300)의 중간 계층(410)을 사용하여, 상기 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 개개의 오디오 피처들(510)의 연접(concatenation)(344)에 기초하여 대응하는 멀티-채널 오디오 피처 표현(420)을 생성하는 단계;
    상기 데이터 프로세싱 하드웨어(103)에 의해, 상기 기억된 뉴럴 네트워크(300)의 순차적으로 적층된 SVDF 계층들(350)을 사용하여, 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)에 기초하여 상기 스트리밍 멀티-채널 오디오(118)에서의 핫워드(hotword)의 존재를 표시하는 확률 스코어(360)를 생성하는 단계;
    상기 데이터 프로세싱 하드웨어(103)에 의해, 상기 확률 스코어(360)가 핫워드 검출 임계치를 만족시키는지 여부를 결정하는 단계; 및
    상기 확률 스코어(360)가 핫워드 검출 임계치를 만족시킬 때, 상기 데이터 프로세싱 하드웨어(103)에 의해, 상기 스트리밍 멀티-채널 오디오(118)에서의 핫워드 및/또는 상기 핫워드에 후속하는 하나 이상의 다른 용어를 프로세싱하기 위해 상기 사용자 디바이스(102) 상에서 웨이크업 프로세스(wake-up process)를 개시하는 단계
    를 포함하는, 방법(800).
  2. 제1항에 있어서,
    상기 3D SVDF 입력 계층(302)은 다수의 병렬 SVDF 프로세싱 셀들(304)을 포함하고, 상기 다수의 병렬 SVDF 프로세싱 셀들(304)의 각각의 SVDF 프로세싱 셀(304)은 상기 스트리밍 멀티-채널 오디오(118)의 개개의 채널(119)과 연관되고, 상기 개개의 채널(119)의 개개의 오디오 피처들(510)에 대해 프로세싱을 수행하도록 구성되는, 방법(800).
  3. 제2항에 있어서,
    각각의 SVDF 프로세싱 셀(304)은 적어도 하나의 뉴런(312)을 포함하고, 각각의 뉴런(312)은:
    개개의 메모리 컴포넌트(330) - 상기 개개의 메모리 컴포넌트(330)는 대응하는 뉴런(312)의 개개의 메모리 용량과 연관됨 -;
    상기 각각의 입력 프레임(210)의 개개의 채널(119)의 개개의 오디오 피처들(510)에 대해 개별적으로 필터링을 수행하고 필터링된 피처들(322)을 상기 개개의 메모리 컴포넌트(330)에 출력하도록 구성되는 제1 스테이지(320); 및
    상기 개개의 메모리 컴포넌트(330)에 상주하는 상기 필터링된 오디오 피처들(322) 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지(340)
    를 포함하는, 방법(800).
  4. 제2항 또는 제3항에 있어서,
    상기 각각의 입력 프레임(210)의 각각의 개개의 채널(119)의 개개의 오디오 피처들(510)은 로그 필터뱅크(log-filterbank)들을 포함하는, 방법(800).
  5. 제4항에 있어서,
    상기 각각의 입력 프레임(210)은 40개의 로그 필터뱅크를 포함하는, 방법(800).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 기억된 뉴럴 네트워크(300)의 순차적으로 적층된 SVDF 계층들(350)은, 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)을 순차적으로 수신하도록 구성되는 초기 SVDF 계층(350a)을 포함하는, 방법(800).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    각각의 순차적으로 적층된 SVDF 계층(350)은 적어도 하나의 뉴런(312)을 포함하고, 각각의 뉴런(312)은:
    개개의 메모리 컴포넌트(330) - 상기 개개의 메모리 컴포넌트(330)는 대응하는 뉴런(312)의 개개의 메모리 용량과 연관됨 -;
    각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)에 대해 개별적으로 필터링을 수행하고 필터링된 멀티-채널 오디오 피처 표현(322)을 상기 개개의 메모리 컴포넌트(330)에 출력하도록 구성되는 제1 스테이지(320); 및
    상기 개개의 메모리 컴포넌트(330)에 상주하는 상기 필터링된 멀티-채널 오디오 피처 표현들(322) 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지(340)
    를 포함하는, 방법(800).
  8. 제7항에 있어서,
    상기 순차적으로 적층된 SVDF 계층들(350) 각각으로부터의 뉴런(312)에 대한 개개의 메모리 컴포넌트들(330)과 연관된 메모리 용량들의 합은, 전형적인 화자(speaker)가 상기 핫워드를 발화(speak)하는 데 걸리는 시간의 길이에 비례하는 고정된 메모리 용량을 상기 기억된 뉴럴 네트워크(300)에 제공하는, 방법(800).
  9. 제7항 또는 제8항에 있어서,
    상기 개개의 메모리 컴포넌트들(330) 중 적어도 하나와 연관된 개개의 메모리 용량은 나머지 메모리 컴포넌트들(330)과 연관된 개개의 메모리 용량들과 상이한, 방법(800).
  10. 제7항 내지 제9항 중 어느 한 항에 있어서,
    상기 순차적으로 적층된 SVDF 계층들(350) 모두의 개개의 메모리 컴포넌트들(330)과 연관된 개개의 메모리 용량들은 동일한, 방법(800).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    원격 시스템(110)이 복수의 멀티-채널 훈련 입력 오디오 시퀀스들(500)에 대해 상기 기억된 뉴럴 네트워크(300)를 훈련시키고, 각각의 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은:
    상기 핫워드의 음성 성분(phonetic component)들(530)을 특성화하는 하나 이상의 개개의 오디오 피처(510)를 각각이 포함하는 개개의 입력 프레임(210)의 시퀀스; 및
    상기 개개의 입력 프레임들(210)에 할당되는 레이블들(520)
    을 포함하고,
    각각의 레이블(520)은, 개개의 입력 프레임(210)의 오디오 피처들(510)이 상기 핫워드의 음성 성분(530)을 포함할 확률을 표시하는, 방법(800).
  12. 제11항에 있어서,
    상기 복수의 멀티-채널 훈련 입력 오디오 시퀀스들(500)의 제1 부분(502D) 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 채널은, 상기 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 다른 채널과의 복제물이고;
    상기 복수의 멀티-채널 훈련 입력 오디오 시퀀스들(500)의 나머지 제2 부분(502U) 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 채널은, 상기 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 다른 채널에 고유한, 방법(800).
  13. 제11항 또는 제12항에 있어서,
    상기 3D SVDF 입력 계층(302)은 다수의 병렬 SVDF 프로세싱 셀들(304)을 포함하고, 상기 다수의 병렬 SVDF 프로세싱 셀들(304)의 각각의 SVDF 프로세싱 셀(304)은 각각의 멀티-채널 훈련 입력 오디오 시퀀스(500)의 개개의 채널과 연관되고, 상기 개개의 채널의 각각의 개개의 입력 프레임(210)의 개개의 오디오 피처들(510)을 개별적으로 수신하도록 구성되는, 방법(800).
  14. 시스템(100)으로서,
    사용자 디바이스(102)의 데이터 프로세싱 하드웨어(103); 및
    상기 데이터 프로세싱 하드웨어(103)와 통신하는 메모리 하드웨어(105)
    를 포함하고,
    상기 메모리 하드웨어(105)는, 상기 데이터 프로세싱 하드웨어(103) 상에서 실행될 때 상기 데이터 프로세싱 하드웨어(103)로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
    상기 데이터 프로세싱 하드웨어(103)와 통신하는 마이크로폰들(107)의 어레이에 의해 캡처되는 스트리밍 멀티-채널 오디오(118)를 특성화하는 입력 프레임들(210)의 시퀀스를 수신하는 것 - 상기 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)은 상기 마이크로폰들(107)의 어레이에서의 별개의 전용 마이크로폰(107)에 의해 캡처되는 개개의 오디오 피처들(510)을 포함함 -;
    각각의 입력 프레임(210)에 대해:
    기억된 뉴럴 네트워크(300)의 3차원(3D) 단일 값 분해 필터(SVDF) 입력 계층(302)을 사용하여, 상기 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 개개의 오디오 피처들(510)을 병렬로 프로세싱하는 것; 및
    상기 기억된 뉴럴 네트워크(300)의 중간 계층(410)을 사용하여, 상기 스트리밍 멀티-채널 오디오(118)의 각각의 채널(119)의 개개의 오디오 피처들(510)의 연접(344)에 기초하여 대응하는 멀티-채널 오디오 피처 표현(420)을 생성하는 것;
    상기 기억된 뉴럴 네트워크(300)의 순차적으로 적층된 SVDF 계층들(350)을 사용하여, 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)에 기초하여 상기 스트리밍 멀티-채널 오디오(118)에서의 핫워드의 존재를 표시하는 확률 스코어(360)를 생성하는 것;
    상기 확률 스코어(360)가 핫워드 검출 임계치를 만족시키는지 여부를 결정하는 것; 및
    상기 확률 스코어(360)가 핫워드 검출 임계치를 만족시킬 때, 상기 스트리밍 멀티-채널 오디오(118)에서의 핫워드 및/또는 상기 핫워드에 후속하는 하나 이상의 다른 용어를 프로세싱하기 위해 상기 사용자 디바이스(102) 상에서 웨이크업 프로세스를 개시하는 것
    을 포함하는, 시스템(100).
  15. 제14항에 있어서,
    상기 3D SVDF 입력 계층(302)은 다수의 병렬 SVDF 프로세싱 셀들(304)을 포함하고, 상기 다수의 병렬 SVDF 프로세싱 셀들(304)의 각각의 SVDF 프로세싱 셀(304)은 상기 스트리밍 멀티-채널 오디오(118)의 개개의 채널(119)과 연관되고, 상기 개개의 채널(119)의 개개의 오디오 피처들(510)에 대해 프로세싱을 수행하도록 구성되는, 시스템(100).
  16. 제15항에 있어서,
    각각의 SVDF 프로세싱 셀(304)은 적어도 하나의 뉴런(312)을 포함하고, 각각의 뉴런(312)은:
    개개의 메모리 컴포넌트(330) - 상기 개개의 메모리 컴포넌트(330)는 대응하는 뉴런(312)의 개개의 메모리 용량과 연관됨 -;
    상기 각각의 입력 프레임(210)의 개개의 채널(119)의 개개의 오디오 피처들(510)에 대해 개별적으로 필터링을 수행하고 필터링된 피처들(322)을 상기 개개의 메모리 컴포넌트(330)에 출력하도록 구성되는 제1 스테이지(320); 및
    상기 개개의 메모리 컴포넌트(330)에 상주하는 상기 필터링된 오디오 피처들(322) 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지(340)
    를 포함하는, 시스템(100).
  17. 제15항 또는 제16항에 있어서,
    상기 각각의 입력 프레임(210)의 각각의 개개의 채널(119)의 개개의 오디오 피처들(510)은 로그 필터뱅크들을 포함하는, 시스템(100).
  18. 제17항에 있어서,
    상기 각각의 입력 프레임(210)은 40개의 로그 필터뱅크를 포함하는, 시스템(100).
  19. 제14항 내지 제18항 중 어느 한 항에 있어서,
    상기 기억된 뉴럴 네트워크(300)의 순차적으로 적층된 SVDF 계층들(350)은, 각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)을 순차적으로 수신하도록 구성되는 초기 SVDF 계층(350a)을 포함하는, 시스템(100).
  20. 제14항 내지 제19항 중 어느 한 항에 있어서,
    각각의 순차적으로 적층된 SVDF 계층(350)은 적어도 하나의 뉴런(312)을 포함하고, 각각의 뉴런(312)은:
    개개의 메모리 컴포넌트(330) - 상기 개개의 메모리 컴포넌트(330)는 대응하는 뉴런(312)의 개개의 메모리 용량과 연관됨 -;
    각각의 입력 프레임(210)의 대응하는 멀티-채널 오디오 피처 표현(420)에 대해 개별적으로 필터링을 수행하고 필터링된 멀티-채널 오디오 피처 표현(322)을 상기 개개의 메모리 컴포넌트(330)에 출력하도록 구성되는 제1 스테이지(320); 및
    상기 개개의 메모리 컴포넌트(330)에 상주하는 상기 필터링된 멀티-채널 오디오 피처 표현들(322) 모두에 대해 필터링을 수행하도록 구성되는 제2 스테이지(340)
    를 포함하는, 시스템(100).
  21. 제20항에 있어서,
    상기 순차적으로 적층된 SVDF 계층들(350) 각각으로부터의 뉴런(312)에 대한 개개의 메모리 컴포넌트들(330)과 연관된 메모리 용량들의 합은, 전형적인 화자가 상기 핫워드를 발화하는 데 걸리는 시간의 길이에 비례하는 고정된 메모리 용량을 상기 기억된 뉴럴 네트워크(300)에 제공하는, 시스템(100).
  22. 제20항 또는 제21항에 있어서,
    상기 개개의 메모리 컴포넌트들(330) 중 적어도 하나와 연관된 개개의 메모리 용량은, 나머지 메모리 컴포넌트들(330)과 연관된 개개의 메모리 용량들과 상이한, 시스템(100).
  23. 제20항 내지 제22항 중 어느 한 항에 있어서,
    상기 순차적으로 적층된 SVDF 계층들(350) 모두의 개개의 메모리 컴포넌트들(330)과 연관된 개개의 메모리 용량들은 동일한, 시스템(100).
  24. 제14항 내지 제23항 중 어느 한 항에 있어서,
    원격 시스템(110)이 복수의 멀티-채널 훈련 입력 오디오 시퀀스들(500)에 대해 상기 기억된 뉴럴 네트워크(300)를 훈련시키고, 각각의 멀티-채널 훈련 입력 오디오 시퀀스의 각각의 채널은:
    상기 핫워드의 음성 성분들(530)을 특성화하는 하나 이상의 개개의 오디오 피처(510)를 각각이 포함하는 개개의 입력 프레임(210)의 시퀀스; 및
    상기 개개의 입력 프레임들(210)에 할당되는 레이블들(520)
    을 포함하고,
    각각의 레이블(520)은 개개의 입력 프레임(210)의 오디오 피처들(510)이 상기 핫워드의 음성 성분(530)을 포함할 확률을 표시하는, 시스템(100).
  25. 제24항에 있어서,
    상기 복수의 멀티-채널 훈련 입력 오디오 시퀀스들(500)의 제1 부분(502D) 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 채널은, 상기 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 다른 채널과의 복제물이고;
    상기 복수의 멀티-채널 훈련 입력 오디오 시퀀스들(500)의 나머지 제2 부분(502U) 중 각각의 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 채널은, 상기 대응하는 멀티-채널 훈련 입력 오디오 시퀀스(500)의 각각의 다른 채널에 고유한, 시스템(100).
  26. 제24항 또는 제25항에 있어서,
    상기 3D SVDF 입력 계층(302)은 다수의 병렬 SVDF 프로세싱 셀들(304)을 포함하고, 상기 다수의 병렬 SVDF 프로세싱 셀들(304)의 각각의 SVDF 프로세싱 셀(304)은 각각의 멀티-채널 훈련 입력 오디오 시퀀스(500)의 개개의 채널과 연관되고, 상기 개개의 채널의 각각의 개개의 입력 프레임(210)의 개개의 오디오 피처들(510)을 개별적으로 수신하도록 구성되는, 시스템(100).
KR1020227028125A 2020-01-15 2020-01-15 작은 풋프린트 멀티-채널 키워드 스포팅 KR20220129034A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/013705 WO2021145873A1 (en) 2020-01-15 2020-01-15 Small footprint multi-channel keyword spotting

Publications (1)

Publication Number Publication Date
KR20220129034A true KR20220129034A (ko) 2022-09-22

Family

ID=69650707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227028125A KR20220129034A (ko) 2020-01-15 2020-01-15 작은 풋프린트 멀티-채널 키워드 스포팅

Country Status (6)

Country Link
US (1) US20230022800A1 (ko)
EP (1) EP4066237A1 (ko)
JP (1) JP7345667B2 (ko)
KR (1) KR20220129034A (ko)
CN (1) CN114945980A (ko)
WO (1) WO2021145873A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11380302B2 (en) * 2020-10-22 2022-07-05 Google Llc Multi channel voice activity detection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017187516A1 (ja) 2016-04-26 2017-11-02 株式会社日立製作所 情報処理システムおよびその運用方法
JP6987378B2 (ja) 2017-07-18 2021-12-22 国立研究開発法人情報通信研究機構 ニューラルネットワークの学習方法及びコンピュータプログラム
US20190237067A1 (en) 2018-01-31 2019-08-01 Toyota Motor Engineering & Manufacturing North America, Inc. Multi-channel voice recognition for a vehicle environment
US11178504B2 (en) * 2019-05-17 2021-11-16 Sonos, Inc. Wireless multi-channel headphone systems and methods

Also Published As

Publication number Publication date
EP4066237A1 (en) 2022-10-05
US20230022800A1 (en) 2023-01-26
JP2023511864A (ja) 2023-03-23
WO2021145873A1 (en) 2021-07-22
CN114945980A (zh) 2022-08-26
JP7345667B2 (ja) 2023-09-15

Similar Documents

Publication Publication Date Title
KR102483774B1 (ko) 종단 간 스트리밍 키워드 탐지
JP7005099B2 (ja) 音声キーワードの認識方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータデバイス
US10403266B2 (en) Detecting keywords in audio using a spiking neural network
WO2017114201A1 (zh) 一种设定操作的执行方法及装置
WO2015047517A1 (en) Keyword detection
US11341954B2 (en) Training keyword spotters
WO2020214252A1 (en) Attentive adversarial domain-invariant training
KR20220129034A (ko) 작은 풋프린트 멀티-채널 키워드 스포팅
KR20210081166A (ko) 다국어 음성 환경에서의 언어 식별 장치 및 방법
JP7460794B2 (ja) ノイズロバストなキーワードスポッティングのためのカスケードアーキテクチャ
US20230274731A1 (en) Mixing Heterogeneous Loss Types to Improve Accuracy of Keyword Spotting
CN113593560B (zh) 可定制的低延时命令词识别方法及装置