KR102656006B1 - 심층 다항식 네트워크를 사용하는 암호화된 데이터의 분산 및 협업 분석 - Google Patents

심층 다항식 네트워크를 사용하는 암호화된 데이터의 분산 및 협업 분석 Download PDF

Info

Publication number
KR102656006B1
KR102656006B1 KR1020217033761A KR20217033761A KR102656006B1 KR 102656006 B1 KR102656006 B1 KR 102656006B1 KR 1020217033761 A KR1020217033761 A KR 1020217033761A KR 20217033761 A KR20217033761 A KR 20217033761A KR 102656006 B1 KR102656006 B1 KR 102656006B1
Authority
KR
South Korea
Prior art keywords
encrypted
data item
deep learning
neural network
model
Prior art date
Application number
KR1020217033761A
Other languages
English (en)
Other versions
KR20210138094A (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 KR20210138094A publication Critical patent/KR20210138094A/ko
Application granted granted Critical
Publication of KR102656006B1 publication Critical patent/KR102656006B1/ko

Links

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/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 개시는 원격 단말 디바이스에 의해 사전 처리되고 암호화된 데이터 항목을 처리하기 위해 백엔드 서버에서 트레이닝되고 호스팅되는 데이터 분석 모델을 제공하는 클라우드-로컬 공동 또는 협업 데이터 분석 프레임워크에 관한 것이다. 데이터 분석 모델은 암호화된 출력 데이터 항목을 생성하도록 구성되며, 암호화된 출력 데이터 항목은 그다음 암호해독 및 후처리를 위해 로컬 단말 디바이스로 통신된다. 이 프레임워크는 로컬 단말 디바이스의 암호해독 키를 백엔드 서버 및 통신 네트워크에 노출하지 않고 기능한다. 백엔드 서버에서의 암호화/암호해독 및 데이터 분석은 데이터 항목을 효율적으로 처리하고 통신하여, 원격 단말 디바이스로부터의 데이터 분석 요청에 실시간 또는 거의 실시간의 시스템 응답을 제공하도록 구성된다.

Description

심층 다항식 네트워크를 사용하는 암호화된 데이터의 분산 및 협업 분석
본 출원은, 2019년 7월 8일에 출원되고 발명의 명칭이 "심층 다항식 네트워크(Deep Polynomial Network)를 사용하는 암호화된 데이터의 분산 및 협업 분석"인 미국 특허 출원 번호 제16/505,368호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 개시는 일반적으로 데이터 분석(data analytics)에 관한 것으로, 특히 실시간 주문형 서비스로서 암호화된 데이터의 음성 인식(speech recognition)에 관한 것이다.
일부 데이터 항목(data item)의 분석은 강력하고 중앙에서 관리되는 원격 백엔드 서버에 배포하기에 더 적합한 복잡한 데이터 처리 모델(예: 신경망 기반 인공 지능 모델)을 기반으로 할 수 있다. 또한, 이러한 모델을 생성하는 데 상당한 노력이 필요할 수 있으며 이러한 모델의 개발자는 알고리즘의 유출을 피하기 위해 이러한 모델을 로컬 단말 디바이스에 배포하는 것보다 중앙 집중식 배포를 선호할 수 있다. 따라서, 이러한 데이터 분석은 원격 주문형 서비스(remote on-demand service)로 제공될 수 있다. 예를 들어, 이러한 데이터 분석 서비스가 필요한 로컬 단말 디바이스는 데이터 항목을 통신망을 통해 원격 백엔드 서버에 송신하고, 그다음 데이터 분석이 원격 백엔드 서버에 의해 수행된 후 결과를 수신할 수 있다. 일부 상황에서, 데이터 항목은 민감하거나 기밀일 수 있으며, 암호화되지 않은 형태로 통신 네트워크 및/또는 원격 백엔드 서버에 노출되지 않을 수 있다. 따라서, 일부 보안 애플리케이션의 경우, 데이터 분석 서비스에 대한 요청이 원격 백엔드 서버로 송신되기 전에 로컬 단말 디바이스에서 데이터 항목의 암호화가 필요할 수 있다. 결과적으로, 원격 백엔드 서버에 배치된 데이터 분석 모델은 임의의 암호해독 키(decryption key)에 액세스하지 않고도 암호화된 데이터 항목을 처리하도록 구성되어야 할 수 있다. 암호화된 입력 데이터와 암호화되지 않은 입력 데이터 간에 데이터 분석 모델의 거의 불변성을 제공할 수 있는 이러한 데이터 항목에 대한 특수 데이터 암호화/암호해독(encryption/decryption) 알고리즘이 개발될 수 있지만, 매우 복잡하고 로컬 단말 디바이스에서 실행하는 데 많은 시간이 필요하다. 따라서, 이러한 특수 데이터 암호화/암호해독 알고리즘은 대화식 음성 인식 애플리케이션을 포함하지만 이에 제한되지 않는, 데이터 분석 요구에 대한 실시간 또는 거의 실시간 응답이 필요한 많은 애플리케이션에서 비실용적이다.
이 개시는 원격 단말 디바이스에 의해 사전 처리되고 암호화된 데이터 항목을 처리하기 위해 백엔드 서버에서 트레이닝되고 호스팅되는 데이터 분석 모델을 제공하는 클라우드-로컬 공동(joint) 또는 협업(collaborative) 데이터 분석 프레임워크(framework)에 관한 것이다. 데이터 분석 모델은 암호화된 출력 데이터 항목을 생성하도록 구성되며, 이 암호화된 출력 데이터 항목은 그다음 암호해독 및 후처리(post-processing)를 위해 로컬 단말 디바이스로 통신된다. 이 프레임워크는 로컬 단말 디바이스의 암호해독 키를 백엔드 서버 및 로컬 단말 디바이스와 백엔드 서버 간의 통신 네트워크에 노출하지 않고 기능한다. 따라서, 이 프레임워크는 단말 디바이스 보다는 모델 개발자에 의해 제어되는 백엔드 서버에 모드를 배포하는 것에 의해 불법 복제(piracy)로부터 데이터 분석 모델을 보호하는 것 외에도 사용자 데이터에 대한 개인 정보 보호를 제공한다. 백엔드 서버에서의 암호화/암호해독 및 데이터 분석은 데이터 항목을 효율적으로 처리하고 통신하여, 원격 단말 디바이스로부터의 데이터 분석 요청에 실시간 또는 거의 실시간의 시스템 응답을 제공하도록 구성된다. 이 프레임워크는 예를 들어 원격으로 호스팅되는 실시간 주문형 음성 인식 서비스를 제공하기 위해 적용될 수 있다.
일 구현에서, 원격 데이터 분석을 제공하는 시스템이 개시된다. 상기 시스템은 통신 인터페이스, 딥 러닝 신경망(deep learning neural network)을 저장하기 위한 메모리, 상기 통신 인터페이스 및 상기 메모리와 통신하는 회로를 포함한다. 상기 회로는 상기 통신 인터페이스를 통해 원격 단말 디바이스로부터 암호화된 데이터 항목을 수신하고; 상기 암호화된 데이터 항목을 암호화된 형태로 상기 딥 러닝 신경망을 통해 순방향 전파하여(forward propagate), 암호화된 출력 데이터 항목을 획득하며; 그리고 상기 암호화된 출력 데이터 항목을 상기 통신 인터페이스를 통해 상기 원격 단말 디바이스로 송신하도록 구성된다. 상기 딥 러닝 신경망은 암호화되지 않은 트레이닝(training) 데이터를 사용하여 트레이닝되고, 복수의 계층으로 상호연결된 뉴런(neuron)을 포함하고, 상기 딥 러닝 신경망의 적어도 하나의 활성화 연산(activation operation) 및 적어도 하나의 풀링 연산(pooling operation)이 다항화된다(polynomialized).
위의 구현에서, 상기 원격 데이터 분석은 원격 음성 인식 서비스(remote speech recognition service)를 포함한다. 위의 구현 중 어느 하나에서, 상기 암호화된 데이터 항목은 상기 원격 단말 디바이스에서 음성 인지 모델(speech perception model)에 이어서 암호화를 사용하여 상기 원격 디바이스에서 도출되는, 미리 결정된 프레임 지속 기간(duration)의 오디오 파형 프레임의 연결된 특징(concatenated feature)을 포함하고; 상기 딥 러닝 학습 신경망은 상기 원격 단말 디바이스에 의해 암호화된 상기 연결된 특징을 상기 암호화된 출력 데이터 항목으로 처리하는 음향 모델을 포함하며; 그리고 상기 딥 러닝 신경망의 암호화된 출력 데이터 항목은 전화 코드북(phone codebook)에 대응하는 확률 벡터(probability vector)를 포함한다.
위의 구현 중 어느 하나에서, 상기 적어도 하나의 풀링 연산은 스케일링된 평균 풀링(scaled mean pooling)을 사용하여 다항화된다. 위의 구현 중 어느 하나에서, 상기 적어도 하나의 활성화 연산은 시그모이드 함수(sigmoid function)의 3차 다항식 근사(third-degree polynomial approximation)를 사용하여 다항화된다. 위의 구현 중 어느 하나에서, 상기 암호화된 데이터 항목은 상기 원격 단말 디바이스에서의 공개키 암호화에 기반할 수 있다. 위의 구현 중 어느 하나에서, 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝된 상기 딥 러닝 신경망의 모델 파라미터의 적어도 서브세트는, 상기 암호화된 데이터 항목의 순방향 전파를 위해 암호화되지 않은 상태로 유지된다.
위의 구현 중 어느 하나에서, 상기 모델 파라미터의 서브세트는 복수의 가중치 및 복수의 배치 정규화(batch normalization) 파라미터를 포함한다. 위의 구현 중 어느 하나에서, 상기 모델 파라미터의 서브세트는 복수의 컨볼루션 커널(convolutional kernel)을 더 포함한다.
위의 구현 중 어느 하나에서, 상기 딥 러닝 신경망은, 상기 딥 러닝 신경망을 초기 트레이닝하고 - 모델 파라미터 세트가 제1 정밀도(precision)로 트레이닝됨 -; 그리고 트레이닝 데이터의 순방향 및 역방향 전파 동안 상기 모델 파라미터 세트를 상기 제1 정밀도보다 낮은 제2 정밀도로 양자화하는 것에 의해 상기 딥 러닝 신경망을 재트레이닝하는(retraining) 것에 의해 트레이닝될 수 있다.
위의 구현 중 어느 하나에서, 상기 모델 파라미터 세트에 대한 양자화 레벨은 보다 밀집한(denser) 양자화된 레벨이 더 집중된 상기 모델 파라미터 세트의 값 주위에 할당되도록, 상기 제1 정밀도의 모델 파라미터 세트의 통계적 분포를 계산하는 것에 의해 결정된다. 위의 구현 중 어느 하나에서, 상기 제2 정밀도의 상기 제1 정밀도는 각각 상기 모델 파라미터 세트에 대한 제1 미리 결정된 파라미터 비트 수 및 제2 미리 결정된 파라미터 비트 수에 의해 표현되고, 상기 제2 미리 결정된 파라미터 비트 수는 8이다.
위의 구현 중 어느 하나에서, 상기 딥 러닝 신경망은 인지 모델에 이어 음향 모델을 포함한다. 상기 암호화된 데이터 항목은 상기 원격 단말 디바이스로부터 송신된 미리 결정된 프레임 지속 기간의 암호화된 오디오 파형 프레임을 포함한다. 상기 인지 모델은 상기 암호화된 오디오 파형 프레임을 인지 특징(perception feature)으로 변환하도록 구성된다. 상기 음향 모델은 상기 인지 특징을 상기 딥 러닝 신경망의 전화 코드북에 대응하는 확률 벡터를 포함하는 암호화된 출력 데이터 항목으로 변환하도록 구성된다.
위의 구현 중 어느 하나에서, 상기 딥 러닝 신경망은 음향 모델에 이어 언어 모델을 포함한다. 상기 암호화된 데이터 항목은 상기 원격 단말 디바이스로부터 송신된 미리 결정된 프레임 지속 기간 각각의 복수의 오디오 파형 프레임의 암호화된 인지 특징을 포함한다. 상기 음향 모델은 상기 암호화된 데이터 항목을 전화 코드북에 대응하는 복수의 암호화된 확률 벡터로 변환하도록 구성되며, 각각의 암호화된 확률 벡터는 복수의 오디오 파형 프레임 중 하나에 대응한다. 상기 언어 모델은 상기 복수의 암호화된 확률 벡터를 암호화된 텍스트 세그먼트(text segment)를 포함하는 상기 암호화된 출력 데이터 항목으로 변환하도록 구성된다.
위의 구현 중 어느 하나에서, 상기 딥 러닝 신경망은 인지 모델에 이어 음향 모델에 이어 언어 모델을 포함한다. 상기 암호화된 데이터 항목은 상기 원격 단말 디바이스로부터 송신된 미리 결정된 프레임 지속 기간 각각의 복수의 암호화된 오디오 파형 프레임을 포함한다. 상기 인지 모델은 상기 복수의 암호화된 오디오 파형 프레임을 복수의 인지 특징 세트로 변환하도록 구성된다. 상기 음향 모델은 상기 복수의 인지 특징 세트를 전화 코드북에 대응하는 복수의 암호화된 확률 벡터로 변환하도록 구성되며, 각각의 암호화된 확률 벡터는 상기 복수의 오디오 파형 프레임 중 하나에 대응한다. 상기 언어 모델은 상기 복수의 암호화된 확률 벡터를 암호화된 텍스트 세그먼트를 포함하는 상기 암호화된 출력 데이터 항목으로 변환하도록 구성된다.
다른 구현에서, 원격 데이터 분석을 제공하는 시스템이 제공된다. 상기 시스템은 단말 디바이스; 및 원격 서버를 포함한다. 상기 원격 서버는 통신 인터페이스, 딥 러닝 신경망을 저장하는 메모리, 및 상기 통신 인터페이스 및 상기 메모리와 통신하는 회로를 포함한다. 상기 단말 디바이스 및 상기 원격 서버의 회로는, 상기 단말 디바이스가 데이터 항목을 암호화하여 암호화된 데이터 항목을 획득하고; 상기 단말 디바이스가, 암호화된 데이터 항목을 상기 원격 서버의 통신 인터페이스로 송신하며; 상기 회로가, 상기 통신 인터페이스를 통해 상기 단말 디바이스로부터 상기 암호화된 데이터 항목을 수신하고; 상기 회로가, 상기 암호화된 데이터 항목을 암호화된 형태로 상기 딥 러닝 신경망을 통해 순방향 전파하여 암호화된 출력 데이터 항목을 획득하며; 상기 회로가, 상기 암호화된 출력 데이터 항목을 상기 통신 인터페이스를 통해 상기 단말 디바이스에 송신하고; 상기 단말 디바이스가, 상기 원격 서버로부터 상기 암호화된 출력 데이터 항목을 수신하며; 그리고 상기 단말 디바이스가, 상기 암호화된 출력 데이터 항목을 암호해독하여(decrypt) 암호해독된 데이터 항목을 획득하도록 구성된다. 상기 딥 러닝 신경망은 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝되고, 복수의 계층으로 상호연결된 뉴런을 포함하며, 상기 딥 러닝 신경망의 적어도 하나의 활성화 연산 및 적어도 하나의 풀링 연산은 다항화된다.
위의 구현에서, 상기 원격 데이터 분석은 원격 음성 인식 서비스를 포함한다. 상기 암호화된 데이터 항목은 상기 원격 단말 디바이스에서 음성 인지 모델에 이어 암호화를 사용하여 상기 원격 디바이스에서 도출되는, 미리 결정된 프레임 지속 기간의 오디오 파형 프레임의 연결된 특징을 포함한다. 상기 딥 러닝 신경망은 상기 단말 디바이스에 의해 암호화된 상기 연결된 특징을 상기 암호화된 출력 데이터 항목으로 처리하는 음향 모델을 포함한다. 상기 딥 러닝 신경망의 암호화된 출력 데이터 항목은 전화 코드북에 대응하는 확률 벡터를 포함한다.
위의 시스템 구현 중 어느 하나에서, 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝된 상기 딥 러닝 신경망의 모델 파라미터의 적어도 서브세트는 상기 암호화된 데이터 항목의 순방향 전파를 위해 암호화되지 않은 상태로 유지된다.
또한 다른 구현에서, 통신 인터페이스, 딥 러닝 신경망을 저장하는 메모리, 그리고 상기 통신 인터페이스 및 상기 메모리와 통신하는 회로를 포함하는 서버에 의해 수행되는, 원격 데이터 분석을 제공하는 방법이 제공된다. 상기 방법은 상기 회로가, 상기 통신 인터페이스를 통해 원격 단말 디바이스로부터 암호화된 데이터 항목을 수신하는 단계; 상기 회로가, 암호화된 데이터 항목을 암호화된 형태로 상기 딥 러닝 신경망을 통해 순방향 전파하여 암호화된 출력 데이터 항목을 획득하는 단계; 및 상기 회로가, 상기 암호화된 출력 데이터 항목을 상기 통신 인터페이스를 통해 상기 원격 단말 디바이스로 송신하는 단계를 포함한다. 상기 딥 러닝 신경망은 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝되고, 복수의 계층으로 상호연결된 뉴런을 포함하며, 상기 딥 러닝 신경망의 적어도 하나의 활성화 연산 및 적어도 하나의 풀링 연산이 다항화된다.
도 1은 원격 데이터 분석 서비스를 제공하는 시스템의 예를 도시한다.
도 2a 및 도 2b는 데이터 분석 서비스를 제공하기 위한 도 1의 시스템의 다양한 구현을 도시한다.
도 3은 암호화된 데이터 항목의 분산 및 협업(distributed and collaborative) 데이터 분석을 제공하기 위한 구현 예를 도시한다.
도 4는 특정 암호화 방식을 사용하여 암호화된 데이터 항목의 분산 및 협업 데이터 분석을 제공하기 위한 구현 예를 도시한다.
도 5는 디지털화된 입력 오디오 파형의 음성 인식을 위한 데이터 분석 파이프라인의 예를 도시한다.
도 6은 암호화된 오디오 데이터 항목의 분산 및 협력 음성 인식을 제공하기 위한 예시적인 구현을 도시한다.
도 7은 암호화된 오디오 데이터 항목의 분산 및 협업 음성 인식을 제공하기 위한 또 다른 구현 예를 도시한다.
도 8은 암호화된 오디오 데이터 항목의 분산 및 협업 음성 인식을 제공하기 위한 또 다른 구현 예를 도시한다.
도 9는 암호화된 오디오 데이터 항목의 분산 및 협업 음성 인식을 제공하기 위한 또 다른 구현 예를 도시한다.
도 10은 백엔드 서버에 배치된 딥 러닝 신경망을 보여주는 도 6의 분산 및 협업 음성 인식 프로세스의 보다 자세한 구현을 도시한다.
도 11은 음성 인식을 위한 기존 딥 러닝 신경망의 다항화를 도시한다.
도 12는 심층 다항식 신경망을 트레이닝하기 위한 로직 흐름을 도시한다.
도 13은 심층 다항식 네트워크의 모델 파라미터 값 공간의 양자화 예를 도시한다.
도 14는 부동 소수점 계산을 사용하지만 부동 소수점 값 공간을 저분해능 고정 소수점 값 공간으로의 불균일한 양자화를 가지는 심층 다항식 네트워크의 재트레이닝 스냅샷을 도시한다.
도 15는 도 1의 단말 디바이스 또는 서버 디바이스로서 사용될 수 있는 컴퓨팅 디바이스의 다양한 전자 컴포넌트를 도시한다.
복잡한 데이터의 분석은 집약적인 컴퓨팅 성능과 큰 메모리 공간이 필요한 데이터 처리 파이프라인(data processing pipeline)에 의존할 수 있다. 이러한 데이터 처리 파이프라인은 다양한 유형의 데이터 처리 컴포넌트(component) 및 데이터 처리 모델을 포함할 수 있으며, 로컬 단말 디바이스를 원격으로 서브(serve)하기 위해 백엔드(backend) 서버에서 호스팅될(hosted) 수 있다. 특히, 이러한 데이터 처리 파이프라인은 클라우드 플랫폼에 분산된 가상 컴퓨팅 리소스(resource)를 사용하는 가상 머신의 형태로 백엔드 서버에서 호스팅될 수 있다. 이러한 데이터 분석 서비스를 필요로 하는 로컬 단말 디바이스는 데이터 항목 처리 요청과 함께 데이터 항목을 통신 네트워크를 통해 원격 백엔드 서버로 송신하고 그다음 요청된 데이터 분석이 원격 백엔드 서버에 의해 수행된 후 결과를 수신할 수 있다.
많은 보안 애플리케이션에서, 데이터 분석 서비스가 필요한 데이터 항목은 민감하거나 기밀일 수 있으며, 암호화되지 않은 형태로 통신 네트워크 및/또는 원격 백엔드 서버에 노출되지 않을 수 있다. 이러한 애플리케이션의 경우, 데이터 항목이 로컬 단말 디바이스를 떠나기 전과 데이터 분석 서비스에 대한 요청이 원격 백엔드 서버로 송신되기 전에 데이터 항목의 암호화가 필요할 수 있다. 보안상의 이유로 백엔드 서버는 암호해독 키(decryption key)에 대한 접근 없이 암호화된 데이터 항목을 제공받을 수 있으므로, 데이터 항목을 암호화된 형태로 처리하여 데이터 분석 서비스를 제공해야 한다. 이와 같이, 백엔드 서버에서 호스팅되는 데이터 분석 파이프라인에 포함된 데이터 처리 컴포넌트 및 데이터 처리 모델은 암호화된 데이터를 처리할 수 있어야 한다.
이 개시는 원격 단말 디바이스에 의해 사전 처리되고 암호화된 데이터 항목을 처리하기 위해 백엔드 서버에서 트레이닝되고(trained) 호스팅되는 데이터 분석 모델을 제공하는 클라우드-로컬 공동 또는 협업 데이터 분석 프레임워크에 관한 것이다. 백엔드 서버에서 호스팅되는 데이터 분석 모델은 암호화된 출력 데이터 항목을 생성한 다음, 암호해독 및 후처리(post-processing)를 위해 데이터 분석 서비스를 요청하는 로컬 단말 디바이스로 통신된다. 여기에 개시된 프레임워크는 로컬 단말 디바이스의 비밀 암호해독 키를 백엔드 서버 및 로컬 단말 디바이스와 백엔드 서버 간의 통신 네트워크에 노출시키지 않고 기능한다. 따라서, 여기에 개시된 프레임워크는 데이터 프라이버시 보호(data privacy protection)를 제공한다. 백엔드의 암호화/암호해독 및 데이터 분석은 데이터 항목을 효율적으로 처리하고 통신하여 원격 단말 디바이스로부터의 데이터 분석 요청에 실시간 또는 거의 실시간의 시스템 응답을 제공하도록 구성된다.
또한, 백엔드 서버에서 호스팅되는 데이터 분석 모델과 이러한 데이터 분석 모델의 연산(operation) 및 트레이닝은 데이터 항목을 암호화된 형태로 처리할 수 있도록 조정 및 수정된다. 동일한 데이터 분석 모델을 사용하여 각각 고유한 암호해독 키를 가진 서로 다른 클라이언트에 서비스를 제공할 수 있다. 프레임워크 및 데이터 분석 모델은 원격 주문형 음성 인식 서비스 및 기타 유형의 데이터 분석 서비스를 제공하는 데 사용될 수 있다.
도 1은 원격 데이터 분석 서비스를 제공하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 클라우드 플랫폼(110)에 배치된 백엔드 서버(112) 및 원격 단말 디바이스(120)를 포함한다. 백엔드 서버(112) 및 원격 단말 디바이스는 공공 또는 사설 통신 네트워크(102)를 통해 연결된다. 백엔드 서버(112)를 배치하기에 적합한 예시적인 클라우드 플랫폼은 아마존의 AWSTM, 구글 클라우드(Google Could), 및 마이크로소프트의 AzureTM를 포함하지만 이에 제한되지 않는다. 단일 클라우드 플랫폼(110)이 도 1에 도시되어 있지만, 백엔드 서버는 다중 클라우드 플랫폼에 걸쳐 배치될 수 있다. 도 1에 추가로 도시된 바와 같이, 백엔드 서버는 다르게는 하나 이상의 클라우드 플랫폼에서 가상 머신이 아닌 전용 서버(130)로서 배치될 수 있다. 전용 서버(130)는 마찬가지로 공공 또는 사설 통신 네트워크(102)를 통해 원격 단말 디바이스(120)에 연결된다.
시스템(100)은 다양한 데이터 분석 모델 및 다양한 입력 데이터 항목, 중간 날짜 항목(intermediate date item) 그리고 데이터 분석 모델 및 파이프라인에 의해 처리된 최종 데이터 항목을 저장하기 위해 통신 네트워크(102)에 연결된 클라우드 기반 저장소(cloud-based repositories) 또는 데이터베이스(114) 및/또는 비-클라우드 기반 저장소 또는 데이터베이스(132)를 더 포함한다. 단말 디바이스(120)는 단말 디바이스(122, 124, 126, 128)에 의해 예시된 바와 같이 데스크탑 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 휴대 전화, 개인 휴대 정보 단말(personal digital assistant), 웨어러블 디바이스 등을 포함할 수 있지만 이에 제한되지 않는다. 통신 네트워크(102)는, 예를 들어, 유선 네트워크, 무선 네트워크, 액세스 네트워크, 및 데이터를 송수신하도록 구성된 네트워크 프로토콜의 스택을 갖는 코어 네트워크의 임의의 조합을 포함할 수 있다.
도 2a 및 도 2b는 클라우드(110)에 배치된 백엔드 서버(112)로부터 단말 디바이스(120)에 원격 데이터 분석 서비스를 제공하기 위한 몇 가지 예시적인 구현을 추가로 도시한다. 도 2a에 도시된 바와 같이, 백엔드 서버(112)에 의한 추가 데이터 분석을 위해 단말 디바이스(120)에서 준비되거나 사전 처리된 데이터 항목은 f로 표현된다. 데이터 항목은 화살표(203)로 지시된 바와 같이 백엔드 서버(112)로 통신될 수 있다. 백엔드 서버에 의해 수행되는 데이터 분석은 204에 의해 도시된 바와 같이 m()으로 표현될 수 있다. 이와 같이, 백엔드 서버(112)에 의해 수행된 데이터 분석 후의 출력 데이터 항목은 206으로 도시된 바와 같이 m(f)로 표현될 수 있다. 처리된 데이터 항목 m(f)는 화살표(207)로 도시된 바와 같이 백엔드 서버(112)에 의해 단말 디바이스(120)로 전송될 수 있다. 단말 디바이스(120)는 추가적으로, 단말 디바이스(120)에서 원격 데이터 분석 서비스를 요청하는 애플리케이션에 의해 지정된 데이터 항목 m(f)를 후처리할 수 있다(도 2a에 도시되지 않음).
예를 들어, 의료, 금융, 기업 또는 기타 민감한 기밀 데이터와 관련된 많은 애플리케이션에서, 도 2a의 구현에 따라 데이터 분석 서비스를 제공하는 것은 안전하지 않을 수 있다. 구체적으로, 도 2a에 도시된 데이터 전송 및 통신 방식에서, 암호화되지 않은 형태의 데이터 항목 f는 잠재적으로 신뢰할 수 없는 통신 채널(203)과 백엔드 서버(112)에 노출된다. 마찬가지로, 암호화되지 않은 형태의 처리된 데이터 항목 m(f)는 신뢰할 수 없는 통신 채널(207)에 추가로 노출된다. 따라서, 데이터 항목 f 및 m(f)의 무결성(integrity)이 손상될 수 있다.
도 2b는 데이터 항목 f 및 m(f)에 보호 기능을 추가하기 위해 도 2a에서 수정된 구현을 도시한다. 도 2b에 도시된 바와 같이, 데이터 항목 f는 데이터 분석 서비스를 위해 단말 디바이스(120)에 의해 백엔드 서버(112)로 송신되기 전에, 208로 지시된 바와 같이 단말 디바이스(120)에 의해 먼저 암호화된다. 단말 디바이스(120)가 수행하는 암호화 기능은 E()로 표현될 수 있다. 이와 같이, f가 아닌 E(f)(210)로 표현되는 암호화된 데이터 항목은 단말 디바이스(120)에 의해 백엔드 서버(112)로 전송될 수 있다. 암호해독 키는 단말 디바이스(120)에 의해 비밀로 유지될 수 있고, 통신 채널(203, 207) 및 백엔드 서버(112)에 노출되지 않을 수 있다. 백엔드 서버(112)는 204로 도시된 바와 같이 데이터 분석 처리 기능 m()을 사용하여 암호화된 데이터 항목 E(f)(210)를 처리하여 212로 지시된 바와 같이, 처리된 데이터 항목 m(E(f))를 획득할 수 있다. 처리된 데이터 항목 m(E(f))(212)는 그다음 백엔드 서버(112)로부터 원격 단말 디바이스(120)로 전송될 수 있다. 처리된 데이터 항목 m(E(f))(212)를 수신하면, 단말 디바이스(120)는 214로 도시된 바와 같이 암호해독 D()를 수행하여, 후처리(도 2b에 도시되지 않음) 이전에 206으로 도시된 바와 같이, 암호해독된 데이터 항목 D(m(E(f)))를 획득할 수 있다.
도 2b의 구현에서, 백엔드 서버(112)가 임의의 클라이언트의 비밀 암호해독 키에 액세스할 수 없기 때문에 데이터 분석 함수 m()은 일반적으로 암호화된 데이터 항목 보다는 암호화되지 않은 데이터 항목을 처리하기 위해 개발된다. 동일한 데이터 분석 함수 m()을 사용하여 암호화된 데이터 항목을 처리할 때 도 2b의 구현이 성공적으로 기능하기 위해서, 도 2b의 암호해독 프로세스(214)가 암호화되지 않은 입력 데이터 항목이 데이터 분석 함수 m()에 의해 직접 처리된다면 생성될 데이터 항목을 복구하거나 거의 복구해야 한다. 이것은 단말 디바이스(120)에서의 암호해독 결과(decryption outcome) D(m(E(f)))가 m(f)로 복원되는 도 3에 도시되어 있다(도 3은 그 외에는 도 2b와 동일함).
도 2b 및 도 3의 방식을 사용하여 데이터 분석 함수 m()에 대해 D(m(E(f)))=m(f)를 달성하기 위해, 암호화 및 암호해독 알고리즘 E() 및 D()는 일부 특별하고 비전통적인 방식으로 구현되어야 할 수 있다. 구체적으로, 전통적인 암호화 방식은 백엔드 서버(120)에서 먼저 암호해독되지 않고 위의 조건을 충족하는 것이 불가능하지는 않더라도 어렵게 만드는 방식으로 데이터를 잠금한다(lock). 위의 조건을 만족하는 비전통적인 암호화 프로세스를 HE(homomorphic encryption)라고 할 수 있다. HE 프로세스는 암호화된 형태로 데이터 항목의 계산 및 처리를 허용하도록 설계될 수 있다. 암호해독은 암호화된 데이터 항목의 계산 및 처리 후에 수행될 수 있으며, 처리된 암호화된 데이터 항목의 암호해독된 출력은 대응하는 암호화되지 않은 데이터 항목에 대해 수행된 동일한 계산 및 처리 m()의 출력과 동일하다. 데이터 계산 및 처리(다르게는 데이터 변환이라고도 함)가 암호화되지 않은 데이터 항목과 암호화된 데이터 항목에 동일한 영향을 미치기 때문에 이러한 유형의 암호화를 동형(homomorphic)이라고 한다. 완전 동형 암호화 방식(fully homomorphic encryption scheme)은 복잡할 수 있고, 단말 디바이스에 실용적이지 않은 계산 자원을 필요로 할 수 있으며, 실시간 응답을 요구하는 애플리케이션에 적합하지 않은 계산 시간을 더 요구할 수 있다.
일부 암호화 알고리즘은 임의의 데이터 처리 연산과 반대로 일부 유형의 데이터 변환(위의 함수 m())이 암호화되지 않은 데이터 항목과 암호화된 데이터 항목에 동일한 영향을 미친다는 점에서 부분적으로 동형일 수 있다. 예를 들어, 암호화 알고리즘은 입력된 숫자에 10을 곱하는 것을 포함할 수 있고, 대응하는 역방향 암호해독 알고리즘은 10으로 나누는 것을 포함할 수 있다. 이 암호화는 덧셈(addition)의 단순 데이터 변환 연산에 대해 동형이다. 예를 들어, 암호화되지 않은 숫자 데이터 "1" 및 "2"는 이 특정 암호화 알고리즘에 따라 각각 "10" 및 "20"(10의 곱셈)으로 암호화될 수 있다. 단순 덧셈의 데이터 변환 m()은 암호화되지 않은 데이터를 처리하는 데 사용될 때 숫자 데이터 "3"을 생성하고, 암호화된 데이터를 처리하는 데 사용될 때 숫자 데이터 "30"을 생성한다. 암호화된 출력 데이터 "30"은 암호화되지 않은 데이터에 대해 직접 데이터 변환을 수행한 결과와 동일한 "3"(10으로 나누기)으로 암호해독된다.
이와 같이, 본 개시의 일부 구현에서, 완전히 동형이 아닌 효율적인 암호화 알고리즘은 암호화 알고리즘을 동형으로 효과적으로 렌더링하는(render) 연산 세트로 제한되는 데이터 처리 연산의 조합만을 포함하는 데이터 분석과 함께 사용될 수 있다. 연산 세트 내에 있지 않은 데이터 처리 연산을 포함하는 데이터 분석 파이프라인은 연산 세트의 데이터 처리 연산만 포함하도록 근사화되거나 수정되고 적응적으로 트레이닝될 수 있다. 데이터 분석 파이프라인에 대한 이러한 수정으로 암호화 알고리즘은 동형이 된다.
도 4는 단순 곱셈을 포함하는 단일 데이터 분석 연산 또는 데이터 변환 연산 m()에 대해 동형인 효율적인 암호화 알고리즘을 사용하는 예를 도시한다. 도 4에 도시된 암호화/암호해독 알고리즘은 공개키를 이용한 암호화와 개인키(비밀키)를 이용한 암호해독을 위한 전통적인 RSA 방식을 기반으로 할 수 있다. 도 4의 예에서, 공개키는 (23, 143)일 수 있고 개인키는 (47, 143)일 수 있다. 암호화 알고리즘은 406 및 408에 도시된 바와 같이, 공개키의 제1 컴포넌트를 사용하여 멱 함수(power function)를 수행한 다음 공개키의 제2 컴포넌트를 사용하여 Mod 연산을 수행하는 것을 포함할 수 있다. 암호해독 프로세스는 418에 도시된 바와 같이, 개인키의 제1 컴포넌트를 사용하여 멱 함수를 수행한 다음 개인키의 제2 컴포넌트를 사용하여 Mod 연산을 수행하는 것을 포함할 수 있다. 도 4의 예에서, 로컬 단말 디바이스(120)에 대해 처리될 데이터 항목은 벡터 f = (f1, f2) = (7, 3)이다. 데이터 분석 함수 m()는 422로 도시된 바와 같이, 입력 데이터 벡터의 컴포넌트의 간단한 곱셈, m(f) = f1 x f2을 포함한다.
계속해서 도 4를 참조하면, 로컬 단말 디바이스(120)는 먼저 (406 및 408로 도시된 바와 같이) 공개키를 사용하여 데이터 항목 f = (f1, f2) = (7, 3)을 암호화하고, 암호화된 벡터 E(f) = (E(f1), E(f2)) = (2, 126)를 생성하며, 암호화된 벡터를 410으로 도시된 바와 같이 클라우드(110)에 배치된 백엔드 서버(112)로 송신한다. 그다음 백엔드 서버(112)는 데이터 분석 함수 m()을 수행하여, 412 및 414로 도시된 바와 같이, 처리된 데이터 항목 m(E(f)) = E(f1) × E(f2) = 2 × 126 = 252를 생성한다. 데이터 분석 프로세스(412)의 암호화된 출력(414)은 416 및 418로 도시된 바와 같이 백엔드 서버(112)에 의해 원격 단말 디바이스(120)로 통신될 수 있고, 그 후 원격 단말 디바이스(120)에 의해 암호해독된다. 이 예에서 개인키를 사용한 암호해독 후의 암호화된 출력(414)은 418로 도시된 바와 같이 "21"이며, 이는 422 및 420으로 도시된 바와 같이, 암호화되지 않은 입력 데이터 항목 f = (7, 3)에 대해 직접 데이터 분석 연산 m()을 수행하는 것에 의해 획득된 결과와 동일하다.
일부 다른 구현에서, 데이터 분석 연산은 입력 데이터 항목의 곱셈 및 덧셈의 조합을 포함할 수 있다. 다시 말해서, 데이터 분석 함수 m()은 입력 데이터 항목의 다항식 함수(polynomial function)일 수 있다. 이러한 데이터 분석 함수를 위해 효율적인 동형 암호화/암호해독 알고리즘이 설계될 수 있다. 특히, 저차 다항식(low-degree polynomial) 데이터 분석 함수 m()에 대해 효율적인 동형 암호화/암호해독 알고리즘을 개발할 수 있다. 아래의 다양한 예에서 보여지는 바와 같이, 저차 다항식 함수가 아닌 m()에 대해, 저차 다항식 함수들의 조합을 근사화하도록 적응될 수 있다. 다시 말해서, 데이터 분석 함수 m()은 다항화(polynomialized)될 수 있다. 그 결과, 이러한 수정 또는 근사 데이터 분석 함수에 효율적인 동형 암호화/암호해독 알고리즘이 제공될 수 있다.
실제 애플리케이션에서, 도 1 내지 도 4의 백엔드 서버(112)에 의해 단말 디바이스(120)에 제공되는 데이터 분석 함수 m()은 복잡한 입력 데이터 항목을 분석하도록 구성될 수 있다. 예를 들어, 백엔드 서버(112)(및/또는 130)는 음성 인식 서비스를 단말 디바이스(120)에 제공할 수 있다. 이러한 음성 인식 서비스는 음성-텍스트(speech-to-text) API(Application Program Interface)를 통해 제공될 수 있다. 이러한 API는 단말 디바이스가 음성을 포함하는 디지털 오디오 파형으로부터 형식화되거나 변환된 암호화된 데이터 항목(도 2 내지 도 4의 데이터 항목 f)을 처리하도록 백엔드 서버에 요청하는 데 사용될 수 있다. 단말 디바이스(120)는 추가로, API를 통해 백엔드 서버로부터 처리된 데이터 항목을 수신하고, 처리된 데이터 항목을 암호해독하며, 암호해독된 데이터 항목을 추가로 후처리하여 디지털 오디오 파형에 포함된 음성에 대응하는 텍스트 세그먼트(text segment)를 획득할 수 있다. API를 이용하여 백엔드 서버(112)에 의해 제공되는 음성 인식 서비스에 기반하여, 보이스(voice) 기반 제어, 자연스러운 음성 변환을 사용한 사용자 대화, 음성 전사(speech transcription) 및 받아쓰기를 포함하지만 이에 제한되지 않는 강력한 애플리케이션이 단말 디바이스(120)를 위해 개발될 수 있다.
아래의 추가 구현 예는 오디오 처리 및 음성 인식 서비스의 맥락에서 제공되지만 기본 원칙은 데이터 분류(예를 들어, 이미지 분류 및 텍스트 분류), 데이터 클러스터링, 디지털 이미지에서의 객체 세그멘테이션 검출 및 인식(예: 얼굴 세그멘테이션 및 인식) 등을 포함하지만 이에 제한되지 않는, 상이한 유형의 데이터 및 상이한 유형의 데이터 처리를 포함하는 다른 유형의 원격 데이터 분석에 적용할 수 있다.
도 5는 음성 인식을 위한 예시적인 데이터 처리 파이프라인(500)을 도시한다. 데이터 처리 파이프라인(500)은 디지털화된 오디오 파형(audio waveform)(503)을 생성하기 위한 오디오 파형 획득(502)을 포함한다. 디지털 오디오 파형(503)은 미리 결정된 지속 기간(duration)(예: 10-100ms)의 프레임으로 분할될 수 있고 오디오 프레임은 그다음 인지 모델(perception model)(504)에 의해 처리된다. 인지 모델(504)은 디지털 파형(503)의 프레임을 음성 특징(speech feature)(506)으로 변환하도록 설계될 수 있다. 인지 모델은 음성 특징 파라미터 세트를 사용하여 인간 성대 및 발성강(vocal cavity)의 생리학을 모델링하는 데 사용할 수 있다. 이와 같이, 인지 모델은 음성을 포함하는 디지털 오디오의 프레임(오디오 프레임)을 음성 특징 파라미터의 세트에 기반한 표현(representation)으로 변환하거나 코딩할 수 있다. 예를 들어, 인지 모델은 대수적(algebraic), 완화적(relaxed) 또는 CELP(low-delay code-excited linear prediction)을 기반으로 할 수 있다.
계속해서 도 5를 참조하면, 음성 특징(506)은 오디오 프레임이 전화 코드북(phone codebook)의 전화 세트 각각을 포함할 확률을 나타내는 확률 벡터(probability vector)를 생성하기 위해 프레임 단위로 음향 모델(508)에 의해 처리될 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 음향 모델(508)은 사전 트레이닝된 딥 러닝 신경망(deep-learning neural network)에 기반할 수 있다. 연속적인 오디오 프레임의 컬렉션(collection)에 대한 코드북 확률 벡터(510)는 오디오 프레임의 컬렉션에 포함된 음소(phoneme), 단어 및 문장(sentence)을 검출하는 것에 의해 인식된 텍스트(514)를 생성하기 위해 음소 및 언어 모델(phoneme and language model)(512)에 의해 추가로 처리될 수 있다.
애플리케이션에 따라, 도 5의 다양한 처리 모델은 로컬 단말 디바이스(120) 또는 백엔드 서버(112)(또는 130)에서 구현 및 배포될 수 있다. 그 결과, 음성 인식 파이프라인(500)의 일부는 로컬 단말 디바이스(120)에서 구현될 수 있고 파이프라인(500)의 다른 부분은 도 6 내지 도 9의 예시적인 구현에 도시된 바와 같이, 클라우드 플랫폼에서 호스팅될 수 있는 원격 서버(112)에서 구현될 수 있다. 도 6 내지 도 9 중 어느 하나에서, 암호화 프로세스 전에 로컬 단말 디바이스(120)에 의해 생성된 데이터 항목은 f로 표시되고(denoted); 로컬 단말 디바이스(120)에 의해 암호화된 후에 생성된 데이터 항목은 E(f)로 표시되며; E(f)를 처리한 후 백엔드 서버(112)에 의해 생성된 데이터 항목은 m(E(f))로 표시되고; 로컬 단말 디바이스(120)에 의한 암호해독 후의 데이터 항목은 도 2 내지 도 4의 표기법과 일치하여 도 6 내지 도 9에 도시된 바와 같이 D(m(E(f)))로 표시된다.
도 6에 도시된 하나의 예시적인 구현에서, 음향 모델(508)은 백엔드 서버(112)에 의해 서비스(602)로서 제공될 수 있고, 다른 모델 및 데이터 처리는 로컬 단말 디바이스(120)에 위치될 수 있다. 특히, 로컬 단말 디바이스(120)는 획득 프로세스(502)에 의해 디지털 오디오 파형(503)을 생성하고 인지 모델(504)을 구현하여 음성 특징을 생성하도록 구성될 수 있다. 그다음, 음성 특징이 암호화될 수 있고(208) 암호화된 음성 특징이 백엔드 서버(112)로 통신될 수 있다. 그다음 백엔드 서버(112)는 음향 모델(508)을 사용하여 암호화된 음성 특징을 처리하여 암호화된 전화 확률 벡터(phone probability vector)를 생성하며, 이는 로컬 단말 디바이스(120)에 의해 암호해독되고(214), 이어서 인식된 텍스트(recognized text)(514)를 생성하기 위해 로컬 단말 디바이스(120)에서 음소 및 언어 모델(512)에 의해 후처리된다.
도 7에 도시된 다른 예시적인 구현에서, 음향 모델(508) 및 음소 및 언어 모델(512)은 백엔드 서버(112)에 의해 서비스(702)로서 제공될 수 있고, 다른 모델 및 데이터 처리는 로컬 단말 디바이스(120)에 위치될 수 있다. 특히, 로컬 단말 디바이스(120)는 획득 프로세스(502)에 의해 디지털 오디오 파형(503)을 생성하고, 인지 모델(504)을 구현하여 음성 특징들을 생성하도록 구성될 수 있다. 그다음, 음성 특징이 암호화될 수 있고(208) 암호화된 음성 특징이 백엔드 서버(112)로 통신될 수 있다. 백엔드 서버(112)는 그다음 음향 모델(508)을 사용하여 암호화된 음성 특징을 처리하여 암호화된 전화 확률 벡터를 생성하고, 음소 및 언어 모델(512)을 사용하여 암호화된 전화 확률 벡터를 처리하여 암호화된 텍스트 m(E(f))를 생성하며, 이는 그다음, 인식된 텍스트(514)를 생성하기 위해 로컬 단말 디바이스(120)에 의해 암호해독된다(214).
도 8에 도시된 다른 예시적인 구현에서, 인지 모델(504) 및 음향 모델(508)은 백엔드 서버(112)에 의해 서비스(802)로서 제공될 수 있고, 다른 모델 및 데이터 처리는 로컬 단말 디바이스(120)에 위치될 수 있다. 특히, 로컬 단말 디바이스(120)는 획득 프로세스(502)를 사용하여 디지털 오디오 파형(503)을 생성하도록 구성될 수 있다. 로컬 단말 디바이스(120)는 추가로 디지털 파형의 프레임을 암호화하여(208) 암호화된 디지털 오디오 파형을 생성할 수 있다. 암호화된 디지털 오디오 파형은 그다음 백엔드 서버(112)로 통신될 수 있다. 백엔드 서버(112)는 그다음 인지 모델(504)을 사용하여 암호화된 디지털 오디오 파형을 처리하여 암호화된 음성 특징을 생성하며, 이는 그다음 암호화된 음소 코드북 확률 벡터 m(E(f))를 생성하기 위해 음향 모델(508)에 의해 처리된다. 음소 코드북 확률 벡터는 그다음 암호해독된 음소 코드북 확률 벡터를 생성하기 위해 로컬 단말 디바이스에 의해 암호해독될 수 있다(214). 암호해독된 음소 코드북 확률 벡터는 인식된 텍스트(514)를 생성하기 위해 로컬 단말 디바이스에서 음소 및 언어 모델(512)에 의해 후처리될 수 있다.
도 9에 도시된 또 다른 예시적인 구현에서, 인지 모델(504), 음향 모델(508), 및 음소 및 언어 모델(512)은 모두 백엔드 서버(112)에 의해 서비스(902)로서 제공될 수 있고, 다른 모델 및 데이터 처리는 로컬 단말 디바이스(120)에 위치될 수 있다. 특히, 로컬 단말 디바이스(120)는 획득 프로세스(502)를 사용하여 디지털 오디오 파형(503)을 생성하도록 구성될 수 있다. 로컬 단말 디바이스(120)는 추가로, 디지털 파형의 프레임을 암호화하여(208) 암호화된 디지털 오디오 파형 E(f)를 생성할 수 있다. 암호화된 디지털 오디오 파형은 그다음 백엔드 서버(112)로 통신될 수 있다. 백엔드 서버(112)는 인지 모델(504)을 사용하여 암호화된 디지털 오디오 파형을 처리하여 암호화된 음성 특징을 생성하며, 이는 그다음 암호화된 음소 코드북 확률 벡터를 생성하기 위해 음향 모델(508)에 의해 처리된다. 음소 코드북 확률 벡터는 그다음 암호화된 텍스트를 생성하기 위해 음소 및 언어 모델(512) 디바이스에 의해 처리될 수 있다. 그다음, 암호화된 텍스트는 암호화되지 않고 인식된 텍스트(514)를 생성하도록 암호해독(214)을 위해 로컬 단말 디바이스로 통신될 수 있다.
도 6 내지 도 9의 구현에서, 서비스(602, 702, 802 및 902)를 제공하기 위해 백엔드 서버에 포함된 데이터 처리 모델은 저차 다항식 연산(low-degree polynomial operation)으로 다항화될 수 있으므로, 도 4에 설명된 하나와 같이 암호화 및 암호해독 방식이 서비스(602, 702, 802 및 902)에 대해 동형이 된다. 아래의 예는 음향 모델(508)만이 백엔드 서버(112)에서 호스팅되고 음성 인식 애플리케이션에 필요한 나머지 데이터 처리가 로컬 단말 디바이스(120)에서 수행되는 도 6에 도시된 구현(600)에 초점을 맞춘다. 백엔드 서버(112)에서 호스팅되는 데이터 분석 모델 또는 모델을 구축하고 트레이닝하기 위한 기본 원칙은 백엔드 서버(112)와 원격 단말 디바이스(120) 사이에 데이터 처리 모델을 배포할 때 도 7 내지 도 9의 다른 구현 및 방식에 적용할 수 있다.
일부 구현에서, 도 6의 음향 모델(508)은 딥 러닝 신경망에 기반할 수 있다. 예를 들어, 음향 모델은 다수의 커널(kernel), 가중치(weight), 바이어스(bias) 및 기타 파라미터와 함께 뉴런(neuron)의 다중 캐스케이딩 컨볼루션(multiple cascading convolutional) 계층(layer), 풀링(pooling) 계층, 정류(rectifying) 계층 및/또는 완전히 연결된 계층(fully connected layer)을 갖는 딥 러닝 컨볼루션 신경망(convolutional neural network, CNN)을 포함할 수 있다. 이러한 모델 파라미터는 미리 레이블링된(labeled) 입력 데이터의 충분한 컬렉션을 사용하여 CNN을 트레이닝하는 것에 의해 결정될 수 있다. CNN 모델의 예시적인 트레이닝 프로세스에서, 다수의 레이블링된 트레이닝 데이터 세트 각각은 최종 레이블링 손실(end labeling loss) 또는 에러(error)를 계산하기 위해 미리 결정된 상호 연결성 및 트레이닝 파라미터를 갖는 CNN 네트워크의 뉴런의 계층을 통해 순방향 전파(forward propagate)될 수 있다. 그런 다음 역전파(Back propagation)는 경사하강법(gradient descent)에 기반한 레이블링 손실을 줄이기 위해 트레이닝 파라미터를 조정하면서 상호 연결 뉴런의 계층을 통해 반대 방향으로 수행될 수 있다. 모든 트레이닝 데이터 세트에 대한 순방향 및 역전파 트레이닝 프로세스는 신경망이 트레이닝 데이터 세트와 미리 연관된 레이블에 대해 신경망에서 예측된 레이블에 대해 최소 전체 손실 수렴을 제공하는 트레이닝 파라미터 세트를 생성할 때까지 반복된다. 그런 다음 수렴된 모델(converged model)은 트레이닝 파라미터 및 신경 연결성(neural connectivity)의 최종 세트를 포함할 수 있다.
위의 딥 러닝 CNN은 도 6의 인지 모델(504)에 의해 생성되고 암호화 프로세스(208)에 의해 암호화된 음성 특징을 처리하기 위해 음향 모델(508)로서 기능하도록 설계될 수 있다. 완전 연결된 계층은, 예를 들어, 미리 결정된 수의 컴포넌트를 갖는 전화 코드북을 포함할 수 있다. 전화 코드북은 인간의 음성에서 찾을 수 있는 가장 일반적인 전화를 나타내는 N개의 컴포넌트를 포함할 수 있다. 예를 들어, 전화 코드북에서 전화 컴포넌트의 수 N은 100-10,000일 수 있으며, 또는 다른 수일 수 있다. 이러한 컴포넌트는 신경망의 이전 계층에 완전히 연결될 수 있다. 이러한 딥 러닝 신경망은 일단 트레이닝되면 입력 오디오 프레임의 암호화된 음성 특징을 처리하여 N개의 컴포넌트를 갖는 확률 벡터를 생성하는 데 사용될 수 있으며, 확률 벡터 각각은 입력 오디오 프레임이 대응하는 전화 컴포넌트를 포함할 확률을 나타낸다.
도 10은 백엔드 서버(112)에서 호스팅되고 위에서 설명된 딥 러닝 신경망으로서 구현되는 음향 모델(508)을 갖는 도 6의 구현을 추가로 예시한다. 특히, 디지털 오디오 파형(503)의 프레임이 로컬 단말 디바이스(120)에서 음성 특징(1002)으로 처리된다. 그다음, 음성 특징(1002)은 암호화된 음성 특징(1004)을 생성하기 위해 로컬 단말 디바이스(120)에서 암호화 프로세스(208)에 의해 암호화되고, 암호화된 전화 확률 벡터를 생성하기 위해 딥 러닝 신경망(508)을 사용하여 백엔드 서버(112)에서 처리되며, 암호화된 전화 확률 벡터는 도 10에서 암호화된 사후확률(encrypted posterior)(1006)이라고도 한다. 암호화된 사후확률(1006)은 그다음 암호해독된 전화 확률 벡터(1008)를 생성하기 위해 로컬 단말 디바이스(120)에서 암호해독 프로세스(214)에 의해 암호해독되고, 암호해독된 전화 확률 벡터(1008)는 동형 암호화 및 암호해독 프로세스(딥 러닝 신경망(508)에 포함된 데이터 연산에 대해)의 경우, 원래의 음성 특징이 딥 러닝 신경망(508)에 의해 암호화되지 않은 형태로 처리되면 획득되었을 원래의 사후 확률에 대응한다.
기존의 다층 신경망(multilayer neural network)은 저차 다항식 함수가 아닌 데이터 처리 연산을 포함할 수 있다. 예를 들어, 시그모이드 함수(sigmoid function)와 같은 일반적인 뉴런 활성화 함수(neuron activation function)는 비다항식(non-polynomial)이다. 또 다른 예를 들어, 컨볼루션 연산 이후의 최대 풀링 연산(max pooling)도 비다항식이다. 이와 같이 일반적인 다층 딥 러닝 신경망은 도 10의 암호해독 알고리즘에 대한 동형성을 유지하기 위해 저차 다항식으로 수정되거나 다항화될 수 있다. 이러한 수정된 딥 러닝 신경망은 트레이닝되어 도 10의 암호화된 음성 특징(1004)을 처리하기 위한 음향 모델(508)로 사용될 수 있다. 수정된 딥 러닝 신경망은 DPN(Deep Polynomial Network) 또는 딥 러닝 다항식 네트워크로 지칭될 수 있다.
저차 다항식 연산만 포함하도록 일반적인 딥 러닝 신경망의 다양한 계층을 수정한 예가 도 11에 도시되어 있으며, 아래에서 더 자세히 설명한다. 예를 들어, 딥 러닝 신경망의 완전 연결된 계층과 같은 밀집 계층(dense layer)은 선형(linear) 곱셈과 덧셈만 포함할 수 있으므로 저차 다항식 함수만 포함할 수 있다. 따라서, 도 11의 1102와 같이 동형 암호화에 대한 수정 없이 직접 구현될 수 있다.
딥 러닝 신경망의 배치 정규화(Batch normalization) 계층은 곱셈과 덧셈만 포함하며, 예를 들어, (여기서 는 배치 정규화 파라미터임)이며, 이는 도 11의 1104으로 도시된 바와 같이, 저차 다항식 근사가 없는 동형 암호화에 대해 직접 구현될 수 있다.
딥 러닝 CNN의 컨볼루션 계층에서 컨볼루션 연산은 기본적으로 가중치 벡터(또는 커널)의 내적(dot product)과 피딩 계층(feeding layer)의 출력을 포함한다. 이와 같이, 컨볼루션 연산은 곱셈과 덧셈만 포함하며 도 11의 1106으로 도시된 바와 같이 추가 다항식 근사가 필요하지 않다.
그러나, 딥 러닝 신경망에서 사용되는 일반적인 활성화 함수는 일반적으로 비다항식이며 그럼에도 불구하고 저차 다항식 함수에 의해 근사화될 수 있다. 예를 들어, 딥 러닝 신경망의 정류 계층에서 사용되는 ReLU(Rectifying Linear Unit) 함수 z → max(0, z)는 도 11의 1108로 도시된 바와 같이, 저차 다항식 함수 p(z):= z2로 근사될 수 있다. 다른 예를 들어, 시그모이드 활성화 함수 는 도 11의 1110으로 도시된 바와 같이, 저차 다항식 p(z):=1/2 + z/4 -z3/48로 근사화될 수 있다.
딥 러닝 신경망(특히 딥 러닝 CNN)의 풀링 계층에서 풀링 연산은 일반적으로 비다항식이며, 저차 다항식 함수로 근사될 수 있다. 예를 들어, 최대 풀링은 비다항식이지만 (z1, ..., zn) = 을 사용하여 근사할 수 있다. 단순화를 위해 파라미터 d는 "1"로 설정될 수 있고, 따라서 위의 최대 풀링 함수는 1차 다항식 연산인 스케일링된 평균 풀링(scaled mean pooling)에 의해 근사화될 수 있다.
당업자는 위의 저차 다항식 근사가 단지 예일뿐이며 다른 다항식 근사도 고려된다는 것을 이해한다.
수정된 딥 러닝 신경망 또는 위의 심층 다항식 네트워크(deep polynomial network, DPN)는 레이블링된 트레이닝 데이터 세트와 레이블링된 테스트 데이터 세트를 사용하여 트레이닝되고 테스트될 수 있다. 일부 구현에서, 트레이닝은 암호화되지 않은 음성 데이터를 사용하여 수행될 수 있다. 암호화되지 않은 데이터를 사용한 트레이닝은 특히 심층 다항식 네트워크에 구현된 음향 모델이 서로 다른 공개 암호화 키를 가진 많은 서로 다른 클라이언트에 대한 서비스로 제공될 수 있다는 맥락에서 유리하다. 이는 트레이닝 프로세스가 암호화된 데이터에 대해 수행되면, 모든 잠재적 클라이언트의 공개키를 기반으로 다중 암호화된 버전의 트레이닝 데이터 세트가 생성되고, 다중 버전의 DPN을 개별적으로 트레이닝하는 데 사용되기 때문이다. 암호화되지 않은 트레이닝 데이터를 사용하는 것에 의해, 단일 버전의 DPN이 트레이닝되고 모든 클라이언트에 사용될 수 있다.
트레이닝 프로세싱 동안, 다양한 트레이닝 파라미터를 암호화할 필요가 없을 수 있다. 이와 같이, 트레이닝된 심층 다항식 모델은 암호화되지 않은 네트워크 연결 및 모델 파라미터(가중치, 바이어스, 커널 등)를 포함할 수 있다. 다시 말하지만, 트레이닝 중에 암호화되지 않은 방식으로 모델 파라미터를 유지하면 클라이언트 특정 모델(client-specific model)을 준비할 필요가 없다. 또한, 트레이닝된 다항식 네트워크가 (특정 공개키와 연관된) 특정 클라이언트의 원격 단말 디바이스로부터의 암호화된 음성 특징을 처리하는 데 사용될 때, 다항식 네트워크의 일부 또는 모든 계층을 통한 순방향 전파는 이러한 계층의 하나 이상의 모델 파라미터를 암호화되지 않은 상태로 유지하는 것에 의해 수행될 수 있다. 예를 들어, 딥 러닝 신경망의 밀집 계층(완전 연결된 출력 계층)의 가중치 파라미터 W는 데이터 분석 서비스에 대한 순방향 전파 동안 암호화되지 않을 수 있다. 다항식 네트워크에 대한 암호화된 입력이 주어지면, 밀집 계층에서 순방향 전파를 계산하는 단순한 방식(naive way)은, 먼저 클라이언트의 공개키를 사용하여 가중치 파라미터를 암호하고 그다음 암호화된 도메인 E(W)TE(x))(여기서 E(x)는 이전 계층의 출력임)에서 밀집 계층을 통해 순방향 전파를 수행하는 것이므로, 원격 단말 디바이스에 의한 암호해독 후 WTx의 정확한 값을 획득할 수 있다. 그러나, 이 프로세스는 계산 집약적이고 불필요할 수 있다. 대신, 가중치 파라미터를 암호화하지 않고 밀집 계층을 통한 순방향 전파에 보다 효율적인 연산 WTE(x)이 사용될 수 있다. 유사하게, 배치 정규화의 경우, 파라미터 배치 정규화 파라미터 는 트레이닝된 다항식 네트워크가 특정 클라이언트에 대한 입력 음성 기능을 처리하는 데 사용될 때 암호화될 필요가 없다. 일부 구현에서, 이러한 배치 정규화 파라미터는 이전의 밀집 계층과 병합되어 밀집 계층에 대한 수정된 가중치 파라미터 Wnew = diag ()W 및 수정된 바이어스 bnew = b + WTb - WT()을 제공할 수 있다.
위에서 설명한 암호화는 심층 다항식 네트워크(덧셈 및 곱셈)에 대해 동형일 수 있다. 그러나 암호화 및 암호해독의 속도는 심층 다항식 네트워크의 차수(degree)에 따라 크게 영향을 받는다. 더 높은 계산 속도를 달성하기 위해, 낮은 비트 고정 정밀도(low-bit fixed-precision)에서 작동하도록 심층 다항식 네트워크를 구성하는 것이 바람직할 수 있다. 그렇지 않으면, 동형 암호화 및 암호해독이 매우 느리고 시스템이 부동 소수점수(floating-point number)로 작동될 때 대화식 음성 인식과 같은 실시간 애플리케이션에 적합하지 않다. 예를 들어, GPU에서 신경망의 일반적인 트레이닝 프로세스는 트레이닝 파라미터에 대해 32비트 또는 그 이상의 부동 소수점 정밀도(floating-point precision)를 사용하고 순방향 전파 및 역전파를 위해 부동 소수점 계산을 사용한다. 32비트 또는 그 이상의 부동 소수점 정밀도로 트레이닝되고 작동되는 심층 다항식 네트워크 모델은 필요한 암호화 및 암호해독 시간을 크게 증가시킨다. 한편, 부동 소수점 계산을 사용하여 트레이닝된 심층 다항식 모델의 고정밀 모델 파라미터에 낮은 비트 고정 소수점 트레이닝 후 양자화(low-bit fixed-point post-training quantization)를 적용하고, 그다음 이러한 양자화된 심층 다항식 네트워크 모델을 사용하여 고정 소수점 계산(fixed-point calculation)을 사용하여 입력 데이터 항목을 처리하는 것은, 트레이닝 프로세스가 더 낮은 정밀도 모델 파라미터 및 고정 소수점 계산에 적합하지 않기 때문에 상당한 성능 저하를 일으킬 수 있다.
일부 구현에서, 트레이닝 후 양자화(post-training quantization)보다 심층 다항식 네트워크 모델의 트레이닝 프로세스는 고정 소수점 계산으로 제한될 수 있고, 딥 러닝 다항식 모델의 모델 파라미터는 트레이닝 동안 고정 소수점 정밀도로 제한될 수 있다. 그러나, 이러한 구현은 모델 파라미터 값의 불균등한 통계적 분포에 포함되지 않을 수 있다. 예를 들어, 8비트 고정 소수점 정밀도의 가중치 파라미터 값은 모델 파라미터에 대한 8비트 값 범위의 작은 부분(small portion)에 집중될 수 있지만, 고정 소수점 계산에 기반한 트레이닝 처리는 파라미터 공간의 8비트 값 범위에서 균일한 값 분해능(resolution)에 의존한다. 8비트 값 범위의 혼잡한 부분(crowded portion)은 더 희소한 파라미터 점유가 있는 8비트 값 범위의 다른 부분과 동일한 데이터 분해능으로 제공된다. 이러한 문제는 부동 소수점 계산에 기반한 트레이닝 프로세스가 또한 파라미터 값 범위에서 균일한 데이터 분해능을 사용하여도, 값 범위의 혼잡한 부분은 그럼에도 불구하고 모델 파라미터의 부동 소수점 표현에서 사용할 수 있는 많은 전체 비트 수로 인해 합리적으로 정확한 모델을 생성하기에 충분한 분해능/정밀도를 갖기 때문에, 심층 다항식 네트워크가 부동 소수점 정밀도(예: 8비트가 아닌 32비트)로 트레이닝될 때 문제가 덜하다.
본 개시의 일부 구현에서, 모델 파라미터들의 값 공간의 불균일한 양자화는 모델 파라미터 및 그레이디언트(gradient)를 계산하기 위해 부동 소수점 연산들을 사용하여 트레이닝이 수행될 수 있도록 트레이닝 프로세스에 통합될 수 있지만, 계산된 모델 파라미터는 심층 다항식 네트워크의 각 계층에서 즉석에서 양자화되고 트레이닝 프로세스의 순방향 및 역전파 동안 다음 계층에서 사용된다. 또한, 각 계층에서 계산된 부동 소수점 모델 파라미터 및 그 그레이디언트를 고정 소수점 정수 정밀도로 양자화하는 것은, 고정 소수점 값 공간의 범위에 걸쳐 그리고 모델 파라미터의 값의 통계적 분포를 기반으로 불균일하게 수행될 수 있다.
예를 들어, 도 12의 로직 흐름(1200)에 의해 도시된 바와 같이, 심층 다항식 네트워크 모델은 먼저 임의의 양자화 없이 부동 소수점 정밀도를 사용하여 트레이닝되어 부동 소수점 정밀도의 모델 파라미터 세트를 획득할 수 있다(1202). 이 초기 트레이닝 후에, 초기 트레이닝된 부동 소수점 모델 파라미터를 시작점(starting point)으로 사용하여 1204에 도시된 바와 같이 심층 다항식 네트워크가 재트레이닝될(retrained) 수 있다. 재트레이닝 프로세스(1204)는 트레이닝 데이터 세트를 사용하고, 또한 불균일한 양자화를 통합하는 것에 의해 수행되어, 부동 소수점 정밀도를 갖는 초기 트레이닝된 다항식 네트워크를 더 낮은 고정 소수점 정밀도의 파라미터를 가지면서 고정 소수점 계산을 사용하여 입력 데이터 항목을 처리하게 적합한 다항식 네트워크로 변환한다(위에서 논의한 암호화 알고리즘이 사실상 동형이 되도록).
박스(box)(1206) 및 도 12의 루프 화살표(looping arrow)(1205)에 의해 도시된 바와 같이, 재트레이닝 프로세스(1204)는 트레이닝 데이터 세트를 사용하여 다수의 반복으로 수행될 수 있다. 재트레이닝 로직 흐름(1204)에서, 단계(1208, 1210 및 1212)는 재트레이닝 프로세스의 순방향 전파와 관련되고, 단계(1214 및 1216)는 재트레이닝 프로세스의 역전파와 관련된다.
각각의 반복(1206 및 1205)에서, 순방향 전파 동안 각 계층에서 심층 다항식 네트워크의 부동 소수점 모델 파라미터(가중치, 바이어스 등)의 각 그룹의 통계는, 1208에 도시된 바와 같이, 부동 소수점 값 공간에서 파라미터의 각 그룹의 분포를 결정하기 위해 평가될 수 있다. 모델 파라미터는 파라미터 유형별로 그룹화될 수 있다. 각 유형의 모델 파라미터는 매우 상이한 값 범위와 분포를 가질 수 있다. 이와 같이, 부동 소수점 값 공간에서 각 유형의 모델 파라미터에 대한 통계는 개별적으로 평가될 수 있다. 예를 들어, 모델 파라미터는 각 네트워크 계층에서 가중치 파라미터, 바이어스 파라미터, 활성화 파라미터 등으로 그룹화될 수 있다.
모델 파라미터의 다수의 그룹의 각 그룹에 대한 값 분포의 통계에 기반하여, 각 그룹에 대한 부동 소수점 값 공간은 1210에 도시된 바와 같이, Q개의 세그먼트(또는 양자화 레벨(level))로 양자화될 수 있다. Q는 고정 소수점 정밀도에 의해 결정될 수 있다. 예를 들어, 8비트 고정 소수점 정밀도가 사용되면, 부동 소수점 값 공간은 Q = 28 = 256개의 세그먼트(양자화 레벨)로 양자화될 수 있다. 양자화 레벨은 다른 것보다 더 밀집된 부동 소수점 값 공간의 부분에 더 조밀한 양자화 레벨이 할당될 수 있다는 점에서 불균일할 수 있다. 양자화 레벨은 임의의 알고리즘을 사용하여 결정될 수 있다. 예를 들어, 파라미터 그룹에 대한 양자화 레벨은 Lloyd-max 양자화 알고리즘에 기반할 수 있다. 일부 구현에서, 특정 양자화 제한이 적용될 수 있다. 예를 들어, 0(zero)은 임의의 모델 파라미터가 이 양자화된 레벨에 속하는지 여부에 관계없이 항상 Q개의 양자화된 레벨 중 하나로 유지될 수 있다. 이는 0이 예를 들어, 제로 패딩(zero padding) 함수에 대해 특히, 일반적으로 컨볼루션 신경망과 심층 다항식 네트워크에서 특별한 의미를 가질 수 있으며 양자화 레벨로 지정되어야 하기 때문이다.
도 12의 재트레이닝 로직 흐름(1204)의 단계(1212)에 추가로 도시된 바와 같이, 특정 계층에서 모델 파라미터의 다수의 그룹에 대한 모델 파라미터 값 공간의 양자화 후, 순방향 전파가 양자화된 모델 파라미터를 사용한 부동 소수점 계산을 수행하는 것에 의해 다음 계층으로 진행할 수 있다.
도 12의 재트레이닝 로직 흐름(1204)의 단계(1214)에 추가로 도시된 바와 같이, 역전파 동안, 각 네트워크 계층에서 모델 파라미터의 그레이디언트는 부동 소수점 계산을 사용하여 획득될 수 있다. 그다음, 그레이디언트의 값 분포에 대한 통계가 수행될 수 있고, 이어서 전술한 다른 모델 파라미터의 양자화와 유사하게, 통계 및 양자화 알고리즘에 기반하여 결정된 Q개의 양자화된 레벨로의 그레이디언트의 불균일한 양자화가 수행될 수 있다. 단계(1216)에 도시된 바와 같이, 양자화된 그레이디언트는 다음 이전 층(next previous layer)으로 역전파될 수 있다.
이와 같이, 심층 다항식 네트워크에 대한 초기 트레이닝 및 재트레이닝 프로세스는 모델 파라미터 및 그레이디언트의 불균일한 양자화를 통합한다. 양자화 레벨은 재트레이닝 프로세스 동안 동적으로 그리고 즉석에서 결정될 수 있다. 각 유형의 파라미터 및 각 네트워크 계층에 대한 양자화 레벨은 즉석에서 획득된 파라미터의 값 분포 통계에 따라 재트레이닝 프로세스 동안 별도로 결정될 수 있다. 따라서, 결과적인 심층 다항식 모델은 고정 소수점 정밀도를 가진 모델 파라미터만 포함하지만, 고정 소수점 파라미터가 입력 데이터 항목을 처리하기 위해 고정 소수점 순방향 전파와 함께 사용될 때 네트워크를 합리적으로 정확하게 렌더링하도록(render) 조정된다.
도 13은 모델 파라미터(또는 그레이디언트) 값 공간의 예시적인 양자화를 예시한다. 도 13에서, 1302는 최소(1303)와 최대(1305) 사이의 균일한 부동 소수점 파라미터 값 공간(1304)에서 심층 다항식 네트워크의 계층의 가중치 파라미터의 예시적인 그룹의 통계적 분포(히스토그램)를 도시한다. 1302 및 1304에 도시된 예에서, 가중치 파라미터 값 분포는 예를 들어 값 공간의 중간 범위에 집중되고 값 공간의 두 끝에서 희박하다(sparse).
계속해서 도 13을 참조하면, 1306은 부동 소수점 값 공간(1304)을 1306에 도시된 점으로 표현되는 Q개의 균일한 양자화된 레벨로 양자화하는 것을 나타낸다. 각 점(dot)은 Q개의 고정 소수점 정수 값 중 하나에 대응한다. 고분해능 부동 소수점 값 공간(1305)의 가중치 파라미터를 균일한 저분해능 고정 소수점 값 공간(1306)으로 직접 양자화하는 것은, 파라미터 값 공간의 두 끝에서 양자화 레벨을 낭비하고 가중치 파라미터가 집중되는 영역에서 상대적으로 적은 양자화 레벨을 산출한다. 도 13은 추가로, 각각 Q개의 고정 소수점 정수 값 중 하나에 대응하는 1308의 점으로 표현되는 Q개의 불균일한 양자화 레벨로의 부동 소수점 파라미터 값 공간의 Lloyd-max 양자화(1308)를 도시한다. 1308에 도시된 바와 같이, 1302의 통계적 분포에 따라 부동 소수점 값 공간의 더 집중된 영역에 더 조밀한 양자화된 레벨이 할당된다. 위에서 설명한 Lloyd-max 양자화 방식은 많은 예 중 하나일 뿐이다. 다른 불균일한 양자화 방식이 적용될 수 있다.
도 14는 부동 소수점 계산을 사용하지만 여러 네트워크 계층을 통한 순방향 전파 동안 고정 소수점 값 공간으로의 불균일한 양자화를 사용하는 심층 다항식 네트워크 모델의 재트레이닝 스냅샷(snapshot)을 도시한다. 도 14에 도시된 바와 같이, 다양한 네트워크 연산(예: 1402, 1404, 1406과 같은, 가중치 곱셈, 활성화 연산, 정류 연산)의 부동 소수점 계산 출력은, 1408, 1410 및 1412로 도시되는 바와 같이, 도 13의 불균일 Lloyd-max 양자화 레벨에 따라 재트레이닝 프로세스 동안 즉석에서 양자화된다. 양자화된 출력은 화살표 14-1 및 1403으로 도시된 바와 같이, 다음 계층을 향한 부동 소수점 계산에 사용될 수 있다.
도 12에서 위의 구현은 기존의(traditional) 비다항식 딥 러닝 신경망 또는 딥 러닝 컨볼루션 신경망으로부터 이미 수정된 초기 심층 다항식 네트워크로 시작한다. 일부 다른 구현들에서, 표 1에 도시된 바와 같이, 기존의 비다항식 네트워크 모델은 초기에, 대응하는 심층 다항식 네트워크로의 수정 전에 트레이닝될 수 있다. 비다항식 신경망의 초기 트레이닝 후, 대응하는 심층 다항식 네트워크 모델은 초기 트레이닝된 비다항식 신경망 모델의 모델 파라미터로부터 유도된 모델 파라미터로 초기화될 수 있다(표 1의 단계 1). 이후, 심층 다항식 네트워크 모델의 재트레이닝은 아래 표 1에 예시된 바와 같이(표 1의 단계 2 내지 단계 4), 트레이닝 데이터 세트의 미니배치(minibatch) 레벨에서 수행될 수 있다.
심층 다항식 네트워크 모델을 트레이닝하고 음성 인식을 위해 트레이닝된 모델을 사용하기 위한 특정 구현에서, 모델은 계산 네트워크 툴킷(computational network toolkit, CNTK)을 사용하여 트레이닝될 수 있다. 동형 암호화는 MicrosoftTM의 SEAL(Simple Encrypted Arithmetic library)을 사용하여 구현된다. 트레이닝된 DPN 모델의 효율성은 Switchboard 및 음성 지원 태스크(task)를 사용하여 평가될 수 있다.
Switchboard 태스크의 경우, 309 시간 데이터 세트(309-hr dataset)와 NIST 2000 Hub5가 각각 트레이닝 및 테스트 데이터 세트로 사용된다. 이 예시적인 설정에 사용된 음성 특징은, 발화 층위(utterance-level) CMN이 있는 40차원 LFB를 포함한다. DPN의 출력은 9000개의 타이드 트라이폰 상태(tied triphone state)를 포함한다. 다항식 근사(polynomial approximation)는 두 개의 기존 신경망 모델에서 검증된다. 첫 번째 모델(딥 러닝 신경망(deep-learning neural network, DNN))은 각 계층에 대해 배치 정규화 및 2048개의 유닛이 있는 6계층 ReLU 네트워크를 포함한다. 두 번째 모델(딥 러닝 CNN(Convolutional Neural Network))은 3×3 크기의 커널 96개가 있는 3개의 컨볼루션 계층, 최대 풀링(max-pooling), 3×3 크기의 커널 192개를 포함하는 4개의 컨볼루션 계층, 최대 풀링, 3×3 크기의 384개 커널이 있는 또 다른 4개의 컨볼루션 계층, 최대 풀링, 그리고 추가로 4096 유닛 및 소프트맥스(softmax) 계층이 있는 2개의 밀집 계층이 뒤따르는, 17-계층 신경망을 포함한다. 두 예시적인 모델 모두 [t - 30; t + 10]을 입력 콘텍스트(context)로 사용한다. 위 모델의 출력과 대응하는 심층 다항식 근사 네트워크는 언어 모델에 의해 처리된다. 사용된 언어 모델의 어휘 크기(vocabulary size)는 226k이다. 첫 번째 모델 및 두 번째 모델의 WER(Word Error Rates)과 대응하는 심층 다항식 네트워크 모델은 표 2에 나와 있다. 모든 모델은 CE 기준(CE criteria)을 사용하여 트레이닝된다. 심층 다항식 네트워크는 표 1의 알고리즘에 따라 트레이닝된다.
음성 지원 태스크의 경우, 3400 시간의 미국-영어 데이터가 트레이닝에 사용되며 6시간 데이터(5500 발화(utterance))가 테스트에 사용된다. 이 설정에 사용된 인지 모델의 음성 특징은, 발화 층위 CMN이 있는 87-dim LFB를 포함한다. 이 설정에 사용된 신경망은 위의 Switchboard 케이스에 대한 첫 번째 모델과 동일한 구조를 포함하지만, 9404개의 트라이드 트라이폰 출력 상태가 있다. 표 3은 이 태스크에 대한 WER 및 발화당 평균 지연 시간(average latency)(암호화, AM 점수(scoring), 암호해독 및 디코딩 포함)을 요약한다.
마지막으로, 도 15는 위의 임의의 단말 또는 서버 컴퓨팅 컴포넌트를 구현하기 위한 예시적인 컴퓨터 시스템(1500)을 도시한다. 컴퓨터 시스템(1500)은 통신 인터페이스(1502), 시스템 회로(1504), 입력/출력(I/O) 인터페이스(1506), 스토리지(storage)(1509), 및 예를 들어 로컬 또는 원격 시스템에서 실행 중인 웹 브라우저에서 로컬로 또는 원격 디스플레이를 위해 머신 인터페이스(1510)를 생성하는 디스플레이 회로(1508)를 포함할 수 있다. 머신 인터페이스(1510) 및 I/O 인터페이스(1506)는 GUI, 터치 감지 디스플레이, 음성 또는 얼굴 인식 입력, 버튼, 스위치, 스피커 및 기타 사용자 인터페이스 엘리먼트를 포함할 수 있다. I/O 인터페이스(1506)의 추가 예는 마이크, 비디오 및 정지 이미지 카메라, 헤드셋 및 마이크 입력/출력 잭, USB(Universal Serial Bus) 커넥터, 메모리 카드 슬롯 및 기타 유형의 입력을 포함한다. I/O 인터페이스(1506)는 자기 또는 광학 미디어 인터페이스(예: CDROM 또는 DVD 드라이브), 직렬 및 병렬 버스 인터페이스, 키보드 및 마우스 인터페이스를 더 포함할 수 있다.
통신 인터페이스(1502)는 무선 송신기 및 수신기("트랜시버")(1512) 및 트랜시버(1512)의 송신 및 수신 회로에 의해 사용되는 임의의 안테나(1514)를 포함할 수 있다. 트랜시버(1512) 및 안테나(1514)는 예를 들어 IEEE 802.11의 임의의 버전, 예를 들어 802.11n 또는 802.11ac에서 Wi-Fi 네트워크 통신을 지원할 수 있다. 통신 인터페이스(1502)는 또한 유선 트랜시버(1516)를 포함할 수 있다. 유선 트랜시버(1516)는 임의의 유형의 이더넷(Ethernet), DOCSIS(data over cable service interface specification), DSL(digital subscriber line), SONET(Synchronous Optical Network), 또는 다른 프로토콜과 같은, 광범위한 통신 프로토콜을 위한 물리 계층 인터페이스를 제공할 수 있다.
스토리지(1509)는 다양한 초기, 중간 또는 최종 데이터를 저장하는데 사용될 수 있다. 스토리지(1509)는 도 1의 하나 이상의 저장소(114 및 130)와 분리되거나 통합될 수 있다. 스토리지(1509)는 중앙 집중화되거나 분산될 수 있고, 컴퓨터 시스템(1500)에 대해 로컬 또는 원격일 수 있다. 예를 들어, 스토리지(1509)는 클라우드 컴퓨팅 서비스 제공자에 의해 원격으로 호스팅될 수 있다.
시스템 회로(1504)는 임의의 조합에서 하드웨어, 소프트웨어, 펌웨어, 또는 다른 회로를 포함할 수 있다. 시스템 회로(1504)는 예를 들어 하나 이상의 시스템 온 칩(systems on a chip, SoC), 주문형 집적 회로(application specific integrated circuit, ASIC), 마이크로프로세서, 이산 아날로그 및 디지털 회로, 및 기타 회로로 구현될 수 있다. 시스템 회로(1504)는 도 1의 시스템(100)과 관련된 임의의 원하는 기능의 구현의 일부이다. 단지 하나의 예로서, 시스템 회로(1504)는 하나 이상의 명령 프로세서(1518) 및 메모리(1520)를 포함할 수 있다. 메모리(1520)는 예를 들어, 제어 명령(1526) 및 운영 체제(1524)를 저장한다. 일 구현에서, 명령 프로세서(1518)는 제어 명령(1526) 및 운영 체제(1524)를 실행하여 도 1의 임의의 단말 및 서버 컴포넌트와 관련된 임의의 원하는 기능을 수행한다.
위에서 설명된 방법, 디바이스, 처리 및 로직은 많은 다른 방식으로 그리고 하드웨어와 소프트웨어의 많은 다른 조합으로 구현될 수 있다. 예를 들어, 구현의 전부 또는 일부는 중앙 처리 유닛(Central Processing Unit, CPU), 마이크로컨트롤러 또는 마이크로프로세서와 같은 명령 프로세서; ASIC(Application Specific Integrated Circuit), PLD(Programmable Logic Device) 또는 FPGA(Field Programmable Gate Array); 또는 아날로그 회로 컴포넌트, 디지털 회로 컴포넌트 또는 둘 다를 포함하는 개별 로직 또는 기타 회로 컴포넌트를 포함하는 회로; 또는 이들의 임의의 조합과 같은, 명령 프로세스를 포함하는 회로일 수 있다. 회로는 개별적으로 상호 연결된 하드웨어 컴포넌트를 포함할 수 있거나, 및/또는 단일 집적 회로 다이(die)에 결합되거나(combined), 여러 집적 회로 다이 사이에 분산되거나, 또는 예를 들어 공통 패키지에서 여러 집적 회로 다이의 다중 칩 모듈(Multiple Chip Module, MCM)로 구현될 수 있다.
회로는 회로에 의한 실행을 위한 명령을 더 포함하거나 액세스할 수 있다. 명령은 플래시 메모리, RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable Read Only Memory)과 같은 일시적인 신호가 아닌 유형의 저장 매체에; 또는 CDROM(Compact Disc Read Only Memory), HDD(Hard Disk Drive) 또는 기타 자기 또는 광학 디스크와 같은 자기 또는 광학 디스크 상에; 또는 다른 기계 판독 가능한 매체 내 또는 상에 저장될 수 있다. 컴퓨터 프로그램 제품과 같은 제품은 저장 매체와 그 매체에 또는 그 상에 저장된 명령을 포함할 수 있으며, 디바이스의 회로에 의해 실행될 때 명령은 디바이스로 하여금 위에서 설명되거나 도면에 도시된 처리 중 임의의 것을 구현하게 할 수 있다.
구현은 다중 분산 처리 시스템을 선택적으로 포함하는 다중 프로세서 및 메모리와 같은 다중 시스템 컴포넌트 간에 회로로서 분산될 수 있다. 파라미터, 데이터베이스 및 기타 데이터 구조는 개별적으로 저장 및 관리될 수 있고, 단일 메모리 또는 데이터베이스에 통합될 수 있으며, 다양한 방식으로 논리적 및 물리적으로 구성될 수 있으며, 연결 목록(linked list), 해시(hash) 테이블, 어레이(array), 레코드, 개체(object) 또는 암시적 저장 메커니즘과 같은 데이터 구조를 포함하여 다양한 방식으로 구현될 수 있다. 프로그램은 단일 프로그램, 여러 메모리 및 프로세서에 분산되거나 또는 상이한 방식 예를 들어 공유 라이브러리(예: DLL(Dynamic Link Library)와 같은 라이브러리에서 구현될 수 있는 별개의 프로그램의 일부(예: 서브루틴)일 수 있다. 예를 들어, DLL은 회로에 의해 실행될 때 위에서 설명되거나 도면에 예시된 처리 중 임의의 것을 수행하는 명령을 저장할 수 있다.
전술한 내용으로부터, 본 개시는 원격 단말 디바이스에 의해 사전 처리되고 암호화된 데이터 항목을 처리하기 위해 백엔드 서버에서 트레이닝되고 호스팅되는 데이터 처리 모델을 기반으로 하는 클라우드-로컬 공동 또는 협업 데이터 분석을 위한 시스템 및 방법을 제공한다는 것을 알 수 있다. 백엔드 서버에서 호스팅되는 데이터 분석 모델은 암호화된 출력 데이터 항목을 생성한 다음 암호해독 및 후처리를 위해 데이터 분석 서비스를 요청하는 로컬 단말 디바이스로 전달한다. 이 프레임워크는 로컬 단말 디바이스의 암호해독 키에 대한 액세스를 백엔드 서버 및 로컬 단말 디바이스와 백엔드 서버 간의 통신 네트워크에 제공하지 않고 기능한다. 따라서, 이 프레임워크는 데이터 개인 정보 보호를 제공한다. 백엔드의 암호화/암호해독 및 데이터 분석은 데이터 항목을 효율적으로 처리하고 통신하여, 원격 단말 디바이스의 데이터 분석 요청에 실시간 또는 거의 실시간의 시스템 응답을 제공하도록 구성된다. 백엔드 서버에 연결된 데이터 분석 모델, 운영 및 트레이닝 프로세스는 데이터 항목을 암호화된 형태로 처리할 수 있도록 조정 및 수정된다. 모델을 구축하고 트레이닝하는 데 암호해독 키가 필요하지 않다. 동일한 데이터 분석 모델을 사용하여 각각 고유한 암호해독 키를 가진 서로 다른 클라이언트에 서비스를 제공할 수 있다. 프레임워크 및 데이터 분석 모델은 원격 주문형 음성 인식 서비스 다른 데이터 분석 서비스를 제공하는 데 사용될 수 있다.

Claims (20)

  1. 원격 데이터 분석을 제공하는 시스템으로서,
    통신 인터페이스;
    딥 러닝 신경망(deep learning neural network)을 저장하는 메모리; 및
    상기 통신 인터페이스 및 상기 메모리와 통신하는 회로
    를 포함하고,
    상기 회로는
    상기 통신 인터페이스를 통해 원격 단말 디바이스로부터 암호화된 데이터 항목(data item)을 수신하고;
    상기 암호화된 데이터 항목을 암호화된 형태로 상기 딥 러닝 신경망을 통해 순방향 전파하여(forward propagate), 암호화된 출력 데이터 항목을 획득하며; 그리고
    상기 암호화된 출력 데이터 항목을 상기 통신 인터페이스를 통해 상기 원격 단말 디바이스로 송신하도록 구성되며,
    상기 딥 러닝 신경망은 암호화되지 않은 트레이닝(training) 데이터를 사용하여 트레이닝되고, 복수의 계층으로 상호연결된 뉴런(neuron)을 포함하고, 상기 딥 러닝 신경망의 적어도 하나의 활성화 연산(activation operation) 및 적어도 하나의 풀링 연산(pooling operation)이 다항화되고(polynomialized),
    상기 암호화된 데이터 항목은 상기 원격 단말 디바이스에서의 공개키 암호화에 기반하며, 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝된 상기 딥 러닝 신경망의 적어도 모델 파라미터의 서브세트는, 상기 암호화된 데이터 항목의 순방향 전파를 위해 암호화되지 않은 상태로 유지되는,
    시스템.
  2. 제1항에 있어서,
    상기 원격 데이터 분석은 원격 음성 인식 서비스(remote speech recognition service)를 포함하는, 시스템.
  3. 제2항에 있어서,
    상기 암호화된 데이터 항목은 상기 원격 단말 디바이스에서 음성 인지 모델(speech perception model)을 사용하여 도출된 다음 상기 원격 단말 디바이스에서 암호화된, 미리 결정된 프레임 지속 기간(duration)의 오디오 파형 프레임의 연결된 특징(concatenated feature)을 포함하고;
    상기 딥 러닝 학습 신경망은 상기 원격 단말 디바이스에 의해 암호화된 상기 연결된 특징을 상기 암호화된 출력 데이터 항목으로 처리하는 음향 모델을 포함하며; 그리고
    상기 딥 러닝 신경망의 암호화된 출력 데이터 항목은 전화 코드북(phone codebook)에 대응하는 확률 벡터(probability vector)를 포함하는, 시스템.
  4. 제1항에 있어서,
    상기 적어도 하나의 풀링 연산은 스케일링된 평균 풀링(scaled mean pooling)을 사용하여 다항화되는, 시스템.
  5. 제1항에 있어서,
    상기 적어도 하나의 활성화 연산은 시그모이드 함수(sigmoid function)의 3차 다항식 근사(third-degree polynomial approximation)를 사용하여 다항화되는, 시스템.
  6. 제1항에 있어서,
    상기 모델 파라미터의 서브세트는 복수의 가중치 및 복수의 배치 정규화(batch normalization) 파라미터를 포함하는, 시스템.
  7. 제6항에 있어서,
    상기 모델 파라미터의 서브세트는 복수의 컨볼루션 커널(convolutional kernel)을 더 포함하는, 시스템.
  8. 제1항에 있어서,
    상기 딥 러닝 신경망은,
    상기 딥 러닝 신경망을 초기 트레이닝하고 - 모델 파라미터 세트가 제1 정밀도(precision)로 트레이닝됨 -; 그리고
    트레이닝 데이터의 순방향 및 역방향 전파 동안 상기 모델 파라미터 세트를 상기 제1 정밀도보다 낮은 제2 정밀도로 양자화하는 것에 의해 상기 딥 러닝 신경망을 재트레이닝하는(retraining) 것에 의해 트레이닝되는, 시스템.
  9. 제8항에 있어서,
    상기 모델 파라미터 세트에 대한 양자화 레벨은 보다 밀집한(denser) 양자화된 레벨이 더 집중된 상기 모델 파라미터 세트의 값 주위에 할당되도록, 상기 제1 정밀도의 모델 파라미터 세트의 통계적 분포를 계산하는 것에 의해 결정되는, 시스템.
  10. 제8항에 있어서,
    상기 제2 정밀도의 상기 제1 정밀도는 각각 상기 모델 파라미터 세트에 대한 제1 미리 결정된 파라미터 비트 수 및 제2 미리 결정된 파라미터 비트 수에 의해 표현되고, 상기 제2 미리 결정된 파라미터 비트 수는 8인, 시스템.
  11. 제1항에 있어서,
    상기 딥 러닝 신경망은 인지 모델에 이어 음향 모델을 포함하고,
    상기 암호화된 데이터 항목은 상기 원격 단말 디바이스로부터 송신된 미리 결정된 프레임 지속 기간의 암호화된 오디오 파형 프레임을 포함하며,
    상기 인지 모델은 상기 암호화된 오디오 파형 프레임을 인지 특징(perception feature)으로 변환하도록 구성되고; 그리고
    상기 음향 모델은 상기 인지 특징을 상기 딥 러닝 신경망의 전화 코드북에 대응하는 확률 벡터를 포함하는 암호화된 출력 데이터 항목으로 변환하도록 구성되는, 시스템.
  12. 제1항에 있어서,
    상기 딥 러닝 신경망은 음향 모델에 이어 언어 모델을 포함하고,
    상기 암호화된 데이터 항목은 상기 원격 단말 디바이스로부터 송신된 미리 결정된 프레임 지속 기간 각각의 복수의 오디오 파형 프레임의 암호화된 인지 특징을 포함하며;
    상기 음향 모델은 상기 암호화된 데이터 항목을 전화 코드북에 대응하는 복수의 암호화된 확률 벡터로 변환하도록 구성되며, 각각의 암호화된 확률 벡터는 복수의 오디오 파형 프레임 중 하나에 대응하고; 그리고
    상기 언어 모델은 상기 복수의 암호화된 확률 벡터를 암호화된 텍스트 세그먼트(text segment)를 포함하는 상기 암호화된 출력 데이터 항목으로 변환하도록 구성되는, 시스템.
  13. 제1항에 있어서,
    상기 딥 러닝 신경망은 인지 모델에 이어 음향 모델에 이어 언어 모델을 포함하고,
    상기 암호화된 데이터 항목은 상기 원격 단말 디바이스로부터 송신된 미리 결정된 프레임 지속 기간 각각의 복수의 암호화된 오디오 파형 프레임을 포함하며;
    상기 인지 모델은 상기 복수의 암호화된 오디오 파형 프레임을 복수의 인지 특징 세트로 변환하도록 구성되고;
    상기 음향 모델은 상기 복수의 인지 특징 세트를 전화 코드북에 대응하는 복수의 암호화된 확률 벡터로 변환하도록 구성되며, 각각의 암호화된 확률 벡터는 상기 복수의 오디오 파형 프레임 중 하나에 대응하고; 그리고
    상기 언어 모델은 상기 복수의 암호화된 확률 벡터를 암호화된 텍스트 세그먼트를 포함하는 상기 암호화된 출력 데이터 항목으로 변환하도록 구성되는, 시스템.
  14. 원격 데이터 분석을 제공하는 시스템으로서,
    통신 인터페이스; 및
    상기 통신 인터페이스와 통신하는 회로
    를 포함하며,
    상기 회로는,
    데이터 항목을 암호화하여 암호화된 데이터 항목을 획득하고 - 상기 암호화된 데이터 항목은 공개키 암호화에 기반함 -;
    상기 암호화된 데이터 항목을 상기 통신 인터페이스를 통해 원격 서버로 송신하며;
    상기 원격 서버로부터 암호화된 출력 데이터 항목을 수신하고 - 상기 암호화된 출력 데이터 항목은 상기 원격 서버에 저장된 딥 러닝 신경망을 사용하여 상기 암호화된 데이터 항목의 순방향 전파를 통해 획득되며, 상기 딥 러닝 신경망은 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝되고, 복수의 계층으로 상호연결된 뉴런을 포함하며, 상기 딥 러닝 신경망의 적어도 하나의 활성화 연산 및 적어도 하나의 풀링 연산은 다항화되고, 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝된 상기 딥 러닝 신경망의 적어도 모델 파라미터의 서브세트는, 상기 암호화된 데이터 항목의 상기 순방향 전파를 위해 암호화되지 않은 상태로 유지됨 -; 그리고
    상기 암호화된 출력 데이터 항목을 암호해독하여(decrypt) 암호해독된 데이터 항목을 획득하도록 구성되는, 시스템.
  15. 통신 인터페이스, 딥 러닝 신경망을 저장하는 메모리, 그리고 상기 통신 인터페이스 및 상기 메모리와 통신하는 회로를 포함하는 서버에 의해 수행되는, 원격 데이터 분석을 제공하는 방법으로서,
    상기 회로가, 상기 통신 인터페이스를 통해 원격 단말 디바이스로부터 암호화된 데이터 항목을 수신하는 단계;
    상기 회로가, 암호화된 데이터 항목을 암호화된 형태로 상기 딥 러닝 신경망을 통해 순방향 전파하여 암호화된 출력 데이터 항목을 획득하는 단계; 및
    상기 회로가, 상기 암호화된 출력 데이터 항목을 상기 통신 인터페이스를 통해 상기 원격 단말 디바이스로 송신하는 단계
    를 포함하며,
    상기 딥 러닝 신경망은 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝되고, 복수의 계층으로 상호연결된 뉴런을 포함하며, 상기 딥 러닝 신경망의 적어도 하나의 활성화 연산 및 적어도 하나의 풀링 연산이 다항화되고,
    상기 암호화된 데이터 항목은 상기 원격 단말 디바이스에서의 공개키 암호화에 기반하며, 암호화되지 않은 트레이닝 데이터를 사용하여 트레이닝된 상기 딥 러닝 신경망의 적어도 모델 파라미터의 서브세트는, 상기 암호화된 데이터 항목의 순방향 전파를 위해 암호화되지 않은 상태로 유지되는,
    원격 데이터 분석을 제공하는 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020217033761A 2019-07-08 2020-06-26 심층 다항식 네트워크를 사용하는 암호화된 데이터의 분산 및 협업 분석 KR102656006B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/505,368 2019-07-08
US16/505,368 US11128435B2 (en) 2019-07-08 2019-07-08 Distributed and collaborative analytics of encrypted data using deep polynomial networks
PCT/US2020/039805 WO2021007047A1 (en) 2019-07-08 2020-06-26 Distributed and collaborative analytics of encrypted data using deep polynomial networks

Publications (2)

Publication Number Publication Date
KR20210138094A KR20210138094A (ko) 2021-11-18
KR102656006B1 true KR102656006B1 (ko) 2024-04-08

Family

ID=74102763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217033761A KR102656006B1 (ko) 2019-07-08 2020-06-26 심층 다항식 네트워크를 사용하는 암호화된 데이터의 분산 및 협업 분석

Country Status (5)

Country Link
US (1) US11128435B2 (ko)
EP (1) EP3928259A4 (ko)
KR (1) KR102656006B1 (ko)
CN (1) CN113728339A (ko)
WO (1) WO2021007047A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210375B2 (en) * 2018-03-07 2021-12-28 Private Identity Llc Systems and methods for biometric processing with liveness
US11265168B2 (en) 2018-03-07 2022-03-01 Private Identity Llc Systems and methods for privacy-enabled biometric processing
US10938852B1 (en) 2020-08-14 2021-03-02 Private Identity Llc Systems and methods for private authentication with helper networks
US11789699B2 (en) 2018-03-07 2023-10-17 Private Identity Llc Systems and methods for private authentication with helper networks
US11170084B2 (en) 2018-06-28 2021-11-09 Private Identity Llc Biometric authentication
CN110598438B (zh) * 2019-07-19 2023-05-30 福州大学 基于深度卷积神经网络的云中保护外包数据隐私保护系统
US11227579B2 (en) * 2019-08-08 2022-01-18 International Business Machines Corporation Data augmentation by frame insertion for speech data
KR20210028422A (ko) * 2019-09-04 2021-03-12 삼성전자주식회사 전자장치 및 그 제어방법
CA3059032A1 (en) * 2019-10-17 2021-04-17 The Toronto-Dominion Bank Homomorphic encryption of communications involving voice-enabled devices in a distributed computing environment
KR102557639B1 (ko) * 2021-04-20 2023-07-19 성신여자대학교 연구 산학협력단 인공지능 학습장치 및 인공지능 학습장치의 동작방법
CN113205821B (zh) * 2021-04-25 2023-08-29 广州大学 一种基于对抗样本的语音隐写方法
US20220343004A1 (en) * 2021-04-27 2022-10-27 Spotify Ab Access control for on-device machine learning models
CN113037781A (zh) * 2021-04-29 2021-06-25 广东工业大学 基于rnn的语音信息加密方法及装置
KR102437715B1 (ko) * 2021-06-07 2022-08-26 성신여자대학교 연구 산학협력단 데이터 분산처리 장치 및 이의 동작방법
CN115102739B (zh) * 2022-06-15 2023-05-19 北京睿芯高通量科技有限公司 基于计算加密的pytorch深度学习网络模型保护方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190065974A1 (en) * 2017-08-30 2019-02-28 Axell Corporation Inference device, inference system, and inference method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225329B2 (en) 2003-03-19 2007-05-29 Sbc Properties, L.P. Enhanced CSU/DSU (channel service unit/data service unit)
US10679140B2 (en) 2014-10-06 2020-06-09 Seagate Technology Llc Dynamically modifying a boundary of a deep learning network
US9946970B2 (en) * 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data
CN108027911A (zh) 2015-07-29 2018-05-11 伊利诺斯工具制品有限公司 促进焊接即服务软件的系统及方法
US10139788B2 (en) 2016-03-15 2018-11-27 Honeywell International Inc. Remote data analytics to predict system components or device failure
US10140980B2 (en) * 2016-12-21 2018-11-27 Google LCC Complex linear projection for acoustic modeling
US10713535B2 (en) * 2017-09-15 2020-07-14 NovuMind Limited Methods and processes of encrypted deep learning services
US10679620B2 (en) * 2018-03-06 2020-06-09 GM Global Technology Operations LLC Speech recognition arbitration logic
US11816226B2 (en) * 2018-03-22 2023-11-14 Via Science, Inc. Secure data processing transactions
US20200082272A1 (en) * 2018-09-11 2020-03-12 International Business Machines Corporation Enhancing Data Privacy in Remote Deep Learning Services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190065974A1 (en) * 2017-08-30 2019-02-28 Axell Corporation Inference device, inference system, and inference method

Also Published As

Publication number Publication date
WO2021007047A1 (en) 2021-01-14
EP3928259A1 (en) 2021-12-29
KR20210138094A (ko) 2021-11-18
US11128435B2 (en) 2021-09-21
US20210014039A1 (en) 2021-01-14
CN113728339A (zh) 2021-11-30
EP3928259A4 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
KR102656006B1 (ko) 심층 다항식 네트워크를 사용하는 암호화된 데이터의 분산 및 협업 분석
US11482207B2 (en) Waveform generation using end-to-end text-to-waveform system
US10573293B2 (en) End-to-end text-to-speech conversion
Helfrich et al. Orthogonal recurrent neural networks with scaled Cayley transform
EP3504703B1 (en) A speech recognition method and apparatus
JP2020502625A (ja) ニューラルネットワークを使用したテキストシーケンスの処理
US20180365554A1 (en) Feedforward generative neural networks
US11355097B2 (en) Sample-efficient adaptive text-to-speech
Zhang et al. Encrypted speech recognition using deep polynomial networks
US11886813B2 (en) Efficient automatic punctuation with robust inference
CN111696520A (zh) 智能配音方法、装置、介质及电子设备
KR20220058628A (ko) 신경망 모델 압축
US20230237993A1 (en) Systems and Methods for Training Dual-Mode Machine-Learned Speech Recognition Models
KR20190136578A (ko) 음성 인식 방법 및 장치
Huang et al. An improved residual LSTM architecture for acoustic modeling
US20200401874A1 (en) Generating output examples using recurrent neural networks conditioned on bit values
CN114267366A (zh) 通过离散表示学习进行语音降噪
JP2023169230A (ja) コンピュータプログラム、サーバ装置、端末装置、学習済みモデル、プログラム生成方法、及び方法
CN114464163A (zh) 语音合成模型的训练方法、装置、设备、存储介质和产品
CN112396153A (zh) 一种用于深度学习的加速装置及计算装置
US20230112862A1 (en) Leveraging Redundancy in Attention with Reuse Transformers
WO2022263570A1 (en) Adaptive visual speech recognition
US20210019625A1 (en) Electronic device and control method thereof
CN114548423A (zh) 以全向处理为特征的机器学习注意力模型

Legal Events

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