KR20220105509A - 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법 - Google Patents

암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20220105509A
KR20220105509A KR1020210008293A KR20210008293A KR20220105509A KR 20220105509 A KR20220105509 A KR 20220105509A KR 1020210008293 A KR1020210008293 A KR 1020210008293A KR 20210008293 A KR20210008293 A KR 20210008293A KR 20220105509 A KR20220105509 A KR 20220105509A
Authority
KR
South Korea
Prior art keywords
artificial intelligence
intelligence model
information
electronic device
encrypted
Prior art date
Application number
KR1020210008293A
Other languages
English (en)
Inventor
김정곤
김진수
신준범
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020210008293A priority Critical patent/KR20220105509A/ko
Priority to PCT/KR2021/015447 priority patent/WO2022158686A1/ko
Priority to US17/573,835 priority patent/US12094194B2/en
Publication of KR20220105509A publication Critical patent/KR20220105509A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

암호화된 정보에 기초하여, 인공지능 모델이 추론을 수행할 수 있도록, 인공지능 모델을 변환하고, 변환된 인공지능 모델에 기초하여, 인공지능 모델에 입력되는 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함하는, 파라미터 정보를 생성하고, 파라미터 정보를 상기 외부 장치로 전송하고, 외부 장치로부터, 파라미터 정보에 기초하여 암호화된 정보를 수신하고, 암호화된 정보를 변환된 인공지능 모델에 입력하여, 변환된 인공지능 모델로부터 출력되는 추론 결과를 획득하는, 전자 장치가, 외부 장치로부터 수신된 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론 동작을 수행하는 방법이 제공된다.

Description

