KR102213013B1 - 신경망을 이용한 주파수 기반 오디오 분석 - Google Patents

신경망을 이용한 주파수 기반 오디오 분석 Download PDF

Info

Publication number
KR102213013B1
KR102213013B1 KR1020187035639A KR20187035639A KR102213013B1 KR 102213013 B1 KR102213013 B1 KR 102213013B1 KR 1020187035639 A KR1020187035639 A KR 1020187035639A KR 20187035639 A KR20187035639 A KR 20187035639A KR 102213013 B1 KR102213013 B1 KR 102213013B1
Authority
KR
South Korea
Prior art keywords
neural network
convolutional
layer
frequency domain
domain features
Prior art date
Application number
KR1020187035639A
Other languages
English (en)
Other versions
KR20190005217A (ko
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 KR20190005217A publication Critical patent/KR20190005217A/ko
Application granted granted Critical
Publication of KR102213013B1 publication Critical patent/KR102213013B1/ko

Links

Images

Classifications

    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • Machine Translation (AREA)

Abstract

신경망들을 이용한 주파수 기반 오디오 분석을 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법, 시스템 및 장치가 개시된다. 상기 방법 중 하나는 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 단계를 포함하며, 상기 신경망은 오디오 샘플의 주파수 도메인 특징들을 수신하고, 상기 오디오 샘플에 대한 신경망 출력을 생성하기 위해 상기 주파수 도메인 특징들을 프로세싱하도록 구성되며, 상기 신경망은, (i) 주파수 도메인 특징들을 대수 스케일링된(logarithmic scaled) 주파수 도메인 특징들에 맵핑하도록 구성되고 그리고 하나 이상의 콘볼루션 계층 필터들을 포함하는 콘벌루션 계층, (ii) 상기 신경망 출력을 생성하기 위해 상기 대수 스케일링된 주파수 도메인 특징들을 프로세싱하도록 구성된 각각의 계층 파라미터들을 갖는 하나 이상의 다른 신경망 계층들을 포함한다.

Description

신경망을 이용한 주파수 기반 오디오 분석
본 명세서는 출력들을 생성하기 위해 신경망의 계층들을 통한 입력들을 처리하는 것에 관한 것이다.
신경망들은 수신된 입력에 대한 출력을 예측하기 위해 하나 이상의 비선형 단위 계층들을 사용하는 기계 학습 모델이다. 일부 신경망들은 출력 계층 외에도 하나 이상의 은닉 계층을 포함한다. 각각의 은닉 계층의 출력은 상기 망의 다음 계층, 즉 다음 은닉 계층 또는 출력 계층에 대한 입력으로 사용된다. 상기 망의 각 계층은 각각의 파라미터 세트의 현재 값들에 따라 수신된 입력으로부터 출력을 생성한다.
일반적으로, 본 명세서에 기술된 요지의 하나의 혁신적인 양태는 학습 데이터에 대한 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법으로 구현 될 수 있으며, 상기 신경망은 오디오 샘플의 주파수 도메인 특징들(frequency domain features)을 수신하고, 상기 오디오 샘플에 대한 신경망 출력을 생성하기 위해 상기 주파수 도메인 특징들을 프로세싱하도록 구성되며, 상기 신경망은, (i) 주파수 도메인 특징들을 대수 스케일링된(logarithmic scaled) 주파수 도메인 특징들에 맵핑하도록 구성된 콘벌루션 계층(convolutional layer) -상기 콘벌루션 계층은 하나 이상의 콘볼루션 계층 필터들을 포함함-, (ii) 신경망 출력을 생성하기 위해 대수 스케일링된 주파수 도메인 특징들을 프로세싱하도록 구성된 각각의 계층 파라미터들을 갖는 하나 이상의 다른 신경망 계층들을 포함하며, 상기 방법은, 복수의 학습 오디오 샘플들 각각에 대해, 학습 오디오 샘플의 주파수 도메인 특징 및 학습 오디오 샘플에 대한 알려진 출력을 포함하는 학습 데이터를 획득하는 단계; 그리고 상기 학습 데이터에 대한 신경망을 학습시켜 다른 신경망 계층들의 파라미터들의 값들을 조정하고, 대수 스케일링된 주파수 도메인 특징들에 대한 주파수 도메인 특징들의 최적의 대수 콘벌루션 매핑을 결정하도록 상기 하나 이상의 콘볼루션 계층 필터들을 조정하는 단계를 포함한다.
이 양태의 다른 실시예들은 각각이 방법들의 동작들을 수행하도록 구성된, 하나 이상의 컴퓨터 저장 장치상에 기록된 컴퓨터 프로그램, 해당 컴퓨터 시스템, 장치를 포함한다. 하나 이상의 컴퓨터로 이루어진 시스템은 시스템상에 설치되고, 동작 중에 시스템으로 하여금 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합에 의해 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 액션들을 수행하게 하는 명령어들을 포함함으로써 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다.
전술한 실시 예 및 다른 실시 예는 각각 단독으로 또는 조합하여 하기의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 일부 구현 예에서, 학습 오디오 샘플(training audio sample)의 주파수 도메인 특징들은 하나 이상의 주파수 대역들을 포함하는 주파수 스펙트럼에 존재한다.
일부 경우 학습 데이터에 대한 신경망의 학습은, 콘볼루션 계층에 대해, 상기 학습 오디오 샘플의 주파수 도메인 특징들을 수신하고; 상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정하고; 상기 하나 이상의 콘벌루션 계층 필터들의 상기 결정된 사이즈와 매칭하도록 상기 하나 이상의 주파수 대역들을 업스케일링(upscaling)하고; 콘볼루션 계층 출력을 생성하기 위해 상기 콘볼루션 계층을 사용하여 상기 하나 이상의 업스케일링된 주파수 대역들을 프로세싱하고; 상기 콘볼루션 계층 위의 신경망 계층으로부터 주파수 도메인 특징들에 대한 역전파 기울기(back-propagated gradient)를 수신하고; 상기 하나 이상의 콘볼루션 계층 필터들에 대해 상기 신경망에 대한 에러 함수의 기울기를 계산하고 -상기 에러 함수는 상기 하나 이상의 콘볼루션 계층 필터들 및 상기 수신된 역전파 기울기에 의존함 -; 그리고 상기 계산된 기울기를 사용하여 상기 하나 이상의 콘볼루션 계층 필터들을 업데이트하는 것을 포함한다.
일부 구현 예에서, 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정하는 것은 상기 주파수 스펙트럼의 가장 높은 섹션에 대응하는 주파수 대역을 선택하고; 그리고 상기 선택된 주파수 대역에 기초하여 상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정하는 것을 포함한다.
일부 경우에, 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정하는 것은 하나 이상의 콘벌루션 계층 필터들 각각의 미리 결정된 사이즈를 결정하는 것을 포함한다.
일부 구현 예에서, 하나 이상의 콘볼루션 계층 필터들의 결정된 사이즈와 매칭하도록 상기 하나 이상의 주파수 대역들을 업스케일링하는 것은 보간 방법들(interpolation methods)을 사용하여 상기 하나 이상의 주파수 대역들을 업스케일링하는 것을 포함한다.
일부 구현 예에서, 학습 오디오 샘플의 주파수 도메인 특징들은 선형 주파수 도메인 특징들을 포함한다.
본 명세서에 기술된 요지의 또 다른 혁신적인 양태는 신경망의 복수의 계층 각각을 통해 입력된 데이터를 프로세싱하는 방법으로 구현될 수 있으며, 상기 신경망은 오디오 샘플의 주파수 도메인 특징들을 수신하고, 상기 오디오 샘플에 대한 신경망 출력을 생성하기 위해 상기 주파수 도메인 특징들을 프로세싱하도록 구성되며, 상기 신경망은 (i) 주파수 도메인 특징들을 대수 스케일링된 주파수 도메인 특징들에 맵핑하도록 구성된 콘볼루션 계층 -상기 콘볼루션 계층은 하나 이상의 콘볼루션 계층 필터를 포함함 -, 그리고 (ii) 상기 신경망 출력을 생성하기 위해 대수 스케일링된 주파수 도메인 특징들을 프로세싱하도록 구성된 각각의 계층 파라미터들을 갖는 하나 이상의 다른 신경마 계층들을 포함하며,
상기 방법은, 오디오 샘플의 주파수 도메인 특징들을 포함하는 데이터 입력을 획득하는 단계; 콘벌루션 계층 출력을 생성하기 위해 콘벌루션 계층을 사용하여 주파수 도메인 특징들을 프로세싱하는 단계 -상기 콘볼루션 계층 출력은 대수 스케일링된 주파수 도메인 특징들을 포함함 -; 그리고 상기 신경망 출력을 생성하기 위해 하나 이상의 다른 신경망 계층을 사용하여 상기 생성된 콘벌루션 계층 출력을 프로세싱하는 단계를 포함한다.
이 양태의 다른 실시 예는 각각이 방법의 동작을 수행하도록 구성된, 하나 이상의 컴퓨터 저장 장치상에 기록된 컴퓨터 프로그램, 해당 컴퓨터 시스템, 장치를 포함한다.
하나 이상의 컴퓨터로 이루어진 시스템은 시스템상에 설치되고, 동작 중에 시스템으로 하여금 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합에 의해 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 액션들을 수행하게 하는 명령어들을 포함함으로써 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다.
전술한 실시 예 및 다른 실시 예는 각각 단독으로 또는 조합하여 하기의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 콘볼루션 계층 출력을 생성하기 위해 콘볼루션 계층을 사용하여 주파수 도메인 특징들을 프로세싱하는 일부 구현에서,
상기 콘볼루션 계층 출력은, 대수 스케일링된 주파수 도메인 특징들을 포함하고, 상기 콘볼루션 계층에서, 주파수 도메인 특징들을 수신하고 -상기 주파수 도메인 특징들은 하나 이상의 주파수 대역들을 포함하는 주파수 스펙트럼에 존재(reside)함-; 각각의 주파수 대역에 대해, 상기 주파수 대역에 기초하여 각각의 콘볼루션 필터의 사이즈를 다운스케일링하고; 그리고 상기 다운스케일링된 하나 이상의 콘벌루션 필터들을 사용하여 상기 하나 이상의 주파수 대역들을 프로세싱하여 상기 콘볼루션 계층 출력을 생성하는 것을 포함한다.
본 명세서에 기술된 요지의 또 다른 혁신적인 양태는 하나 이상의 컴퓨터에 의해 구현되는 신경망 시스템에 구현될 수 있으며, 신경망 시스템은 복수의 신경망 계층을 포함하며, 상기 신경망 시스템은 오디오 샘플의 스펙트로그램(spectrogram)을 획득하고 상기 오디오 샘플에 대한 신경망 출력을 생성하도록 상기 스펙트로그램을 프로세싱하도록 구성되며,
상기 복수의 신경망 계층은,
주파수 도메인 특징들을 멀티 스케일 주파수 도메인 특징들로 콘볼루션 맵핑(convolutional mapping)을 수행하도록 구성된 복수의 콘벌루션 신경망 스테이지들의 시퀀스를 포함하는 제1 서브네트워크 -상기 콘벌루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 스테이지는 각각 콘벌루션 계층 파라미터들을 각각 갖는 하나 이상의 콘볼루션 신경망 계층들을 포함하고, (i) 콘볼루션 신경망 스테이지들의 시퀀스에서의 제1 콘볼루션 신경망 스테이지는 오디오 샘플의 스펙트로그램을 획득하고 제1 콘볼루션 출력을 생성하도록 구성되며, (ii) 콘볼루션 신경망 스테이지들의 시퀀스에서의 각각의 후속(subsequent) 콘벌루션 신경망 스테이지는 콘벌루션 신경망 스테이지들의 시퀀스에서 선행(preceding) 콘볼루션 신경망 스테이지에 의해 생성된 콘볼루션 출력을 수신하고, 각각의 콘볼루션 신경망 출력을 생성하도록 구성됨 -; 각각 계층 파라미터들을 갖는, (i) 은닉 신경망 계층 및 (ii) 출력 계층을 적어도 포함하는 제2 서브네트워크를 포함하며, (i) 상기 은닉 신경망 계층은 상기 콘볼루션 신경망 계층들의 시퀀스에서 상기 콘볼루션 신경망 계층들에 의해 생성된 하나 이상의 콘볼루션 신경망 출력들을 수신하고, 은닉 신경망 계층 출력을 생성하고, (ii) 상기 출력 계층은 은닉 신경망 출력을 수신하고, 오디오 샘플에 대한 신경망 출력을 생성하도록 구성된다.
이 양태의 다른 실시 예는 각각이 방법의 동작을 수행하도록 구성된, 하나 이상의 컴퓨터 저장 장치상에 기록된 컴퓨터 프로그램, 해당 컴퓨터 시스템, 장치를 포함한다. 하나 이상의 컴퓨터로 이루어진 시스템은 시스템상에 설치되고, 동작 중에 시스템으로 하여금 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합에 의해 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 액션들을 수행하게 하는 명령어들을 포함함으로써 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다.
전술한 실시 예 및 다른 실시 예는 각각 단독으로 또는 조합하여 하기의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 일부 구현 예에서, 제1 콘벌루션 신경망 스테이지는, 오디오 샘플의 스펙트로그램을 수신하고 -상기 스펙트로그램은 주파수 대역들에 대응하는 복수의 행 및 시간 대역들에 대응하는 복수의 열을 포함함 -; 길이 L×높이 H의 시간 대역을 사이즈 H× 1의 하나 이상의 벡터들로 압축하고; 프로세싱을 위해 콘볼루션 신경망 스테이지들의 시퀀스에서 사이즈 H× 1의 하나 이상의 벡터들을 후속 콘볼루션 신경망 스테이지에 제공하도록 구성된다.
일부 경우, 각각의 후속 콘볼루션 신경망 스테이지는 선행 콘볼루션 신경망 스테이지로부터 하나 이상의 벡터 입력들을 수신하고; 각각의 콘볼루션 신경망 스테이지 출력을 생성하기 위해 하나 이상의 벡터 입력들을 수신한 사이즈를 2배만큼 감소시키고; 그리고 프로세싱을 위해 각각의 콘벌루션 신경망 스테이지 출력을 후속 신경망 계층에 제공하도록 구성된다.
일부 구현들에서, 후속 콘벌루션 신경망 스테이지들에 포함된 콘벌루션 계층 파라미터들은 높이 3 및 행 스트라이드 2의 콘벌루션 계층 필터들을 포함한다.
일부 경우, 각각의 후속 콘볼루션 신경망 스테이지는, (i) 행 스트라이드 1을 갖는 1x1x2 콘볼루션 계층 다음에 행 스트라이드 2를 가는 최대 풀링 계층(max pooling layer), (ii) 3x1xD 콘볼루션 계층, 및 (iii) 행 스트라이드 1을 갖는 3x1xD의 DS(depthwise-separable) 콘볼루션 다음에 이어서 행 스트라이드 2를 갖는 최대 풀링 계층을 포함하며, 여기서 D는 콘벌루션 계층 필터 깊이(depth)를 나타낸다.
일부 구현 예에서, 각각의 후속 콘볼루션 신경망 스테이지는 ReLU(rectified linear unit)들을 포함한다.
일부 경우들에서, 상기 은닉 신경망 계층은 각각 생성된 콘벌루션 스테이지 출력의 행 연결(row concatenation)을 수신하도록 구성된다.
일부 경우들에서, 상기 은닉 신경망 계층은 콘벌루션 신경망 스테이지들의 시퀀스에서 최종 콘벌루션에 대응하는 출력을 수신하도록 구성된다.
일부 경우들에서, 콘벌루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 계층의 깊이는 콘벌루션 신경망 스테이지들의 시퀀스를 통해 증가한다.
일부 구현 예에서, 콘벌루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 계층의 깊이는 1보다 크다.
일부 경우들에서, 상기 신경망 시스템은 학습 데이터에 대해 학습되어 다른 신경망 계층들의 계층 파라미터들의 값들을 조정하고, 그리고 하나 이상의 각각의 콘볼루션 계층 파라미터들을 조정하여 주파수 영역 특징들과 멀티 스케일 주파수 도메인 특징들에 대한 최적 콘벌루션 맵핑을 결정하고,
상기 학습은, 복수의 학습 오디오 샘플들 각각에 대해, 학습 오디오 샘플의 스펙트로그램 및 학습 오디오 샘플에 대한 알려진 출력을 포함하는 학습 데이터를 획득하고; 제2 서브네트워크의 계층들의 파라미터들의 값들을 조정하고, 주파수 도메인 특징들과 멀티 스케일 주파수 도메인 특징들에 대한 최적 콘볼루션 매핑을 결정하기 위해 하나 이상의 콘볼루션 계층 파라미터들을 조정하도록 상기 학습 데이터에 대해 신경망을 학습시키는 것을 포함하며;
상기 학습은, 제1 서브네트워크의 각 콘벌루션 계층에 대해, 각각의 콘볼루션 계층 입력을 수신하고; 콘볼루션 계층을 통해 입력된 콘볼루션 계층을 프로세싱하여 콘벌루션 계층 출력을 생성하고; 상기 콘볼루션 계층 위의 신경망 계층으로부터 상기 스펙트로그램에 대한 역 전파 기울기를 수신하고; 상기 신경망에 대한 에러 함수의 기울기를 계산하고 -상기 에러 함수는 각각의 콘볼루션 계층 파라미터들 및 상기 수신된 역전파 기울기에 의존함-; 상기 계산된 기울기를 사용하여 각각의 콘볼루션 계층 파라미터들을 업데이트하는 것을 포함한다.
본 명세서에서 설명된 내용은 다음의 장점들 중 하나 이상을 실현하기 위해 특정 실시 예들에서 구현될 수 있다.
음성 인식, 콘텐츠 식별, 음악 인식, 비상 사이렌 감지 및 기타 분류 문제와 같은 오디오 프로세싱 태스크들은 일반적으로 입력으로 주파수 도메인 특징들을 입력으로 사용한다. 예를 들어, 사람의 청력은 대수 스케일(logarithmic scale)로 표현될 수 있으며, 결과적으로
일부 오디오 프로세싱 시스템들은 수신된 주파수 도메인 특징들, 예를 들어, 선형 스케일 주파수 도메인 특징들을 대수 또는 근사 대수(near-logarithmic) 스케일 주파수 도메인 특징들, 예를 들어 멜 주파수 스케일(mel frequency scale) 및/또는 멜 주파수 셉스트럴(cepstral) 계수들에 매핑함으로써 이를 에뮬레이트(emulate)하려고 시도한다. 상기 매핑된 주파수 도메인 특징들은 오디오 분류 시스템, 예를 들어 신경망에 입력으로서 제공되어 소정의 분류 또는 인식 태스크에 대한 분류기들(classifiers)을 학습시킬 수 있다.
그러나 중요한 정보는 매핑 프로세스 중에 손실될 수 있으며, 하드코딩된(hardcoded) 고정 스케일 매핑은 소정의 태스크에 대한 주파수 도메인 특징들의 최적 매핑을 제공하지 못할 수 있다. 따라서, 상기 매핑된 주파수 도메인 특징들을 수신하는 오디오 분류 시스템의 정확도 및 성능이 감소될 수 있다.
본 명세서에서 설명되는 대수 스케일 콘벌루션 신경망 시스템은 소정의 분류 태스크에 대해 전체 주파수 스펙트럼에 걸쳐 균일하게 적용될 수 있는 주파수 도메인 특징들, 예를 들어, 선형 주파수 도메인 특징들에 대한 대수 스케일 콘볼루션을 학습한다. 특히, 본 명세서에 설명된 대수 스케일 콘볼루션 신경망은 상이한 분류 태스크 및 상이한 입력 신호 특성들에 대한 상이한 대수 스케일 콘볼루션을 학습한다. 따라서, 본 명세서에 기술된 바와 같이 대수 스케일 콘볼루션을 구현하는 신경망 시스템은, 신경망 시스템을 사용하여 주파수 특징들을 프로세싱하기 전에 고정된 스케일 주파수 매핑을 적용하는 시스템에 비해 로우 입력 샘플들(raw input samples)을 분류할 때 더 높은 수준의 정확도, 예를 들어 더 높은 품질의 특징들 추출을 달성할 수 있다.
본 명세서에 기술된 캐스케이드(cascaded) 콘볼루션 신경망 시스템은 주파수 도메인 특징들, 예를 들어, 선형 주파수 도메인 특징들에 대한 가변적인 사이즈의 콘벌루션을 학습한다. 특히, 본 명세서에 기술된 바와 같이 캐스케이드 콘볼루션 신경망 시스템은 상기 가변적인 사이즈의 콘볼루션 윈도우들을 생성하며, 모든 분해능(resolution)들은 콘벌루션 캐스케이드(cascade)로부터 연결된 출력으로 생성될 수 있다. 콘벌루션 캐스케이드를 따르는 계층들은 주파수 스펙트럼의 다른 부분들에 가장 유용한 스케일들을 선택할 수 있다. 그러므로, 본 명세서에 기술된 캐스케이드 콘볼루션 신경망 시스템은 소정의 태스크에 대한 특정 분해능에 대해 어려운 선택(hard choice)을 요구하지 않기 때문에 다른 신경망 시스템에 비해 개선된 정확성 및 보다 신뢰성 있는 특징 추출을 달성할 수 있다.
또한, 본 명세서에 기술된 캐스케이드 콘볼루션 신경망 시스템은 신경망 시스템의 특정 아키텍처로 인해 다른 신경망 시스템과 비교하여 계산 자원의 양을 감소시키면서 더 높은 수준의 계산 효율을 달성할 수 있다. 예를 들어, 본 명세서에 설명된 캐스케이드 콘볼루션 신경망 시스템은 자원 제약형 장치, 예를 들어 모바일 장치 상에 구현될 수 있다.
또한, 본 명세서에 기술된 캐스케이드 콘볼루션 신경망 시스템은 메모리 및 디스크에서 낮은 풋프린트(footprint)를 요구할 수 있다.
본 명세서의 요지의 하나 이상의 실시 예의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 요지의 다른 특징, 양태 및 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 대수 스케일 콘벌루션 신경망 시스템의 예이다.
도 2는 캐스케이드 콘벌루션 신경망 시스템의 예이다.
도 3은 입력으로부터 대수 스케일 콘볼루션 신경망 시스템 출력을 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 입력으로부터 캐스케이드 콘벌루션 신경망 시스템 출력을 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 콘벌루션 신경망 계층 및 하나 이상의 다른 신경망 계층들을 학습하기 위한 예시적인 프로세스의 흐름도이다.
도 6은 학습 오디오 샘플 상에서 대수 스케일 콘벌루션 신경망 시스템의 콘볼 루션 계층을 학습시키기 위한 예시적인 프로세스의 흐름도이다.
도 7은 캐스케이드 콘볼루션 신경망 시스템을 학습시키기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 동일한 구성요소를 나타낸다.
본 명세서는 선형 스펙트로그램에서 가변 사이즈 콘볼루션을 학습하는 방법을 설명한다. 일부 양태들에서, 모델은 전체 주파수 스펙트럼에 걸쳐 균일하게 적용되는 단일 대수 콘볼루션 매핑을 학습하도록 훈련된다. 다른 양태들에서, 모델은 대수 진행(logarithmic progression)의 서로 다른 분해능에 걸쳐 집계된 특징들을 생성하기 위해 콘볼루션들의 캐스케이드를 사용한다. 상이한 스케일들의 콘볼루션들은 예를 들어 분류 또는 회귀 목적을 위해 단일 특징으로 연결되고, 시간에 걸쳐 콘볼루션되고, 하나 이상의 신경망 계층들에 제공된다.
도 1은 대수 스케일 콘벌루션 신경망 시스템(100)의 예를 도시한다. 대수 스케일 콘벌루션 신경망 시스템(100)은 하나 이상의 위치에서 하나 이상의 컴퓨터상의 컴퓨터 프로그램들로서 구현되는 시스템의 예로서, 이하에서 설명되는 시스템, 컴포넌트들 및 기술들이 구현될 수 있다.
대수 스케일 콘벌루션 신경망 시스템(100)은 시스템 입력들을 수신하고 시스템 입력들로부터 시스템 출력들을 생성하는 기계 학습 시스템이다. 신경망 시스템(100)은 오디오 샘플(102)의 주파수 도메인 특징들을 수신하고, 입력에 기초하여 각각의 출력(112)을 생성하도록 구성될 수 있다.
일부 구현 예에서, 각각의 출력은 각각의 스코어 또는 오디오 샘플 분류를 포함할 수 있다. 예를 들어, 신경망 시스템(100)으로의 입력이 발화를 나타내는 오디오 샘플의 하나 이상의 주파수 도메인 특징들을 포함하면, 신경망 시스템(100)에 의해 생성된 출력은 텍스트의 부분(piece of text)들의 세트 각각에 대한 스코어일 수 있고, 각각의 스코어는 텍스트의 부분이 발화 또는 발화 시퀀스(sequence of utterances)에 대한 정확한 전사(transcript)일 것으로 추정된 우도를 나타낸다. 일부 예에서, 신경망 시스템(100)은 콘텐츠 식별 시스템의 일부일 수 있고, 신경망 시스템(100)에 의해 생성된 출력은 콘텐츠의 부분 세트 각각 또는 콘텐츠의 부분 세트 각각 내의 각 세그먼트에 대한 스코어일 수 있다. 다른 예로서, 신경망 시스템(100)은 비상 사이렌 검출 시스템의 일부일 수 있고, 신경망 시스템(100)에 의해 생성된 출력은 입력을 사이렌인지 아닌지를 분류하는 스코어일 수 있다.
다른 구현예들에서, 각각의 출력은 단일 값 또는 다중(멀티) 값(예를 들어, 회귀(regression))을 예측하는데 사용될 수 있다. 예를 들어, 신경망 시스템 출력(112)은 시스템에 입력된 오디오 샘플에서 특정 유형의 잡음의 레벨, 예를 들어, 음성의 레벨을 추정(예측)할 수 있다. 다른 예로서, 신경망 시스템 출력(112)은 오디오 샘플에 의해 표현된 노래가 기록된 연도의 예측을 포함할 수 있다. 또 다른 예로서, 상기 신경망 시스템은 오디오, 예를 들어 에코 소거(echo cancellation)를 생성하는데 사용될 수 있다. 예를 들어, 오디오 샘플 입력(102)은 2개의 서브 입력, 예를 들어 혼합 신호 및 배경 신호를 포함할 수 있고, 각각의 신경망 시스템 출력(112)은 혼합 신호로부터 배경 신호를 감산함으로써 생성된 오디오 샘플을 포함할 수 있다.
오디오 샘플(102)의 주파수 도메인 특징들은 오디오 샘플의 선형 스케일 주파수 도메인 특징들을 포함할 수 있다. 상기 주파수 도메인 특징들은 하나 이상의 주파수 대역들, 예컨대 더 낮은 주파수 및 더 높은 주파수에 의해 한계가 정해진 주파수 도메인에서의 간격을 포함하는 주파수 스펙트럼에 존재한다.
대수 스케일 콘볼루션 신경망 시스템(100)은 다수의 신경망 계층들, 예를 들어 콘볼루션 계층(104) 및 신경망 계층들(108)을 포함한다. 대수 스케일 콘볼루션 신경망 시스템(100)의 신경망 계층들 각각은 각각의 계층 입력을 수신하고, 그 계층 입력을 프로세싱하여 상기 입력으로부터 각각의 계층 출력을 생성하도록 구성된다. 신경망 계층들은 집합적으로 신경망 시스템(100)에 의해 수신된 신경망 입력들을 프로세싱하여 각각의 수신된 신경망 입력에 대한 각각의 신경망 출력을 생성한다. 입력으로부터의 대수 스케일 콘벌루션 신경망 시스템 출력을 생성하는 것은 도 3을 참조하여 아래에서 더욱 상세히 설명된다.
신경망 시스템(100)의 계층들 중 일부 또는 전부는 각각의 파라미터들의 세트와 연관된다. 신경망 계층들은 신경망 계층에 대한 파라미터들의 현재 값들에 따라 입력들로부터 출력들을 생성한다. 예를 들어, 일부 계층들은 수신된 입력으로부터의 출력을 생성하는 부분으로서 현재의 파라미터 값들의 각각의 파라미터 행렬로 상기 수신된 입력을 곱할 수 있다.
대수 스케일 콘볼루션 신경망 시스템(100)의 신경망 계층들 중 적어도 하나는 콘볼루션 계층, 예를 들어 콘볼루션 계층(104)이다. 단지 하나의 콘볼루션 계층이 편의상 도 1에 도시되어 있지만, 신경망 시스템(100)은 다중(멀티) 콘볼루션 신경망 계층들을 포함할 수 있다.
콘볼루션 신경망 계층은 뉴런(신경) 또는 노드들이 폭, 높이 및 깊이의 3차원 배열로 논리적으로 배열된 신경망 계층이다. 콘볼루션 신경망 계층 내부의 뉴런은 수용 필드라고 하는 콘벌루션 신경망 계층 앞의 상기 계층의 작은 영역에 연결되며, 콘볼루션 신경망 계층 내의 각 뉴런은 변환 불변성(translation invariance)의 속성을 구성하여 동일한 특징을 검출한다. 일반적으로 인접한 계층들의 뉴런들 사이에 로컬 연결 패턴이 적용된다. 예시적인 콘볼루션 신경망 계층은 "Convolutional Neural Networks for Speech Recognition(Ossama Abdel-Hamid, Abdel-rahman Mohamed, Hui Jiang, Li Deng, Gerald Penn, and Dong Yu, IEEE/ACM TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, VOL. 22, NO. 10, OCTOBER 2014.)"에 더 상세히 기술되어있다.
콘벌루션 신경망 계층에 대한 연관된 계층 파라미터들의 세트는 학습 가능한 콘볼루션 계층 필터들의 각 세트를 포함한다. 콘볼루션 계층 필터들의 세트 내의 각 콘볼루션 계층 필터는 작은 수용 필드(receptive field)를 가지며, 각각의 콘벌루션 신경망 계층의 전체 깊이(depth)를 통해 연장된다. 예를 들어, 필터들은 <filter_height> x <filter_width> x <depth> 표기법을 사용하여 설명될 수 있다. 콘벌루션 신경망 계층의 하이퍼파라미터(Hyperparameter)들, 예를 들어, 깊이, 스트라이드(stride) 및 패딩(padding)은 콘벌루션 신경망 계층의 출력의 사이즈를 제어하며 가변적이다. 콘벌루션 계층 필터들의 세트의 사이즈, 예를 들어, <filter_height> × <filter_width>는 고정된 기본 사이즈를 포함할 수 있지만, 신경망 시스템에 의해 수행되는 태스크에 따라 변경될 수도 있다.
콘볼루션 계층(104)은 수신된 주파수 도메인 특징 입력들, 예컨대 선형 스케일 주파수 도메인 특징 입력들을 대수 스케일링된(대수 스케일)(logarithmic scaled) 주파수 도메인 출력들에 매핑하도록 구성된 콘벌루션 신경망 계층이다. 콘볼루션 계층(104)은 계층(104)에 대한 콘벌루션 계층 필터들의 각각의 세트의 사이즈를 조정함으로써 수신된 주파수 도메인 특징 입력들을 대수 스케일 주파수 도메인 출력들에 매핑한다. 주파수 도메인 특징 입력들을 대수 스케일 주파수 도메인 입력들로 맵핑하기 위한 콘볼루션 계층 필터들의 각각의 세트의 사이즈를 조정하는 것은 도 3을 참조하여 아래에서보다 상세히 설명된다.
신경망 계층들(108)은 하나 이상의 다른 신경망 층들, 예컨대 신경망 계층(110)을 포함한다. 단지 하나의 신경망 계층(110)만이 편의상 도 1에 도시되어 있지만, 신경망 시스템(100)은 다수의 신경망 계층들을 포함할 수 있다. 신경망 시스템(100)에 포함된 신경망 계층들(108)의 수는 신경망 시스템(100)이 수행하도록 구성된 태스크에 의존한다. 또한, 신경망 시스템(100)에 포함된 신경망 계층들(108)의 유형은 신경망 시스템이 수행하도록 구성된 태스크에 의존한다. 예를 들어, 일부 구현 예에서, 하나 이상의 다른 신경망 계층들은 하나 이상의 완전히 연결된 신경망 계층들을 포함할 수 있다. 다른 구현 예에서, 하나 이상의 신경망들은 순환 신경망 계층들, 예를 들어, LSTM(Long Short-Term Memory) 계층들을 포함할 수 있다. 이러한 구현 예에서, 신경망 시스템(100)은 시간 스텝들의 세트에 대응하는 오디오 샘플의 입력 주파수 도메인 특징들의 시퀀스를 입력으로서 수신할 수 있다. 콘볼루션 계층(104)은 상기 수신된 입력 주파수 도메인 특징들의 시퀀스에서 각 입력을 프로세싱하여 출력으로서 매핑된 대수 주파수 도메인 특징들의 각각의 시퀀스를 생성할 수 있으며, 차례로 신경망 계층들(108)에 제공될 수 있다.
대수 스케일 콘벌루션 신경망 시스템(100)은 신경망 계층들의 파라미터들의 학습된 값들을 결정하기 위해, 즉 초기 값들로부터 학습된 값들로 파라미터들의 값을 조정하기 위해 다수의 학습 오디오 샘플들에 대해 학습될 수 있다. 예를 들어, 학습 동안, 대수 스케일 콘볼루션 신경망 시스템(100)은 다수의 학습 오디오 샘플들 각각의 특징을 프로세싱할 수 있고, 각 학습 오디오 샘플에 대한 각각의 신경망 출력을 생성할 수 있다. 그 다음, 상기 신경망 출력들은 예를 들어, 하나 이상의 콘볼루션 계층 필터들을 조정하기 위해, 대수 스케일 콘볼루션 신경망 시스템(100)의 파라미터들의 값들을 조정하는데 사용될 수 있다. 일부 구현 예에서, 대수 스케일 콘볼루션 신경망 시스템(100)은 기울기 하강(gradient descent) 및 역전파 신경망 학습 기술들을 사용하여 파라미터들의 값들을 조정한다. 대수 스케일 콘벌루션 신경망 시스템(100)의 학습은 도 5 및 도 6을 참조하여보다 상세히 설명된다.
일단 대수 스케일 콘볼루션 신경망 시스템(100)이 학습되면, 상기 신경망 시스템은 프로세싱을 위해 새로운 신경망 입력을 수신할 수 있고, 대수 스케일 콘볼루션 신경망 시스템(100)의 파라미터들의 학습된 값들에 따라 상기 입력에 대한 새로운 신경망 출력을 생성하도록 신경망 계층들을 통한 신경망 입력을 프로세싱한다.
도 2는 예시적인 캐스케이드 콘볼루션 신경망 시스템(200)을 나타낸다. 캐스케이드 콘볼루션 신경망 시스템(200)은 후술하는 시스템, 컴포넌트 및 기술들이 구현될 수 있는 하나 이상의 위치에서 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로서 구현되는 시스템의 예이다.
캐스케이드 콘볼루션 신경망 시스템(200)은 시스템 입력들을 수신하고, 시스템 입력들로부터 시스템 출력들을 생성하는 기계 학습 시스템이다. 신경망 시스템(200)은 오디오 샘플(202)의 주파수 도메인 특징들을 수신하고, 상기 입력에 기초하여 각각의 출력(214)을 생성하도록 구성될 수 있다.
일부 구현 예에서, 각각의 출력은 각각의 스코어 또는 오디오 샘플 분류를 포함할 수 있다. 예를 들어, 신경망 시스템(200)으로의 입력이 발화를 나타내는 오디오 샘플의 하나 이상의 주파수 도메인 특징들을 포함하면, 신경망 시스템(200)에 의해 생성된 출력은 텍스트의 부분들의 세트 각각에 대한 스코어일 수 있고, 각각의 스코어는 텍스트의 부분이 발화 또는 발화들의 시퀀스에 대한 정확한 전사인 것으로 추정된 우도를 나타낸다. 일부 예에서, 신경망 시스템(200)은 콘텐츠 식별 시스템의 일부일 수 있고, 신경망 시스템(200)에 의해 생성된 출력은 콘텐츠의 각 부분 세트 또는 콘텐츠의 각 부분 세트 내의 각 세그먼트에 대한 스코어일 수 있다. 다른 예로서, 신경망 시스템(200)은 비상 사이렌 검출 시스템의 일부일 수 있고, 신경망 시스템(200)에 의해 생성된 출력은 입력을 사이렌 또는 사이렌이 아닌 것으로서 분류하는 스코어일 수 있다.
다른 구현예들에서, 각각의 출력은 단일 값 또는 다중 값들(예를 들어, 회귀)을 예측하는데 사용될 수 있다. 예를 들어, 신경망 시스템 출력(214)은 시스템에 입력된 오디오 샘플에서 특정 유형의 잡음의 레벨, 예를 들어, 음성의 레벨을 추정할 수 있다. 다른 예로서, 신경망 시스템 출력(214)은 오디오 샘플에 의해 표현된 노래가 기록된 연도의 예측을 포함할 수 있다. 또 다른 예로서, 상기 신경망 시스템은 오디오, 예를 들어 에코 소거를 생성하는데 사용될 수 있다. 예를 들어, 오디오 샘플 입력(202)은 2개의 서브 입력들, 예를 들어, 혼합 신호 및 배경 신호를 포함할 수 있고, 각각의 신경망 시스템 출력(214)은 혼합 신호로부터 배경 신호를 감산함으로써 생성된 오디오 샘플을 포함할 수 있다.
오디오 샘플(202)의 주파수 도메인 특징들은 오디오 샘플의 선형 스케일 주파수 도메인 특징들을 포함할 수 있다. 주파수 도메인 특징들은 스펙트로그램으로 표현될 수 있으며, 예를 들어, 시간을 나타내는 수평축, 주파수를 나타내는 수직축 및 특정 주파수 및 시간에서의 진폭을 나타내는 제3 차원(예를 들어, 색상의 강도로 표시됨)을 갖는 2차원 어레이로 표현될 수 있다. 상기 스펙트로그램은 DFT, FFT 또는 다른 주파수 변환을 사용하여 생성될 수 있다. 상기 스펙트로그램이 푸리에 변환을 사용하여 생성되는 경우 복소수의 크기 또는 로그 크기(log-magnitude)를 취하여 실수의 스펙트로그램을 생성할 수 있다.
캐스케이드 콘볼루션 신경망 시스템(200)은 복수의 신경망 계층들, 예를 들어 콘볼루션 스테이지들 A-N(후술됨), 은닉 신경망 계층(210) 및 출력 계층(212) 각각에 포함된 하나 이상의 콘볼루션 계층들을 포함한다. 캐스케이드 콘볼루션 신경망 시스템(200)의 신경망 계층들 각각은 각각의 계층 입력을 수신하고, 계층 입력을 프로세싱하여 입력으로부터 각각의 계층 출력을 생성하도록 구성된다. 상기 신경망 계층들은 각각의 수신된 신경망 입력에 대한 각각의 신경망 출력을 생성하기 위해 신경망 시스템(200)에 의해 수신된 신경망 입력들을 집합적으로 프로세싱한다. 입력으로부터 캐스케이드 콘볼루션 신경망 시스템 출력을 생성하는 것은 도 4를 참조하여 이하에서보다 상세히 설명된다.
신경망 시스템(200)의 계층들 중 일부 또는 전부는 파라미터들의 각 세트와 연련된다. 신경망 계층들은 신경망 계층에 대한 파라미터들의 현재 값들에 따라 입력들로부터 출력들을 생성한다. 예를 들어, 일부 계층들은 상기 수신된 입력으로부터의 출력을 생성하는 부분으로서 현재의 파라미터 값들의 각각의 파라미터 행렬에 상기 수신된 입력을 곱할 수 있다.
상기 캐스케이드 콘볼루션 신경망 시스템(200)은 하나 이상의 콘볼루션 신경망 스테이지의 시퀀스들, 예를 들어 콘벌루션 스테이지들 A-N을 포함하는 제1 서브네트워크(204)를 포함한다. 콘벌루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 테이지는 콘볼루션 계층 및 선택적으로 하나 이상의 다른 신경망 계층들을 포함한다. 콘볼루션 신경망 계층들은 도 1과 관련하여 상술된다. 5개의 콘벌루션 스테이지들이 도 2에 편의상 도시되어 있지만, 신경망 시스템(200)은 더 많거나 적은 콘벌루션 스테이지들을 포함할 수 있다.
콘벌루션 신경망 스테이지의 시퀀스에서 제1 콘벌루션 신경망 스테이지, 예를 들어, 콘볼루션 신경망 스테이지 A는 오디오 샘플(202)의 주파수 도메인 특징들을 수신하고, 후속 콘볼루션 신경망 스테이지, 예를 들어 콘볼루션 신경망 스테이지 B에 제공될 수 있는 각각의 제1 콘볼루션 스테이지 출력을 생성하도록 구성된다.
일부 구현 예에서, 제1 콘벌루션 신경망 스테이지는 좁은 주파수 대역, 예를 들어 해당 스펙트로그램의 3개 행 및 길이 L의 특정 시간 대역 및 H 스펙트로그램 열의 스텝에 걸쳐 수신된 주파수 도메인 특징들(202)의 주파수 및 시간 속성을 캡처(capture)한다. 제1 콘벌루션 신경망 스테이지 A는 사이즈 H × L의 시간 대역(time band)을 사이즈 H × 1의 벡터로, 또는 일부 구현 예에서, 사이즈 H × 1의 D_0 + 1 벡터들로 압축할 수 있으며, 여기서, D_0은 콘벌루션 신경망 스테이지 A에 포함된 하부(bottom) 콘벌루션 신경망 계층의 깊이를 나타낸다. 일부 구현 예에서, 콘볼루션 신경망 스테이지 A-N의 시퀀스에서 각 콘볼루션 신경망 스테이지의 깊이는 시퀀스를 통해 증가한다. 일부 경우에는 콘벌루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 스테이지의 깊이는 1보다 크다.
일부 구현예들에서, 제1 콘벌루션 신경망 스테이지 A는 캐스케이드를 계산하기 전에 시간 또는 주파수, 또는 시간 및 주파수 모두에서 스펙트로그램의 필터링을 수행하는데 사용될 수 있다. 제1 콘벌루션 신경망 스테이지 A는 하나의 스텝을 포함할 수 있다. 일부 경우에, 제1 콘벌루션 신경망 스테이지 (A)는 스펙트로그램에 스무딩(smoothing)을 적용할 수 있게 한다.
콘벌루션 신경망 스테이지들 A-N의 시퀀스에서 후속 콘볼루션 신경망 스테이지 B-N은 콘벌루션 신경망 스테이지들의 시퀀스에서 선행 콘벌루션 신경망 스테이지에 의해 생성된 각각의 콘벌루션 출력을 수신하고, 후속 콘볼루션 신경망 스테이지, 제2 서브네트워크(208), 또는 양자에 제공될 수 있는 각각의 콘볼루션 신경망 출력을 생성하도록 구성되며, 예를 들어, 콘볼루션 스테이지 C는 콘벌루션 스테이지 B에 의해 생성된 각각의 콘볼루션 출력을 입력으로서 수신하고, 콘벌루션 스테이지 D에 제공되는 각각의 콘벌루션 신경망 출력을 생성한다. 상기 생성된 각각의 콘볼루션 출력들은 또한 도 2의 점선 화살표로 나타낸 바와 같이 제2 서브네트워크(208), 예를 들어 은닉 신경망 계층(210)에 제공될 수 있다.
일부 구현예들에서, 각각의 후속 콘볼루션 신경망 스테이지는 선행 콘벌루션 신경망 스테이지에 의해 생성된 상기 수신된 각각의 콘볼루션 출력의 높이를 2배만큼 감소시킨다. 예를 들어, 콘볼루션의 시퀀스는 상기 필터의 이웃 애플리케이션들 사이에서 약간의 스미어링(smearing)을 달성하기 위해 필터들이 중첩될 수 있게 하는 높이 3 및 행 스트라이드 2의 콘볼루션 필터들을 사용할 수 있다.
일부 구현 예에서, 후속 콘볼루션 신경망 스테이지들(B-N) 각각은 적어도 (i) 행 스트라이드가 1인 1 × 1 × 2 콘볼루션 계층 다음에 행 스트라이드가 2인 최대 풀링 계층, (ii) 3 × 1 × D 콘볼루션 계층, 및 (iii) 행 스트라이드 1을 갖는 3 × 1 ×D의 DS(depthwise-separable) 콘볼루션 다음에 행 스트라이드 2를 갖는 최대 풀링 층으로 구성될 수 있으며, D는 콘벌루션 계층 필터 깊이를 나타낸다. 일부 경우, 후속 콘볼루션 신경망 스테이지들 B-N 각각은 ReLU(rectified linear unit)들을 포함한다.
상기 캐스케이드 콘볼루션 신경망 시스템(200)은 적어도 하나의 은닉 신경망 계층, 예를 들어, 은닉 신경망 계층(210) 및 출력 계층(212)을 포함하는 제2 서브네트워크(208)를 포함한다. 도 2의 제2 서브네트워크(208)에는 2개의 계층들이 편의상 도 2에 도시되었지만, 신경망 시스템(200)은 더 많거나 적은 계층들을 갖는 제2 서브네트워크를 포함할 수 있다.
은닉 신경망 계층(210)은 제1 서브네트워크(204)로부터 생성된 콘볼루션 스테이지 출력들을 수신하도록 구성된다. 일부 구현 예에서, 은닉 신경망 계층(210)은 도 2에서 점선 화살표로 표시된 바와 같이, 생성된 콘볼루션 스테이지 출력 각각의 행 연결을 수신하도록 구성될 수 있다. 다른 구현 예에서, 은닉 신경망 계층(210)은 콘벌루션 스테이지 N에서 제2 서브네트워크(208)로 이르는 실선 화살표로 표시된 바와 같이, 콘벌루션 신경망 스테이지들의 시퀀스에서 최종 콘벌루션에 대응하는 출력을 수신하도록 구성될 수 있다. 일부 구현 예에서, 콘볼루션 계층들의 출력은 은닉 신경망 계층(210)에 의해 연결되고 프로세싱될 수 있어, 은닉 신경망 계층(210)이 주파수 범위들의 상이한 스케일들에 대한 가중치들을 학습하게 한다.
은닉 신경망 계층(210)은 상기 수신된 콘볼루션 스테이지 출력들을 프로세싱하여 제2 서브네트워크 출력 계층(212)에 제공되는 은닉 신경망 출력을 생성하도록 구성될 수 있다. 일부 구현예들에서, 은닉 신경망 계층(210)은 제1 서브네트워크(204)로부터 상기 수신된 콘볼루션 신경망 출력들의 가중치를 정의하는 하나 이상의 계층 파라미터들을 포함한다. 출력 계층(212)은 신경망 출력(214)을 생성하기 위해 은닉 신경망 출력을 프로세싱한다.
캐스케이드 콘볼루션 신경망 시스템(200)은 신경망 계층들의 파라미터들의 학습된 값들을 결정하기 위해, 즉 초기 값들로부터 학습된 값들로 파라미터들의 들값을 조정하기 위해 다수의 학습 오디오 샘플들에 대해 학습될 수 있다. 예를 들어, 학습 동안, 캐스케이드 콘볼루션 신경망 시스템(200)은 다수의 학습 오디오 샘플 각각의 특징들을 프로세싱할 수 있고 각 학습 오디오 샘플에 대한 각각의 신경망 출력을 생성할 수 있다. 상기 신경망 출력들은 캐스케이드 콘볼루션 신경망 시스템(200)의 파라미터들의 값들을 조정하는데 사용될 수 있다. 일부 구현예들에서, 캐스케이드 콘볼루션 신경망 시스템(200)은 기울기 하강 및 역전파 신경망 학습 기술들을 사용하여 상기 파라미터들의 값들을 조정한다. 캐스케이드 콘볼루션 신경망 시스템(200)의 학습은 도 7을 참조하여 이하 더 상세히 설명된다.
일단 캐스케이드 콘볼루션 신경망 시스템(200)이 학습되면, 상기 신경망 시스템은 프로세싱을 위해 새로운 신경망 입력을 수신할 수 있고, 캐스케이드 콘볼루션 신경망 시스템(200)의 파라미터들의 학습된 값들에 따라 입력을 위한 새로운 신경망 출력을 생성하도록 신경망 계층들을 통한 신경망 입력을 프로세싱한다.
도 3은 입력으로부터 대수 스케일 콘볼루션 신경망 시스템 출력을 생성하기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 주파수 도메인 특징들을 대수 스케일 주파수 도메인 특징들에 매핑하도록 구성된 신경망 시스템은, 예컨대 도 5 및 도 6에 따라 학습된 도 1의 콘볼루션 계층(104)을 갖는 대수 스케일 콘벌루션 신경망 시스템(100이 본 명세서에 따라 적절히 프로그래밍되어 프로세스(300)를 수행할 수 있다.
상기 시스템은 오디오 샘플의 주파수 도메인 특징들을 포함하는 데이터 입력을 획득한다(단계 302). 상기 주파수 도메인 특징들은 하나 이상의 주파수 대역들을 포함하는 주파수 스펙트럼에 있다. 예를 들어, 주파수 도메인 특징들은 오디오 샘플의 시간 도메인 특징들에 이산 푸리에 변환을 적용한 결과일 수 있다. 다른 예에서, 상기 주파수 도메인 특징들은 고속 푸리에 변환, 필터 뱅크 또는 멜-주파수 셉스트럴을 오디오 샘플의 시간 도메인 특징들에 적용한 결과일 수 있다. 일부 구현 예에서, 상기 오디오 샘플의 주파수 도메인 특징들은 예를 들어 고속 푸리에 변환이 오디오 샘플의 시간 도메인 특징들을 주파수 도메인 특징들로 변환하는 데 사용되는 경우, 선형 스케일 주파수 도메인 특징들을 포함할 수 있다.
상기 시스템은 콘볼루션 계층 출력을 생성하기 위해 콘벌루션 계층(104)과 같은 콘벌루션 계층을 사용하여 주파수 도메인 특징들을 프로세싱한다(단계 304). 상기 생성된 콘볼루션 계층 출력은 대수 스케일링된 주파수 도메인 특징들을 포함한다. 일부 구현 예에서, 상기 시스템은 콘볼루션 계층에서 주파수 도메인 특징들을 수신하고, 주파수 도메인 특징들이 존재하는 주파수 스펙트럼에 포함된 각각의 주파수 대역에 대해, 상기 콘벌루션 계층에 포함된 각각의 콘볼루션 필터의 사이즈를 상기 주파수 대역을 기준으로 다운 스케일링함으로써 콘벌루션 계층을 사용하여 주파수 도메인 특징들을 프로세싱한다. 그 다음, 상기 시스템은 다운스케일링된 하나 이상의 콘벌루션 필터들을 사용하여 하나 이상의 주파수 대역을 프로세싱하여 콘볼루션 계층 출력을 생성할 수 있다.
상기 시스템은 신경망 출력을 생성하기 위해 하나 이상의 다른 신경망 계층들을 사용하여 상기 생성된 콘벌루션 계층 출력을 프로세싱한다(단계 306). 예를 들어, 상기 시스템은 하나 이상의 다른 신경망 계층들, 예를 들어 도 1의 신경망 계층(108)을 사용하여 상기 생성된 콘벌루션 계층 출력을 프로세싱하여 신경망 출력을 생성할 수 있다. 상기 생성된 신경망 출력은 스텝(302)과 관련하여 상술한 오디오 샘플의 분류를 포함할 수 있다. 예를 들어, 상기 오디오 샘플이 발화 또는 발화들의 시퀀스를 나타내는 경우, 상기 생성된 신경망 출력은 텍스트의 부분들의 세트 각각에 대한 스코어를 포함할 수 있고, 각각의 스코어는 텍스트의 부분이 발화 또는 발화들의 시퀀스에 대한 정확한 전사인 것으로 추정된 우도를 나타낸다. 일부 경우에, 상기 생성된 신경망 출력은 단일 값 또는 다중 값들(예를 들어, 회귀)을 예측하는데 사용될 수 있다.
도 4는 입력으로부터 캐스케이드 콘벌루션 신경망 시스템 출력을 생성하기 위한 예시적인 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 주파수 도메인 특징들을 가변 스케일 주파수 도메인 특징들에 맵핑하도록 구성된 신경망 시스템, 예를 들어 본 명세서에 따라 적절히 프로그램된 도 2의 캐스케이드 콘볼루션 신경망 시스템(200)은 프로세스(400)를 수행할 수 있다.
상기 시스템은 오디오 샘플의 스펙트로그램을 획득한다(단계 402). 일부 구현 예에서, 상기 스펙트로그램은 주파수 대역들을 나타내는 하나 이상의 행과 시간 대역들을 나타내는 하나 이상의 열을 포함하는 2차원 어레이로 나타낼 수 있다. 상기 스펙트로그램에 포함된 주파수 도메인 특징들은 선형 스케일 주파수 도메인 특징들을 포함할 수 있다.
상기 시스템은 제1 콘볼루션 출력을 생성하기 위해 콘벌루션 신경망 스테이지의 시퀀스의 제1 콘벌루션 신경망 스테이지를 사용하여 스펙트로그램을 프로세싱한다(단계 404). 단계(402)와 관련하여 상술한 바와 같이, 일부 구현 예에서, 상기 스펙트로그램은 주파수 대역들을 나타내는 하나 이상의 행과 시간 대역들을 나타내는 하나 이상의 열을 포함하는 2차원 어레이로 나타낼 수 있다. 이러한 경우에, 제1 콘벌루션 신경망 스테이지를 사용하여 상기 스펙트로그램을 프로세싱하는 것은 H × L의 시간 대역을 사이즈 H × 1의 하나 이상의 벡터로 압축하는 것을 포함할 수 있으며 -H는 높이 및 L은 길이를 나타냄 -, 프로세싱을 위해 콘볼루션 신경망 스테이지들의 시퀀스에서 후속 콘볼루션 신경망 스테이지에 사이즈 H × 1의 하나 이상의 벡터들을 제공하는 것을 포함한다.
상기 시스템은 각각의 콘볼루션 신경망 스테이지 출력들을 생성하기 위해 상기 시퀀스 내의 후속 콘볼루션 신경망 스테이지들을 통해 제1 콘볼루션 출력을 프로세싱한다(단계 406). 일부 구현 예에서, 각각의 후속 콘볼루션 신경망 스테이지에 대해, 상기 시스템은 선행 콘볼루션 신경망 스테이지로부터 하나 이상의 벡터 입력들을 수신하고, 각각의 콘벌루션 신경망 스테이지 출력을 생성하기 위해 상기 수신된 하나 이상의 벡터 입력들의 사이즈를 2배만큼 감소시키고, 각각의 콘벌루션 신경망 스테이지 출력을 프로세싱을 위해 후속 신경망 스테이지에 제공한다. 예를 들어, 콘벌루션 신경망 스테이지들의 시퀀스에서 제1 콘벌루션 신경망 스테이지를 따르는 콘벌루션 신경망 스테이지에 대해, 상기 시스템은 사이즈 H × 1의 하나 이상의 벡터들을 수신하고, 하나 이상의 벡터들의 사이즈를 사이즈 H/2 × 1의 하나 이상의 벡터들을 포함하는 각각의 콘벌루션 네트워크 스테이지 출력을 생성한다. 상기 생성된 각각의 콘볼루션 신경망 스테이지 출력들은, 예를 들어, 로그(대수) 진행(logarithmic progression)과 같은 상이한 분해능에 걸쳐서 집계된 오디오 샘플 특징들을 생성하는 콘볼루션의 캐스케이드를 포함한다.
상기 시스템은 제1 서브네트워크 출력을 생성하기 위해 하나 이상의 생성된 콘볼루션 신경망 스테이지 출력들을 결합한다(단계 408). 일부 구현 예에서, 상기 제1 서브네트워크 출력은 상기 생성된 콘볼루션 스테이지 출력의 각각의 행 연결을 포함하며, 예를 들어 도 2의 콘볼루션 스테이지 N을 떠나는 최종 실선 화살표와 함께 콘벌루션 스테이지 A-C를 떠나는 점선 화살표로 표시된다. 다른 구현예들에서, 제1 서브네트워크 출력은 콘벌루션 신경망 스테이지들의 시퀀스에서의 최종 콘볼 루션 출력에 대응하는 단일 출력, 예를 들어 도 2의 콘볼루션 스테이지 N을 떠나는 실선 화살표를 포함한다. 다른 구현예들에서, 상기 제1 서브네트워크 출력은 상기 생성된 콘볼루션 스테이지 출력들 중 하나 이상의 조합을 포함한다.
상기 시스템은 신경망 출력을 생성하기 위해 다른 신경망 계층들의 시퀀스를 통해 출력된 제1 서브네트워크 계층 출력을 프로세싱한다(단계 410). 상기 생성된 신경망 출력은 단계(402)를 참조하여 전술한 오디오 샘플을 분류할 수 있다. 예를 들어, 오디오 샘플의 스펙트로그램이 발화를 나타내는 경우, 신경망 시스템(200)에 의해 생성된 출력은 텍스트의 부분들의 세트 각각에 대한 스코어일 수 있으며, 각각의 스코어는 텍스트의 부분이 발화 또는 발화들의 시퀀스에 대한 정확한 전사인 것으로 추정된 우도를 나타낸다. 다른 예들에서, 상기 신경망 출력은 단일 값 또는 다중 값들(예를 들어, 회귀)을 예측하는데 사용될 수 있다.
도 5는 콘벌루션 신경망 계층 및 하나 이상의 다른 신경망 계층들을 학습시키기 위한 예시적인 프로세스(500)의 흐름도이다. 편의상, 프로세스(500)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 대수 스케일 콘볼루션 신경망, 예를 들어, 본 명세서에 따라 적절히 프로그램된 도 1의 대수 스케일 콘볼루션 신경망 시스템(100)은 프로세스(500)를 수행할 수 있다.
상기 시스템은 학습 오디오 샘플들의 세트 각각에 대해, 학습 오디오 샘플의 주파수 도메인 특징들 및 학습 오디오 샘플에 대한 알려진 출력을 포함하는 학습 데이터를 획득한다(단계 502). 일부 구현 예에서, 상기 학습 데이터는 학습 오디오 샘플의 시간 도메인 특징들 및 학습 오디오 샘플에 대한 알려진 분류를 포함할 수 있다. 상기 주파수 도메인 특징들은 하나 이상의 주파수 대역들을 포함하는 주파수 스펙트럼에 있다. 예를 들어, 주파수 도메인 특징들은 오디오 샘플의 시간 도메인 특징들에 이산 푸리에 변환을 적용한 결과일 수 있다. 다른 예에서, 주파수 도메인 특징들은 고속 푸리에 변환, 필터 뱅크 또는 멜-주파수 셉스트럴을 오디오 샘플의 시간 도메인 특징들에 적용한 결과일 수 있다. 일부 구현 예에서, 오디오 샘플의 주파수 도메인 특징들은, 예를 들어 고속 푸리에 변환이 오디오 샘플의 시간 도메인 특징들을 주파수 도메인 특징들로 변환하는 데 사용되는 경우, 선형 스케일 주파수 도메인 특징들을 포함할 수 있다.
상기 시스템은 다른 신경망 계층들의 파라미터들의 값들을 조정하고, 학습된 파라미터들의 세트를 결정하기 위해 하나 이상의 콘벌루션 계층 필터들을 조정하기 위해 학습 데이터에 대해 신경망을 학습시킨다(단계 504). 상기 시스템은 도 3을 참조하여 전술한 바와 같이 학습 데이터를 신경망에 대한 입력으로서 프로세싱하여 학습 데이터 신경망 출력을 생성함으로써 신경망을 학습시킨다. 학습된 파라미터들의 세트를 결정하기 위해 하나 이상의 콘벌루션 계층 필터들을 조정하기 위해 학습 오디오 샘플에 대해 대수 스케일 콘볼루션 신경망 시스템의 콘볼루션 계층을 학습시키는 것은 도 6을 참조하여 이하에서 보다 상세히 설명된다.
상기 학습된 파라미터들의 세트는 주파수 도메인 특징들을 대수 스케일 주파수 도메인 특징들로의 최적의 대수 콘벌루션 맵핑을 정의한다.
도 6은 학습 오디오 샘플에 대해 대수 스케일 콘볼루션 신경망 시스템의 콘볼루션 계층을 학습시키기 위한 예시적인 프로세스(600)의 흐름도이다. 편의상, 프로세스(600)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 대수 스케일 콘볼루션 신경망, 예를 들어, 본 명세서에 따라 적절히 프로그램된 도 1의 대수 스케일 콘볼루션 신경망 시스템(100)은 프로세스(600)를 수행할 수 있다.
상기 시스템은 콘볼루션 신경망 계층에 대한 입력으로서 학습 오디오 샘플의 주파수 도메인 특징들을 수신한다(단계 602). 도 5를 참조하여 전술한 바와 같이, 학습 오디오 샘플의 주파수 도메인 특징들은 하나 이상의 주파수 대역들을 포함하는 주파수 스펙트럼에 존재한다.
상기 시스템은 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정한다(단계 604). 일부 구현 예에서, 상기 시스템은 주파수 스펙트럼의 가장 높은 부분(highest section)에 대응하는 주파수 대역을 선택하고, 상기 선택된 주파수 대역에 기초하여 상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정함으로써 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정한다. 일부 경우, 상기 시스템은 하나 이상의 콘볼루션 계층 필터들 각각의 미리 결정된 각각의 사이즈를 결정함으로써 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정한다.
상기 시스템은 하나 이상의 콘볼루션 계층 필터들의 결정된 사이즈와 매칭하도록 하나 이상의 주파수 대역들을 업스케일링한다(단계 606). 일부 구현 예에서, 상기 시스템은 선형, 이차(quadratic) 또는 스플라인 보간 방법과 같은 보간 방법들을 사용하여 하나 이상의 콘볼루션 계층 필터들의 결정된 사이즈와 매칭하도록 하나 이상의 주파수 대역들을 업스케일링한다. 예를 들어, 주파수 윈도우는 주파수 도메인 특징들을 나타내는 스펙트로그램을 통해 슬라이딩할 수 있는데, 여기서 상기 윈도우는 스펙트로그램에 윈도우가 위치하는 곳의 상(upper), 중(mid) 또는 하한(lower) 주파수에 기초하여 결정되는 가변 높이를 갖는다. 상기 콘볼루션 필터는 최고 주파수 대역에서 스펙트로그램의 전체 분해능을 캡처할 수 있는 충분한 파라미터들을 가지고 있기 때문에 다른 모든 주파수에서 스펙트로그램의 윈도우는 콘벌루션 필터의 사이즈와 매칭하도록 업스케일링된다. 예를 들어, 단계(604)에서, 주파수 스펙트럼의 가장 높은 부분에 대응하는 주파수 대역을 선택하는 것에 기초하여, 상기 시스템은 하나 이상의 콘벌루션 필터의 사이즈를 51×1로 결정할 수 있다. 주파수의 절반에서, 상기 시스템은 51×1로 25×1 패치(patch)를 업스케일링할 수 있어서, 각각의 콘볼루션 필터가 대수 스케일로 적용된다. 일부 구현예들에서, 상기 콘벌루션 필터들은 시간에 따라 수행될 수 있고, 따라서 하나 이상의 열을 포함할 수 있다.
상기 시스템은 콘벌루션 계층 출력을 생성하기 위해 콘벌루션 계층을 사용하여 업스케일링된 하나 이상의 주파수 대역들을 프로세싱한다(단계 608). 상기 업스케일링된 주파수 대역들을 프로세싱함으로써, 상기 시스템은 가장 높은 분해능의 콘볼루션을 학습하고, 하나 이상의 콘벌루션 필터들을 대수 스케일로 적용할 수 있다. 대수 콘벌루션 매핑은 전체 주파수 스펙트럼에 걸쳐 균일하게 적용된다. 일부 구현 예에서, 대수 콘벌루션 맵핑은 다른 콘볼루션 계층 하이퍼파라미터들과 함께 대수의 베이스(base of the logarithm)를 튜닝함으로써 조정될 수 있다.
상기 시스템은 콘볼루션 계층 위의 신경망 계층으로부터 주파수 도메인 특징들에 대한 역전파 기울기(back-propagated gradient)를 수신한다(단계 610). 예를 들어, 역전파 기울기는 신경망의 최상위 계층(top layer)에 대한 기울기를 계산한 다음 역전파 기술들을 사용하여 신경망 계층들을 통해 계산된 기울기를 역전파함으로써 생성될 수 있다.
상기 시스템은 현재 콘볼루션 계층 필터들에 대해 신경망에 대한 에러 함수의 기울기를 계산한다 (단계 612). 예를 들어, 일부 구현 예에서, 상기 에러 함수는 하나 이상의 콘벌루션 계층 필터들 및 수신된 역전파 기울기에 의존할 수 있다.
상기 시스템은 상기 계산된 기울기를 사용하여 하나 이상의 콘볼루션 계층 필터들을 업데이트한다(단계 614). 예를 들어, 상기 시스템은, 예를 들어, 상기 기울기 및 벡터를 합산함으로써, 또는 그 기울기에 학습 속도를 곱한 다음 그 곱을 상기 벡터에 가산함으로써, 기계 학습 훈련 기술들을 사용하여 콘볼루션 계층 필터들을 전체적으로 규정하는 벡터의 값들을 업데이트할 수 있다.
도 7은 하나 이상의 다른 신경망 계층 및 콘벌루션 신경망 스테이지들의 캐스케이드를 학습시키기 위한 예시적인 프로세스(700)의 흐름도이다. 편의상, 프로세스(700)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 콘벌루션 스테이지들의 캐스케이드를 포함하는 신경망 시스템, 예를 들어, 본 명세서에 따라 적절하게 프로그래밍된 도 1의 캐스케이드 콘벌루션 신경망 시스템(200)은 프로세스(700)를 수행할 수 있다.
상기 시스템은 복수의 학습 오디오 샘플(training audio sample)들 각각에 대해 학습 오디오 샘플의 스펙트로그램 및 학습 오디오 샘플에 대한 알려진 출력을 포함하는 학습 데이터(training data)를 획득한다(단계 702). 일부 구현 예에서, 학습 데이터는 학습 오디오 샘플의 시간 도메인 특징들 및 학습 오디오 샘플에 대한 알려진 분류를 포함할 수 있다.
상기 시스템은 다른 신경망 계층들의 파라미터들의 값들을 조정하고, 학습된 파라미터들의 세트를 결정하기 위해 각각의 콘볼루션 신경망 스테이지에서 콘볼루션 신경망 계층들에 대한 하나 이상의 콘벌루션 계층 파라미터들의 값들을 조정하기 위해 학습 데이터에 대해 신경망을 학습시킨다(단계 704). 상기 시스템은 도 4를 참조하여 전술한 바와 같이 학습 데이터를 신경망에 대한 입력으로서 프로세싱하여 학습 데이터 신경망 출력을 생성함으로써 신경망을 학습시킨다.
일부 구현 예에서, 학습 데이터에 대한 신경망 시스템을 학습시키는 것은, 제1 서브네트워크의 콘볼루션 스테이지들의 시퀀스에서 각 콘볼루션 계층에 대해, 각각의 콘볼루션 계층 입력을 수신하는 것을 포함하며, 예를 들어, 스펙트로그램을 수신하는 제1 콘볼루션 스테이지에서의 제1 콘벌루션 신경망 계층에 대해, 또는 제1 콘볼루션 스테이지 출력을 수신하는 제2 콘볼루션 신경망 스테이지에서의 제1 콘볼루션 계층에 대해 사용될 수 있다. 상기 신경망 시스템을 학습시키는 것은, 제1 서브네트워크의 각각의 콘볼루션 계층에 대해, 콘볼루션 계층을 통해 상기 수신된 콘볼루션 계층 입력을 프로세싱하여, 예를 들어 도 4를 참조하여 상술한 바와 같이 콘볼루션 계층 출력을 생성하는 것과, 콘볼루션 계층 위의 신경망 계층으로부터의 스펙트로그램에 대한 역전파 기울기를 수신하는 것과, 상기 신경망에 대한 에러 함수의 상기 기울기를 계산하는 것과 -상기 에러 함수는 각각의 콘볼루션 계층 필터들 및 상기 수신된 역전파된 기울기에 의존함-, 상기 계산된 기울기를 사용하여 각각의 콘볼루션 계층 필터들을 업데이트하는 것을 포함한다.
학습된 파라미터들은 주파수 도메인 특징들과 다중 스케일링된 주파수 도메인 특징들의 최적 콘벌루션 매핑을 정의한다(단계 706). 예를 들어 출력 계층과 같이 캐스케이드 콘볼루션 신경망 시스템의 다른 신경망 계층들은 연결된 콘볼루션 신경망 스테이지 출력에서 적절한 특징들을 선택하여 사용할 수 있으므로, 상기 신경망 시스템이 주파수 도메인 특징들과 다중 스케일링된 주파수 도메인 특징들의 소정의 태스크에 대한 콘벌루션 매핑을 조정하고 최적화할 수 있게 한다. 예를 들어, 음성 인식 설정과 같은 일부 설정에서, 주파수 도메인 특징들과 다중 스케일링된 주파수 도메인 특징들의 상기 결정된 최적 콘벌루션 매핑은 주파수 도메인 특징들과 대수 또는 근사 스케일링된 주파수 도메인 특징들의 콘볼루션 맵핑을 포함할 수 있다.
본 명세서에서 설명된 요지 및 기능적 동작의 실시 예는 디지털 전자 회로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어로 구현될 수 있으며, 본 명세서 및 그 구조적 균등물에 개시된 구조를 포함하거나, 그들 중 하나 이상의 조합을 포함한다. 본 명세서에서 설명된 본질의 실시 예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 프로세싱 장치에 의해 실행되거나 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 유형의 비-일시적인 프로그램 캐리어상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 선택적으로 또는 부가적으로, 상기 프로그램 명령어들은 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성된 인위적으로 생성된 전파 신호, 예를 들어, 기계 - 생성 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 장치, 또는 이들 중 하나 이상의 조합일 수 있다. 그러나 컴퓨터 저장 매체는 전파된 신호가 아니다.
"데이터 프로세싱 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 또는 복수의 프로세서 또는 컴퓨터를 포함하는 데이터 프로세싱을 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 상기 장치는 하드웨어 이외에, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 설명될 수 있음)은 컴파일된 또는 해석된 언어, 또는 선언적 또는 절차적 언어를 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 장치를 포함하여 어떤 형태로든 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 프로그램 전용 단일 파일, 여러 개의 조정된 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 부분들을 저장하는 파일들), 또는 마크업 언어 문서에 저장된 하나 이상의 스크립트와 같은 다른 프로그램들 또는 데이터를 보유하고 있는 파일의 부분에 저장될 수 있다. 컴퓨터 프로그램은 한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 여러 대의 컴퓨터 또는 하나의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 사용되는 "엔진" 또는 "소프트웨어 엔진"은 입력과 다른 출력을 제공하는 소프트웨어로 구현되는 입력/출력 시스템을 의미한다. 엔진은 라이브러리, 플랫폼, SDK(소프트웨어 개발 키트) 또는 오브젝트와 같이 인코딩된 기능 블록일 수 있다. 각 엔진은 하나 이상의 프로세서 및 컴퓨터 판독 가능 매체를 포함하는, 서버들, 휴대 전화기들, 태블릿 컴퓨터들, 노트북 컴퓨터들, 음악 플레이어들, 전자 책 리더기들, 노트북 또는 데스크톱 컴퓨터들, PDA들, 스마트폰들 또는 다른 고정식 또는 휴대용 디바이스들과 같은 모든 유형의 컴퓨팅 디바이스에서 구현할 수 있다. 또한, 2개 이상의 엔진은 동일한 컴퓨팅 장치 또는 상이한 컴퓨팅 장치들 상에 구현될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름은 입력 데이터를 오퍼레이팅하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 상기 프로세스들 및 로직 흐름은 또한 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 특수 목적의 논리 회로에 의해 수행될 수 있고, 장치는 또한 상기 특수 목적의 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 예를 들어 범용 또는 특수 목적 마이크로프로세서들 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 포함하고, 이들에 기반될 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소들은 명령어들을 수행하거나 실행하기 위한 중앙 처리 장치 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 예를 들어, 자기, 광 자기 디스크 또는 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치로부터 데이터를 수신하거나 그 하나 이상의 대용량 저장 장치에 데이터를 전송하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터는 그러한 장치들을 가질 필요가 없다. 또한, 컴퓨터는 다른 장치, 예를 들어, 이동 전화기, 개인 휴대 정보 단말기(PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 예를 들어 범용 직렬 버스(USB) 플래시 드라이브와 같은 휴대용 저장 장치에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치들과 같은 반도체 메모리 장치들; 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 그리고 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치들을 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로에 의해 통합되거나 그 안에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 요지의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치, 예를 들어 CRT(cathode ray tube) 모니터, LCD(liquid crystal display) 모니터, 또는 OLED 디스플레이뿐만 아니라 키보드, 마우스, 또는 근접 감지 디스플레이나 다른 표면과 같이 입력을 컴퓨터에 제공하기 위한 입력 장치를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스들이 사용자와의 상호 작용을 제공하는 데 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 디바이스로부터 자원들을 수신하고 그 자원들을 보냄으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호 작용할 수 있다.
본 명세서에서 설명된 요지의 실시예들은 데이터 서버와 같은 백 엔드 컴포넌트, 또는 예를 들어 애플리케이션 서버와 같은 미들웨어 컴포넌트, 또는 본 명세서에 설명된 요지의 구현예와 사용자가 상호 작용할 수 있는 웹 브라우저를 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트, 또는 하나 이상의 백엔드, 미들웨어 또는 프런트 엔드 컴포넌트의 모든 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 상기 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 예시적인 통신 네트워크들은 근거리 통신망("LAN") 및 광역 통신망("WAN"), 예를 들어 인터넷을 포함한다.
상기 컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시 예에서, 서버는 클라이언트로서 동작하는 사용자 장치와 상호 작용하는 사용자로부터 데이터를 디스플레이하고 사용자 입력을 수신하기 위한 목적으로, 예를 들어 HTML 페이지와 같은 데이터를 사용자 장치로 송신한다. 예를 들어, 사용자 상호 작용의 결과로서, 사용자 장치에서 생성된 데이터는 서버에서의 사용자 장치로부터 수신될 수 있다.
본 명세서는 다수의 특정 구현 세부 사항을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 실시예들에 특정 될 수 있는 특징들에 대한 설명으로 해석되어야 한다. 별도의 실시예들과 관련하여 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 문맥에서 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 동작하는 것으로 상술될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에서 그 조합으로부터 제거될 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해 상기 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술한 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다중 소프트웨어 제품들로 패키징될 수 있다는 것을 이해해야 한다.
본 발명의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 열거된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과들을 달성한다. 하나의 예로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과들을 얻기 위해 나타낸 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 특정 구현예들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법으로서,
    상기 신경망은 오디오 샘플의 선형 스케일 주파수 도메인 특징들을 수신하고, 상기 오디오 샘플에 대한 신경망 출력을 생성하기 위해 상기 선형 스케일 주파수 도메인 특징들을 프로세싱하도록 구성되며,
    상기 신경망은, (i) 선형 스케일 주파수 도메인 특징들을 대수 스케일링된(logarithmic scaled) 주파수 도메인 특징들에 맵핑하도록 구성된 콘볼루션 계층 -선형 스케일 주파수 도메인 특징들을 대수 스케일링된 주파수 도메인 특징들에 매핑하는 것은 상기 콘볼루션 계층의 하나 이상의 콘볼루션 계층 필터들에 의해 정의됨(defined)-, 그리고 (ii) 상기 신경망 출력을 생성하기 위해 상기 대수 스케일링된 주파수 도메인 특징들을 프로세싱하도록 구성된 각각의 계층 파라미터들을 갖는 하나 이상의 다른 신경망 계층들을 포함하며,
    상기 방법은,
    복수의 학습 오디오 샘플들 각각에 대해, 상기 학습 오디오 샘플의 선형 스케일 주파수 도메인 특징들 및 상기 학습 오디오 샘플에 대한 알려진 출력(known output)을 포함하는 학습 데이터를 획득하는 단계; 그리고
    상기 다른 신경망 계층들의 계층 파라미터들의 값들을 조정하고, 그리고 대수 스케일링된 주파수 도메인 특징들에 대한 선형 스케일 주파수 도메인 특징들의 대수 콘볼루션 매핑을 정의(define)하기 위해 선형 스케일 주파수 도메인 특징들을 대수 스케일링된 주파수 도메인 특징들에 매핑하는 것을 정의하는 상기 하나 이상의 콘볼루션 계층 필터들을 조정하도록 상기 학습 데이터에 대해 상기 신경망을 학습시키는 단계를 포함하며,
    상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈는 학습 오디오 샘플의 선형 스케일 주파수 도메인 특징들에 기초하는 것을 특징으로 하는 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법.
  2. 제1항에 있어서, 상기 학습 오디오 샘플의 상기 선형 스케일 주파수 도메인 특징들은 복수의 주파수 대역들을 포함하는 주파수 스펙트럼에 존재하는 것을 특징으로 하는 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법.
  3. 제2항에 있어서,
    상기 학습 데이터에 대해 상기 신경망을 학습시키는 단계는,
    상기 콘볼루션 계층에 대해,
    상기 학습 오디오 샘플의 상기 선형 스케일 주파수 도메인 특징들을 수신하는 단계;
    상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정하는 단계;
    상기 하나 이상의 콘볼루션 계층 필터들의 상기 결정된 사이즈와 매칭하도록 상기 복수의 주파수 대역들 각각을 업스케일링(upscaling)하는 단계;
    콘볼루션 계층 출력을 생성하기 위해 상기 콘볼루션 계층을 사용하여 상기 하나 이상의 업스케일링된 주파수 대역들을 프로세싱하는 단계;
    상기 콘볼루션 계층 위의 신경망 계층으로부터 상기 선형 스케일 주파수 도메인 특징들에 대한 역전파된 기울기(back-propagated gradient)를 수신하는 단계;
    상기 하나 이상의 콘볼루션 계층 필터들에 대해 상기 신경망에 대한 에러 함수의 기울기를 계산하는 단계 -상기 에러 함수는 상기 하나 이상의 콘볼루션 계층 필터들 및 상기 수신된 역전파된 기울기에 의존함 -; 그리고
    상기 계산된 기울기를 사용하여 상기 하나 이상의 콘볼루션 계층 필터들을 업데이트하는 단계를 포함하는 것을 특징으로 하는 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법.
  4. 삭제
  5. 제3항에 있어서,
    상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈를 결정하는 단계는,
    상기 하나 이상의 콘볼루션 계층 필터들 각각의 미리 결정된 사이즈를 결정하는 단계를 포함하는 것을 특징으로 하는 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법.
  6. 제3항에 있어서,
    상기 하나 이상의 콘볼루션 계층 필터들의 결정된 사이즈와 매칭하도록 상기 하나 이상의 주파수 대역들을 업스케일링하는 단계는,
    보간 방법들(interpolation methods)을 사용하여 상기 하나 이상의 주파수 대역들을 업스케일링하는 단계를 포함하는 것을 특징으로 하는 학습 데이터에 대해 복수의 신경망 계층들을 포함하는 신경망을 학습시키는 방법.
  7. 삭제
  8. 신경망의 복수의 계층들 각각을 통해 입력된 데이터를 프로세싱하는 방법으로서,
    상기 신경망은 오디오 샘플의 선형 스케일 주파수 도메인 특징들을 수신하고, 상기 오디오 샘플에 대한 신경망 출력을 생성하기 위해 상기 선형 스케일 주파수 도메인 특징들을 프로세싱하도록 구성되며,
    상기 신경망은 (i) 선형 스케일 주파수 도메인 특징들을 대수 스케일링된 주파수 도메인 특징들에 맵핑하도록 구성된 콘볼루션 계층 -선형 스케일 주파수 도메인 특징들을 대수 스케일링된 주파수 도메인 특징들에 매핑하는 것은 상기 콘볼루션 계층의 하나 이상의 콘볼루션 계층 필터들에 의해 정의됨-, 그리고 (ii) 상기 신경망 출력을 생성하기 위해 상기 대수 스케일링된 주파수 도메인 특징들을 프로세싱하도록 구성된 각각의 계층 파라미터들을 갖는 하나 이상의 다른 신경망 계층들을 포함하며,
    상기 방법은,
    오디오 샘플의 선형 스케일 주파수 도메인 특징들을 포함하는 데이터 입력을 획득하는 단계;
    콘볼루션 계층 출력을 생성하기 위해 콘볼루션 계층을 사용하여 상기 선형 스케일 주파수 도메인 특징들을 프로세싱하는 단계 -상기 콘볼루션 계층 출력은 대수 스케일링된 주파수 도메인 특징들을 포함함 -; 그리고
    상기 신경망 출력을 생성하기 위해 상기 하나 이상의 다른 신경망 계층들을 사용하여 상기 생성된 콘볼루션 계층 출력을 프로세싱하는 단계를 포함하며, 상기 하나 이상의 콘볼루션 계층 필터들 각각의 사이즈는 오디오 샘플의 선형 스케일 주파수 도메인 특징들에 기초하는 것을 특징으로 하는 신경망의 복수의 계층들 각각을 통해 입력된 데이터를 프로세싱하는 방법.
  9. 제8항에 있어서,
    콘볼루션 계층 출력을 생성하기 위해 콘볼루션 계층을 사용하여 상기 선형 스케일 주파수 도메인 특징들을 프로세싱하는 단계 -상기 콘볼루션 계층 출력은 대수 스케일링된 주파수 도메인 특징들을 포함함 -는,
    상기 콘볼루션 계층에서, 상기 선형 스케일 주파수 도메인 특징들을 수신하는 단계 -상기 선형 스케일 주파수 도메인 특징들은 하나 이상의 주파수 대역들을 포함하는 주파수 스펙트럼에 존재함-;
    각각의 주파수 대역에 대해, 상기 주파수 대역에 기초하여 각각의 콘볼루션 필터의 사이즈를 다운스케일링하고; 그리고
    상기 다운스케일링된 하나 이상의 콘볼루션 필터들을 사용하여 상기 하나 이상의 주파수 대역들을 프로세싱하여 상기 콘볼루션 계층 출력을 생성하는 단계를 포함하는 것을 특징으로 하는 신경망의 복수의 계층들 각각을 통해 입력된 데이터를 프로세싱하는 방법.
  10. 하나 이상의 컴퓨터들 및 상기 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 신경망 시스템을 구현하도록 하는 동작들을 수행하게 하는 명령어들을 저장하는 하나 이상의 저장 장치들을 포함하는 시스템으로서,
    상기 신경망 시스템은 복수의 신경망 계층들을 포함하며, 상기 신경망 시스템은 오디오 샘플의 선형 스케일 스펙트로그램(spectrogram)을 획득하고, 상기 오디오 샘플에 대한 신경망 출력을 생성하도록 상기 선형 스케일 스펙트로그램을 프로세싱하도록 구성되며,
    상기 복수의 신경망 계층들은,
    선형 스케일 주파수 도메인 특징들과 멀티 스케일(multi-scale) 주파수 도메인 특징들의 콘볼루션 맵핑(convolutional mapping)을 수행하도록 구성된 복수의 콘볼루션 신경망 스테이지들의 시퀀스를 포함하는 제1 서브네트워크 -상기 콘볼루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 스테이지는 각각 콘볼루션 계층 파라미터들을 각각 갖는 하나 이상의 콘볼루션 신경망 계층들을 포함하고, (i) 콘볼루션 신경망 스테이지들의 시퀀스에서의 제1 콘볼루션 신경망 스테이지는 상기 오디오 샘플의 상기 선형 스케일 스펙트로그램을 획득하고 그리고 제1 콘볼루션 출력을 생성하도록 구성되며, (ii) 콘볼루션 신경망 스테이지들의 시퀀스에서의 각각의 후속(subsequent) 콘볼루션 신경망 스테이지는,
    선행(preceding) 콘볼루션 신경망 스테이지로부터 하나 이상의 벡터 입력들을 수신하고;
    감소된 사이즈의 하나 이상의 벡터들을 포함하는 각각의 콘볼루션 신경망 스테이지 출력을 생성하기 위해 수신된 하나 이상의 벡터 입력들의 벡터 사이즈를 2배만큼 감소시키고 -각 벡터 사이즈는 특정한 특징 스케일을 나타냄-; 그리고
    프로세싱을 위해 각각의 콘볼루션 신경망 스테이지 출력을 후속 신경망 계층에 제공하도록 구성됨 -;
    다른 신경망 계층들을 포함하는 제2 서브네트워크를 포함하며, 상기 다른 신경망 계층들은 계층 파라미터들을 각각 갖는 (i) 은닉 신경망 계층 및 (ii) 출력 계층을 적어도 포함하며,
    (i) 상기 은닉 신경망 계층은 상기 콘볼루션 신경망 계층들의 시퀀스에서 상기 콘볼루션 신경망 계층들에 의해 생성된 상기 콘볼루션 신경망 출력들 모두의 조합을 수신하고, 은닉 신경망 계층 출력을 생성하고, (ii) 상기 출력 계층은 상기 은닉 신경망 출력으로부터 유도된 출력을 수신하고, 상기 오디오 샘플에 대한 상기 신경망 출력을 생성하도록 구성되는 것을 특징으로 하는 시스템.
  11. 제10항에 있어서,
    상기 제1 콘볼루션 신경망 스테이지는,
    상기 오디오 샘플의 선형 스케일 스펙트로그램을 수신하고 -상기 선형 스케일 스펙트로그램은 주파수 대역들에 대응하는 복수의 행들(rows) 및 시간 대역들에 대응하는 복수의 열들(columns)을 포함함 -;
    길이 L×높이 H의 시간 대역을 사이즈 H× 1의 하나 이상의 벡터들로 압축하고;
    프로세싱을 위해 콘볼루션 신경망 스테이지들의 시퀀스에서 후속 콘볼루션 신경망 스테이지에 상기 사이즈 H× 1의 하나 이상의 벡터들을 제공하도록 구성되는 것을 특징으로 하는 시스템.
  12. 삭제
  13. 제10항에 있어서,
    후속 콘볼루션 신경망 스테이지들에 포함된 콘볼루션 계층 파라미터들은 높이 3 및 행 스트라이드 2의 콘볼루션 계층 필터들을 포함하는 것을 특징으로 하는 시스템.
  14. 제10항에 있어서,
    각각의 후속 콘볼루션 신경망 스테이지는, (i) 행 스트라이드 1을 갖는 1x1x2 콘볼루션 계층 다음에 행 스트라이드 2를 갖는 최대 풀링 계층(max pooling layer), (ii) 3x1xD 콘볼루션 계층, 및 (iii) 행 스트라이드 1을 갖는 3x1xD의 DS(depthwise-separable) 콘볼루션 다음에 행 스트라이드 2를 갖는 최대 풀링 계층을 적어도 포함하며, 여기서 D는 콘볼루션 계층 필터 깊이(depth)를 나타내는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서, 각각의 후속 콘볼루션 신경망 스테이지는 ReLU(rectified linear unit)들을 포함하는 것을 특징으로 하는 시스템.
  16. 제10항에 있어서,
    상기 은닉 신경망 계층은 각각 생성된 콘볼루션 스테이지 출력의 행 연결(row concatenation)을 수신하도록 구성되는 것을 특징으로 하는 시스템.
  17. 제10항에 있어서,
    상기 은닉 신경망 계층은 콘볼루션 신경망 스테이지들의 시퀀스에서 최종 콘볼루션에 대응하는 출력을 수신하도록 구성되는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    콘볼루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 계층의 깊이는 콘볼루션 신경망 스테이지들의 시퀀스를 통해 증가하는 것을 특징으로 하는 시스템.
  19. 제10항에 있어서,
    콘볼루션 신경망 스테이지들의 시퀀스에서 각 콘볼루션 신경망 계층의 깊이는 1보다 큰 것을 특징으로 하는 시스템.
  20. 제10항에 있어서,
    상기 신경망 시스템은 다른 신경망 계층들의 계층 파라미터들의 값들을 조정하고, 그리고 선형 스케일 주파수 영역 특징들과 멀티 스케일 주파수 도메인 특징들과의 최적 콘볼루션 맵핑을 결정하기 위해 하나 이상의 각각의 콘볼루션 계층 파라미터들을 조정하도록 학습 데이터에 대해 학습되며, 상기 학습은,
    복수의 학습 오디오 샘플들 각각에 대해, 상기 학습 오디오 샘플의 선형 스케일 스펙트로그램 및 상기 학습 오디오 샘플에 대한 알려진 출력을 포함하는 학습 데이터를 획득하고;
    상기 제2 서브네트워크의 상기 다른 신경망 계층들의 계층 파라미터들의 값들을 조정하고, 그리고 선형 스케일 주파수 도메인 특징들과 멀티 스케일 주파수 도메인 특징들과의 콘볼루션 매핑을 정의(define)하기 위해 상기 하나 이상의 콘볼루션 계층 파라미터들을 조정하도록 상기 학습 데이터에 대해 상기 신경망 시스템을 학습시키는 것을 포함하며; 상기 학습은, 상기 제1 서브네트워크의 각 콘볼루션 계층에 대해,
    각각의 콘볼루션 계층 입력을 수신하고;
    상기 콘볼루션 계층을 통해 상기 수신된 콘볼루션 계층 입력을 프로세싱하여 콘볼루션 계층 출력을 생성하고;
    상기 콘볼루션 계층 위의 신경망 계층으로부터 상기 선형 스케일 스펙트로그램에 대한 역전파된 기울기를 수신하고;
    상기 신경망 시스템에 대한 에러 함수의 기울기를 계산하고 -상기 에러 함수는 각각의 콘볼루션 계층 파라미터들 및 상기 수신된 역전파된 기울기에 의존함-;
    상기 계산된 기울기를 사용하여 상기 각각의 콘볼루션 계층 파라미터들을 업데이트하는 것을 포함하는 것을 특징으로 하는 시스템.
KR1020187035639A 2016-05-10 2017-05-10 신경망을 이용한 주파수 기반 오디오 분석 KR102213013B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/151,362 US10460747B2 (en) 2016-05-10 2016-05-10 Frequency based audio analysis using neural networks
US15/151,362 2016-05-10
PCT/US2017/031890 WO2017196931A1 (en) 2016-05-10 2017-05-10 Frequency based audio analysis using neural networks

Publications (2)

Publication Number Publication Date
KR20190005217A KR20190005217A (ko) 2019-01-15
KR102213013B1 true KR102213013B1 (ko) 2021-02-08

Family

ID=58993193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187035639A KR102213013B1 (ko) 2016-05-10 2017-05-10 신경망을 이용한 주파수 기반 오디오 분석

Country Status (6)

Country Link
US (1) US10460747B2 (ko)
EP (1) EP3440598B1 (ko)
JP (1) JP6765445B2 (ko)
KR (1) KR102213013B1 (ko)
CN (1) CN109155006A (ko)
WO (1) WO2017196931A1 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3155320A1 (en) 2016-09-06 2018-03-15 Deepmind Technologies Limited Generating audio using neural networks
US11080591B2 (en) * 2016-09-06 2021-08-03 Deepmind Technologies Limited Processing sequences using convolutional neural networks
EP3497630B1 (en) 2016-09-06 2020-11-04 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US10224058B2 (en) 2016-09-07 2019-03-05 Google Llc Enhanced multi-channel acoustic models
JP6756916B2 (ja) 2016-10-26 2020-09-16 ディープマインド テクノロジーズ リミテッド ニューラルネットワークを使用したテキストシーケンスの処理
US10140980B2 (en) * 2016-12-21 2018-11-27 Google LCC Complex linear projection for acoustic modeling
CN106710589B (zh) * 2016-12-28 2019-07-30 百度在线网络技术(北京)有限公司 基于人工智能的语音特征提取方法及装置
US10878837B1 (en) * 2017-03-01 2020-12-29 Snap Inc. Acoustic neural network scene detection
US10692502B2 (en) * 2017-03-03 2020-06-23 Pindrop Security, Inc. Method and apparatus for detecting spoofing conditions
US11410024B2 (en) * 2017-04-28 2022-08-09 Intel Corporation Tool for facilitating efficiency in machine learning
CN110612536B (zh) * 2017-05-19 2024-01-26 谷歌有限责任公司 神经机器翻译的逐深度可分离卷积
KR102410820B1 (ko) * 2017-08-14 2022-06-20 삼성전자주식회사 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
US11030722B2 (en) * 2017-10-04 2021-06-08 Fotonation Limited System and method for estimating optimal parameters
CN110019931B (zh) * 2017-12-05 2023-01-24 腾讯科技(深圳)有限公司 音频分类方法、装置、智能设备和存储介质
US20190220737A1 (en) * 2018-01-17 2019-07-18 Hengshuai Yao Method of generating training data for training a neural network, method of training a neural network and using neural network for autonomous operations
US11688160B2 (en) 2018-01-17 2023-06-27 Huawei Technologies Co., Ltd. Method of generating training data for training a neural network, method of training a neural network and using neural network for autonomous operations
DE102018200878B3 (de) * 2018-01-19 2019-02-21 Zf Friedrichshafen Ag Detektion von Gefahrengeräuschen
CN110083448B (zh) * 2018-01-25 2023-08-18 腾讯科技(深圳)有限公司 一种计算资源调整方法、装置以及相关设备
US11604979B2 (en) * 2018-02-06 2023-03-14 International Business Machines Corporation Detecting negative experiences in computer-implemented environments
US11902369B2 (en) 2018-02-09 2024-02-13 Preferred Networks, Inc. Autoencoder, data processing system, data processing method and non-transitory computer readable medium
JP6872197B2 (ja) * 2018-02-13 2021-05-19 日本電信電話株式会社 音響信号生成モデル学習装置、音響信号生成装置、方法、及びプログラム
US10522167B1 (en) * 2018-02-13 2019-12-31 Amazon Techonlogies, Inc. Multichannel noise cancellation using deep neural network masking
KR102473447B1 (ko) * 2018-03-22 2022-12-05 삼성전자주식회사 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
US11462209B2 (en) * 2018-05-18 2022-10-04 Baidu Usa Llc Spectrogram to waveform synthesis using convolutional networks
US11416741B2 (en) 2018-06-08 2022-08-16 International Business Machines Corporation Teacher and student learning for constructing mixed-domain model
US11651206B2 (en) * 2018-06-27 2023-05-16 International Business Machines Corporation Multiscale feature representations for object recognition and detection
US11205419B2 (en) * 2018-08-28 2021-12-21 International Business Machines Corporation Low energy deep-learning networks for generating auditory features for audio processing pipelines
CN109284782B (zh) * 2018-09-13 2020-10-02 北京地平线机器人技术研发有限公司 用于检测特征的方法和装置
US11676008B2 (en) * 2018-09-27 2023-06-13 Google Llc Parameter-efficient multi-task and transfer learning
CN111259385B (zh) * 2018-11-30 2023-10-31 北京奇虎科技有限公司 应用程序识别方法、装置及神经网络系统
US20200184991A1 (en) * 2018-12-05 2020-06-11 Pascal Cleve Sound class identification using a neural network
CN109525787B (zh) * 2018-12-13 2021-03-16 南京邮电大学 面向直播场景的实时字幕翻译及系统实现方法
KR102645659B1 (ko) * 2019-01-04 2024-03-11 삼성전자주식회사 뉴럴 네트워크 모델에 기반하여 무선 통신을 수행하는 장치 및 방법
US10325352B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for transforming CNN layers to optimize CNN parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
CN109948452A (zh) * 2019-02-22 2019-06-28 中国电子科技集团公司第三十六研究所 一种时序信号预测方法和装置
US10511908B1 (en) * 2019-03-11 2019-12-17 Adobe Inc. Audio denoising and normalization using image transforming neural network
CN110070867B (zh) * 2019-04-26 2022-03-11 珠海普林芯驰科技有限公司 语音指令识别方法、计算机装置及计算机可读存储介质
KR102330496B1 (ko) * 2019-08-20 2021-11-24 주식회사 포켓메모리 음성인식 방법 및 장치
CN110619887B (zh) * 2019-09-25 2020-07-10 电子科技大学 一种基于卷积神经网络的多说话人语音分离方法
CN111179971A (zh) * 2019-12-03 2020-05-19 杭州网易云音乐科技有限公司 无损音频检测方法、装置、电子设备及存储介质
CN111090758B (zh) * 2019-12-10 2023-08-18 腾讯科技(深圳)有限公司 媒体数据处理方法、装置及存储介质
CN111292724A (zh) * 2020-02-13 2020-06-16 上海凯岸信息科技有限公司 一种基于深度学习的语音情绪识别方案
CN113270091B (zh) * 2020-02-14 2024-04-16 声音猎手公司 音频处理系统和方法
CN111199747A (zh) * 2020-03-05 2020-05-26 北京花兰德科技咨询服务有限公司 人工智能通信系统及通信方法
CN111429215B (zh) * 2020-03-18 2023-10-31 北京互金新融科技有限公司 数据的处理方法和装置
CN111444967B (zh) * 2020-03-30 2023-10-31 腾讯科技(深圳)有限公司 生成对抗网络的训练方法、生成方法、装置、设备及介质
CN111477250B (zh) * 2020-04-07 2023-11-28 北京达佳互联信息技术有限公司 音频场景识别方法、音频场景识别模型的训练方法和装置
CN111640444B (zh) * 2020-04-17 2023-04-28 宁波大学 基于cnn的自适应音频隐写方法和秘密信息提取方法
CN111583940A (zh) * 2020-04-20 2020-08-25 东南大学 极低功耗关键词唤醒神经网络电路
CN111583957B (zh) * 2020-04-21 2023-04-28 华南理工大学 基于五音阶乐律声谱图和级联神经网络的戏曲分类方法
CN111933188B (zh) * 2020-09-14 2021-02-05 电子科技大学 一种基于卷积神经网络的声音事件检测方法
CN112244873A (zh) * 2020-09-29 2021-01-22 陕西科技大学 一种基于混合神经网络的脑电时空特征学习与情感分类方法
CN112633175A (zh) * 2020-12-24 2021-04-09 哈尔滨理工大学 复杂环境下基于多尺度卷积神经网络单音符实时识别算法
CN112712060A (zh) * 2021-01-15 2021-04-27 国网浙江省电力有限公司电力科学研究院 一种高压支柱瓷绝缘子声信号自动识别方法
CN112802484B (zh) * 2021-04-12 2021-06-18 四川大学 一种混合音频下的大熊猫声音事件检测方法及系统
US20240137074A1 (en) * 2021-04-16 2024-04-25 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus for determining signal detection network
CN115736907A (zh) * 2021-09-04 2023-03-07 天津大学 基于级联卷积神经网络的可穿戴微波无损检测人体血糖
CN113990303B (zh) * 2021-10-08 2024-04-12 华南理工大学 基于多分辨率空洞深度可分卷积网络的环境声音辨识方法
CN114063965A (zh) * 2021-11-03 2022-02-18 腾讯音乐娱乐科技(深圳)有限公司 高解析音频生成方法、电子设备及其训练方法
CN114360526B (zh) * 2022-03-16 2022-06-17 杭州研极微电子有限公司 音频检测设备、方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161995A1 (en) * 2013-12-06 2015-06-11 Nuance Communications, Inc. Learning front-end speech recognition parameters within neural network training
US20160063359A1 (en) * 2014-08-29 2016-03-03 Google Inc. Processing images using deep neural networks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239444A1 (en) * 2006-03-29 2007-10-11 Motorola, Inc. Voice signal perturbation for speech recognition
US8838260B2 (en) * 2009-10-07 2014-09-16 Sony Corporation Animal-machine audio interaction system
US9294060B2 (en) * 2010-05-25 2016-03-22 Nokia Technologies Oy Bandwidth extender
GB2495553B (en) * 2011-10-14 2018-01-03 Snell Advanced Media Ltd Re-sampling method and apparatus
US9190053B2 (en) 2013-03-25 2015-11-17 The Governing Council Of The Univeristy Of Toronto System and method for applying a convolutional neural network to speech recognition
US20150032449A1 (en) 2013-07-26 2015-01-29 Nuance Communications, Inc. Method and Apparatus for Using Convolutional Neural Networks in Speech Recognition
US9665823B2 (en) 2013-12-06 2017-05-30 International Business Machines Corporation Method and system for joint training of hybrid neural networks for acoustic modeling in automatic speech recognition
US10438112B2 (en) * 2015-05-26 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus of learning neural network via hierarchical ensemble learning
CN105118522B (zh) * 2015-08-27 2021-02-12 广州市百果园网络科技有限公司 噪声检测方法及装置
US20170140260A1 (en) * 2015-11-17 2017-05-18 RCRDCLUB Corporation Content filtering with convolutional neural networks
WO2017143095A1 (en) * 2016-02-16 2017-08-24 Red Pill VR, Inc. Real-time adaptive audio source separation
US10726326B2 (en) * 2016-02-24 2020-07-28 International Business Machines Corporation Learning of neural network
US9836820B2 (en) * 2016-03-03 2017-12-05 Mitsubishi Electric Research Laboratories, Inc. Image upsampling using global and local constraints

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161995A1 (en) * 2013-12-06 2015-06-11 Nuance Communications, Inc. Learning front-end speech recognition parameters within neural network training
US20160063359A1 (en) * 2014-08-29 2016-03-03 Google Inc. Processing images using deep neural networks

Also Published As

Publication number Publication date
JP2019520600A (ja) 2019-07-18
US10460747B2 (en) 2019-10-29
WO2017196931A1 (en) 2017-11-16
EP3440598B1 (en) 2023-11-08
CN109155006A (zh) 2019-01-04
EP3440598A1 (en) 2019-02-13
US20170330586A1 (en) 2017-11-16
JP6765445B2 (ja) 2020-10-07
KR20190005217A (ko) 2019-01-15

Similar Documents

Publication Publication Date Title
KR102213013B1 (ko) 신경망을 이용한 주파수 기반 오디오 분석
US9984683B2 (en) Automatic speech recognition using multi-dimensional models
US20210256379A1 (en) Audio processing with neural networks
US11062725B2 (en) Multichannel speech recognition using neural networks
CN110600017B (zh) 语音处理模型的训练方法、语音识别方法、系统及装置
CN108269569B (zh) 语音识别方法和设备
US9721202B2 (en) Non-negative matrix factorization regularized by recurrent neural networks for audio processing
US20180174575A1 (en) Complex linear projection for acoustic modeling
US20220005481A1 (en) Voice recognition device and method
CN115376518B (zh) 一种实时噪声大数据的声纹识别方法、系统、设备和介质
CN113205820A (zh) 一种用于声音事件检测的声音编码器的生成方法
JP7188856B2 (ja) 動的な画像解像度評価
Chakravarty et al. An improved feature extraction for Hindi language audio impersonation attack detection
US20230290340A1 (en) Efficient speech to spikes conversion pipeline for a spiking neural network
US20240104420A1 (en) Accurate and efficient inference in multi-device environments
Samanta et al. An energy-efficient voice activity detector using reconfigurable Gaussian base normalization deep neural network
Yechuri et al. A Multi-scale Subconvolutional U-Net with Time-Frequency Attention Mechanism for Single Channel Speech Enhancement
CN116524952A (zh) 音频还原方法、装置、存储介质及电子设备
CN117910533A (zh) 用于扩散神经网络的噪声调度
CN118056208A (zh) 具有变换的激活功能层的神经网络
CN115881163A (zh) 语音信息的情感识别方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant