KR20200046487A - 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템 - Google Patents

사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템 Download PDF

Info

Publication number
KR20200046487A
KR20200046487A KR1020180127701A KR20180127701A KR20200046487A KR 20200046487 A KR20200046487 A KR 20200046487A KR 1020180127701 A KR1020180127701 A KR 1020180127701A KR 20180127701 A KR20180127701 A KR 20180127701A KR 20200046487 A KR20200046487 A KR 20200046487A
Authority
KR
South Korea
Prior art keywords
neural network
intermediate data
server
data
user terminal
Prior art date
Application number
KR1020180127701A
Other languages
English (en)
Other versions
KR102161758B1 (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 아주대학교산학협력단
Priority to KR1020180127701A priority Critical patent/KR102161758B1/ko
Publication of KR20200046487A publication Critical patent/KR20200046487A/ko
Application granted granted Critical
Publication of KR102161758B1 publication Critical patent/KR102161758B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일부 실시예에 따르면, 원본 데이터를 n개의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 n개의 레이어들 중 첫 번째 레이어부터 m번째 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득하고, 획득된 중간 데이터를 서버로 전송하는 사용자 단말 및 중간 데이터를 사용자 단말로부터 수신하고, 수신된 중간 데이터를 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득하는 서버를 포함하는, 클라이언트 서버 시스템이 개시된다.

Description

사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템{User terminal, server and client server system including thereof}
본 개시는 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템에 관한 것이다.
클라이언트 서버 시스템은 사용자 단말과 서버가 네트워크를 통해 연결되어 서로 데이터를 송수신할 수 있는 시스템을 의미한다. 한편, 사용자 단말로부터 서버에 전송되는 데이터에는 사용자의 사생활 정보 또는 사용자의 생체 정보 등과 같은 보안이 필요한 정보가 포함될 수 있다. 특히, 사용자의 생체 정보는 한 번 유출될 경우 영구적으로 사용이 불가능하므로, 사용자 단말로부터 서버로의 데이터 전송 중에 또는 서버에 저장된 데이터베이스로부터 데이터가 유출되더라도 유출된 데이터로부터 상기와 같은 정보들이 복원되지 않도록 하는 기술이 요구될 수 있다.
다양한 실시예들은 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템을 제공하는데 있다. 본 개시가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 기술적 과제를 해결하기 위한 수단으로서, 일 측면에 따른 클라이언트 서버 시스템은, 원본 데이터를 n개(n은 임의의 자연수)의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 상기 n개의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득하고, 상기 중간 데이터를 서버로 전송하는 사용자 단말; 및 상기 중간 데이터를 상기 사용자 단말로부터 수신하고, 상기 중간 데이터를 상기 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 상기 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득하는 서버를 포함할 수 있다.
또한, 다른 측면에 따른 클라이언트 서버 시스템에 포함되는 사용자 단말은, 원본 데이터를 n개(n은 임의의 자연수)의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 상기 n개의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득하는 제어부; 및 상기 중간 데이터를 서버로 전송하는 통신부를 포함하고, 상기 중간 데이터는 상기 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크를 이용하여 상기 서버에서 처리될 수 있다.
또한, 또 다른 측면에 따른 클라이언트 서버 시스템에 포함되는 서버는, 사용자 단말에 저장된 제1 뉴럴 네트워크에 포함되는 n개(n은 임의의 자연수)의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지의 순차적인 제1 뉴럴 네트워크 연산이 수행됨에 따라 획득된 중간 데이터를 상기 사용자 단말로부터 수신하는 통신부; 및 상기 중간 데이터를 상기 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 상기 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득하는 제어부를 포함할 수 있다.
본 개시는 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템을 제공할 수 있다. 구체적으로, 본 개시에 따른 클라이언트 서버 시스템에 포함되는 사용자 단말 및 서버는 학습된 뉴럴 네트워크를 분할하여 이용할 수 있다. 예를 들어, 사용자 단말은 서버로 원본 데이터를 직접 전송하지 않고, 원본 데이터가 뉴럴 네트워크의 제1 부분을 통과함에 따라 획득되는 중간 데이터를 서버로 전송할 수 있다. 중간 데이터는 뉴럴 네트워크의 제1 부분으로부터 출력된 출력 피쳐 맵들에 대응되고, 출력 피쳐 맵들은 원본 데이터와 상이한 형식을 가지므로, 중간 데이터가 유출되더라도 원본 데이터의 복원이 어려울 수 있다. 또한, 사용자 단말은 뉴럴 네트워크의 제1 부분과 관련된 연산만을 수행하므로, 사용자 단말에 의해 소비되는 전력이 감소될 수 있다.
서버는 사용자 단말로부터 수신된 중간 데이터를 뉴럴 네트워크의 제2 부분에 통과시킴으로써 최종 데이터를 획득할 수 있다. 최종 데이터는 원본 데이터가 뉴럴 네트워크를 통과함에 따라 획득되는 데이터로서, 원본 데이터와는 상이한 데이터이므로, 최종 데이터가 유출되더라도 원본 데이터의 복원이 어려울 수 있다. 다만, 최종 데이터는 학습된 뉴럴 네트워크에 의해 의도된 바에 따라 원본 데이터로부터 추출되는 정보를 포함하므로, 서버는 최종 데이터를 이용하여 사용자 단말이 요청하는 다양한 동작들을 처리할 수 있다.
한편, 동일한 원본 데이터가 입력되더라도 뉴럴 네트워크가 상이한 경우 서버에 의해 획득되는 최종 데이터가 상이하므로, 중간 데이터 또는 최종 데이터가 유출되는 경우 뉴럴 네트워크의 종류만 바꾸어주면 유출된 데이터가 폐기될 수 있다.
도 1은 일부 실시예에 따른 클라이언트 서버 시스템의 구성을 나타내는 도면이다.
도 2는 일부 실시예에 따른 클라이언트 서버 시스템의 동작 방법을 설명하기 위한 개요도이다.
도 3은 일부 실시예에 따른 사용자 단말 및 서버가 데이터를 처리하는 구체적인 과정을 설명하기 위한 도면이다.
도 4는 일부 실시예에 따른 클라이언트 서버 시스템이 이미지 검색 시스템인 경우의 동작 방법을 나타내는 도면이다.
도 5는 일부 실시예에 따른 클라이언트 서버 시스템이 생체 인증 시스템인 경우의 동작 방법을 나타내는 도면이다.
도 6은 일부 실시예에 따른 사용자 단말의 구성을 나타내는 블록도이다.
도 7은 일부 실시예에 따른 서버의 구성을 나타내는 블록도이다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 실시예들은 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은 일부 실시예에 따른 클라이언트 서버 시스템의 구성을 나타내는 도면이다.
도 1을 참조하면, 시스템(10)은 사용자 단말(110), 네트워크(120) 및 서버(130)를 포함할 수 있다. 다만, 도 1에 도시된 시스템(10)에는 본 실시예와 관련된 구성들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 시스템(10)에 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
사용자 단말(110)은 다른 기기와 유무선 통신을 통해 데이터 송수신이 가능한 전자 기기일 수 있다. 예를 들어, 사용자 단말(110)은 스마트폰, 태블릿, PC(Personal Computer), PDA(Personal Digital Assistants), 스마트 TV, PMP(Portable Multimedia Player) 및 디지털 방송 수신기를 포함할 수 있다. 다만, 이에 제한되는 것은 아니다. 도 1에서는 사용자 단말(110)을 PC의 모니터 형상으로 표현했지만, 이는 예시일 뿐 사용자 단말(110)을 제한하고자 하는 것은 아니다.
네트워크(120)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함할 수 있다. 네트워크(120)는 도 1에 도시된 각 네트워크 구성 주체(예를 들어, 사용자 단말(110) 및 서버(130))가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
서버(130)는 사용자 단말(110)에 다양한 응용 서비스들을 제공하는 컴퓨팅 장치일 수 있다. 서버(130)는 사용자 단말(110)로부터 네트워크(120)를 통해 데이터를 수신할 수 있고, 사용자 단말(110)이 요청하는 다양한 동작들을 처리할 수 있으며, 처리 결과를 네트워크(120)를 통해 사용자 단말(110)로 전송할 수 있다. 한편, 사용자 단말(110)로부터 서버(130)에 전송되는 데이터에는 사용자의 사생활 정보 또는 사용자의 생체 정보 등과 같은 보안이 필요한 정보가 포함될 수 있다. 특히, 사용자의 생체 정보는 한 번 유출될 경우 영구적으로 사용이 불가능하므로, 사용자 단말(110)로부터 서버(130)로의 데이터 전송 중에 또는 서버(130)의 데이터베이스로부터 데이터가 유출되더라도 유출된 데이터로부터 상기와 같은 정보들이 복원되지 않도록 하는 기술이 요구될 수 있다. 이하 도 2를 참조하여 본 개시에 따른 시스템(10)이 데이터를 보안하기 위해 동작하는 방법에 대해 상세히 설명한다.
도 2는 일부 실시예에 따른 클라이언트 서버 시스템의 동작 방법을 설명하기 위한 개요도이다.
본 개시에 따른 클라이언트 서버 시스템(10)에 포함되는 사용자 단말(110) 및 서버(130)는 학습된 뉴럴 네트워크를 분할하여 이용할 수 있다. 뉴럴 네트워크를 분할하여 이용한다는 것은 사용자 단말(110)이 뉴럴 네트워크의 제1 부분(210)을 처리하고, 서버(130)가 뉴럴 네트워크의 제2 부분(220)을 처리하는 것을 의미할 수 있다.
예를 들어, 사용자 단말(110)은 서버(130)로 원본 데이터를 직접 전송하지 않고, 원본 데이터가 뉴럴 네트워크의 제1 부분(210)을 통과함에 따라 획득되는 중간 데이터를 서버(130)로 전송할 수 있다. 중간 데이터는 뉴럴 네트워크의 제1 부분(210)으로부터 출력된 출력 피쳐 맵들에 대응되고, 출력 피쳐 맵들은 원본 데이터와 상이한 형식을 가지므로, 중간 데이터가 유출되더라도 원본 데이터의 복원이 어려울 수 있다. 또한, 사용자 단말(110)은 뉴럴 네트워크의 제1 부분(210)과 관련된 연산만을 수행하므로, 사용자 단말(110)에 의해 소비되는 전력이 감소될 수 있다.
서버(130)는 사용자 단말(110)로부터 수신된 중간 데이터를 뉴럴 네트워크의 제2 부분(220)에 통과시킴으로써 최종 데이터를 획득할 수 있다. 최종 데이터는 원본 데이터가 뉴럴 네트워크를 통과함에 따라 획득되는 데이터로서, 원본 데이터와는 상이한 데이터이므로, 최종 데이터가 유출되더라도 원본 데이터의 복원이 어려울 수 있다. 다만, 최종 데이터는 학습된 뉴럴 네트워크에 의해 의도된 바에 따라 원본 데이터로부터 추출되는 정보를 포함하므로, 서버(130)는 최종 데이터를 이용하여 사용자 단말(110)이 요청하는 다양한 동작들을 처리할 수 있다.
동일한 원본 데이터가 입력되더라도 뉴럴 네트워크가 상이한 경우 서버(130)에 의해 획득되는 최종 데이터가 상이하므로, 중간 데이터 또는 최종 데이터가 유출되는 경우 뉴럴 네트워크의 종류만 바꾸어주면 유출된 데이터가 폐기될 수 있다.
한편, 명세서 전체에서 '뉴럴 네트워크'는 2개 이상의 히든 레이어들을 포함하는 딥 뉴럴 네트워크(Deep Neural Network: DNN)일 수 있다. 뉴럴 네트워크는 Convolutional Neural Networks(CNN)일 수 있으나, 반드시 이에 제한되는 것은 아니다. 뉴럴 네트워크는 Recurrent Neural Networks(RNN), Deep Belief Networks, Restricted Boltzman Machines 등을 포함할 수도 있다. 일 예에서, 뉴럴 네트워크는 n개(n은 임의의 자연수)의 레이어들을 포함하는 DNN일 수 있다. 이하 도 3을 참조하여 본 개시에 따른 시스템(10)이 데이터를 보안하기 위해 동작하는 방법을 보다 구체적으로 설명한다.
도 3은 일부 실시예에 따른 사용자 단말 및 서버가 데이터를 처리하는 구체적인 과정을 설명하기 위한 도면이다.
사용자 단말(110)은 원본 데이터를 n개의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 n개의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득할 수 있다. 제1 뉴럴 네트워크 연산이란 제1 뉴럴 네트워크에 의해 수행되는 연산을 의미할 수 있다. 제1 뉴럴 네트워크에 포함되는 n개의 레이어들 각각은 뉴런(neuron), 프로세싱 엘리먼트(Processing element, PE), 유닛(unit) 또는 이와 유사한 용어들로 알려진, 복수의 인공 노드(artificial node)들을 포함할 수 있다.
제1 뉴럴 네트워크에 포함되는 n개의 레이어들 각각에 포함된 노드들은 서로 연결되어 데이터를 처리할 수 있다. 예를 들어, 하나의 노드는 다른 노드들로부터 데이터를 수신하여 연산할 수 있고, 연산 결과를 또 다른 노드들로 출력할 수 있다. 노드들 각각의 입력 및 출력 각각은 입력 액티베이션 값 및 출력 액티베이션 값이라고 지칭될 수 있다. 즉, 액티베이션 값은 한 노드의 출력임과 동시에, 다음 레이어에 포함된 노드들의 입력에 해당되는 파라미터일 수 있다. 한편, 노드들 각각은 이전 레이어에 포함된 노드들로부터 수신된 액티베이션 값들 및 웨이트들에 기초하여 자신의 액티베이션 값을 결정할 수 있다. 웨이트는 각 노드에서의 출력 액티베이션 값을 계산하기 위해 이용되는 파라미터로서, 노드들 간의 연결관계에 할당되는 값일 수 있다. 입력 액티베이션 값들 및 웨이트들에 기초하여 출력 액티베이션 값을 계산하는 과정은 뉴럴 네트워크 연산이라고 지칭될 수 있다.
한편, n개의 레이어들 중 첫 번째 레이어부터 m번째 레이어까지 '순차적으로' 뉴럴 네트워크 연산이 수행된다는 것은 m개의 레이어들에 대응되는 연산들이 임의의 순서에 따라 수행된다는 것으로서, 반드시 제1 레이어, 제2 레이어, 제3 레이어, …, m번째 레이어의 순서로 연산이 수행되는 것을 의미하는 것은 아니다.
사용자 단말(110)은 제1 뉴럴 네트워크 연산을 통해 획득된 중간 데이터를 서버(130)로 전송할 수 있다. 중간 데이터는 제1 뉴럴 네트워크의 m번째 레이어로부터 출력되는 출력 피처 맵들에 대응될 수 있다. 출력 피처 맵은 레이어들로부터 출력되는 데이터의 다양한 특징이 표현된 데이터 세트를 의미할 수 있다. 출력 피처 맵들은 2차원 이상의 고차원 매트릭스일 수 있고, 각각의 출력 액티베이션 값 파라미터들을 갖는다.
서버(130)는 중간 데이터를 사용자 단말(110)로부터 수신하고, 중간 데이터를 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득할 수 있다. 제2 뉴럴 네트워크가 제1 뉴럴 네트워크와 동일한 방식으로 학습되었다는 것은 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크 각각에 동일한 입력 데이터를 입력하는 경우 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크 각각으로부터 동일한 출력 데이터가 출력된다는 것을 의미할 수 있다. 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크는 서로 완전히 동일한 뉴럴 네트워크일 수 있으나, 반드시 이에 제한되는 것은 아니다. 제2 뉴럴 네트워크 연산은 제2 뉴럴 네트워크에 의해 수행되는 뉴럴 네트워크 연산을 의미할 수 있다.
한편, 사용자 단말(110)은 중간 데이터를 서버(130)로 전송하기 전에 중간 데이터의 형태를 실수형에서 정수형으로 변환할 수 있다. 예를 들어, 사용자 단말(110)은 부동 소수점(floating point) 형태의 중간 데이터를 고정 소수점(fixed point) 형태로 변환할 수 있다. 또한, 사용자 단말(110)은 큰 비트 폭(width)을 갖는 중간 데이터를 작은 비트 폭을 갖는 중간 데이터로 변환할 수 있다. 예를 들어, 사용자 단말(110)은 32비트 부동 소수점 형태의 중간 데이터를 8비트 고정 소수점 형태로 변환할 수 있다. 이와 같은 형변환에 따라 사용자 단말(110)과 서버(130) 사이의 대역폭(bandwidth) 문제가 해결될 수 있다.
또한, 사용자 단말(110)은 중간 데이터를 서버(130)로 전송하기 전에 중간 데이터에 대한 압축(compression)을 수행할 수 있다. 압축된 중간 데이터가 전송됨에 따라 사용자 단말(110)과 서버(130) 사이의 대역폭 문제가 해결될 수 있다.
서버(130)는 사용자 단말(110)에 의해 중간 데이터에 대한 압축이 수행된 경우 중간 데이터를 제2 뉴럴 네트워크에 입력하기 전에 중간 데이터에 대한 압축해제(decompression)를 수행할 수 있다. 압축해제된 중간 데이터는 제2 뉴럴 네트워크에 입력되어 처리될 수 있고, 이에 따라 최종 데이터가 획득될 수 있다. 서버(130)는 최종 데이터를 이용하여 사용자 단말(110)이 요청하는 다양한 동작들을 처리할 수 있다. 이하 도 4 및 도 5를 참조하여 서버(130)가 사용자 단말(110)에 제공하는 응용 서비스들의 예시에 대해 설명한다.
도 4는 일부 실시예에 따른 클라이언트 서버 시스템이 이미지 검색 시스템인 경우의 동작 방법을 나타내는 도면이다.
도 4를 참조하면, 서버(130)가 사용자 단말(110)에 이미지 검색 서비스를 제공하는 경우의 예시가 도시되어 있다. 예를 들어, 사용자 단말(110)은 이미지로부터의 키워드 추출 및 추출된 키워드에 기초한 이미지 검색을 서버(130)에 요청할 수 있다.
클라이언트 서버 시스템이 이미지 검색 시스템인 경우 사용자 단말(110)에서 처리되는 원본 데이터는 이미지에 대응될 수 있다. 사용자 단말(110)은 이미지를 뉴럴 네트워크의 제1 부분에 입력하여 처리함으로써 중간 데이터를 획득할 수 있다. 서버(130)는 사용자 단말(110)로부터 중간 데이터를 수신하고, 수신된 중간 데이터를 뉴럴 네트워크의 제2 부분에 입력하여 처리함으로써 최종 데이터에 대응되는 키워드를 추출할 수 있다. 이와 같이, 사용자 단말(110)은 이미지에서 검색하고자 하는 키워드만을 서버(130)에 전달할 수 있다. 서버(130)는 추출된 키워드(즉, 최종 데이터)를 이용하여 이미지와 연관된 정보를 검색할 수 있고, 검색된 정보를 사용자 단말(110)에게 제공할 수 있다.
예를 들어, 사용자 단말(110)이 강아지와 사람이 포함된 사진에서 강아지에 대한 정보만을 검색하고자 할 때, 사진에서 강아지를 추출하도록 학습된 뉴럴 네트워크를 이용하여 강아지에 대한 정보만을 서버(130)에 전달할 수 있고, 서버(130)는 강아지에 대한 정보를 이용하여 검색을 수행할 수 있다. 전술한 과정에서 중간 데이터(예를 들어, 이미지가 뉴럴 네트워크의 제1 부분을 통과함에 따라 출력되는 출력 피처 맵들) 또는 최종 데이터(예를 들어, 강아지에 대한 정보)가 유출되더라도 원본 데이터(예를 들어, 이미지)로의 복원이 어려우므로, 클라이언트 서버 시스템의 데이터 보안이 달성될 수 있다.
도 5는 일부 실시예에 따른 클라이언트 서버 시스템이 생체 인증 시스템인 경우의 동작 방법을 나타내는 도면이다.
도 5를 참조하면, 서버(130)가 사용자 단말(110)에 생체 인증 서비스를 제공하는 경우의 예시가 도시되어 있다. 사용자 단말(110)은 서버(130)에게 사용자의 생체 데이터에 기초한 생체 인증을 요청할 수 있다.
클라이언트 서버 시스템이 생체 인증 시스템인 경우 사용자 단말(110)에서 처리되는 원본 데이터는 생체 데이터에 대응될 수 있다. 사용자 단말(110)은 생체 데이터를 뉴럴 네트워크의 제1 부분에 입력하여 처리함으로써 중간 데이터를 획득할 수 있다. 서버(130)는 사용자 단말(110)로부터 중간 데이터를 수신하고, 수신된 중간 데이터를 뉴럴 네트워크의 제2 부분에 입력하여 처리함으로써 최종 데이터에 대응되는 인증 정보를 추출할 수 있다. 서버(130)는 추출된 인증 정보와 데이터베이스에 저장된 정보 간의 매칭 여부를 판단할 수 있고, 매칭 결과에 기초하여 생체 인증을 수행할 수 있다. 전술한 과정에서 중간 데이터(예를 들어, 생체 데이터가 뉴럴 네트워크의 제1 부분을 통과함에 따라 출력되는 출력 피처 맵들) 또는 최종 데이터(예를 들어, 인증 정보)가 유출되더라도 원본 데이터(예를 들어, 생체 데이터)로의 복원이 어려우므로, 클라이언트 서버 시스템의 데이터 보안이 달성될 수 있다.
한편, 도 4 및 도 5에는 본 개시에 따른 클라이언트 서버 시스템이 이미지 검색 시스템 또는 생체 인증 시스템인 경우가 도시되어 있으나, 이는 예시에 불과할 뿐이다. 본 개시에 따른 클라이언트 서버 시스템은 사용자 단말이 요청하는 다양한 응용 서비스들을 제공하는 임의의 시스템일 수 있다.
도 6은 일부 실시예에 따른 사용자 단말의 구성을 나타내는 블록도이다.
도 6을 참조하면, 사용자 단말(110)은 제어부(610) 및 통신부(620)를 포함할 수 있다. 도 6에 도시된 사용자 단말(110)에는 본 실시예와 관련된 구성들만이 도시되어 있다. 따라서, 도 6에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 사용자 단말(110)에 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 예를 들어, 사용자 단말(110)은 메모리(미도시)를 더 포함할 수 있다.
메모리는 사용자 단말(110) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리는 사용자 단말(110)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리는 사용자 단말(110)에 의해 구동될 애플리케이션들, 드라이버들 등을 저장할 수 있다. 일 예에서, 사용자 단말(110)에 포함되는 메모리는 원본 데이터 또는 제1 뉴럴 네트워크를 저장할 수 있다.
메모리는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive) 또는 플래시 메모리를 포함할 수 있다. 다만, 이에 제한되는 것은 아니다. 예를 들어, 메모리는 사용자 단말(110)에 액세스될 수 있는 외부의 다른 스토리지 디바이스를 포함할 수 있다.
제어부(610)는 사용자 단말(110)을 제어하기 위한 전반적인 역할을 할 수 있다. 제어부(610)는 하나 또는 복수 개의 프로세서에 의하여 구현될 수 있다. 예를 들어, 제어부(610)는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로 프로세서와 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
제어부(610)는 원본 데이터를 n개의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 n개의 레이어들 중 첫 번째 레이어부터 m번째 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득할 수 있다. 중간 데이터는 제1 뉴럴 네트워크의 m번째 레이어로부터 출력되는 출력 피처 맵들에 대응될 수 있다. 또한, 중간 데이터는 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크를 이용하여 서버(130)에서 처리될 수 있다. 한편, 제어부(610)는 중간 데이터의 형태를 실수형에서 정수형으로 변환할 수 있고, 중간 데이터에 대한 압축을 수행할 수도 있다.
통신부(620)는 다른 디바이스들과 데이터를 송수신하는 적어도 하나의 통신 인터페이스를 포함할 수 있다. 예를 들어, 통신부(620)는 다른 디바이스들, 예를 들어, 서버(130)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(620)는 와이파이, 근거리 무선 통신 등 무선 통신을 통해 다른 기기에 접속하고, 데이터를 송수신할 수 있다. 또는, 통신부(620)는 데이터 통신 케이블을 이용하여 다른 기기와 유선 통신을 통해 다른 기기에 접속하여 데이터를 송수신할 수 있다. 통신부(620)는 중간 데이터를 서버(130)로 전송할 수 있다.
도 7은 일부 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 7을 참조하면, 서버(130)는 제어부(710) 및 통신부(720)를 포함할 수 있다. 한편, 도 7에 도시된 서버(130)에는 본 실시예와 관련된 구성들만이 도시되어 있다. 따라서, 도 7에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 서버(130)에 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 예를 들어, 서버(130)는 메모리를 더 포함할 수 있다.
메모리는 서버(130) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리는 서버(130)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리는 서버(130)에 의해 구동될 애플리케이션들, 드라이버들 등을 저장할 수 있다. 일 예에서, 서버(130)에 포함되는 메모리는 최종 데이터 또는 제2 뉴럴 네트워크를 저장할 수 있다.
메모리는 DRAM, SRAM 등과 같은 RAM, ROM, EEPROM, CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD, SSD 또는 플래시 메모리를 포함할 수 있다. 다만, 이에 제한되는 것은 아니다. 예를 들어, 메모리는 서버(130)에 액세스될 수 있는 외부의 다른 스토리지 디바이스를 포함할 수 있다.
제어부(710)는 서버(130)를 제어하기 위한 전반적인 역할을 할 수 있다. 제어부(710)는 하나 또는 복수 개의 프로세서에 의하여 구현될 수 있다. 예를 들어, 제어부(710)는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로 프로세서와 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.
예를 들어, 제어부(710)는 통신부(720)가 사용자 단말(110)에 저장된 제1 뉴럴 네트워크에 포함되는 n개의 레이어들 중 첫 번째 레이어부터 m번째 레이어까지의 순차적인 제1 뉴럴 네트워크 연산이 수행됨에 따라 획득된 중간 데이터를 사용자 단말(110)로부터 수신하도록 제어할 수 있다. 통신부(720)는 다른 디바이스들과 데이터를 송수신하는 적어도 하나의 통신 인터페이스를 포함할 수 있다.
제어부(710)는 중간 데이터를 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득할 수 있다. 제어부(710)는 최종 데이터를 이용하여 사용자 단말(110)이 요청한 다양한 작업들을 처리할 수 있다. 한편, 제어부(710)는 중간 데이터를 제2 뉴럴 네트워크에 입력하기 전에 중간 데이터에 대한 압축해제를 수행할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (13)

  1. 클라이언트 서버 시스템에 있어서,
    원본 데이터를 n개(n은 임의의 자연수)의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 상기 n개의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득하고, 상기 중간 데이터를 서버로 전송하는 사용자 단말; 및
    상기 중간 데이터를 상기 사용자 단말로부터 수신하고, 상기 중간 데이터를 상기 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 상기 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득하는 서버를 포함하는, 시스템.
  2. 제 1항에 있어서,
    상기 중간 데이터는 상기 제1 뉴럴 네트워크의 상기 m번째 레이어로부터 출력되는 출력 피처 맵들에 대응되는, 시스템.
  3. 제 1항에 있어서,
    상기 사용자 단말은 상기 중간 데이터를 상기 서버로 전송하기 전에 상기 중간 데이터의 형태를 실수형에서 정수형으로 변환하는, 시스템.
  4. 제 1항에 있어서,
    상기 사용자 단말은 상기 중간 데이터를 상기 서버로 전송하기 전에 상기 중간 데이터에 대한 압축(compression)을 수행하는, 시스템.
  5. 제 1항에 있어서,
    상기 서버는 상기 중간 데이터를 상기 제2 뉴럴 네트워크에 입력하기 전에 상기 중간 데이터에 대한 압축해제(decompression)를 수행하는, 시스템.
  6. 제 1항에 있어서,
    상기 원본 데이터는 이미지에 대응되고,
    상기 서버는 상기 최종 데이터를 이용하여 상기 이미지와 연관된 정보를 검색하는, 시스템.
  7. 제 1항에 있어서,
    상기 원본 데이터는 사용자의 생체 데이터에 대응되고,
    상기 서버는 상기 최종 데이터를 이용하여 상기 사용자에 대한 생체 인증을 수행하는, 시스템.
  8. 클라이언트 서버 시스템에 포함되는 사용자 단말에 있어서,
    원본 데이터를 n개(n은 임의의 자연수)의 레이어들을 포함하는 제1 뉴럴 네트워크에 입력하여 상기 n개의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지 순차적으로 제1 뉴럴 네트워크 연산을 수행함으로써 중간 데이터를 획득하는 제어부; 및
    상기 중간 데이터를 서버로 전송하는 통신부를 포함하고,
    상기 중간 데이터는 상기 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크를 이용하여 상기 서버에서 처리되는, 사용자 단말.
  9. 제 8항에 있어서,
    상기 중간 데이터는 상기 제1 뉴럴 네트워크의 상기 m번째 레이어로부터 출력되는 출력 피처 맵들에 대응되는, 사용자 단말.
  10. 제 8항에 있어서,
    상기 제어부는 상기 중간 데이터를 상기 서버로 전송하기 전에 상기 중간 데이터의 형태를 실수형에서 정수형으로 변환하는, 사용자 단말.
  11. 제 8항에 있어서,
    상기 제어부는 상기 중간 데이터를 상기 서버로 전송하기 전에 상기 중간 데이터에 대한 압축을 수행하는, 사용자 단말.
  12. 클라이언트 서버 시스템에 포함되는 서버에 있어서,
    사용자 단말에 저장된 제1 뉴럴 네트워크에 포함되는 n개(n은 임의의 자연수)의 레이어들 중 첫 번째 레이어부터 m번째(m은 n보다 작은 임의의 자연수) 레이어까지의 순차적인 제1 뉴럴 네트워크 연산이 수행됨에 따라 획득된 중간 데이터를 상기 사용자 단말로부터 수신하는 통신부; 및
    상기 중간 데이터를 상기 제1 뉴럴 네트워크와 동일한 방식으로 학습된 제2 뉴럴 네트워크에 입력하여 상기 제2 뉴럴 네트워크에 포함되는 n개의 레이어들 중 m+1번째 레이어부터 n번째 레이어까지 순차적으로 제2 뉴럴 네트워크 연산을 수행함으로써 최종 데이터를 획득하는 제어부를 포함하는, 서버.
  13. 제 12항에 있어서,
    상기 제어부는 상기 중간 데이터를 상기 제2 뉴럴 네트워크에 입력하기 전에 상기 중간 데이터에 대한 압축해제를 수행하는, 서버.
