KR20230141932A - 적응형 시각적 스피치 인식 - Google Patents

적응형 시각적 스피치 인식 Download PDF

Info

Publication number
KR20230141932A
KR20230141932A KR1020237032681A KR20237032681A KR20230141932A KR 20230141932 A KR20230141932 A KR 20230141932A KR 1020237032681 A KR1020237032681 A KR 1020237032681A KR 20237032681 A KR20237032681 A KR 20237032681A KR 20230141932 A KR20230141932 A KR 20230141932A
Authority
KR
South Korea
Prior art keywords
embedding
speech recognition
video
speaker
neural network
Prior art date
Application number
KR1020237032681A
Other languages
English (en)
Other versions
KR102663654B1 (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 KR20230141932A publication Critical patent/KR20230141932A/ko
Application granted granted Critical
Publication of KR102663654B1 publication Critical patent/KR102663654B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • G10L15/25Speech recognition using non-acoustical features using position of the lips, movement of the lips or face analysis
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)

Abstract

적응형 시각적 스피치 인식 모델을 사용하여 비디오 데이터를 프로세싱하기 위한 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치이다. 방법 중 하나는 제1 화자를 묘사하는 복수의 비디오 프레임들을 포함하는 비디오를 수신하는 단계; 제1 화자를 특징짓는 제1 임베딩을 획득하는 단계; 및 복수의 파라미터들을 갖는 시각적 스피치 인식 신경 네트워크를 사용하여 (i) 비디오 및 (ii) 제1 임베딩을 포함하는 제1 입력을 프로세싱하는 단계를 포함하고, 여기서 시각적 스피치 인식 신경 네트워크는 비디오에서 제1 화자에 의해 발화되는 하나 이상의 단어들의 시퀀스를 정의하는 스피치 인식 출력을 생성하기 위해 파라미터들의 트레이닝된 값들에 따라 비디오 및 제1 임베딩을 프로세싱하도록 구성된다.

Description