암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법 {Electronic device and operating method for inferring by using an artificial intelligence model based on encrypted information}
본 개시는, 외부 장치로부터 수신된 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법에 관한 것이다.
인공지능 모델이 추론을 수행하는 데에는 많은 연산량이 필요하므로, 입력 정보가 획득된 외부 장치 대신에, 성능이 더 좋은 다른 장치(ex. 서버)에서, 입력 정보에 기초한 인공지능 모델을 이용한 추론이 수행될 수 있다. 이 경우, 입력 정보는, 입력 정보가 획득된 외부 장치에서, 인공지능 모델을 이용한 추론이 수행되는 다른 장치로, 전송될 수 있다.
인공지능 모델의 입력 정보는, 사용자가 직간접적으로 이용하는 외부 장치에서 다양한 방법으로 수집된 사용자와 관련된 정보를 포함할 수 있으므로, 입력 정보를 외부 유출로부터 보호하기 위한 여러 가지 방법이 이용되고 있다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 외부 장치로부터 수신된 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 전자 장치가, 인공지능 모델을 이용하여, 외부 장치로부터 수신된 암호화된 정보에 기초한 추론을 수행하는 방법에 있어서, 암호화된 정보에 기초하여 상기 인공지능 모델이 추론을 수행할 수 있도록, 상기 인공지능 모델을 변환하는 단계; 상기 변환된 인공지능 모델에 기초하여, 상기 인공지능 모델에 입력되는 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함하는, 파라미터 정보를 생성하는 단계; 상기 파라미터 정보를 상기 외부 장치로 전송하는 단계; 상기 외부 장치로부터, 상기 파라미터 정보에 기초하여 암호화된 정보를 수신하는 단계; 및 상기 암호화된 정보를 상기 변환된 인공지능 모델에 입력하여, 상기 변환된 인공지능 모델로부터 출력되는 추론 결과를 획득하는 단계를 포함하는 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 인공지능 모델을 이용하여, 외부 장치로부터 수신된 암호화된 정보에 기초한 추론을 수행하는 전자 장치에 있어서, 상기 외부 장치와 데이터를 송수신하는 통신부; 하나 이상의 명령어들(instructions)을 저장하는 메모리; 및 상기 메모리에 저장된 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 암호화된 정보에 기초하여, 상기 인공지능 모델이 추론을 수행할 수 있도록, 상기 인공지능 모델을 변환하고, 상기 변환된 인공지능 모델에 기초하여, 상기 인공지능 모델에 입력되는 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함하는, 파라미터 정보를 생성하고, 상기 파라미터 정보를 상기 외부 장치로 전송하고, 상기 외부 장치로부터, 상기 파라미터 정보에 기초하여 암호화된 정보를 수신하고, 상기 암호화된 정보를 상기 변환된 인공지능 모델에 입력하여, 상기 변환된 인공지능 모델로부터 출력되는 추론 결과를 획득하는, 전자 장치를 제공할 수 있다.
또한, 본 개시의 제3 측면은, 제1 측면의 방법을 수행하도록 하는 프로그램이 저장된 기록매체를 제공할 수 있다.
도 1은 일 실시 예에 의한 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 시스템을 나타낸 순서도이다.
도 2는 일 실시 예에 의한 데이터 구조를 변경하는 일 예를 나타낸 도면이다.
도 3은 일 실시 예에 의한 인공지능 모델에 포함된 연산을 변환하는 일 예를 나타낸 도면이다.
도 4는 일 실시 예에 의한 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시 예에 의한 전자 장치가 인공지능 모델을 이용한 추론을 수행하는 방법을 나타낸 순서도이다.
도 6은 일 실시 예에 의한 외부 장치의 내부 구성을 설명하기 위한 블록도이다.
도 7은 일 실시 예에 의한 외부 장치의 내부 구성을 설명하기 위한 블록도이다.
도 8은 일 실시 예에 의한 외부 장치가, 인공지능 모델을 이용한 추론을 전자 장치에 요청하는 방법을 나타내는 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 따른 인공지능 모델을 이용한 추론을 수행하는 시스템(100)을 나타낸 순서도이다.
도 1을 참조하면, 일 실시 예에 따른 암호화된 정보에 기초하여 인공지능 모델을 이용한 추론을 수행하는 시스템(100)은, 외부 장치(2000)와 전자 장치(1000)을 포함할 수 있다.
외부 장치(2000)는 인공지능 모델에 입력될 정보를 획득하여, 전자 장치(1000)로 전송할 수 있다. 전자 장치(1000)는 외부 장치(2000)로부터 수신된 입력 정보로부터, 인공지능 모델을 이용해서 출력 정보를 추론하고, 출력 정보를 외부 장치(2000)로 전송할 수 있다. 일 실시 예에 의한 인공지능 모델을 이용한 추론을 수행하는 동작은, 인공지능 모델에 입력 정보를 입력하여, 출력 정보를 획득하는 동작을 의미할 수 있다.
일 실시 예에 따른 외부 장치(2000)는, 인공지능 모델에 입력될 정보를 전자 장치(1000)로 전송하여, 인공지능 모델을 이용하여 획득된 추론 결과를 전자 장치(1000)에 요청할 수 있다. 또한, 일 실시 예에 의한 전자 장치(1000)는, 외부 장치(2000)의 요청에 따라, 인공지능 모델이 입력 정보에 대한 추론을 수행하도록 하여, 인공지능 모델로부터 출력되는 추론 결과를 외부 장치(2000)로 전달할 수 있다.
일 실시 예에 따른 외부 장치(2000)는 인공지능 모델을 포함하지 않거나, 전자 장치(1000)에 비해 인공지능 모델을 이용한 추론 동작을 수행하기 위한 성능이 상대적으로 낮은 장치일 수 있다. 따라서, 외부 장치(2000)는, 사용자와 관련된 다양한 정보를 직접적으로 수집하여, 상기 수집된 정보에 기초해서 인공지능 모델이 추론을 수행하도록 전자 장치(1000)에 요청하고, 전자 장치(1000)로부터 수신된 인공지능 모델의 추론 결과를 사용자에게 제공할 수 있는 장치일 수 있다.
예를 들면, 외부 장치(2000)는, 댁 내에서 사용되는, 여러 종류의 가전 제품(ex. 냉장고, 세탁기, TV, 에어컨, 로봇 청소기)이거나, 웨어러블 장치일 수 있다. 또한, 외부 장치(2000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 차량(vehicle) 등, 사용자에 의해 직접 사용될 수 있는 장치일 수 있다. 상술한 예에 한하지 않고, 외부 장치(2000)는, 사용자에 관한 정보를 다양한 방법으로 수집하여, 전자 장치(1000)에 전달할 수 있는, 다양한 종류의 장치일 수 있다.
또한, 일 실시 예에 의한 전자 장치(1000)는 사용자와 관련된 정보를 직접적으로 수집하지는 않으나, 인공지능 모델을 포함하고, 인공지능 모델을 이용한 추론을 수행하기에 적합한 성능을 가진 장치일 수 있다. 예를 들면, 전자 장치(1000)는, 사용자에 의해 관리되지 않는 외부에 위치한 장치로서, 사용자가 이용하는 가전 제품이나 모바일 장치에 비해 성능이 더 우수한 서버 장치일 수 있다. 또는, 전자 장치(1000)는, 인공지능 모델을 포함하고, 외부 장치(2000) 대신 인공지능 모델을 이용한 추론을 수행하기에 적합한 성능을 가진 스마트 폰, 노트북, 데스크탑 컴퓨터 등의 장치일 수도 있다. 상술한 예에 한하지 않고, 전자 장치(1000)는, 인공지능 모델을 이용한 추론을 수행하기에 적절한 성능을 가지는 다양한 종류의 장치일 수 있다.
일 실시 예에 따른 외부 장치(2000)는, 사용자에 의해 직접적으로 사용되고, 관리될 수 있으므로, 외부 장치(2000)에서 수집된 사용자에 관한 정보가 외부로 유출될 위험은 낮을 수 있다. 그러나, 외부 장치(2000)가 전자 장치(1000)에 인공지능 모델을 이용한 추론을 요청하기 위해, 외부 장치(2000)에서 전자 장치(1000)로, 인공지능 모델에 입력될 정보를 전송하는 경우, 전송 과정에서, 사용자의 정보가 외부로 유출될 위험이 존재할 수 있다. 또한, 전자 장치(1000)가 외부의 서버 장치인 경우, 전자 장치(1000)는, 사용자가 아닌 서버를 관리하는 관리자에 의해 사용 및 관리되므로, 외부 장치(2000)로부터 수신된 정보가, 서버 또는 서버의 관리자에 의하여 외부로 유출될 위험이 존재할 수 있다.
그러나, 일 실시 예에 따른 외부 장치(2000)에서 수집되어, 인공지능 모델의 입력 정보에 포함될 수 있는 사용자의 정보는, 사용자의 중요한 개인 정보, 금융 정보 등을 포함할 수 있다. 따라서, 외부 장치(2000)가 인공지능 모델을 이용한 추론을 전자 장치(1000)에 요청함에 따라, 사용자 정보가 외부로 유출되는 경우, 사용자에게 큰 피해가 발생될 우려가 있다.
따라서, 일 실시 예에서, 외부 장치(2000)가 전자 장치(1000)에 인공지능 모델을 이용한 추론을 요청할 때, 입력 정보를 보호할 수 있도록, 입력 정보를 암호화한 후, 전자 장치(1000)로 전송할 수 있다. 이때, 입력 정보는, 동형 암호(homomorphic encryption)로 암호화된 후, 전자 장치(1000)로 전송될 수 있다.
일 실시 예에 따른 동형 암호 기술은 기존의 암호화 방법과는 달리, 암호화된 상태의 데이터에 대하여, 복호화 없이, 연산, 분석 등의 처리가 가능한 기술을 의미한다. 일 실시 예에 의한 동형 암호 기술에 의하면, 암호화된 정보의 처리 결과와, 암호화되지 않은 정보의 처리 결과가 동일하도록, 다양한 방법에 따라, 정보가 암호화되거나, 다양한 방법에 따라 암호화된 정보가 처리될 수 있다.
일 실시 예에 의한 동형 암호로 암호화된 입력 정보를 이용하면, 전자 장치(1000)에서, 입력 정보가 복호화되지 않고, 암호화된 상태에서, 인공지능 모델을 이용한 추론이 수행될 수 있다. 또한, 인공지능 모델을 이용하여 수행된 추론의 결과 역시, 암호화된 상태로 획득될 수 있다.
일 실시 예에서, 암호화된 입력 정보에 기초하여, 인공지능 모델을 이용한 추론이 수행되는 시스템(100)은, 단계 111 내지 단계 118에 따라서, 전자 장치(1000) 및 외부 장치(2000)에 의하여, 인공지능 모델을 이용한 추론 동작을 수행할 수 있다.
단계 111에서, 전자 장치(1000)는, 암호화된 입력 정보를 처리하기에 적합하도록 인공지능 모델을 변환할 수 있다.
일 실시 예에 따른 인공지능 모델은, 암호화되지 않은 정보를 기준으로, 학습된 모델이므로, 암호화된 입력 정보를 처리하기에 적합하지 않을 수 있다. 예를 들면, 암호화된 입력 정보는, 암호화를 위한 정보가 더 부가됨에 따라, 암호화되기 전의 입력 정보보다 데이터 사이즈가 더 커질 수 있으므로, 인공지능 모델에서, 암호화된 입력 정보를 처리하는데 소요되는 연산량이, 암호화되지 않은 입력 정보를 처리하는 경우에 비해, 증가할 수 있다. 또한, 암호화된 입력 정보는, 암호화되기 전의 입력 정보와는 다른 데이터 구조를 포함함에 따라, 인공지능 모델에 포함된 연산 또는 함수 중에서, 암호화된 입력 정보를 처리할 수 없는 연산 또는 함수가 존재할 수 있다.
따라서, 일 실시 예에 따른 전자 장치(1000)는, 인공지능 모델이, 암호화된 입력 정보에 기초하여, 더 적은 연산량으로 추론을 수행할 수 있도록, 인공지능 모델을 변환할 수 있다.
일 실시 예에 따른 인공지능 모델의 변환은, 인공지능 모델에 포함된 함수 중 암호화된 정보의 처리가 어려운 함수(ex. 비다항식(non-polynomial) 함수, ReLu, sigmoid)가 암호화된 정보의 처리가 가능한 함수(ex. 다항식(polynomial) 함수)로 변환됨으로써, 수행될 수 있다.
예를 들면, 비다항식의 함수에 의한 연산이 수행될 수 있는 인공지능 모델의 경우, 암호화된 입력 정보의 특성으로 인하여, 암호화된 입력 정보의 처리가 어려울 수 있다. 따라서, 일 실시 예에 의한 전자 장치(1000)는, 아래 수학식 1과 같이, 인공지능 모델에 포함된, 비다항식의 함수를, 비다항식의 함수에 근사된(approximation) 다항식의 함수로 변환함으로써, 인공지능 모델을 변환할 수 있다.
[수학식 1]
Figure pat00001
Figure pat00002
Figure pat00003
일 실시 예에서, 변환된 인공지능 모델은, 원래의 함수에 근사된 다른 함수를 포함함에 따라, 동일한 입력 정보에 대하여, 변환 전의 인공지능 모델의 출력 정보와 동일하지는 않으나, 유사한 출력 정보를 출력할 수 있다. 다만, 변환된 인공지능 모델은 암호화된 입력 정보를 처리 가능하다. 인공지능 모델의 변환으로 인해 인공지능 모델의 출력이 다소 왜곡되더라도, 암호화된 입력 정보에 기초하여, 인공지능 모델이 추론 동작을 수행할 수 있도록, 인공지능 모델이 변환될 수 있다.
또 다른 예로, 전자 장치(1000)는, 인공지능 모델에 포함된 연산들 중에서, 암호화된 입력 정보를 처리하는데 소요되는 연산량이 큰 종류의 연산(ex. 곱셈 연산)을 연산량이 더 작은 다른 종류의 연산(ex. 덧셈 연산, 로테이션 연산)으로 변환함으로써, 인공지능 모델을 변환할 수 있다. 예를 들면, 곱셈 연산은 암호화된 입력 정보를 처리하는데 소요되는 연산량이 다른 연산에 비해 상당히 클 수 있다. 따라서, 전자 장치(1000)는, 인공지능 모델에서, 곱셈 연산이 수행되는 횟수가 감소될 수 있도록, 곱셈 연산을 더 적은 연산량이 소요되는 다른 연산으로 변환함으로써, 인공지능 모델을 변환할 수 있다.
또한, 일 실시 예에 의하면, 함수나 연산 이외에, 인공지능 모델에서 처리되는 데이터들의 구조가 변환됨으로써, 인공지능 모델이 변환될 수 있다. 일 실시 예에 의하면, 인공지능 모델의 각각의 레이어에서 입출력되는 데이터들의 구조가, 암호화된 입력 정보에 맞추어, 재구성될 수 있다. 일 실시 예에 의하면, 재구성된 데이터 구조에 따른 암호화된 입력 정보가 처리될 수 있도록, 인공지능 모델이 변환될 수 있다.
암호화된 입력 정보는, 암호화되지 않은 입력 정보와는 다른 크기 및 다른 구조의 데이터를 포함할 수 있다. 따라서, 암호화된 입력 정보가 인공지능 모델에서 처리될 수 있도록, 인공지능 모델의 각 레이어에서 입출력되는 데이터의 구조가 재구성될 수 있다. 일 실시 예에서, 입력 정보에 포함된 암호화된 데이터들이 인공지능 모델의 각각의 레이어에서, 더 적은 연산량으로, 순차적으로 처리될 수 있도록, 각 레이어의 입출력 단에서 암호화된 데이터들이 배열되는 구조가 재구성될 수 있다.
또한, 일 실시 예에 의하면, 인공지능 모델의 일부분(ex. 레이어, 함수, 연산자)이 변환되는 대신에, 입력 정보가 수집되는 외부 장치(2000)에서, 인공지능 모델의 일부 동작이 수행될 수도 있다. 예를 들면, MPC(Multi party Computation) 기술에 따라서, 인공지능 모델의 일부 동작이 외부 장치(2000)에서 처리될 수 있다.
이 경우, 인공지능 모델의 일부를 포함하는 분할 모델(ex. 레이어, 함수, 연산자)의 동작이, 외부 장치(2000)에서 수행될 수 있다.
일 실시 예에서, 외부 장치(2000)는, 암호화된 정보를 복호화하여, 복호화된 정보에 대해 인공지능 모델의 분할 모델의 일부 동작을 수행할 수 있다.예를 들면, 전자 장치(1000)는, 인공지능 모델에 포함된 연산들을 순차적으로 처리하는 과정에서, 분할 모델에 입력될 암호화된 정보를 획득하면, 암호화된 정보와 함께 분할 모델에 대한 처리 요청을 외부 장치(2000)로 전송할 수 있다. 외부 장치(2000)는 암호화된 정보를 복호화한 후, 복호화한 정보에 기초하여, 분할 모델을 분산 처리할 수 있다. 외부 장치(2000)는, 인공지능 모델의 입력 정보를 암호화할 때 이용한 개인키를 이용하여, 암호화된 정보를 복호화할 수 있다.
일 실시 예에서, 외부 장치(2000)에서 분산 처리된 결과에 관한 정보는, 외부 장치(2000)에서 다시 암호화된 후, 전자 장치(1000)로 전달될 수 있다. 전자 장치(1000)는, 외부 장치(2000)로부터 수신된 암호화된 정보에 기초하여, 인공지능 모델에서 아직 처리되지 않은 나머지 부분을 순차적으로 처리할 수 있다.
단계 112에서, 전자 장치(1000)는, 단계 111에서 변환된 인공지능 모델에 대한 파라미터 정보를 설정할 수 있다. 일 실시 예에서 파라미터 정보는, 외부 장치(2000)에서 입력 정보를 암호화하기 위한 적어도 하나의 파라미터를 포함할 수 있다.
일 실시 예에서, 전자 장치(1000)는, 입력 정보가 처리되는 인공지능 모델에 따라 입력 정보가 암호화될 수 있도록, 파라미터 정보(ex. 동형 암호화를 위한 파라미터)를 설정하고, 설정된 파라미터 정보를 외부 장치(2000)에 제공할 수 있다.
일 실시 예에서, 전자 장치(1000)는, 외부 장치(2000)로부터 추론 요청이 수신될 수 있는 적어도 하나의 인공지능 모델에 대하여, 암호화를 위한 파라미터 정보를 설정할 수 있다. 또한, 파라미터 정보가 설정되면, 전자 장치(1000)는, 적어도 하나의 인공지능 모델에 의한 추론을 요청할 수 있는, 적어도 하나의 외부 장치(2000)로, 파라미터 정보를 전송할 수 있다.
일 실시 예에서, 파라미터 정보는, 암호문의 크기, 암호문에 포함된 에러의 길이, 암호문에 포함된 평문의 크기 등, 입력 정보를 암호화하는데 이용될 수 있는 적어도 하나의 파라미터를 포함할 수 있다. 일 실시 예에 의한 암호문은, 평문, 에러, 마스킹 영역 등을 포함하여, 암호화된 정보를 나타낼 수 있다. 상술한 예에 한하지 않고, 파라미터 정보는, 입력 정보를 암호화하는데 이용될 수 있는 다양한 파라미터에 관한 정보를 포함할 수 있다.
파라미터 정보는, 인공지능 모델의 특성에 따라서, 입력 정보가 암호화될 수 있도록, 설정될 수 있다. 예를 들어, 인공지능 모델이 변환됨에 따라, 인공지능 모델의 특성이 변화되므로, 파라미터 정보는, 변환된 인공지능 모델에 기초하여 설정될 수 있다.
일 실시 예에서, 암호화된 입력 정보에 대하여, 인공지능 모델에서, 연산이 거듭 수행됨에 따라, 암호화된 정보의 암호문에 포함된 에러가 점점 커질 수 있다. 암호문은, 평문과 에러를 함께 포함하므로, 암호문에 포함된 평문(원본 값)이 에러에 의하여 왜곡되지 않게 하려면, 암호화된 입력 정보에 대하여 수행되는 연산 횟수가 많을 수록, 에러 크기가 작아지도록, 파라미터가 설정됨이 바람직하다. 따라서, 파라미터 정보는, 인공지능 모델에서, 암호화된 입력 정보에 대하여 수행되는 연산 횟수에 기초하여, 적합한 크기의 에러를 포함하는 암호화된 정보가 외부 장치(2000)에서 생성될 수 있도록, 설정될 수 있다.
또한, 일 실시 예에서, 인공지능 모델에서 처리되는 데이터의 타입에 따라서, 서로 다른 파라미터 정보가 설정될 수 있다. 인공지능 모델에서 처리되는 데이터의 타입에 따라, 인공지능 모델의 입력 정보의 데이터 타입이 달라질 수 있으므로, 데이터 타입에 맞게 입력 정보가 암호화될 수 있도록, 파라미터 정보가 설정될 수 있다. 일 실시 예에 의하면, 인공지능 모델에서 처리되는 데이터의 타입에 따라, 파라미터 정보에 포함된 파라미터의 종류가 달라질 수 있다.
예를 들면, 인공지능 모델에서 처리되는 데이터들의 타입이 정수(integer)인 경우, BFV(Brakerski/Fan-Vercauteren), BGV(Brakerski-Gentry-Vaikuntanathan) 등의 스킴(scheme)에 따른 파라미터 정보가 설정될 수 있다. 또한, 인공지능 모델에서 연산이 수행되는 데이터들의 타입이 플로팅 포인트 타입(ex. 복소수, 실수 등)인 경우, CKKS(Cheon-Kim-Kim-Song), HEAAN 등의 스킴(scheme)에 따른 파라미터 정보가 설정될 수 있다.
상술한 예에 한하지 않고, 파라미터 정보는, 암호화된 입력 정보가 처리되는 인공지능 모델의 다양한 특성에 기초하여, 설정될 수 있다.
단계 113에서, 전자 장치(1000)는, 단계 112에서 설정한 파라미터 정보를, 외부 장치(2000)로 전송할 수 있다. 일 실시 예에서, 전자 장치(1000)에 인공지능 모델에 의한 추론을 요청할 수 있는, 적어도 하나의 외부 장치(2000)로 동일한 파라미터 정보가 전송될 수 있다.
단계 114에서, 외부 장치(2000)는, 수신된 파라미터 정보에 기초하여, 입력 정보를 암호화할 수 있다. 일 실시 예에서, 입력 정보는, 인공지능 모델에 입력될 정보로서, 외부 장치(2000)에서 수집된 다양한 정보를 포함할 수 있다.
일 실시 예에서, 외부 장치(2000)에서 수집된 사용자와 관련된 정보에 기초하여, 사용자에게 서비스를 제공하기 위한 동작이 개시됨에 따라서, 단계 114의 동작이 수행될 수 있다. 상술한 예에 한하지 않고, 다양한 목적에 따라서, 인공지능 모델을 이용한 추론 동작을 요청하기 위하여, 단계 144 이하의 동작이 외부 장치(2000)에서 수행될 수 있다.
단계 115에서, 입력 정보는, 파라미터 정보에 기초하여 암호화된 후, 전자 장치(1000)로 전송될 수 있다.
일 실시 예에서, 외부 장치(2000)는, 단계 114에서, 입력 정보를 암호화할 때, 공개키 및 개인키를 생성하고, 단계 115에서, 공개키를, 전자 장치(1000)에 추가적으로 전송할 수 있다.
일 실시 예에 의한 개인키는, 외부 장치(2000)가 암호화된 출력 정보를 복호화하기 위한 키이다. 또한, 공개키는, 전자 장치(1000)가 암호화된 입력 정보에 기초하여, 인공지능 모델을 처리하여, 암호화된 출력 정보를 획득할 때 이용될 수 있다. 예를 들면, 공개키는, 암호화된 입력 정보와 함께 인공지능 모델에 입력되어, 인공지능 모델의 추론이 수행됨으로써, 전자 장치(1000)에서, 암호화된 출력 정보가 획득될 수 있다.
상술한 예에 한하지 않고, 외부 장치(2000)는, 암호화된 입력 정보가 전자 장치(1000)에서 처리되는데 이용될 수 있는 다양한 정보를, 전자 장치(1000)로 더 전송할 수 있다.
단계 116에서, 전자 장치(1000)는, 수신된 암호화된 입력 정보에 대하여, 인공지능 모델을 이용한 추론을 수행할 수 있다. 일 실시예에서, 단계 116에서, 추론을 수행하는 인공지능 모델은, 단계 111에서 변환된 인공지능 모델일 수 있다. 일 실시 예에서, 인공지능 모델은, 암호화된 입력 정보에 따라 추론을 수행할 수 있도록 미리 변환됨에 따라, 암호문으로 구성된 입력 정보가 인공지능 모델에 의해 처리될 수 있다.
단계 117에서, 전자 장치(1000)는 인공지능 모델을 이용한 입력 정보에 기초한 추론이 수행된 결과를 포함하는 출력 정보를 외부 장치(2000)로 전송할 수 있다. 일 실시 예에 의한 출력 정보는, 인공지능 모델이 처리됨에 따라서, 암호화된 입력 정보가 암호화된 상태로 획득될 수 있다.
단계 118에서, 외부 장치(2000)는, 암호화된 출력 정보를 복호화할 수 있다. 일 실시 예에 의한 출력 정보는, 단계 114에서 입력 정보가 암호화할 때 외부 장치(2000)에서 생성된 개인키에 기초하여, 복호화될 수 있다.
상술한 예에 한하지 않고, 출력 정보는, 다양한 방법에 따라서, 외부 장치(2000)에서 복호화될 수 있다. 일 실시 예에 의한 외부 장치(2000)는 복호화된 출력 정보에 기초하여, 사용자에게, 인공지능 모델을 이용한 추론이 수행된 결과에 관한 다양한 정보를 제공할 수 있다.
도 2는 일 실시 예에 의한 데이터 구조를 변경하는 일 예를 나타낸 도면이다.
도 2를 참조하면, 일 실시 예에 의한 인공지능 모델의 각 레이어에서 입출력되는 암호화된 입력 정보의 데이터 구조는, 암호화된 입력 정보가 인공지능 모델에서 처리될 수 있도록, 결정될 수 있다. 또한, 결정된 데이터 구조에 따라서, 입력 정보가 암호화될 수 있도록, 파라미터 정보가 설정될 수 있다.
예를 들면, 인공지능 모델에 포함된 컨볼루션 연산에 의하여, 곱셈 연산이 수행되는 횟수가 감소될 수 있도록, 암호화된 입력 정보의 데이터 구조가 미리 결정될 수 있다. 입력 정보는, 외부 장치(2000)에 의해, 미리 결정된 데이터 구조에 따라 암호화될 수 있고, 암호화된 입력 정보가 인공지능 모델에 입력될 수 있다.
일 실시 예에 의한 인공지능 모델이, 입력 영상(210)에 대하여, 컨볼루션 연산을 수행하는 레이어를 포함하는 경우, 입력 영상(210)이 암호화된 정보에 대해, 인공지능 모델의 컨볼루션 연산이 수행될 수 있도록, 암호화된 입력 정보에 대한 데이터 구조가 결정될 수 있다.
일 실시 예에서, 암호화된 정보는, 암호화되지 않은 정보에 비해, 크기가 더 크고 복잡한 구조를 가짐에 따라서, 인공지능 모델에 입력된 암호화된 입력 정보에 대해 수행되는 곱셈 연산의 연산량은 덧셈 연산에 비해 상당히 클 수 있다. 따라서, 전자 장치(1000)에서, 인공지능 모델을 이용한 추론이 수행될 때, 암호화된 입력 정보에 대하여 수행되는, 곱셈 연산의 횟수가 감소될 수 있도록, 암호화된 입력 정보를 생성하는 것이 바람직하다.
그러나, 일 실시 예에서의, 컨볼루션 연산에 따르면, 커널맵(220)에 의하여, 입력 영상(210)의 각 픽셀 값에 대한 곱셈 연산이 반복하여 수행될 수 있다. 예를 들면, 제1 픽셀 그룹(211)에 포함된 각 픽셀에 대해 커널 맵(220)에 의한 곱셈 연산이 25번 수행될 수 있고, 제2 픽셀 그룹(212) 및 제3 픽셀 그룹(213)에 각각 포함된 픽셀들에 대하여도 동일하게, 커널 맵(220)에 의한 곱셈 연산이 25번씩 수행될 수 있다.
일 실시 예에서, 입력 영상(210)이 암호화된 정보가, 입력 영상(210)에 포함된 각각의 픽셀 값에 대응되는 암호문들을 포함하는 경우, 컨볼루션 연산에 따른 곱셈 연산이, 각각의 암호문에 대해 반복하여 수행될 수 있다. 따라서, 입력 영상(210)에서, 커널 맵(220)에 의해 곱셈 연산이 수행되는 횟수만큼, 암호문에 대한 곱셈 연산이 반복 수행됨에 따라서, 연산량이 상당히 커질 수 있다.
일 실시 예에서, 곱셈 연산의 횟수가 감소될 수 있도록, 커널 맵(220)의 동일한 값이 적용되는, 입력 영상(210)의 복수 개의 픽셀 값에 대해 하나의 암호문이 생성될 수 있다. 예를 들면, 제1 픽셀 그룹(211), 제2 픽셀 그룹(212) 및 제3 픽셀 그룹(213)에서 각각 1열1행에 위치한 픽셀인 복수 개의 픽셀 값, 1, 4 및 0에 대하여, 하나의 암호문(230-1)이 생성될 수 있다. 암호문(230-1)에 대하여, 커널 맵(220)의 1열1행의 값(ex. 2)에 따른 곱셈 연산이 한번 수행될 수 있다. 마찬가지로, 암호문(230-2)은, 211, 212, 213에서 각각 2열1행에 위치한 픽셀인 복수 개의 픽셀 값, 3, 5 및 7에 대해, 생성될 수 있고, 커널 맵(220)의 2열1행의 값(ex. 9)에 따른 곱셈 연산이 한번 수행될 수 있다.
일 실시 예에 의하면, 각각의 암호문(230-1)이, 커널 맵(220)의 동일한 값이 적용되는 복수의 픽셀 값에 대하여 암호화된 값을 포함함에 따라서, 암호문은, 커널 맵(220)에 포함된 개수만큼 생성될 수 있다. 예를 들면, 5x5의 크기의 커널 맵(220)의 경우, 커널 맵(220)의 각 픽셀과 대응되는, 25개의 암호문이 생성될 수 있다.
따라서, 일 실시 예에 의하면, 각 암호문에 대하여, 곱셈 연산이 커널 맵(220)에 포함된 픽셀 값의 개수만큼 수행될 수 있으므로, 곱셈 연산이 수행되는 횟수가 감소될 수 있다.
또한, 일 실시 예에 의하면, 컨볼루션 연산 이후에 수행되는 다른 연산(ex. Square 함수, Dense 레이어 등)에 대하여도, 각 연산에서 입출력되는, 암호화된 데이터들의 구조가 결정될 수 있다. 따라서, 일 실시 예에 의한 인공지능 모델은, 각 연산에 대해 결정된 데이터 구조에 따라서, 처리될 수 있도록, 변환될 수 있다.
도 3은 일 실시 예에 의한 인공지능 모델에 포함된 연산을 변환하는 일 예를 나타낸 도면이다.
도 3을 참조하면, 일 실시 예에 의한 인공지능 모델은, A1, A2, A3 및 A4에 각각 가중치 W1, W2, W3, W4이 적용되는 가중치 합인, B1이 획득되는 연산을 포함할 수 있다. B1이 획득되는 연산은, 아래 수학식 2와 같이, 나타낼 수 있다.
[수학식 2]
HE(B1)=HE(A1)*HE(W1)+HE(A2)* HE(W2)+HE(A3)*HE(W3)+ HE(A4)* HE(W4)
수학식 2에서, HE(A1)에서, HE는, A1이 암호화된 암호문(ex. 동형 암호)에 대하여, 연산이 수행됨을 나타낸다. 수학식 2를 참조하면, 곱셈 연산이 암호문에 대해, 4번 수행될 수 있다. 그러나, 암호문에 대한 곱셈 연산은, 연산량이 상당히 크므로, 일 실시 예에 의하면, 곱셈 연산 대신 연산량이 적은 다른 연산들이 수행될 수 있도록, 인공지능 모델이 변환될 수 있다. 예를 들면, 복수의 곱셈 연산은, 덧셈 연산 및 로테이션 연산의 조합으로 변환될 수 있다.
아래 수학식 3은, 수학식 2의 곱셈 연산을 변환하는 일 예를 나타낸 것이다.
[수학식 3]
c=HE(A1, A2, A3, A4)*HE(W1, W2, W3, W4)=HE(A1W1, A2W2, A3W3, A4W4)
c' = HE(A3W3, A4W4, A1W1, A2W2)
c+c'= HE(A1W1+A3W3, A2W2+A4W4, A3W3+A1W1, A4W4+A2W2)
(c+c')'=HE(A2W2+A4W4, A1W1+A3W3, A4W4+A2W2, A3W3+A1W1)
c+c'+(c+c')'=HE(A1W1+A2W2+A3W3+A4W4, ..)=HE(B1, B1, B1, B1)
수학식 3에서, c에 따라서, A1, A2, A3, A4에 대한 암호문 및 W1, W2, W3, W4에 대한 암호문에 대한 곱셈 연산이 수행됨으로써, A1W1, A2W2, A3W3, A4W4에 대한 암호문이 획득될 수 있다. 이때, A1, A2, A3, A4에 대한 암호문은 도 2의 암호문(230-1 내지 230-25)과 같이, A1, A2, A3, A4에 대한 암호화된 값이 하나의 암호문 안에 나열됨으로써, 획득될 수 있다.
c'는, c에 대해 로테이션 연산이 수행됨을 나타내며, 로테이션 연산에 따라서, c의 암호문에 포함된 값들의 위치를 바꿈으로써, 획득될 수 있다. (c+c')'도 동일하게, 로테이션 연산에 따라, c+c'의 암호문에 포함된 값들의 위치를 바꿈으로써 획득될 수 있다.
수학식 3을 참조하면, c+c'+(c+c')'로부터 B1에 대한 암호문이 획득될 수 있다. 따라서, 수학식 3에 따르면, 암호문에 대하여, 4번의 곱셈 연산이 수행되는 수학식 2와는 달리, 암호문에 대하여, 1번의 곱셈 연산과, 곱셈 연산보다 연산량이 적은, 덧셈 연산 및 로테이션 연산이 수행될 수 있다. 따라서, 일 실시 예에 의하면, 복수의 곱셈 연산이 덧셈 연산 및 로테이션 연산의 조합에 기초하여, 연산량이 더 감소된 적어도 하나의 연산으로 변환될 수 있다.
도 4는 일 실시 예에 의한 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 4를 참조하면, 전자 장치(1000)는, 프로세서(1300), 통신부(1500) 및 메모리(1700)을 포함할 수 있다. 그러나, 도 4에 도시된 구성 요소 모두가 전자 장치(1000)의 필수 구성 요소인 것은 아니다. 도 4에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있고, 도 4에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1000)가 구현될 수도 있다.
전자 장치(1000)는 적어도 하나의 프로세서(1300)를 포함할 수 있다. 예를 들면, 전자 장치(1000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(1300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700)로부터 프로세서(1300)에 제공되거나, 통신부(1500)를 통해 수신되어 프로세서(1300)로 제공될 수 있다. 예를 들면, 프로세서(1300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(1300)는, 외부 장치로부터 수신된 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행할 수 있다. 일 실시 예에 의한 프로세서(1300)는, 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행할 수 있도록, 인공지능 모델을 변환할 수 있다.
예를 들면, 프로세서(1300)는, 인공지능 모델에 포함된 연산 또는 함수 중 암호화된 정보에 대한 처리가 어려운 연산 또는 함수를, 암호화된 정보에 대한 처리가 가능하도록, 변환할 수 있다. 또한, 프로세서(1300)는, 인공지능 모델에 포함된 연산자 중 암호화된 정보를 처리하는데 소요되는 연산량이 큰 연산자를, 연산량이 작은 다른 연산자로 변환할 수 있다. 또한, 프로세서(1300)는, 인공지능 모델의 각각의 레이어에서 처리되는 데이터 구조를, 암호화된 정보에 따라서, 변환함으로써, 인공지능 모델을 변환할 수 있다. 상술한 예에 한하지 않고, 프로세서(1300)는, 암호화되지 않은 정보를 기준으로 학습된 인공지능 모델이, 암호화된 정보에 기초하여 추론할 수 있도록, 인공지능 모델을 다양하게 변환할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 인공지능 모델을 변환한 후, 변환된 인공지능 모델에 기초하여, 인공지능 모델에 입력되는 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함하는, 파라미터 정보를 생성할 수 있다. 일 실시 예에 의한 파라미터는, 인공지능 모델에 포함된 연산자의 종류 및 횟수에 따라서, 적절한 길이의 암호문 및 에러를 포함하는, 암호화된 정보가 생성될 수 있도록, 설정될 수 있다. 예를 들면, 인공지능 모델에서, 입력 정보의 암호문에 대하여 수행될 수 있는 곱셈 연산의 횟수가 많을수록, 암호문의 길이가 더 길어지거나, 에러 크기가 작아지도록, 파라미터 정보가 생성될 수 있다.
일 실시 예에 의한 파라미터 정보는, 적어도 하나의 외부 장치(2000)로 전송될 수 있고, 외부 장치(2000)는, 파라미터 정보에 기초하여, 암호화된 정보를, 인공지능 모델의 입력 정보로서, 전자 장치(1000)에 전송할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 외부 장치(2000)로부터 수신된 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행할 수 있다. 프로세서(1300)는, 앞서 변환된 인공지능 모델을 을 이용하여, 암호화된 정보에 기초한 추론 동작을 수행할 수 있다. 따라서, 일 실시 예에 의하면, 변환되지 않은 인공지능 모델을 이용한, 암호화된 정보에 대한 추론 동작이 수행되는 경우보다, 연산량이 감소될 수 있다.
통신부(1500)는, 전자 장치(1000)가 외부 장치(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500)는, 근거리 통신부(도시되지 않음), 이동 통신부(도시되지 않음), 방송 수신부(도시되지 않음)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit) 는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 통신부(1500)는, 인공지능 모델이 추론을 수행하는데 필요한 데이터를, 외부 장치(2000)와 송수신할 수 있다.
일 실시 예에 의한 통신부(1500)는, 변환된 인공지능 모델에 기초하여 설정된 파라미터 정보를, 외부 장치(2000)로 전송할 수 있다. 또한, 통신부(1500)는, 외부 장치(2000)로부터, 암호화된 입력 정보를 수신할 수 있다. 일 실시 예에 의한 전자 장치(1000)는, 암호화된 입력 정보에 기초하여, 변환된 인공지능 모델을 이용하여 추론을 수행할 수 있고, 추론이 수행된 결과 출력된 정보를, 통신부(1500)를 통해, 외부 장치(2000)로 전송할 수 있다.
일 실시 예에 의한 추론이 수행된 결과 출력된 정보는, 암호화된 상태이므로, 출력 정보가 외부 장치(2000)로 전송되는 과정이나 전자 장치(1000)에 의하여, 출력 정보가 외부로 유출될 위험이 감소될 수 있다.
상술한 예에 한하지 않고, 통신부(1500)는, 전자 장치(1000)에서, 인공지능 모델을 이용한 추론을 수행하는데 필요한 다양한 종류의 데이터를 외부 장치(2000) 또는 외부의 다른 장치들(미도시)과 송수신할 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(1700)는 하나 이상의 인스트럭션을 저장할 수 있고, 상술한 전자 장치(1000)의 적어도 하나의 프로세서(1300)는 상기 메모리(1700)에 저장된 상기 하나 이상의 인스트럭션을 실행함으로써, 일 실시 예에 의한 인공지능 모델을 이용한 추론 동작을 수행할 수 있다.
메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
일 실시 예에 의한 메모리(1700)는, 암호화된 정보에 기초하여, 추론을 수행할 수 있는 인공지능 모델을 저장할 수 있다. 일 실시 예에 의한 인공지능 모델이 암호화된 정보에 기초하여, 추론할 수 있도록, 변환된 경우, 메모리(1700)는 변환된 인공지능 모델을 저장할 수 있다.
도 5는 일 실시 예에 의한 전자 장치(1000)가 인공지능 모델을 이용한 추론을 수행하는 방법을 나타낸 순서도이다.
도 5를 참조하면, 단계 510에서, 전자 장치(1000)는 인공지능 모델을 변환할 수 있다. 일 실시 예에서, 인공지능 모델은, 암호화된 정보를 처리하기에 적합하도록, 변환될 수 있다. 예를 들면, 인공지능 모델에 포함된 함수 중 암호화된 정보를 처리할 수 없는 함수가 암호화된 정보를 처리할 수 있는 다른 함수로 변환될 수 있다. 또한, 인공지능 모델에 포함된 연산자 중 적어도 하나를, 암호화된 정보가 처리되는데 연산량이 더 적게 소요되는 다른 연산자로 변환될 수 있다. 또한, 인공지능 모델에 포함된 각 레이어에서 입출력되는 데이터들의 구조가, 암호화된 정보를 처리하는데 소요되는 연산량이 감소될 수 있도록, 변환될 수 있다. 상술한 예에 한하지 않고, 인공지능 모델은, 암호화된 정보를 처리하는데 적합하도록, 다양한 방법에 따라서 변환될 수 있다.
단계 520에서, 전자 장치(1000)는, 단계 510에서 변환된 인공지능 모델에 기초하여, 파라미터 정보를 생성할 수 있다. 일 실시 예에 의한 인공지능 모델은, 단계 510에서, 암호화된 정보를 처리하는데 적합하도록, 변환됨에 따라서, 인공지능 모델은 변환 전의 인공지능 모델에 포함된 연산자와는 다른 연산자를 포함하거나, 인공지능 모델에 포함된 연산자의 개수가 달라질 수 있다.
일 실시 예에 의하면, 변환된 인공지능 모델에 따라서, 암호화된 정보가 처리될 수 있으므로, 변환된 인공지능 모델을 기준으로, 입력 정보가 암호화될 수 있도록, 파라미터 정보가 생성될 수 있다.
일 실시 예에 의한 인공지능 모델은, 전자 장치(1000)에서 수집된 다양한 정보에 기초하여, 지속적으로 업데이트될 수 있다. 인공지능 모델이 업데이트됨에 따라서, 인공지능 모델에 포함된 연산자, 함수 등이 변경될 수 있으므로, 업데이트된 인공지능 모델에 대한 파라미터 정보가 다시 설정될 수 있다. 예를 들면, 전자 장치(1000)는 업데이트된 인공지능 모델에 의하여, 암호화된 정보가 추론될 수 있도록, 변환한 후, 변환된 인공지능 모델에 대한 파라미터 정보를 다시 설정할 수 있다. 일 실시 예에 의하면, 파라미터 정보가 다시 설정될 때마다, 외부 장치(2000)로, 다시 설정된 파라미터 정보가 전송될 수 있다.
단계 530에서, 전자 장치(1000)는 파라미터 정보를 적어도 하나의 외부 장치(2000)로 전송할 수 있다. 일 실시 예에서, 전자 장치(1000)는, 인공지능 모델에 의한 추론을 요청할 수 있는 적어도 하나의 외부 장치(2000)로, 파라미터 정보를 전송할 수 있다.
단계 540에서, 전자 장치(1000)는, 전송된 파라미터 정보에 기초하여, 암호화된 입력 정보를 외부 장치(2000)로부터 수신할 수 있다.
일 실시 예에 의한 외부 장치(2000)는, 사용자와 관련된 정보에 기초하여, 인공지능 모델을 이용한 추론이 수행된 결과에 따라, 사용자에게 서비스를 제공할 수 있다. 다만, 외부 장치(2000)가 인공지능 모델을 가지고 있지 않거나, 인공지능 모델을 처리하기에, 외부 장치(2000)의 성능이 부족한 경우, 외부 장치(2000)는 전자 장치(1000)에 인공지능 모델을 이용한 추론을 요청할 수 있다. 예를 들어, 외부 장치(2000)는, 전자 장치(1000)에, 사용자와 관련된 정보에 기초한, 인공지능 모델에 의한 추론을 요청할 수 있다. 다만, 전자 장치(1000) 또는 전송과정에서, 사용자와 관련된 정보를 포함하는 인공지능 모델의 입력 정보가 외부로 유출되는 경우를 방지하기 위하여, 외부 장치(2000)는, 입력 정보를 암호화한 후, 전자 장치(1000)로 전송할 수 있다.
단계 550에서, 전자 장치(1000)는, 외부 장치(2000)로부터 수신된 암호화된 입력 정보에 기초하여, 단계 510에서 변환된 인공지능 모델을 이용한 추론을 수행할 수 있다. 추론이 수행된 결과, 인공지능 모델에서 출력된 정보는, 외부 장치(2000)로 전달될 수 있다. 일 실시 예에 의한 암호화된 입력 정보가 동형 암호로 암호화된 정보인 경우, 인공지능 모델에서 출력된 정보도 암호화된 정보일 수 있다. 따라서, 암호화된 출력 정보가 외부 장치(2000)로 전달됨에 따라, 전자 장치(1000) 또는 전송과정에서, 인공지능 모델의 출력 정보에 포함된 사용자와 관련된 정보가 외부로 유출되는 경우가 방지될 수 있다.
도 6은 일 실시 예에 의한 외부 장치(2000)의 내부 구성을 설명하기 위한 블록도이다.
도 7은 일 실시 예에 의한 외부 장치(2000)의 내부 구성을 설명하기 위한 블록도이다.
도 6을 참조하면, 외부 장치(2000)는, 프로세서(2300), 통신부(2500) 및 메모리(2700)을 포함할 수 있다. 그러나, 도 6에 도시된 구성 요소 모두가 외부 장치(2000)의 필수 구성 요소인 것은 아니다. 도 6에 도시된 구성 요소보다 많은 구성 요소에 의해 외부 장치(2000)가 구현될 수도 있고, 도 6에 도시된 구성 요소보다 적은 구성 요소에 의해 외부 장치(2000)가 구현될 수도 있다.
예를 들면, 외부 장치(2000)는 도 7에 도시된 바와 같이, 일 실시예에 따른 외부 장치(2000)는, 프로세서(2300), 통신부(2500) 및 메모리(2700) 이외에 사용자 입력부(2100), 출력부(2200), 센싱부(2400), 및 A/V 입력부(2600)를 더 포함할 수도 있다.
사용자 입력부(2100)는, 사용자가 외부 장치(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(2100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 사용자 입력부(2100)는, 인공지능 모델을 이용한 추론을 수행하기 위한 사용자 입력을 수신할 수 있다. 예를 들면, 외부 장치(2000)에서 입력된 사용자 입력에 따라서, 인공지능 모델을 이용한 추론을 요청하는 정보가 전자 장치(1000)로 전송될 수 있다.
출력부(2200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(2200)는 디스플레이부(2210), 음향 출력부(2220), 및 진동 모터(2230)를 포함할 수 있다.
한편, 디스플레이부(2210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(2210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(2210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 외부 장치(2000)의 구현 형태에 따라 외부 장치(2000)는 디스플레이부(2210)를 2개 이상 포함할 수도 있다.
음향 출력부(2220)는 통신부(2500)로부터 수신되거나 메모리(2700)에 저장된 오디오 데이터를 출력한다. 진동 모터(2230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(2230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
일 실시 예에 의한 출력부(2200)는, 인공지능 모델을 이용하여 수행된 추론의 결과에 관한 정보를 출력할 수 있다. 일 실시 예에 의한 외부 장치(2000)는 전자 장치(1000)로부터 수신된 인공지능 모델에서 출력된 정보에 기초하여, 사용자에게 서비스를 제공하기 위한 정보를 이미지, 음성, 진동 등의 다양한 형태로 출력할 수 있다.
프로세서(2300)는, 통상적으로 외부 장치(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2300)는, 메모리(2700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(2100), 출력부(2200), 센싱부(2400), 통신부(2500), A/V 입력부(2600) 등을 전반적으로 제어할 수 있다.
외부 장치(2000)는 적어도 하나의 프로세서(2300)를 포함할 수 있다. 예를 들면, 외부 장치(2000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(2300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(2700)로부터 프로세서(2300)에 제공되거나, 통신부(2500)를 통해 수신되어 프로세서(2300)로 제공될 수 있다. 예를 들면 프로세서(2300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 프로세서(2300)는 전자 장치(1000)로부터 수신된 파라미터 정보에 기초하여, 전자 장치(1000)로 전송할 인공지능 모델의 입력 정보를 암호화할 수 있다. 프로세서(2300)는, 입력 정보를 암호화할 때, 외부 장치(1000)의 개인키를 생성하여, 전자 장치(1000)로부터 수신한 암호화된 출력 정보를 복호화하는데 이용할 수 있다.
또한, 프로세서(2300)는, 암호화된 입력 정보와 함께 인공지능 모델에 의한 추론을 요청하는 정보를 전자 장치(1000)에 전송하고, 전자 장치(1000)로부터, 인공지능 모델에 의해 추론이 수행된 결과인, 암호화된 출력 정보를 수신할 수 있다. 프로세서(2300)는, 암호화된 출력 정보를, 개인키를 이용하여 복호화하고, 복호화된 출력 정보에 기초하여, 사용자에게 다양한 서비스를 제공하여 줄 수 있다.
센싱부(2400)는, 외부 장치(2000)의 상태 또는 외부 장치(2000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(2300)로 전달할 수 있다.
센싱부(2400)는, 지자기 센서(Geomagnetic sensor)(2410), 가속도 센서(Acceleration sensor)(2420), 온/습도 센서(2430), 적외선 센서(2440), 자이로스코프 센서(2450), 위치 센서(예컨대, GPS)(2460), 기압 센서(2470), 근접 센서(2480), 및 RGB 센서(illuminance sensor)(2490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 외부 장치(2000)는, 센싱부(2400)에서 수집된 센싱 정보에 기초하여, 인공지능 모델의 입력 정보를 획득하고, 입력 정보를 암호화하여, 전자 장치(2000)에 전송할 수 있다. 센싱부(2400)에서 수집된 센싱 정보는, 사용자에 관한 민감한 정보(ex. 사용자의 위치 정보, 사용자가 촬영된 이미지 정보)를 포함할 수 있으나, 일 실시 예에 의한 센싱 정보를 포함한 입력 정보는, 암호화된 후 전자 장치(1000)에 제공될 수 있다. 따라서, 사용자의 민감한 정보를 포함할 수 있는 센싱 정보가 외부로 유출될 가능성이 감소될 수 있다.
통신부(2500)는, 외부 장치(2000)가 전자 장치(1000) 또는 외부의 다른 장치들(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2500)는, 근거리 통신부(2510), 이동 통신부(2520), 방송 수신부(2530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(2510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(2520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(2530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 외부 장치(2000)가 방송 수신부(2530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 통신부(2500)는 전자 장치(1000)로부터 파라미터 정보를 수신할 수 있다. 또한, 통신부(2500)는, 파라미터 정보에 기초하여 암호화된 입력 정보와 함께 인공지능 모델을 이용하여 수행되는 추론에 대한 요청을 전자 장치(1000)에 전송할 수 있다. 또한, 통신부(2500)는, 전자 장치(1000)로부터 상기 추론 요청에 대한 인공지능 모델의 출력 결과를 수신할 수 있다. 일 실시 예에 의한 전자 장치(1000) 및 외부 장치(2000) 간 송수신되는 인공지능 모델의 입력 정보 및 출력 정보는, 암호화되어 전송되므로, 전송과정 또는 전자 장치(1000)에서, 입력 정보 및 출력 정보에 포함된 정보들이 외부로 유출될 가능성이 감소할 수 있다.
A/V(Audio/Video) 입력부(2600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(2610)와 마이크로폰(2620) 등이 포함될 수 있다. 카메라(2610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(2300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 마이크로폰(21620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
일 실시 예에 의한 외부 장치(2000)는, A/V 입력부(2600)에서 획득된 음향 신호 또는 영상 신호에 기초하여, 인공지능 모델의 입력 정보를 획득하고, 입력 정보를 암호화하여, 전자 장치(1000)에 전송할 수 있다. A/V 입력부(2600)에서 획득된 정보는, 사용자에 관한 민감한 정보(ex. 사용자의 음성 데이터 또는 영상 데이터)를 포함할 수 있으나, 일 실시 예에 의한 입력 정보는, 암호화된 후 전자 장치(1000)에 제공될 수 있다. 따라서, 사용자의 민감한 정보를 포함할 수 있는 사용자의 음성 또는 영상 데이터가 외부로 유출될 가능성이 감소될 수 있다.
메모리(2700)는, 프로세서(2300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 외부 장치(2000)로 입력되거나 외부 장치(2000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 메모리(2700)는 하나 이상의 인스트럭션을 저장할 수 있고, 상술한 외부 장치(2000)의 적어도 하나의 프로세서(2300)는 상기 메모리(2700)에 저장된 상기 하나 이상의 인스트럭션을 실행함으로써, 일 실시 예에 의한 인공지능 모델을 이용한 추론 동작이 수행될 수 있다.
메모리(2700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(2700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(2710), 터치 스크린 모듈(2720), 알림 모듈(2730) 등으로 분류될 수 있다.
UI 모듈(2710)은, 애플리케이션 별로 외부 장치(2000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(2720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(2300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(2720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(2720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(2730)은 외부 장치(2000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 8은 일 실시 예에 의한 외부 장치(2000)가 인공지능 모델에 의한 추론을 전자 장치(1000)에 요청하는 방법을 나타내는 순서도이다.
도 8을 참조하면, 단계 810에서, 외부 장치(2000)는, 전자 장치(1000)로부터 파라미터 정보를 수신할 수 있다. 일 실시 예에서, 인공지능 모델이 업데이트될 때마다, 파라미터 정보가 다시 설정될 수 있는 경우, 파라미터 정보가 전자 장치(1000)에 의해 다시 설정될 때마다, 외부 장치(2000)는, 다시 설정된 파라미터 정보를 전자 장치(1000)로부터 수신할 수 있다.
또한, 일 실시 예에 의한 파라미터 정보는, 인공지능 모델마다, 각각 생성될 수 있다. 따라서, 외부 장치(2000)는, 적어도 하나의 인공지능 모델 각각에 대한, 적어도 하나의 파라미터 정보를, 전자 장치(1000)로부터, 수신할 수 있다.
단계 820에서, 외부 장치(2000)는, 외부 장치(2000)에서 동작을 수행하거나, 사용자에게 서비스를 제공하는 등 다양한 원인으로 인하여, 전자 장치(1000)에 추론을 요청하고자 하는 인공지능 모델을 결정할 수 있다. 일 실시 예에 의한 외부 장치(2000)는, 단계 810에서 수신된 파라미터 정보에 대응하는 적어도 하나의 인공지능 모델 중 하나의 모델을 전자 장치(1000)에 추론을 요청하고자 하는 인공지능 모델로서 결정할 수 있다. 일 실시 예에서, 인공지능 모델이, 전자 장치(1000)에서 추론 동작을 수행할 수 있는 모델인 경우, 외부 장치(2000)는, 전자 장치(1000)에 인공지능 모델의 추론을 요청할 수 있다.
단계 830에서, 외부 장치(2000)는, 단계 820에서, 결정된 인공지능 모델에 대하여, 단계 810에서, 미리 수신된 파라미터 정보를 획득할 수 있다. 일 실시 예에서, 외부 장치(2000)는, 전자 장치(1000)로부터 적어도 하나의 인공지능 모델에 대하여 각각 설정된, 적어도 하나의 파라미터 정보를 수신하여 저장해 둘 수 있다. 따라서, 외부 장치(2000)는, 미리 저장된 적어도 하나의 파라미터 정보 중에서, 추론을 요청하고자 하는 인공지능 모델에 대한 파라미터 정보를 획득할 수 있다.
단계 840에서, 외부 장치(2000)는, 단계 830에서 획득된 파라미터 정보에 기초하여, 인공지능 모델에 입력될 입력 정보를 암호화할 수 있다. 일 실시 예에서, 파라미터 정보는, 인공지능 모델에서 암호화된 입력 정보를 처리하기에 적합하도록, 입력 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함할 수 있다.
일 실시 예에 의한 외부 장치(2000)는, 파라미터 정보에 기초하여, 입력 정보를 암호화할 때, 인공지능 모델의 출력 정보를 복호화하기 위한, 외부 장치(2000)의 개인키를 생성할 수 있다. 또한, 외부 장치(2000)는, 개인키와 대응되는 공개키를 생성할 수 있다.
일 실시 예에 의한 개인키는 랜덤한 실수 값으로 설정될 수 있고, 공개키는, 개인키에 기초하여 설정될 수 있다. 일 실시 예에 의한 공개키는, 전자 장치(1000)에서, 암호화된 입력 정보에 기초하여, 인공지능 모델이 추론을 수행하는데 이용될 수 있다.
단계 850에서, 외부 장치(2000)는, 단계 840에서 암호화된 입력 정보를 전자 장치(1000)에 전송하면서, 인공지능 모델을 이용한 추론을 전자 장치(1000)에 요청할 수 있다. 일 실시 예에서, 외부 장치(2000)는, 단계 840에서, 암호화된 입력 정보를 획득할 때 생성된 공개키를, 암호화된 입력 정보와 함께 전자 장치(1000)에 전송할 수 있다.
단계 860에서, 외부 장치(2000)는, 전자 장치(1000)로부터 인공지능 모델의 암호화된 출력 정보를 획득하고, 단계 870에서, 암호화된 출력 정보를 복호화할 수 있다.
일 실시 예에 의한 암호화된 출력 정보는, 외부 장치(2000)의 개인키에 의하여, 복호화될 수 있다. 일 실시 예에 의한 외부 장치(2000)는 복호화된 출력 정보에 기초하여, 동작을 수행하거나, 사용자에게 다양한 서비스를 제공할 수 있다.
일 실시 예에 의하면, 암호화된 입력 정보를 처리하기에 적합하도록, 인공지능 모델을 변환함으로써, 암호화된 입력 정보에 기초한 인공지능 모델을 이용한 추론 동작이 가능해지거나, 추론 동작의 연산량이 감소될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치가, 인공지능 모델을 이용하여, 외부 장치로부터 수신된 암호화된 정보에 기초한 추론을 수행하는 방법에 있어서,
    암호화된 정보에 기초하여 상기 인공지능 모델이 추론을 수행할 수 있도록, 상기 인공지능 모델을 변환하는 단계;
    상기 변환된 인공지능 모델에 기초하여, 상기 인공지능 모델에 입력되는 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함하는, 파라미터 정보를 생성하는 단계;
    상기 파라미터 정보를 상기 외부 장치로 전송하는 단계;
    상기 외부 장치로부터, 상기 파라미터 정보에 기초하여 암호화된 정보를 수신하는 단계; 및
    상기 암호화된 정보를 상기 변환된 인공지능 모델에 입력하여, 상기 변환된 인공지능 모델로부터 출력되는 추론 결과를 획득하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 변환하는 단계는
    상기 인공지능 모델에 포함된 함수 중 상기 암호화된 정보를 처리할 수 없는 함수를 상기 암호화된 정보를 처리할 수 있는 다른 함수로 변환하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 인공지능 모델에 포함된 함수 중 비다항식의 함수가 상기 비다항식의 함수에 근사된 다항식의 함수로 변환되는, 방법.
  4. 제1항에 있어서, 상기 변환하는 단계는
    상기 인공지능 모델에 포함된 연산 중 적어도 하나를, 상기 암호화된 정보가 처리되는데 연산량이 더 적게 소요되는 다른 연산으로 변환하는 단계를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 인공지능 모델에 포함된 복수의 곱셈 연산이 덧셈 연산 및 로테이션 연산의 조합으로 변환되는, 방법.
  6. 제1항에 있어서, 상기 변환하는 단계는
    상기 인공지능 모델에서 상기 암호화된 정보가 처리되는데 소요되는 연산량이 감소될 수 있도록, 상기 인공지능 모델의 각 레이어에서 입출력되는 데이터의 구조를 변환하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 파라미터 정보는
    상기 인공지능 모델에서, 상기 암호화된 정보에 대하여 수행되는 연산의 종류 및 횟수에 기초하여, 생성되는, 방법.
  8. 인공지능 모델을 이용하여, 외부 장치로부터 수신된 암호화된 정보에 기초한 추론을 수행하는 전자 장치에 있어서,
    상기 외부 장치와 데이터를 송수신하는 통신부;
    하나 이상의 명령어들(instructions)을 저장하는 메모리; 및
    상기 메모리에 저장된 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는
    암호화된 정보에 기초하여, 상기 인공지능 모델이 추론을 수행할 수 있도록, 상기 인공지능 모델을 변환하고,
    상기 변환된 인공지능 모델에 기초하여, 상기 인공지능 모델에 입력되는 정보를 암호화하기 위한 적어도 하나의 파라미터에 관한 정보를 포함하는, 파라미터 정보를 생성하고,
    상기 파라미터 정보를 상기 외부 장치로 전송하고,
    상기 외부 장치로부터, 상기 파라미터 정보에 기초하여 암호화된 정보를 수신하고,
    상기 암호화된 정보를 상기 변환된 인공지능 모델에 입력하여, 상기 변환된 인공지능 모델로부터 출력되는 추론 결과를 획득하는, 전자 장치.
  9. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 인공지능 모델에 포함된 함수 중 상기 암호화된 정보를 처리할 수 없는 함수를 상기 암호화된 정보를 처리할 수 있는 다른 함수로 변환하는, 전자 장치.
  10. 제9항에 있어서, 상기 인공지능 모델에 포함된 함수 중 비다항식의 함수가 상기 비다항식의 함수에 근사된 다항식의 함수로 변환되는, 전자 장치.
  11. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 인공지능 모델에 포함된 연산 중 적어도 하나를, 상기 암호화된 정보가 처리되는데 연산량이 더 적게 소요되는 다른 연산으로 변환하는, 전자 장치.
  12. 제11항에 있어서, 상기 인공지능 모델에 포함된 복수의 곱셈 연산이 덧셈 연산 및 로테이션 연산의 조합으로 변환되는, 전자 장치.
  13. 제8항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 인공지능 모델에서 상기 암호화된 정보가 처리되는데 소요되는 연산량이 감소될 수 있도록, 상기 인공지능 모델의 각 레이어에서 입출력되는 데이터의 구조를 변환하는, 전자 장치.
  14. 제8항에 있어서, 상기 파라미터 정보는
    상기 인공지능 모델에서, 상기 암호화된 정보에 대하여 수행되는 연산의 종류 및 횟수에 기초하여, 생성되는, 전자 장치.
  15. 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020210008293A 2021-01-20 2021-01-20 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법 KR20220105509A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210008293A KR20220105509A (ko) 2021-01-20 2021-01-20 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법
PCT/KR2021/015447 WO2022158686A1 (ko) 2021-01-20 2021-10-29 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법
US17/573,835 US12094194B2 (en) 2021-01-20 2022-01-12 Electronic device for performing inference using artificial intelligence model, based on encrypted data, and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210008293A KR20220105509A (ko) 2021-01-20 2021-01-20 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20220105509A true KR20220105509A (ko) 2022-07-27

Family

ID=82549503

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210008293A KR20220105509A (ko) 2021-01-20 2021-01-20 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법

Country Status (2)

Country Link
KR (1) KR20220105509A (ko)
WO (1) WO2022158686A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116305071A (zh) * 2023-03-18 2023-06-23 广州锦拓信息科技有限公司 一种基于人工智能的账号密码安全系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117792838A (zh) * 2022-09-27 2024-03-29 华为技术有限公司 传输数据的方法和相关装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946970B2 (en) * 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data
US9847974B2 (en) * 2016-04-28 2017-12-19 Xerox Corporation Image document processing in a client-server system including privacy-preserving text recognition
WO2018151552A1 (en) * 2017-02-15 2018-08-23 Lg Electronics Inc. Apparatus and method for generating ciphertext data with maintained structure for analytics capability

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116305071A (zh) * 2023-03-18 2023-06-23 广州锦拓信息科技有限公司 一种基于人工智能的账号密码安全系统
CN116305071B (zh) * 2023-03-18 2023-09-26 广州锦拓信息科技有限公司 一种基于人工智能的账号密码安全系统

Also Published As

Publication number Publication date
WO2022158686A1 (ko) 2022-07-28

Similar Documents

Publication Publication Date Title
US10972251B2 (en) Secure web browsing via homomorphic encryption
CN111046365B (zh) 人脸图像传输方法、数值转移方法、装置及电子设备
US10762233B2 (en) Method and device for encrypting or decrypting content
US20190244138A1 (en) Privatized machine learning using generative adversarial networks
US20150269389A1 (en) System and method for executing file by using biometric information
KR20220105509A (ko) 암호화된 정보에 기초하여, 인공지능 모델을 이용한 추론을 수행하는 전자 장치 및 그 동작 방법
CN108475321A (zh) 用于允许防推断攻击的隐私保护实时服务的系统和方法
WO2021155697A1 (zh) 水印信息添加方法、提取方法及设备
WO2023185671A1 (zh) 风格图像生成方法、装置、设备及介质
CA3058012C (en) Cryptography chip with identity verification
US20170163414A1 (en) Method and device for data encrypting
US20200327433A1 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
WO2020155173A1 (en) Data processing method, device and system for machine learning model
US12094194B2 (en) Electronic device for performing inference using artificial intelligence model, based on encrypted data, and method of operating the same
JP2018521403A (ja) バイナリ併合装置、その方法及び該コンピュータプログラム
CN113366520A (zh) 用于更新人工智能模型的电子设备、服务器及其操作方法
US10795988B2 (en) Device and method of requesting external device to execute task
CN109145644B (zh) 私钥混淆及数字签名生成方法、装置、智能设备
US11995196B2 (en) Electronic apparatus and method for controlling thereof
Hamza et al. Privacy-preserving deep learning techniques for wearable sensor-based Big Data applications
US12061955B2 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model
KR102118476B1 (ko) 사용자로부터 입력되는 비밀번호를 처리하기 위한 장치 및 방법
KR20150126232A (ko) 암호화 데이터 결정 방법 및 이를 제공하는 호스트 장치
KR20220088169A (ko) 인공지능 모델을 변환하는 전자 장치 및 그 동작 방법
CN109743289B (zh) 一种基于神经网络的数据验证方法、装置及电子设备

Legal Events

Date Code Title Description
A201 Request for examination