KR1020180127701A 2018-10-24 2018-10-24 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템 KR102161758B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180127701A KR102161758B1 (ko) 2018-10-24 2018-10-24 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180127701A KR102161758B1 (ko) 2018-10-24 2018-10-24 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템

Publications (2)

Publication Number Publication Date
KR20200046487A true KR20200046487A (ko) 2020-05-07
KR102161758B1 KR102161758B1 (ko) 2020-10-05

Family

ID=70733172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127701A KR102161758B1 (ko) 2018-10-24 2018-10-24 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템

Country Status (1)

Country Link
KR (1) KR102161758B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129065A (ja) * 2003-10-24 2005-05-19 Adobe Syst Inc 色及び視覚的テクスチャに基づいたオブジェクト抽出
KR20060102882A (ko) * 2005-03-25 2006-09-28 삼성전자주식회사 생체신호와 인공신경회로망을 이용한 생체인식 장치 및방법
US20180260687A1 (en) * 2016-04-26 2018-09-13 Hitachi, Ltd. Information Processing System and Method for Operating Same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005129065A (ja) * 2003-10-24 2005-05-19 Adobe Syst Inc 色及び視覚的テクスチャに基づいたオブジェクト抽出
KR20060102882A (ko) * 2005-03-25 2006-09-28 삼성전자주식회사 생체신호와 인공신경회로망을 이용한 생체인식 장치 및방법
US20180260687A1 (en) * 2016-04-26 2018-09-13 Hitachi, Ltd. Information Processing System and Method for Operating Same