적응형 시각적 스피치 인식
본 명세서는 시각적 스피치 인식 신경 네트워크에 관한 것이다.
신경 네트워크는 수신된 입력에 대한 출력을 예측하기 위해 하나 이상의 비선형 유닛들의 레이어들을 사용하는 기계 학습 모델이다. 일부 신경 네트워크는 출력 레이어 외에 하나 이상의 히든 레이어들을 포함한다. 각 히든 레이어의 출력은 네트워크 내의 다음 레이어, 예를 들어, 다음 히든 레이어 또는 출력 레이어에 대한 입력으로서 사용된다. 네트워크의 각 레이어는 각각의 파라미터들의 세트의 현재 값들에 따라 수신된 입력으로부터 출력을 생성한다.
신경 네트워크의 한 예는 시각적 스피치 인식 신경 네트워크이다. 시각적 스피치 인식 신경 네트워크는 화자의 입 움직임으로부터 스피치를 디코딩한다. 즉, 시각적 스피치 인식 신경 네트워크는 화자의 얼굴 비디오를 입력으로서 사용하고 비디오에 묘사된 화자에 의해 발화되고 있는 단어들을 나타내는 출력 텍스트를 생성한다.
시각적 스피치 인식 신경 네트워크의 한 예는 LipNet이다. LipNet은 arxiv.org에서 이용가능한, arXiv:1611.01599(2016)의 Assael et al., LipNet: End-to-End Sentence-level Lipreading에서 처음 설명되었다. LipNet은 시공간 컨볼루션과 순환 신경 네트워크를 사용하여 가변 길이 비디오 프레임들의 시퀀스를 텍스트로 매핑하는 심층 신경 네트워크이다.
시각적 스피치 인식 신경 네트워크의 또 다른 예는 arxiv.org에서 이용가능한, arXiv preprint arXiv:1807.05612 (2018)의 Shillingford et al., Large-Scale Visual Speech Recognition에 설명되어 있다. 대규모 시각적 스피치 인식은 입술 비디오를 음소 분포들의 시퀀스들에 매핑하는 심층 시각적 스피치 인식 신경 네트워크와 심층 신경 네트워크에서 생성된 음소 분포들의 시퀀스들에서 단어들의 시퀀스들을 출력하는 스피치 디코더에 대해 설명한다.
본 명세서는 샘플 효율적이고 적응가능한 시각적 스피치 인식 모델을 생성할 수 있는 하나 이상의 위치에 있는 하나 이상의 컴퓨터에서 컴퓨터 프로그램으로 구현되는 시스템을 설명한다. 이러한 맥락에서, 샘플 효율적이고 적응형이라는 것은 적응형 모델을 트레이닝하는 데 사용된 것보다 훨씬 적은 트레이닝 데이터를 사용하여 새로운 화자의 스피치를 인식하도록 모델을 사용자 정의할 수 있음을 의미한다. 예를 들어, 적응형 모델을 트레이닝하려면 각 개별 화자에 대해 몇 시간의 비디오 녹화가 필요할 수 있지만, 새로운 화자에 대해 모델을 적용하는 데는 새로운 화자의 비디오 녹화가 몇 분밖에 필요하지 않을 수도 있다.
트레이닝 시스템은 각각의 개별 화자들에 대한 복수의 임베딩 벡터들 및 시각적 스피치 인식 신경 네트워크를 사용하여 시각적 스피치 인식 모델을 트레이닝할 수 있다. 트레이닝 프로세스의 계산 집약적인 특성으로 인해 트레이닝은 수백 또는 수천 대의 컴퓨터가 있는 데이터 센터와 같은 분산 컴퓨팅 시스템에 의해 수행될 수 있다.
트레이닝 프로세스의 출력은 새로운 화자에게 효율적으로 적응할 수 있는 적응형 시각적 스피치 인식 모델이다. 모델을 적응시키는 것은 일반적으로 새로운 화자에 대한 새로운 임베딩 벡터를 학습하는 것을 포함하며, 선택적으로 새로운 화자에 대한 신경 네트워크 파라미터들을 미세 조정하는 것을 포함할 수 있다. 적응 데이터는 새로운 화자의 비디오와 텍스트에 대한 대응하는 전사(transcription)들의 단 몇 초 또는 몇 분일 수 있다. 예를 들어, 비디오는 화자가 사용자 디바이스에서 사용자에게 제시되는 텍스트 프롬프트 상의 텍스트를 말하는 동안 화자의 비디오일 수 있다.
따라서 적응 프로세스는 오리지널 트레이닝 프로세스보다 계산 집약도가 훨씬 낮다. 따라서 적응 프로세스는 휴대폰이나 다른 웨어러블 디바이스, 데스크탑이나 노트북 컴퓨터, 사용자의 집에 설치된 다른 인터넷 지원 디바이스 등 훨씬 덜 강력한 하드웨어에서 수행될 수 있다.
일 양태에서, 방법은 제1 화자를 묘사하는 복수의 비디오 프레임들을 포함하는 비디오를 수신하는 단계; 제1 화자를 특징짓는 제1 임베딩을 획득하는 단계; 및 복수의 파라미터들을 갖는 시각적 스피치 인식 신경 네트워크를 사용하여 (i) 비디오 및 (ii) 제1 임베딩을 포함하는 제1 입력을 프로세싱하는 단계를 포함하고, 여기서 시각적 스피치 인식 신경 네트워크는 비디오에서 제1 화자에 의해 발화되는 하나 이상의 단어들의 시퀀스를 정의하는 스피치 인식 출력을 생성하기 위해 파라미터들의 트레이닝된 값들에 따라 비디오 및 제1 임베딩을 프로세싱하도록 구성된다.
일부 구현예에서, 시각적 스피치 인식 신경 네트워크는 제1 임베딩으로부터, 추가 입력 채널을 생성하고; 스피치 인식 출력을 생성하기 위해 비디오 내의 프레임들을 프로세싱하기 전에 추가 채널을 비디오 내의 하나 이상의 프레임들과 결합하도록 구성된다.
일부 구현예에서, 시각적 스피치 인식 신경 네트워크는 복수의 히든 레이어들을 포함하고, 그리고 여기서 신경 네트워크는 히든 레이어들 중 적어도 하나에 대해: 제1 임베딩으로부터, 추가 히든 채널을 생성하고; 그리고 시각적 스피치 인식 신경 네트워크의 또 다른 히든 레이어에 의한 프로세싱을 위한 출력을 제공하기 전에 히든 채널 및 히든 레이어의 출력을 결합하도록 구성된다.
일부 구현예에서, 방법은 제1 화자에 대한 적응 데이터를 획득하는 단계, 상기 적응 데이터는 제1 화자의 하나 이상의 비디오들 및 비디오 각각에 대한 각각의 실측(ground truth) 전사(transcription)를 포함하며; 및 적응 데이터를 사용하여 제1 화자에 대한 제1 임베딩을 결정하는 단계를 더 포함한다.
일부 구현예에서, 방법은 제1 화자와 상이한 복수의 화자들에 대응하는 트레이닝 예들을 포함하는 트레이닝 데이터에 대해 시각적 스피치 인식 신경 네트워크를 트레이닝함으로써 결정된 모델 파라미터들에 대한 사전 트레이닝된 값들을 획득하는 단계를 더 포함하고, 여기서 제1 임베딩을 결정하는 단계는 사전 트레이닝된 값들과 적응 데이터를 사용하여 제1 임베딩을 결정하는 단계를 포함한다.
일부 구현예에서, 제1 임베딩을 결정하는 단계는: 제1 임베딩을 초기화하는 단계 및 동작들을 반복적으로 수행함으로써 제1 임베딩을 업데이트하는 단계를 포함하고, 상기 동작들은: 하나 이상의 비디오 세그먼트들 각각에 대한 각각의 스피치 인식 출력을 생성하기 위해, 파라미터들의 현재 값들에 따라 시각적 스피치 인식 신경 네트워크를 사용하여 적응 데이터 내의 하나 이상의 비디오 세그먼트들 각각 및 제1 임베딩을 프로세싱하는 동작; 및 하나 이상의 비디오 세그먼트들 각각에 대해, 비디오 세그먼트의 실측 전사와 비디오 세그먼트에 대한 각각의 스피치 인식 출력 사이의 각각의 에러를 측정하는 손실 함수를 최소화하기 위해 제1 임베딩을 업데이트하는 동작을 포함한다.
일부 구현예에서, 하나 이상의 비디오 세그먼트들 각각에 대해, 비디오 세그먼트의 실측 전사와 비디오 세그먼트에 대한 각각의 스피치 인식 출력 사이의 각각의 에러를 측정하는 손실 함수를 최소화하기 위해 제1 임베딩을 업데이트하는 동작은: 제1 임베딩에 대한 손실 함수의 그래디언트를 결정하기 위해 시각적 스피치 인식 신경 네트워크를 통해 손실 함수의 그래디언트를 역전파하는 동작; 및 제1 임베딩에 대한 손실 함수의 그래디언트를 사용하여 제1 임베딩을 업데이트하는 동작을 포함한다.
일부 구현예에서, 현재 값들은 사전 트레이닝된 값들 및 트레이닝된 값들과 동일하고, 모델 파라미터들은 제1 임베딩을 결정하는 동안 고정된다.
일부 구현예에서, 상기 동작들은: 시각적 스피치 인식 신경 네트워크의 파라미터들에 대한 손실 함수의 그래디언트에 기초하여 시각적 스피치 인식 신경 네트워크의 파라미터들의 현재 값들을 업데이트하는 동작을 더 포함하고, 그리고 트레이닝된 값들은 제1 임베딩 벡터를 결정한 후의 현재 값들과 동일하다.
일부 구현예에서, 방법은 비디오 내의 제1 화자에 의해 발화되는 하나 이상의 단어들의 시퀀스를 생성하기 위해 비디오에 대한 스피치 인식 출력에 디코더를 적용하는 단계를 더 포함한다.
일부 구현예에서, 스피치 인식 출력은, 비디오 프레임들 각각에 대해, 텍스트 요소들의 어휘에 대한 각각의 확률 분포를 포함한다.
본 명세서에 설명된 주제는 다음의 이점들 중 하나 이상을 실현하기 위해 특정 실시예에서 구현될 수 있다.
본 명세서에서 설명하는 바와 같이, 적응형 시각적 스피치 인식 모델은 모델을 트레이닝하는 데 사용된 것보다 적은 데이터 크기를 사용하여 새로운 화자에 빠르게 적응하는 데 사용될 수 있다. 따라서 적응 프로세스를 데이터 센터에서 수행하는 대신 최종 사용자의 소비자 하드웨어에서 수행할 수 있다.
또한, 다중 화자 시각적 스피치 인식 모델은 다수의 화자들의 비디오를 나타내는 대규모 데이터 세트에 대해 트레이닝할 때 트레이닝 데이터로부터 많은 수의 데이터 샘플들에 과소 적합되는 경향이 있다. 이는 수집된 비디오 데이터의 작은 불균형 때문일 수도 있고, 대규모 비디오 데이터 세트에 표현된 다양한 시나리오를 모두 캡처할 수 있는 모델의 용량이 제한되어 있기 때문일 수도 있다. 설명된 기술은 먼저 (i) 화자의 비디오 및 (ii) 화자의 임베딩을 조건으로 하는 화자 조건부 시각적 스피치 인식 모델을 트레이닝함으로써 이러한 문제를 해결한다. 그런 다음 새로운 화자에 대한 임베딩을 학습하여 화자 조건부 시각적 스피치 인식 모델을 적응시킨다(선택적으로 모델의 가중치들을 미세 조정함).
본 명세서의 주제에 대한 하나 이상의 실시예의 세부사항은 첨부 도면 및 아래 설명에서 설명된다. 주제의 다른 피처, 양태 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 적응형 시각적 스피치 인식 모델을 트레이닝하기 위한 예시적인 아키텍처를 예시하는 다이어그램이다.
도 2는 적응형 시각적 스피치 인식 모델을 새로운 개별 화자에 적응시키기 위한 예시적인 아키텍처를 예시하는 다이어그램이다.
도 3은 적응형 시각적 스피치 인식 모델을 생성하고 사용하기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면에서 유사한 참조 번호 및 지정은 유사한 요소를 나타낸다.
도 1은 적응형 시각적 스피치 인식 모델을 트레이닝하기 위한 예시적인 아키텍처(100)를 예시하는 다이어그램이다.
아키텍처(100)는 다수의 상이한 각각의 개별 화자들에 대한 임베딩 벡터들을 저장하는 임베딩 테이블(120)을 사용하여 트레이닝되는 시각적 스피치 인식 신경 네트워크(110a)를 포함한다.
시각적 스피치 인식 신경 네트워크(110a)는 화자의 비디오 및 아래에 설명된 바와 같이 화자에 대한 임베딩 벡터를 입력으로 수신하고, 비디오와 임베딩 벡터를 프로세싱하여 비디오에서 화자에 의해 발화되는 스피치의 예측 전사를 나타내는 스피치 인식 출력을 출력으로서 생성하는, 임의의 적절한 시각적 스피치 인식 신경 네트워크일 수 있다.
본 명세서에서 사용된 바와 같이, "비디오"는 비디오 프레임들의 시퀀스만을 포함하고 비디오 프레임 시퀀스에 대응하는 오디오는 포함하지 않는다. 따라서, 시각적 스피치 인식 신경 네트워크(110a)는 화자에 의해 실제로 발화되는 스피치의 임의의 오디오 데이터에 접근하지 않고도 스피치 인식 출력을 생성한다.
시각적 스피치 인식 신경 네트워크의 한 예는 LipNet이다. LipNet은 arxiv.org에서 이용가능한, arXiv:1611.01599(2016)의 Assael et al., LipNet: End-to-End Sentence-level Lipreading에서 처음 설명되었다. LipNet은 시공간 컨볼루션과 순환 신경 네트워크를 사용하여 가변 길이 비디오 프레임들의 시퀀스를 텍스트로 매핑하는 심층 신경 네트워크이다.
시각적 스피치 인식 신경 네트워크의 또 다른 예는 arxiv.org에서 이용가능한, arXiv preprint arXiv:1807.05612 (2018)의 Shillingford et al., Large-Scale Visual Speech Recognition에 설명되어 있다. 대규모 시각적 스피치 인식은 입술 비디오를 음소 분포들의 시퀀스들에 매핑하는 심층 시각적 스피치 인식 신경 네트워크와 심층 신경 네트워크에서 생성된 음소 분포들의 시퀀스들에서 단어들의 시퀀스들을 출력하는 스피치 디코더에 대해 설명한다.
일반적으로, 위의 두 가지 시각적 스피치 인식 신경 네트워크 아키텍처들 또는 다른 시각적 스피치 인식 신경 네트워크 아키텍처들 중 어느 하나는 다수의 시간 단계들 각각에서, 예를 들어 화자의 얼굴 또는 화자의 입이나 입술과 같은 화자를 묘사하는 비디오와 함께 임베딩 벡터를 입력으로서 받아들이도록 수정될 수 있다. 다양한 방식으로 임베딩 벡터를 프로세싱하도록 아키텍처를 수정할 수 있다.
일례로, 시스템은 비디오 프레임과 동일한 공간 차원을 갖는 임베딩 벡터를 사용하여 추가 입력 채널을 생성한 다음, 예를 들어 채널 차원을 따라 각 비디오 프레임에 추가 채널을 연결함으로써(예: 입력 채널이 비디오 프레임들의 색상(예: RBG)에 추가되는 색상에 대한 세기(intensity) 값들인 것처럼), 추가 채널을 비디오 프레임들과 결합할 수 있다. 예를 들어, 시스템은 비디오 프레임들과 동일한 차원을 갖는 2차원 공간 맵을 생성하기 위해, 임베딩 벡터 내의 값들에 브로드캐스트 동작을 적용함으로써, 임베딩 벡터를 사용하여 추가 채널을 생성할 수 있다.
또 다른 예로, 시스템은 신경 네트워크의 히든 레이어들 중 특정 레이어, 예를 들어 신경 네트워크의 시공간 컨볼루션 레이어 중 하나의 출력과 동일한 공간 차원을 갖는 임베딩 벡터를 사용하여 추가 히든 채널을 생성한 다음, 예를 들어, 추가 채널을 채널 차원을 따라 히든 레이어의 출력에 연결함으로써, 추가 채널을 히든 레이어의 출력에 추가함으로써, 추가 채널과 히든 레이어의 출력을 요소별로 곱함으로써, 또는 히든 레이어의 출력과 추가 채널 사이에 게이팅(gating) 메커니즘을 적용함으로써, 추가 히든 채널을 특정 히든 레이어의 출력과 결합할 수 있다.
도 1에 도시된 구성요소들은 시각적 스피치 인식 신경 네트워크(110a)를 트레이닝하도록 조정하는 복수의 컴퓨터들을 포함하는 분산 컴퓨팅 시스템에 의해 구현될 수 있다.
컴퓨팅 시스템은 다수의 트레이닝 예(132)를 포함하는 트레이닝 데이터(130)에 대해 시각적 스피치 인식 신경 네트워크(110a)를 트레이닝할 수 있다. 각 트레이닝 예(132)는 각각의 화자에 대응하고 (i) 대응하는 화자의 비디오(140) 및 (ii) 비디오에서 대응하는 화자에 의해 발화되고 있는 스피치의 각각의 실측 전사(150)를 포함한다.
트레이닝 예(132) 중 하나 이상에 대응하는 화자들 각각은 임베딩 테이블(120)에 저장된 각각의 임베딩 벡터를 갖는다. 임베딩 벡터는 고정된 차원(구성요소들의 수)을 갖는 숫자 값들, 예를 들어 부동 소수점 값들 또는 양자화된 부동 소수점 값들의 벡터이다.
트레이닝 중에, 주어진 화자에 대한 임베딩 벡터는 다양한 방식으로 생성될 수 있다.
일례로, 임베딩 벡터는 화자의 하나 이상의 특성들에 기초하여 생성될 수 있다.
특정 예로서, 컴퓨터 시스템은 예를 들어 사람을 구별하는데 사용될 수 있거나 사람 얼굴의 다른 속성들을 반영하여 얼굴 임베딩을 생성하도록 트레이닝된 컨볼루셔널 신경 네트워크와 같은 임베딩 신경 네트워크를 사용하여, 예를 들어 대응하는 트레이닝 예에서 화자의 비디오로부터 잘라낸, 하나 이상의 화자의 얼굴 이미지들을 프로세싱하여, 화자의 얼굴에 대한 얼굴 임베딩 벡터를 생성할 수 있다. 예를 들어, 컴퓨터 시스템은 각 이미지에 대한 각각의 이미지 임베딩 벡터를 생성하기 위해 임베딩 신경 네트워크를 사용하여 화자의 얼굴에 대한 다수의 이미지들을 프로세싱한 후, 예를 들어, 이미지 임베딩 벡터를 평균적으로 결합하여 화자의 얼굴에 대한 얼굴 임베딩 벡터를 생성할 수 있다.
또 다른 특정 예로서, 컴퓨터 시스템은 말하는 동안 화자의 외모의 특정 속성들을 측정하고, 각각의 측정된 속성을, 예를 들어 사전 결정된 매핑을 사용하여 각각의 속성 임베딩 벡터에 매핑할 수 있다. 그러한 속성의 한 가지 예는 말하는 동안 입을 벌리는 빈도이다. 그러한 속성의 또 다른 예는 말하는 동안 입을 벌리는 최대 정도이다. 그러한 특성의 또 다른 예는 말하는 동안 입을 벌리는 평균 정도이다.
시스템이 화자의 다수의 특성들 각각에 대한 각각의 임베딩 벡터들, 예를 들어 얼굴 임베딩 벡터 및 하나 이상의 각각의 속성 임베딩 벡터들을 생성할 때, 시스템은 화자에 대한 임베딩 벡터를 생성하기 위해 다수의 특성들에 대한 각각의 임베딩 벡터들을 결합, 예를 들어 평균, 합 또는 연결할 수 있다.
다른 예로서, 시스템은 임베딩 테이블(120) 내의 각 화자 임베딩(임베딩 벡터)을 랜덤하게 초기화한 다음, 신경 네트워크(110a)의 트레이닝과 함께 화자 임베딩을 업데이트할 수 있다.
트레이닝의 각 반복에서, 시스템은 하나 이상의 트레이닝 예(132)의 미니 배치(mini-batch)를 샘플링하고, 각 트레이닝 예(132)에 대해, 신경 네트워크(110a)를 사용하여 트레이닝 예 내의 각각의 화자 비디오(140) 및 임베딩 테이블(120)로부터 대응하는 화자에 대한 임베딩 벡터를 프로세싱하여, 트레이닝 예(132)에 대해 예측된 스피치 인식 출력, 예를 들어 문자, 음소 또는 단어 조각과 같은 텍스트 요소들의 세트에 대한 확률 분포를 생성한다.
그런 다음, 시스템은 미니 배치의 각 트레이닝 예(132)에 대해, 트레이닝 예(132)에 대한 스피치의 실측 전사(150)와 트레이닝 예(132)에 대한 예측된 스피치 인식 출력 사이의 각각의 에러를 측정하는 손실 함수를 최소화하도록, 확률적 그래디언트 하강법, Adam 또는 rmsProp와 같은 그래디언트 기반 기법을 사용하여 신경 네트워크(110a)를 트레이닝한다. 예를 들어, 손실 함수는 CTC(Connectionist Temporal Classification) 손실 함수일 수 있다. CTC 손실은 International Conference on Machine Learning, pp. 369?376, 2006 내의 Alex Graves, Santiago Fernandez, Faustino Gomez 및 Jurgen Schmidhuber, Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks에 자세히 설명되어 있다.
일부 구현예에서, 시스템은 또한 예를 들어, 신경 네트워크(110a)를 통해 적절한 임베딩 벡터로 그래디언트를 역전파함으로써 미니 배치의 화자 비디오들에 대한 임베딩 벡터를 업데이트한다. 보다 구체적으로, 임베딩 테이블(120) 내의 임베딩 벡터들이 랜덤하게 초기화되면, 시스템은 임베딩 벡터들도 업데이트한다. 임베딩 테이블(120) 내의 임베딩 벡터들이 대응하는 화자들의 특성들이나 속성들에 기초하여 생성될 때, 일부 구현예에서는 시스템이 트레이닝 중에 고정된 임베딩 벡터들을 유지하는 반면, 다른 구현예에서는 시스템은 신경 네트워크(110a)의 트레이닝과 함께 임베딩 벡터를 업데이트함으로써 임베딩 테이블(120)의 임베딩 벡터들을 미세 조정한다.
트레이닝 후에, 새로운 화자 비디오에 대한 전사를 생성하기 위해 시스템(또는 다른 시스템)은 새로운 화자 비디오에 대한 예측된 스피치 인식 출력을 생성하기 위해 새로운 화자 비디오 및 새로운 임베딩을 입력으로서 프로세싱할 수 있다. 선택적으로, 시스템은 예측된 스피치 인식 출력에 디코더, 예를 들어 빔 검색 디코더 또는 FST(Finite State Transducer) 기반 디코더를 적용하여 스피치 인식 출력을 단어들의 시퀀스에 매핑할 수 있다.
그러나, 트레이닝 시에는 화자의 특성들을 사용하여 임베딩들이 생성되지만 일반적으로 새로운 화자에서는 이러한 특성들을 사용할 수 없다. 따라서, 시스템은 트레이닝된 신경 네트워크(110a)를 사용하여 새로운 화자에 대한 전사를 생성하기 전에 트레이닝된 신경 네트워크(110a)를 새로운 화자에 적응시킬 수 있다.
도 2는 적응형 시각적 스피치 인식 모델을 새로운 개별 화자에 적응시키기 위한 예시적인 아키텍처(200)를 예시하는 다이어그램이다. 적응 프로세스 동안, 신경 네트워크(110a)가 특정 개인의 특성들에 적응되도록 새로운 화자의 임베딩이 조정된다. 즉, 도 1에 도시된 트레이닝 프로세스의 목적은 선행(prior)을 학습하는 것이다. 적응하는 동안, 이 선행은 새로운 데이터와 결합되어 새로운 화자의 특성들에 빠르게 적응한다.
일반적으로, 도 1에 도시된 트레이닝 프로세스는 다수의 컴퓨터들로 구성된 분산 컴퓨팅 시스템에서 수행된다. 그리고 전술한 바와 같이, 적응 프로세스는 계산 비용이 훨씬 덜 드는 하드웨어, 예를 들어 데스크탑 컴퓨터, 랩탑 컴퓨터 또는 모바일 컴퓨팅 디바이스에서 수행될 수 있다. 편의상, 적응 프로세스는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 설명된다.
아키텍처(200)는 예를 들어, 도 1을 참조하여 전술한 프로세스를 사용하여 트레이닝된 시각적 스피치 인식 신경 네트워크(110a)의 트레이닝된 버전에 대응하는 시각적 스피치 인식 신경 네트워크(110b)를 포함한다.
모델을 새로운 개별 화자에 적응시키기 위해, 시스템은 새로운 개별 화자가 발화하는 비디오들의 세트(230)("비디오 세그먼트들")와 각 비디오에서 발화되는 텍스트의 대응하는 전사들(240)을 나타내는 적응 데이터(220)를 사용한다. 예를 들어, 각 비디오(230)는 화자가 텍스트 프롬프트에 쓰여지거나 사용자 디바이스에서 사용자에게 제시되는 텍스트를 발화하는 동안 촬영된 화자의 비디오일 수 있다.
일반적으로 적응 프로세스에 사용되는 적응 데이터(220)는 트레이닝 프로세스에 사용되는 트레이닝 데이터(130)보다 크기가 몇 배 더 작을 수 있다. 일부 구현예에서, 트레이닝 데이터(130)는 복수의 상이한 개별 화자들의 각 개별 화자에 대한 여러 시간의 비디오 녹화들을 포함하는 반면, 적응 프로세스(220)는 새로운 개별 화자의 10분 미만의 비디오 녹화를 사용할 수 있다.
또한, 적응 프로세스는 일반적으로 트레이닝 프로세스보다 계산 집약도가 훨씬 낮다. 따라서 위에서 설명한 바와 같이, 일부 구현예에서는 트레이닝 프로세스는 수십, 수백 또는 수천 대의 컴퓨터가 있는 데이터 센터에서 수행되는 반면, 적응 프로세스는 모바일 디바이스 또는 단일 인터넷 지원 디바이스에서 수행된다.
적응 단계를 시작하기 위해, 시스템은 새로운 화자에 대한 새로운 임베딩 벡터(210)를 초기화할 수 있다. 일반적으로, 새로운 임베딩 벡터(210)는 트레이닝 프로세스 동안 사용된 임의의 임베딩 벡터들과 상이할 수 있다.
예를 들어, 시스템은 새로운 임베딩 벡터(210)를 랜덤하게 또는 새로운 화자를 특징짓는 이용가능한 데이터를 사용하여 초기화할 수 있다. 특히, 시스템은 테이블(120)에 화자 임베딩들을 생성하기 위해 위에 설명된 기법 중 하나를 사용하여 랜덤하게 또는 적응 데이터(220)로부터 새로운 임베딩 벡터(210)를 초기화할 수 있다. 위에서 설명한 화자의 특성을 이용한 임베딩 생성 기법 중 하나를 사용하더라도, 적응 데이터(220)는 일반적으로 임의의 주어진 화자에 대한 트레이닝 데이터에서 이용할 수 있는 것보다 적은 데이터를 갖고 있기 때문에, 새로 생성된 임베딩 벡터(210)는 일반적으로 트레이닝 중에 사용되는 화자 임베딩 벡터들보다 화자의 스피치에 대한 정보가 적을 것이다.
적응 프로세스는 다양한 방식으로 수행될 수 있다. 특히, 시스템은 비-파라메트릭(non-parametric) 기법 또는 파라메트릭 기법을 사용할 수 있다.
비-파라메트릭 기법은 적응 데이터(220)를 사용하여, 새로운 화자 임베딩(210) 및 선택적으로 신경 네트워크(110b)의 모델 파라미터들 또는 둘 다를 적응시키는 것을 포함한다.
특히, 비-파라메트릭 기법을 수행할 때, 적응 단계의 각 반복에서, 시스템은 각 비디오 세그먼트(230)에 대한 예측된 스피치 인식 출력을 생성하기 위해 신경 네트워크(110b)를 사용하여 적응 데이터(220)의 하나 이상의 비디오 세그먼트(230)와 새로운 화자에 대한 현재 임베딩 벡터(210)를 프로세싱한다.
그런 다음, 시스템은 신경 네트워크(110b)를 통해 비디오 세그먼트(230)의 실측 전사(240)와 비디오 세그먼트(230)에 대한 예측된 스피치 인식 출력 사이의 손실, 예를 들어 CTC 손실의 그래디언트를 역전파함으로써 임베딩 벡터(210)를 업데이트하여 임베딩 벡터(210)에 대한 그래디언트를 계산한 후, 업데이트 규칙 예를 들어, 확률적 그래디언트 하강법 업데이트 규칙, Adam 업데이트 규칙 또는 rmsProp 업데이트 규칙을 사용하여 임베딩 벡터(210)를 업데이트한다.
이러한 경우 중 일부에서, 시스템은 적응 단계 동안 고정된 신경 네트워크(110b)의 모델 파라미터들의 값들을 유지한다. 이들 중 다른 경우에, 시스템은 예를 들어 임베딩 벡터(210)를 업데이트하는 데 사용된 동일한 손실을 사용하여 모델 파라미터들을 업데이트하기 위해 그래디언트 기반 기법을 사용함으로써, 적응 단계의 각 반복에서 모델 파라미터들도 업데이트한다.
대안으로, 시스템은 데모 데이터의 세트, 예를 들어 신경 네트워크(110b)를 트레이닝하는데 사용되는 트레이닝 데이터와 상이한 비디오의 세트를 사용하여 새로운 화자의 임베딩 벡터를 예측하기 위해 보조 네트워크를 트레이닝시키는 것과 관련된 파라메트릭 기법을 사용할 수 있다. 트레이닝된 보조 신경 네트워크는 이후 화자의 적응 데이터(220)가 주어진 새로운 화자에 대한 임베딩 벡터(210)를 예측하는 데 사용될 수 있다.
도 3은 적응형 시각적 스피치 인식 모델을 생성하고 사용하기 위한 예시적인 프로세스(300)의 흐름도이다. 위에서 설명한 것처럼 프로세스는 트레이닝, 적응, 추론의 세 단계로 구성된다.
일반적으로 트레이닝 단계는 다수의 컴퓨터들을 갖는 분산 컴퓨팅 시스템에서 수행된다.
그리고 위에서 설명한 바와 같이, 나머지 두 단계는 데스크탑 컴퓨터, 랩탑 컴퓨터 또는 모바일 컴퓨팅 디바이스와 같이 계산 비용이 훨씬 저렴한 하드웨어에서 수행될 수 있다.
편의상, 예시적인 프로세스(300)는 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로 설명될 것이지만, 프로세스(300)의 상이한 단계들은 상이한 하드웨어 능력들을 갖는 상이한 컴퓨팅 디바이스들에 의해 수행될 수 있다는 것이 이해될 것이다.
시스템은 복수의 상이한 개별 화자들에 의한 스피치 비디오를 표현하는 트레이닝 데이터를 사용하여 적응형 시각적 스피치 인식 모델을 생성한다(310). 도 1을 참조하여 전술한 바와 같이, 시스템은 복수의 개별 화자들에 대해 상이한 임베딩 벡터들을 생성할 수 있다. 그런 다음 시스템은 텍스트 및 텍스트의 복수의 상이한 개별 화자들이 말하는 부분들을 나타내는 비디오 데이터와 텍스트를 포함하는 트레이닝 데이터를 사용하여 신경 시각적 스피치 인식 모델의 파라미터 값들을 트레이닝할 수 있다. 임베딩 벡터들 각각은 일반적으로 복수의 상이한 개별 화자들 중 하나의 각각의 특성들을 나타낸다.
시스템은 새로운 개별 화자에 의해 발화되는 스피치 비디오를 표현하는 적응 데이터를 사용하여 새로운 개별 화자에 대한 적응형 시각적 스피치 인식 모델을 적응시킨다(320). 도 2를 참조하여 전술된 바와 같이, 적응 프로세스는 텍스트의 새로운 개별 화자 스피킹 부분들을 표현하는 비디오 데이터를 사용한다.
적응 단계 동안, 시스템은 적응 데이터를 사용하여 새로운 화자에 대한 새로운 임베딩 벡터를 생성할 수 있으며, 선택적으로 트레이닝된 시각적 스피치 인식 신경 네트워크의 모델 파라미터들을 미세 조정할 수 있다.
적응 후, 시스템은 새로운 화자의 비디오와 새로운 화자의 임베딩을 비디오에서 발화되고 있는 텍스트의 전사로 변환하는 추론 프로세스를 수행한다(330). 일반적으로 시스템은 적응 단계 동안 결정된 개별 화자에 대한 새로운 임베딩 벡터와 새로운 비디오를 입력으로 사용하는 것을 포함하는 새로운 개별 화자에 대해 적응된 시각적 스피치 인식 모델을 사용한다. 전술한 바와 같이, 시스템은 적응된 시각적 스피치 인식 모델에 의해 생성된 스피치 인식 출력에 디코더를 적용함으로써 단어들의 시퀀스로서, 그리고 일부 경우에 구두점으로서 전사를 생성할 수 있다. 추론 수행에는 또한: 사용자 인터페이스에 전사를 디스플레이하는 것, 전사를 또 다른 언어로 번역하는 것 또는 하나 이상의 오디오 디바이스들에서 재생을 위해 전사의 언어화를 나타내는 오디오 데이터를 제공하는 것 중 하나 이상이 포함될 수 있다.
위의 설명에서는 적응형 시각적 스피치 인식을 설명하고 있지만, 설명된 기법들은 적응형 시청각(audio-visual) 스피치 인식 모델을 생성하는 데에도 적용될 수 있으며, 여기서 모델에 대한 입력은 화자가 말하는 비디오 시퀀스와 화자가 말하는 대응하는 오디오 시퀀스(두 개가 시간적으로 서로 정렬되지 않을 수 있음) 및 화자의 임베딩이고, 출력은 오디오-비디오 쌍에서 발화되는 텍스트의 전사이다. 임베딩을 입력으로 받아들이도록 수정될 수 있고 위에 설명된 대로 적응될 수 있는 시청각 스피치 인식 모델의 예는 arxiv.org에서 이용가능한, arXiv preprint arXiv:1911.04890 (2019)의 Makino, et al, Recurrent Neural Network Transducer for Audio-Visual Speech Recognition에 설명되어 있다. 입력에 오디오 데이터도 포함된 경우, 화자 임베딩은 또한 예를 들어, 화자들을 고유하게 식별하는 임베딩들을 생성하도록 트레이닝된 오디오 임베딩 신경 네트워크를 사용하여 오디오를 프로세싱함으로써 오디오 데이터를 사용하여 생성될 수도 있다.
제안된 적응형 시각적 스피치 인식 모델 또는 시청각 스피치 인식 모델은 예를 들어 청각 장애가 있는 사용자가 새로운 화자가 말하는 것을 나타내는 텍스트를 생성하여 사용자가 읽을 수 있도록 하는 데 유용하다. 다른 예에서, 사용자는 새로운 화자가 될 수 있고, 시각적 스피치 인식 모델 또는 시청각 스피치 인식 모델은 텍스트를 받아쓰기 시스템에서 텍스트를 생성하는 데 사용될 수 있거나 전자 시스템 또는 전기 기계 시스템과 같은, 또 다른 시스템에 의해 구현되는 텍스트 명령들을 생성하기 위해 제어 시스템에서 사용될 수도 있다. 적응형 시각적 스피치 인식 모델은 단계 320 및/또는 330에서 프로세싱되는 새로운 화자의 비디오를 캡처하기 위한 적어도 하나의 비디오 카메라를 포함하는 컴퓨터 시스템에 의해 단계 320 및/또는 330을 수행하도록 구현될 수 있다. 시청각 스피치 인식 모델의 경우, 비디오 카메라는 캡처된 비디오에 수반되는 오디오 트랙을 캡처하기 위한 마이크로폰을 포함할 수 있다.
여기에 논의되는 시스템이 잠재적으로 개인 정보를 포함하는 데이터를 사용하는 상황에서, 저장되거나 사용되는 데이터로부터 그러한 개인 정보를 결정할 수 없도록 해당 데이터는 저장되거나 사용되기 전에, 집계 및 익명화와 같은 하나 이상의 방식으로 처리될 수 있다. 또한, 그러한 정보의 사용으로 인해 해당 정보를 사용하는 시스템의 출력으로부터 개인 식별가능한 정보가 결정될 수 없도록 할 수 있다.
본 명세서에 설명된 주제 및 기능적 동작의 실시예는 디지털 전자 회로, 유형으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 컴퓨터 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 예를 들어 데이터 프로세싱 장치에 의해 실행되거나 데이터 프로세싱 장치의 동작을 제어하기 위해 유형의 비일시적 저장 매체에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로 구현될 수 있다. 컴퓨터 저장 매체는 기계 판독가능 저장 장치, 기계 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 디바이스로 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다.
"데이터 프로세싱 장치"라는 용어는 데이터 프로세싱 하드웨어를 의미하며, 예를 들어 프로그래밍가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 장치는 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)일 수 있거나 이를 더 포함할 수 있다. 장치는 하드웨어에 추가하여 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로도 지칭되거나 기술될 수 있는, 컴퓨터 프로그램은 컴파일된 언어나 해석된 언어, 선언적 언어 또는 절차적 언어를 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있다; 그리고 독립 실행형 프로그램이나 모듈, 구성요소, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 장치를 포함하여 모든 형태로 배포될 수 있다. 프로그램은 마크업 언어 문서에 저장된 하나 이상의 스크립트와 같은 다른 프로그램 또는 데이터를 보유하는 파일의 일부, 문제의 프로그램 전용 단일 파일 또는 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일과 같은 다수의 조정된 파일에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 걸쳐 분산되고 데이터 통신 네트워크로 상호 연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에서는 시스템 및 컴퓨터 프로그램 구성요소와 관련하여 "구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터로 구성된 시스템이 특정 동작이나 액션을 수행하도록 구성된다는 것은 시스템이 동작 중에 동작이나 액션을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 시스템에 설치되어 있음을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정 동작 또는 액션을 수행하도록 구성된다는 것은 하나 이상의 프로그램이 데이터 프로세싱 장치에 의해 실행될 때 장치로 하여금 동작 또는 액션을 수행하게 하는 명령어들을 포함한다는 것을 의미한다.
본 명세서에서 "데이터베이스"라는 용어는 모든 데이터 모음을 지칭하기 위해 광범위하게 사용된다: 데이터는 특정 방식으로 구성되거나 구성될 필요가 전혀 없으며 하나 이상의 위치에 있는 스토리지 디바이스에 저장될 수 있다. 따라서, 예를 들어 인덱스 데이터베이스에는 여러 데이터 컬렉션이 포함될 수 있으며, 각 데이터 컬렉션은 다르게 구성되고 액세스될 수 있다.
마찬가지로, 본 명세서에서 "엔진"이라는 용어는 하나 이상의 특정 기능을 수행하도록 프로그래밍된 소프트웨어 기반 시스템, 서브 시스템 또는 프로세스를 지칭하기 위해 광범위하게 사용된다. 일반적으로 엔진은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 설치된 하나 이상의 소프트웨어 모듈 또는 구성요소로 구현된다. 어떤 경우에는 하나 이상의 컴퓨터가 특정 엔진 전용으로 사용된다; 다른 경우에는, 동일한 컴퓨터에 다수의 엔진을 설치하여 실행할 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행되거나 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수도 있다.
컴퓨터 프로그램 실행에 적합한 컴퓨터는 범용 또는 특수 목적의 마이크로프로세서 또는 둘 다를 기반으로 하거나 다른 종류의 중앙 프로세싱 유닛을 기반으로 할 수 있다. 일반적으로 중앙 프로세싱 유닛은 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어들을 수행하거나 실행하는 중앙 프로세싱 유닛과 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 중앙 프로세싱 유닛과 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 전송하거나 둘 모두를 포함하거나 동작가능하게 결합될 것이다. 그러나 컴퓨터에 그러한 디바이스가 있을 필요는 없다. 또한, 컴퓨터는 휴대폰, 퍼스널 디지털 어시스턴트(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(GPS) 수신기와 같은 다른 디바이스 또는 범용 직렬 버스(USB) 플래시 드라이브 등과 같은 휴대용 스토리지 디바이스에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예시적인 반도체 메모리 디바이스, 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스; 자기 디스크, 예를 들어 내부 하드 디스크 또는 탈착식 디스크; 자기 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시예는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터, 사용자가 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖춘 컴퓨터에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 디바이스도 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고 받음으로써; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 디바이스의 웹 브라우저로 웹 페이지를 보냄으로써, 사용자와 상호작용할 수 있다. 또한, 컴퓨터는 문자 메시지 또는 다른 형태의 메시지를 예를 들어, 메시징 애플리케이션을 실행하는 스마트폰과 같은 퍼스널 디바이스에 보내고 그에 대한 답으로 사용자로부터 응답 메시지를 수신함으로써 사용자와 상호작용할 수 있다.
기계 학습 모델을 구현하기 위한 데이터 프로세싱 장치는 예를 들어 추론, 작업 부하와 같은 기계 학습 트레이닝 또는 생산의 공통적이고 계산 집약적인 부분을 프로세싱하기 위한 특수 목적의 하드웨어 가속기 유닛을 포함할 수도 있다.
기계 학습 모델은 예를 들어 TensorFlow 프레임워크와 같은 기계 학습 프레임워크를 사용하여 구현되고 배포될 수 있다.
본 명세서에 설명된 주제의 실시예는 데이터 서버와 같은 백엔드 구성요소를 포함하거나, 애플리케이션 서버와 같은 미들웨어 구성요소를 포함하거나, 사용자가 본 명세서에 설명된 주제의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스, 웹 브라우저 또는 앱을 갖춘 클라이언트 컴퓨터와 같은 프런트엔드 구성요소를 포함하거나 또는 그러한 백엔드, 미들웨어 또는 프런트엔드 구성요소들 중 하나 이상의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성요소들은 통신 네트워크와 같은 디지털 데이터 통신의 모든 형태나 매체를 통해 상호연결될 수 있다. 통신 네트워크의 예로는 로컬 영역 네트워크(LAN) 및 인터넷과 같은 광역 네트워크(WAN)가 포함된다.
컴퓨팅 시스템에는 클라이언트와 서버가 포함될 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시예에서, 서버는 예를 들어 클라이언트 역할을 하는 디바이스와 상호작용하는 사용자에게 데이터를 디스플레이하고 사용자 입력을 수신할 목적으로 HTML 페이지와 같은 데이터를 사용자 디바이스에 전송한다. 사용자 디바이스로부터 생성된 데이터, 예를 들어 사용자 상호작용의 결과는 디바이스로부터 서버에서 수신될 수 있다.
본 명세서는 많은 특정 구현 세부사항을 포함하고 있지만, 이는 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정할 수 있는 특징에 대한 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 반대로, 단일 실시예의 맥락에서 설명된 다양한 피처들은 다중 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수도 있다. 더욱이, 비록 피처들이 특정 조합으로 작동하는 것으로 위에서 설명될 수 있고 처음에는 그렇게 청구될 수도 있지만, 청구된 조합의 하나 이상의 피처들은 어떤 경우에는 조합에서 삭제될 수 있으며 청구된 조합은 서브 조합 또는 서브 조합의 변형과 관련될 수 있다.
유사하게, 동작들이 도면에 도시되고 청구범위에 특정 순서로 기재되어 있지만, 이는 원하는 결과를 얻기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 예시된 모든 동작이 수행되도록 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서는 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 더욱이, 위에서 설명된 실시예에서 다양한 시스템 모듈 및 구성요소의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 기술된 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 여러 소프트웨어 제품에 패키지될 수 있다는 점을 이해해야 한다.
주제의 특정 실시예가 설명되었다. 다른 실시예는 다음 청구범위의 범위 내에 있다. 예를 들어, 청구범위에 인용된 작업은 다른 순서로 수행될 수 있으며 여전히 원하는 결과를 얻을 수 있다. 일례로서, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하는 것은 아니다. 어떤 경우에는 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.

Claims (13)

  1. 하나 이상의 컴퓨터들에 의해 수행되는 방법으로서, 상기 방법은:
    제1 화자를 묘사하는 복수의 비디오 프레임들을 포함하는 비디오를 수신하는 단계;
    제1 화자를 특징짓는 제1 임베딩을 획득하는 단계; 및
    복수의 파라미터들을 갖는 시각적 스피치 인식 신경 네트워크를 사용하여 (i) 비디오 및 (ii) 제1 임베딩을 포함하는 제1 입력을 프로세싱하는 단계를 포함하고, 상기 시각적 스피치 인식 신경 네트워크는 비디오에서 제1 화자에 의해 발화되는 하나 이상의 단어들의 시퀀스를 정의하는 스피치 인식 출력을 생성하기 위해, 파라미터들의 트레이닝된 값들에 따라 비디오 및 제1 임베딩을 프로세싱하도록 구성되는, 방법.
  2. 제1항에 있어서,
    상기 시각적 스피치 인식 신경 네트워크는:
    제1 임베딩으로부터, 추가 입력 채널을 생성하고; 그리고
    상기 스피치 인식 출력을 생성하기 위해 비디오 내의 프레임들을 프로세싱하기 전에 추가 채널을 비디오 내의 하나 이상의 프레임들과 결합하도록 구성되는, 방법.
  3. 선행하는 어느 한 항에 있어서,
    상기 시각적 스피치 인식 신경 네트워크는 복수의 히든 레이어들을 포함하고, 그리고 상기 신경 네트워크는 히든 레이어들 중 적어도 하나에 대해:
    제1 임베딩으로부터, 추가 히든 채널을 생성하고; 그리고
    상기 시각적 스피치 인식 신경 네트워크의 또 다른 히든 레이어에 의한 프로세싱을 위한 출력을 제공하기 전에 히든 채널과 히든 레이어의 출력을 결합하도록 구성되는, 방법.
  4. 선행하는 어느 한 항에 있어서,
    제1 화자에 대한 적응 데이터를 획득하는 단계, 상기 적응 데이터는 제1 화자의 하나 이상의 비디오들 및 각 비디오에 대한 각각의 실측(ground truth) 전사(transcription)를 포함하며, 및
    상기 적응 데이터를 사용하여 제1 화자에 대한 제1 임베딩을 결정하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서,
    제1 화자와 상이한 복수의 화자들에 대응하는 트레이닝 예들을 포함하는 트레이닝 데이터에 대해 상기 시각적 스피치 인식 신경 네트워크를 트레이닝함으로써 결정된 모델 파라미터들에 대한 사전 트레이닝된 값들을 획득하는 단계를 더 포함하고, 상기 제1 임베딩을 결정하는 단계는 상기 사전 트레이닝된 값들과 상기 적응 데이터를 사용하여 제1 임베딩을 결정하는 단계를 포함하는, 방법.
  6. 제5항에 있어서,
    상기 제1 임베딩을 결정하는 단계는:
    제1 임베딩을 초기화하는 단계; 및
    동작들을 반복적으로 수행함으로써 제1 임베딩을 업데이트하는 단계를 포함하고, 상기 동작들은:
    하나 이상의 비디오 세그먼트들 각각에 대한 각각의 스피치 인식 출력을 생성하기 위해, 파라미터들의 현재 값들에 따라 상기 시각적 스피치 인식 신경 네트워크를 사용하여 상기 적응 데이터 내의 하나 이상의 비디오 세그먼트들 각각 및 제1 임베딩을 프로세싱하는 동작; 및
    하나 이상의 비디오 세그먼트들 각각에 대해, 비디오 세그먼트의 실측 전사와 비디오 세그먼트에 대한 각각의 스피치 인식 출력 사이의 각각의 에러를 측정하는 손실 함수를 최소화하기 위해 제1 임베딩을 업데이트하는 동작을 포함하는, 방법.
  7. 제6항에 있어서,
    하나 이상의 비디오 세그먼트들 각각에 대해, 비디오 세그먼트의 실측 전사와 비디오 세그먼트에 대한 각각의 스피치 인식 출력 사이의 각각의 에러를 측정하는 손실 함수를 최소화하기 위해 제1 임베딩을 업데이트하는 동작은:
    제1 임베딩에 대한 손실 함수의 그래디언트를 결정하기 위해 상기 시각적 스피치 인식 신경 네트워크를 통해 손실 함수의 그래디언트를 역전파하는 동작; 및
    제1 임베딩에 대한 손실 함수의 그래디언트를 사용하여 제1 임베딩을 업데이트하는 동작을 포함하는, 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 현재 값들은 상기 사전 트레이닝된 값들 및 상기 트레이닝된 값들과 동일하고, 모델 파라미터들은 제1 임베딩을 결정하는 동안 고정되는, 방법.
  9. 제6항 또는 제7항에 있어서,
    상기 동작들은:
    상기 시각적 스피치 인식 신경 네트워크의 파라미터들에 대한 손실 함수의 그래디언트에 기초하여 상기 시각적 스피치 인식 신경 네트워크의 파라미터들의 현재 값들을 업데이트하는 동작을 더 포함하고, 그리고 상기 트레이닝된 값들은 제1 임베딩 벡터를 결정한 후의 현재 값들과 동일한, 방법.
  10. 선행하는 어느 한 항에 있어서,
    비디오 내의 제1 화자에 의해 발화되는 하나 이상의 단어들의 시퀀스를 생성하기 위해 비디오에 대한 상기 스피치 인식 출력에 디코더를 적용하는 단계를 더 포함하는, 방법.
  11. 선행하는 어느 한 항에 있어서,
    상기 스피치 인식 출력은, 비디오 프레임들 각각에 대해, 텍스트 요소들의 어휘에 대한 각각의 확률 분포를 포함하는, 방법.
  12. 시스템으로서,
    하나 이상의 컴퓨터들 및 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 제1항 내지 제11항 중 어느 한 항의 각각의 방법의 동작들을 수행하게 하는 명령어들을 저장하는 하나 이상의 스토리지 디바이스들을 포함하는, 시스템.
  13. 하나 이상의 컴퓨터 판독가능 저장 매체로서,
    하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 제1항 내지 제11항 중 어느 한 항의 각각의 방법의 동작들을 수행하게 하는 명령어들을 저장하는, 하나 이상의 컴퓨터 판독가능 저장 매체.
KR1020237032681A 2021-06-18 2022-06-15 적응형 시각적 스피치 인식 KR102663654B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GR20210100402 2021-06-18
GR20210100402 2021-06-18
PCT/EP2022/066419 WO2022263570A1 (en) 2021-06-18 2022-06-15 Adaptive visual speech recognition

Publications (2)

Publication Number Publication Date
KR20230141932A true KR20230141932A (ko) 2023-10-10
KR102663654B1 KR102663654B1 (ko) 2024-05-10

Family

ID=82385592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237032681A KR102663654B1 (ko) 2021-06-18 2022-06-15 적응형 시각적 스피치 인식

Country Status (7)

Country Link
EP (1) EP4288960A1 (ko)
KR (1) KR102663654B1 (ko)
CN (1) CN117121099A (ko)
AU (1) AU2022292104A1 (ko)
BR (1) BR112023019971A2 (ko)
CA (1) CA3214170A1 (ko)
WO (1) WO2022263570A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080294986A1 (en) * 2007-05-21 2008-11-27 Samsung Electronics Co., Ltd Apparatus and method for creating macro
US20100185445A1 (en) * 2009-01-21 2010-07-22 International Business Machines Corporation Machine, system and method for user-guided teaching and modifying of voice commands and actions executed by a conversational learning system
EP3010015A1 (en) * 2014-10-14 2016-04-20 Samsung Electronics Co., Ltd. Electronic device and method for spoken interaction thereof
WO2019219968A1 (en) * 2018-05-18 2019-11-21 Deepmind Technologies Limited Visual speech recognition by phoneme prediction
US20210118427A1 (en) * 2019-10-18 2021-04-22 Google Llc End-To-End Multi-Speaker Audio-Visual Automatic Speech Recognition

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020048358A1 (en) * 2018-09-04 2020-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method, system, and computer-readable medium for recognizing speech using depth information
US20210065712A1 (en) * 2019-08-31 2021-03-04 Soundhound, Inc. Automotive visual speech recognition

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080294986A1 (en) * 2007-05-21 2008-11-27 Samsung Electronics Co., Ltd Apparatus and method for creating macro
US20100185445A1 (en) * 2009-01-21 2010-07-22 International Business Machines Corporation Machine, system and method for user-guided teaching and modifying of voice commands and actions executed by a conversational learning system
EP3010015A1 (en) * 2014-10-14 2016-04-20 Samsung Electronics Co., Ltd. Electronic device and method for spoken interaction thereof
KR20160043836A (ko) * 2014-10-14 2016-04-22 삼성전자주식회사 전자 장치 및 이의 음성 대화 방법
WO2019219968A1 (en) * 2018-05-18 2019-11-21 Deepmind Technologies Limited Visual speech recognition by phoneme prediction
US20210118427A1 (en) * 2019-10-18 2021-04-22 Google Llc End-To-End Multi-Speaker Audio-Visual Automatic Speech Recognition

Also Published As

Publication number Publication date
AU2022292104A1 (en) 2023-09-21
CA3214170A1 (en) 2022-12-22
KR102663654B1 (ko) 2024-05-10
CN117121099A (zh) 2023-11-24
EP4288960A1 (en) 2023-12-13
BR112023019971A2 (pt) 2023-11-21
WO2022263570A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
US10388284B2 (en) Speech recognition apparatus and method
US11538463B2 (en) Customizable speech recognition system
US10380996B2 (en) Method and apparatus for correcting speech recognition result, device and computer-readable storage medium
CN110546656B (zh) 前馈生成式神经网络
US11741355B2 (en) Training of student neural network with teacher neural networks
US20210312905A1 (en) Pre-Training With Alignments For Recurrent Neural Network Transducer Based End-To-End Speech Recognition
US11355097B2 (en) Sample-efficient adaptive text-to-speech
WO2022121150A1 (zh) 基于自注意力机制和记忆网络的语音识别方法及装置
KR102346046B1 (ko) 3차원 가상 인물 입모양 변화 제어 방법 및 장치
CN112289299B (zh) 语音合成模型的训练方法、装置、存储介质以及电子设备
US11495210B2 (en) Acoustic based speech analysis using deep learning models
US20220328041A1 (en) Training neural networks to predict acoustic sequences using observed prosody info
US11961515B2 (en) Contrastive Siamese network for semi-supervised speech recognition
CN109697978B (zh) 用于生成模型的方法和装置
EP3910625A2 (en) Method and apparatus for utterance time estimation
KR20210028041A (ko) 전자 장치 및 그 제어 방법
US20210073645A1 (en) Learning apparatus and method, and program
CN111797220A (zh) 对话生成方法、装置、计算机设备和存储介质
KR102663654B1 (ko) 적응형 시각적 스피치 인식
EP4207192A1 (en) Electronic device and method for controlling same
KR20230124266A (ko) 적대적 학습 기법을 이용한 음성 합성 방법 및 장치
CN117083668A (zh) 利用自对准减少流式asr模型延迟
JP2024520985A (ja) 適応型視覚音声認識
WO2024018429A1 (en) Audio signal processing method, audio signal processing apparatus, computer device and storage medium
KR20240070689A (ko) 콘포머에 대한 추론 성능의 최적화

Legal Events

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