Also Published As

Publication number Publication date
KR102161758B1 (ko) 2020-10-05

Similar Documents

Publication Publication Date Title
US11836583B2 (en) Method, apparatus and system for secure vertical federated learning
US11847561B2 (en) Adaptive artificial neural network selection techniques
US11106804B2 (en) Model training method and apparatus based on data sharing
US20210004677A1 (en) Data compression using jointly trained encoder, decoder, and prior neural networks
CN111222628B (zh) 循环神经网络训练优化方法、设备、系统及可读存储介质
US20180143978A1 (en) Query Rewriting and Interactive Inquiry Framework
US20200143250A1 (en) Method and apparatus for compressing/decompressing deep learning model
CN105917359A (zh) 移动视频搜索
WO2022057433A1 (zh) 一种机器学习模型的训练的方法以及相关设备
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN109918684A (zh) 模型训练方法、翻译方法、相关装置、设备及存储介质
WO2017054327A1 (zh) 确定图像的待叠加区域、叠加图像、图片呈现方法和装置
US11007450B2 (en) System and method for identifying building blocks and then displaying on a smart device the correct and/or alternative ways to assemble the blocks
CN111767411B (zh) 知识图谱表示学习优化方法、设备及可读存储介质
KR20210119298A (ko) 적대적 지식 증류법으로 데이터 프리 네트워크 양자화 및 압축을 위한 방법 및 장치
KR20220170583A (ko) 연합 학습 방법 및 장치
CN116032663A (zh) 基于边缘设备的隐私数据处理系统、方法、设备及介质
US11720942B1 (en) Interactive retrieval using visual semantic matching
CN112307243B (zh) 用于检索图像的方法和装置
US11681938B2 (en) Intelligent signal matching of disparate input data in complex computing networks
EP4083860A1 (en) Method and apparatus for training item coding model
KR102505303B1 (ko) 이미지 분류 방법 및 장치
KR102161758B1 (ko) 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템
US20180121435A1 (en) Re-ranking search results using blended learning models
US20200012688A1 (en) Method and device for retrieving content

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant