KR20220170183A - 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체 - Google Patents

신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체 Download PDF

Info

Publication number
KR20220170183A
KR20220170183A KR1020210080909A KR20210080909A KR20220170183A KR 20220170183 A KR20220170183 A KR 20220170183A KR 1020210080909 A KR1020210080909 A KR 1020210080909A KR 20210080909 A KR20210080909 A KR 20210080909A KR 20220170183 A KR20220170183 A KR 20220170183A
Authority
KR
South Korea
Prior art keywords
neural network
text data
encrypted text
vector
network model
Prior art date
Application number
KR1020210080909A
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 KR1020210080909A priority Critical patent/KR20220170183A/ko
Priority to US17/461,889 priority patent/US20220405474A1/en
Publication of KR20220170183A publication Critical patent/KR20220170183A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Storage Device Security (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 암호화 기법을 통해 암호화된 텍스트 데이터를 임베딩하여 임베딩벡터를 도출하고, 임베딩벡터를 복수의 신경망모델이 연결되어 있는 특징추출모듈에 입력하고, 특징추출모듈로부터 도출된 특징값을 포함하는 학습벡터에 기초하여 상기 암호화된 텍스트 데이터를 특정 분류 항목으로 라벨링하는 것으로, 별도의 복호화 과정 없이 암호화된 텍스트 데이터에 대한 라벨링을 수행할 수 있는, 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체에 관한 것이다.

Description

신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체 {Method, Computing Device and Computer-readable Medium for Classification of Encrypted Data Using Neural Network}
본 발명은 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 암호화 기법을 통해 암호화된 텍스트 데이터를 임베딩하여 임베딩벡터를 도출하고, 임베딩벡터를 복수의 신경망모델이 연결되어 있는 특징추출모듈에 입력하고, 특징추출모듈로부터 도출된 특징값을 포함하는 학습벡터에 기초하여 상기 암호화된 텍스트 데이터를 특정 분류 항목으로 라벨링하는 것으로, 별도의 복호화 과정 없이 암호화된 텍스트 데이터에 대한 라벨링을 수행할 수 있는, 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체에 관한 것이다.
최근 센서의 고도화 및 사물인터넷 기술의 발달로 인해 매시간마다 수많은 데이터들이 생성되며, 수많은 데이터에 따라 구축된 빅데이터를 활용하여 다양한 목적에 부합하는 의미있는 정보들을 도출하고 있다. 특히, 스마트워치 등 다양한 웨어러블 기기가 상용화됨에 따라 웨어러블 기기를 통해 사용자 또는 환자에 대한 생체정보 등을 수집하고, 수집된 생체정보를 분류하는 등의 과정을 통해 질병 예측을 위한 데이터 분석을 수행하고 있다.
한편, 웨어러블 기기와 같은 사물인터넷 기기들은 수집한 데이터를 자체 저장하기도 하나, 일반적으로 수집한 데이터를 클라우드 스토리지로 송신하여 클라우드 서버내에 수집한 데이터들이 저장되도록 한다. 이와 같이 클라우드 서버내에 수집된 데이터들이 저장됨에 따라 데이터의 접근이나 관리를 용이하게 할 수 있게 되었다.
다만, 상술한 바와 같이 사용자의 생체정보와 같이 민감한 개인정보들은 클라우드 서버에 별도의 가공없이 그대로 저장되는 경우에 개인정보의 유출에 따른 피해가 발생하게 되며, 따라서 종래의 경우 수집된 개인정보들을 암호화하여 클라우드 서버에 저장하고 있다.
한편, 이와 같이 암호화된 데이터의 경우 데이터의 기밀성을 만족시킬 수 있으나, 데이터를 가공, 분석하는데 있어서 기술적 제약이 발생하게 된다. 특히 데이터를 복수의 분류 항목 가운데 특정 분류 항목으로 라벨링하는 데이터 분류 작업에 있어서 신경망 기반의 인공지능을 활용하고 있으나, 일반적으로 암호화되어 있지 않은 평문 데이터를 분류하는 수준이다.
이와 같이, 인공지능을 활용하여 암호화된 데이터를 분류하기 위한 종래의 방법으로, 비특허문헌 1에서는 신경망 모델에 해당하는 Convolution Neural Networks(CNN)을 이용하여 암호화된 이미지 데이터에 대한 데이터 분류 기술을 제안하였다. 다만, 비특허문헌 1의 경우 암호화된 이미지 데이터에 한정되어 있고, 이미지 데이터는 순차적인 데이터 특성을 갖는 텍스트 데이터와는 상이하기 때문에 텍스트 데이터에 대해서는 적용하기 어렵고, 분류 항목(클래스) 또한 2 개로 제한되어 있는 이진 클래스(Binary Class)에 해당하여 3 개 이상의 분류 항목을 갖는 일반적인 케이스에 대해서는 적용하기 어려운 문제점이 존재한다.
한편, 비특허문헌 2에서는 평문을 연산하여 암호화한 결과와 암호화된 평문을 연산한 결과가 동일한 특성을 갖는 동형암호(Homomorphic Encryption) 기술을 사용하여 암호화된 텍스트 데이터를 인공지능을 통해 분류하는 방법이 연구되었다. 그러나 비특허문헌 2에서도 이진 클래스 가운데 특정 클래스로 분류하는 것으로 한정되어 있고, 비특허문헌 2에서 사용하는 동형암호 방식으로 암호화된 데이터는 일반적인 암호화 방식으로 암호화된 데이터와 비교하여 데이터의 크기가 크기 때문에 저장공간을 많이 차지하게 되며, 동형암호 방식으로 암호화된 데이터를 연산하는데 많은 연산량이 요구되는 단점이 존재한다. 따라서 현재 동형암호 방식은 거의 사용되고 있지 않으며, 일반적으로 대칭키 방식의 암호화 방식을 사용하고 있다.
따라서, 상술한 인공지능을 기반으로 암호화된 데이터를 분류하는 기술에 있어서, 일반적인 암호화 방식을 통해 암호화된 텍스트 데이터를 분류하되, 범용적으로 3 이상의 클래스를 분류할 수 있는 새로운 방법의 개발이 요구된다.
V. M. Lidkea et al., "Convolutional neural network framework for encrypted image classification in cloud-based ITS," IEEE Open Journal of Intelligent Transportation Systems, pp.35-50, 2020. R. Podschwadt and D. Takabi, "Classification of encrypted word embeddings using recurrent neural networks," in PrivateNLP, WSDM, pp.27-31, 2020.
본 발명은 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 암호화 기법을 통해 암호화된 텍스트 데이터를 임베딩하여 임베딩벡터를 도출하고, 임베딩벡터를 복수의 신경망모델이 연결되어 있는 특징추출모듈에 입력하고, 특징추출모듈로부터 도출된 특징값을 포함하는 학습벡터에 기초하여 상기 암호화된 텍스트 데이터를 특정 분류 항목으로 라벨링하는 것으로, 별도의 복호화 과정 없이 암호화된 텍스트 데이터에 대한 라벨링을 수행할 수 있는, 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체를 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅장치에서 수행되는 신경망 기반의 암호화 데이터를 분류하는 방법으로서, 암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계; 학습된 복수의 신경망모델을 포함하는 특징추출모듈에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계; 및 복수의 완전 연결된 계층을 포함하는 분류모듈에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계;를 포함하는, 신경망 기반의 암호화 데이터를 분류하는 방법을 제공한다.
본 발명의 일 실시예에 따르면, 상기 암호화된 텍스트 데이터는 대칭키를 사용하여 암호화된 텍스트 데이터에 해당할 수 있다.
본 발명의 일 실시예에 따르면, 상기 임베딩단계는, 상기 암호화된 텍스트 데이터에 기초하여 단어 단위의 복수의 토큰을 생성하는 토큰생성단계; 상기 암호화된 텍스트 데이터에 포함된 특수문자 및 공백을 제거하여 상기 암호화된 텍스트 데이터를 가공하는 데이터가공단계; 및 상기 복수의 토큰을 사용하여 상기 가공된 암호화된 텍스트 데이터에 대한 임베딩벡터를 생성하는 인코딩단계;를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 특징추출모듈은, 제1신경망모델, 제2신경망모델 및 제3신경망모델을 포함하고, 상기 특징추출단계는, 상기 임베딩벡터를 상기 제1신경망모델에 입력하여 제1특징정보를 도출하는 제1특징정보도출단계; 상기 제1특징정보를 상기 제2신경망모델에 입력하여 제2특징정보를 도출하는 제2특징정보도출단계; 상기 제2특징정보를 상기 제3신경망모델에 입력하여 제3특징정보를 도출하는 제3특징정보도출단계; 및 상기 제3특징정보에 기초하여 학습벡터를 도출하는 학습벡터도출단계;를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 특징추출단계는, 상기 학습벡터도출단계가 수행되기 전까지 상기 제1특징정보도출단계, 상기 제2특징정보도출단계 및 상기 제3특징정보도출단계를 N(N은 2 이상의 자연수)회 반복 수행하고, M(M은 N 이하의 자연수)회 반복 수행하는 상기 복수의 신경망모델 각각은 M-1회 반복 수행하여 도출된 은닉상태정보를 사용하여 특징정보를 도출할 수 있다.
본 발명의 일 실시예에 따르면, 상기 특징추출모듈은, 제1신경망모델, 제2신경망모델 및 제3신경망모델을 포함하고, 상기 제1신경망모델은 Bidirectional LSTM(BLSTM) 신경망 모델에 해당하고, 상기 제2신경망모델은 Gated Recurrent Unit(GRU) 신경망 모델에 해당하고, 상기 제3신경망모델은 Long-Short Term Memory(LSTM) 신경망 모델에 해당할 수 있다.
본 발명의 일 실시예에 따르면, 상기 분류단계는, 상기 학습벡터를 상기 복수의 완전 연결된 계층에 입력하여 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목의 개수에 상응하는 크기를 갖는 중간벡터를 도출하는 단계; 및 상기 중간벡터에 포함된 값들에 소프트맥스 함수(Softmax Function)를 적용하여 상기 암호화된 텍스트 데이터를 상기 복수의 분류 항목 가운데 특정 분류 항목으로 라벨링하는 단계;를 포함할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 신경망 기반의 암호화 데이터를 분류하는 방법을 수행하는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅장치로서, 상기 컴퓨팅장치는, 암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계; 학습된 복수의 신경망모델을 포함하는 특징추출모듈에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계; 및 복수의 완전 연결된 계층을 포함하는 분류모듈에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계;를 수행하는, 컴퓨팅장치를 제공한다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 1 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계; 학습된 복수의 신경망모델을 포함하는 특징추출모듈에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계; 및 복수의 완전 연결된 계층을 포함하는 분류모듈에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계;를 포함하는, 컴퓨터 프로그램을 제공한다.
본 발명의 일 실시예에 따르면, 평문의 텍스트 데이터를 암호화한 암호화된 텍스트 데이터를 복호화하지 않고, 암호화된 텍스트 데이터 자체에 대한 데이터 분류를 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 동형암호 방식으로 암호화된 텍스트 데이터뿐만 아니라 현재 일반적으로 데이터의 기밀성을 위한 암호화 방식에 사용되는 대칭키 암호화 방식에 대해서도 데이터 분류를 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 신경망 모델을 포함하는 하이브리드 신경망 네트워크를 사용하여 암호화된 텍스트 데이터의 분류의 정확성을 향상시킬 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 이진 클래스 문제에 대한 데이터 분류뿐만 아니라, 3 이상의 클래스에 대한 데이터 분류를 수행할 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅장치를 통해 암호화된 텍스트 데이터를 분류하는 과정을 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부구성들을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 컴퓨팅장치에서 수행되는 신경망 기반의 암호화 데이터를 분류하는 방법을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 임베딩단계의 세부단계들을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 특징추출모듈의 내부구성들을 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 특징추출단계의 세부단계들을 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 제1형태의 신경망을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 제2형태의 신경망을 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 제3형태의 신경망을 개략적으로 도시한다.
도 10은 본 발명의 일 실시예에 따른 분류단계의 세부단계들을 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 신경망 기반의 암호화 데이터를 분류하는 방법의 개념도를 개략적으로 도시한다.
도 12는 본 발명의 일 실시예에 따른 신경망 기반의 암호화 데이터를 분류하는 방법에 따른 분류 결과들을 개략적으로 도시한다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅장치(1000)를 통해 암호화된 텍스트 데이터를 분류하는 과정을 개략적으로 도시한다.
도 1에 도시된 바와 같이, 본 발명의 컴퓨팅장치(1000)는 암호화된 텍스트 데이터(A)를 복수의 분류 항목(클래스) 가운데 특정 분류 항목으로 라벨링(B)하는 것으로 상기 암호화된 텍스트 데이터에 대한 분류 작업을 수행할 수 있다.
상기 컴퓨팅장치(1000)는 암호화된 텍스트 데이터(A)를 복호화하여 복호화된 텍스트 데이터에 대한 분류를 수행하는 것이 아니라, 도 1에 도시된 바와 같이 암호화된 텍스트 데이터 자체를 1 이상의 신경망을 사용하여 특정 분류 항목으로 분류할 수 있다.
한편, 본 발명에서 상기 암호화된 텍스트 데이터(A)는 대칭키를 사용하여 암호화된 텍스트 데이터에 해당할 수 있다.
구체적으로, 본 발명의 컴퓨팅장치(1000)는 일반적으로 사용하는 암호화 방식에 해당하는 대칭키를 기반으로 암호화된 텍스트 데이터에 대해서도 분류 작업을 수행할 수 있다. 대칭키를 기반으로 암호화된 텍스트 데이터의 경우 복호화하지 않는다면 암호화된 텍스트 데이터 자체를 연산하기 어렵기 때문에 데이터 분류와 같은 분석 작업을 수행하기 어려운 특성을 갖고 있다. 다만, 본 발명에서는 복수의 신경망모델을 사용하는 것으로 대칭키 기반으로 암호화된 텍스트 데이터에 대한 데이터 분류를 수행할 수 있다.
한편, 본 발명의 다른 실시예에서는 암호화되지 않은 평문의 텍스트 데이터를 연산하여 암호화한 결과값과 암호화된 텍스트 데이터를 연산한 결과값이 동일한 특성을 갖는 동형암호(Homomorphic Encryption) 방식으로 암호화된 텍스트 데이터에 대해서도 분류 작업을 수행할 수 있다.
또한, 본 발명의 또 다른 실시예에서는 대칭키 기반으로 암호화된 텍스트 데이터뿐만 아니라, 상술한 동형암호와 같은 특성을 갖지 않는 다른 암호화 방식으로 암호화된 텍스트 데이터에 대해서도 분류 작업을 수행할 수 있다.
본 발명에서는 분류 작업의 대상이 되는 데이터를 텍스트 데이터로 기재하였으나, 바람직하게는 상기 분류 작업의 대상이 되는 데이터는 텍스트 데이터와 같이 데이터에 포함된 객체들이 순서를 갖는 순차 데이터(Sequential Data)에 해당할 수 있고, 상기 순차 데이터는 음성 데이터와 같이 시계열 데이터를 포함할 수 있다.
또한, 도 1에 도시된 암호화된 텍스트 데이터에 라벨링된 분류 항목으로 '의료데이터'가 기재되어 있으나 본 발명에서의 분류 항목은 이에 한정되지 아니하고,'뉴스 기사', '일기', '소설', '논문'등과 같이 텍스트 데이터의 종류에 대한 복수의 분류 항목 및 '공상 과학', '비문학', '학습 교재'등과 같이 텍스트 데이터의 장르에 대한 복수의 분류 항목 등과 같이 다양한 주제에 대한 복수의 분류 항목 가운데 어느 하나에 해당할 수 있다.
이하에서는, 상기 컴퓨팅장치(1000)의 내부구성 및 상기 컴퓨팅장치(1000)를 통해 수행되는 암호화된 텍스트 데이터의 분류 방법에 대해 상세하게 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 컴퓨팅장치(1000)의 내부구성들을 개략적으로 도시한다.
상기 컴퓨팅장치(1000)는 1 이상의 프로세서 및 1 이상의 메모리를 포함하며, 상기 컴퓨팅장치(1000)는 본 발명의 신경망을 기반으로 암호화된 텍스트 데이터를 분류하는 방법을 수행하기 위하여, 임베딩모듈(1100), 특징추출모듈(1200) 및 분류모듈(1300)을 더 포함할 수 있다.
한편, 상기 도 2에 도시된 컴퓨팅장치(1000)의 내부구성은 본 발명의 설명을 용이하게 설명하기 위하여 개략적으로 도시한 도면에 해당하고, 통상적으로 컴퓨팅장치(1000)에 포함될 수 있는 다양한 구성요소들을 추가적으로 포함할 수 있다.
상기 임베딩모듈(1100)은 암호화된 텍스트 데이터를 상기 컴퓨팅장치(1000), 구체적으로는 신경망모델을 포함하는 특징추출모듈(1200) 및 분류모듈(1300)에서 처리하기 위하여 상기 암호화된 텍스트 데이터를 수치화된 형태로 도출한다. 더 구체적으로 상기 임베딩모듈(1100)은 암호화된 텍스트 데이터를 1 이상의 벡터값을 포함하는 벡터 형태로 도출한다. 이와 같이 임베딩모듈(1100)은 상기 암호화된 텍스트 데이터를 벡터 형태로 표현하며, 상기 임베딩모듈(1100)에서 도출된 벡터를 상기 특징추출모듈(1200) 및 상기 분류모듈(1300)에서 처리하는 것으로 상기 암호화된 텍스트 데이터에 대한 라벨링을 수행할 수 있다.
상기 특징추출모듈(1200)은 1 이상의 신경망모델을 포함하며, 상기 임베딩모듈(1100)을 통해 도출된 벡터를 상기 1 이상의 신경망모델의 입력으로 하여 상기 벡터에 대한 1 이상의 특징값을 포함하는 학습벡터를 도출한다. 상기 1 이상의 특징값은 상기 1 이상의 신경망모델의 최종 신경망모델의 출력값에 해당하거나, 또는 상기 출력값에 기초하여 산출된 값에 해당할 수 있다.
한편, 본 발명의 상기 특징추출모듈(1200)에 포함되는 1 이상의 신경망모델은 복수의 분류 항목을 포함하는 분류 집합에 대한 학습데이터를 통해 사전에 학습되어 있는 신경망모델에 해당할 수 있다. 바람직하게는 상기 특징추출모듈(1200)은 복수의 신경망모델을 포함할 수 있다.
상기 분류모듈(1300)은 상기 특징추출모듈(1200)에서 도출된 학습벡터를 입력으로 하여 상기 암호화된 텍스트 데이터에 대한 추론을 수행한다. 구체적으로, 상기 분류모듈(1300)은 상기 학습벡터에 포함된 1 이상의 특징값에 가중치를 부여하는 것으로 분류하고자 하는 복수의 분류 항목 가운데 상기 암호화된 텍스트 데이터에 대한 특정 분류 항목을 라벨링한다.
구체적으로, 상기 분류모듈(1300)은 1 이상의 신경망모델을 포함하고, 상기 학습벡터를 상기 1 이상의 신경망모델에 입력하여 출력된 중간벡터를 사용하여 복수의 분류 항목 각각에 대한 확률을 도출하고, 상기 암호화된 텍스트 데이터를 가장 높은 확률을 갖는 특정 분류 항목으로 라벨링한다.
한편, 본 발명의 일 실시예에서 상기 암호화된 텍스트 데이터는 상기 컴퓨팅장치(1000)의 메모리에 저장될 수 있고, 본 발명의 다른 실시예에서 상기 컴퓨팅장치(1000)는 상기 암호화된 텍스트 데이터를 사용자단말과 같은 별도의 컴퓨팅장치(1000)를 통해 수신할 수도 있다.
또한, 도 2에서는 도시되지 않았으나, 상기 컴퓨팅장치(1000)는 암호화모듈을 포함할 수 있고, 상기 암호화모듈은 평문의 텍스트 데이터를 소정의 암호화 방식을 사용하여 암호화된 텍스트 데이터로 암호화할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 컴퓨팅장치(1000)에서 수행되는 신경망 기반의 암호화 데이터를 분류하는 방법을 개략적으로 도시한다.
도 3에 도시된 바와 같이, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅장치(1000)에서 수행되는 신경망 기반의 암호화 데이터를 분류하는 방법으로서, 암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계(S10); 학습된 복수의 신경망모델을 포함하는 특징추출모듈(1200)에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계(S11); 및 복수의 완전 연결된 계층을 포함하는 분류모듈(1300)에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계(S12);를 포함할 수 있다.
구체적으로, 상기 임베딩모듈(1100)에 의하여 수행되는 임베딩단계(S10)는 상기 암호화된 텍스트 데이터에 포함된 복수의 객체를 수치화된 벡터 형태의 임베딩벡터로 표현하며, 상기 임베딩단계(S10)를 통해 도출되는 상기 임베딩벡터는 복수 차원을 갖는 행렬형태로 표현될 수 있다. 상기 임베딩벡터는 상술한 특징추출단계(S11)의 입력으로 사용되며, 최종적으로 상기 분류단계(S12)를 통해 상기 임베딩벡터에 상응하는 상기 암호화된 텍스트 데이터에 대한 라벨링이 수행될 수 있다.
바람직하게 상기 임베딩단계(S10)는 암호화된 텍스트 데이터에 포함된 복수의 객체에 대한 임베딩벡터를 도출하기 위하여, 상기 암호화된 텍스트 데이터를 가공하고, 가공된 상기 암호화 텍스트 데이터에 포함된 복수의 객체에 대한 임베딩벡터를 도출할 수도 있다.
상기 특징추출모듈(1200)에 의하여 수행되는 특징추출단계(S11)는 상기 특징추출모듈(1200)에 포함된 복수의 신경망모델에 상기 임베딩벡터를 입력하여 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출한다.
구체적으로 상기 특징추출단계(S11)는 상기 복수의 신경망모델의 첫번째 신경망모델에 상기 임베딩벡터를 입력하여 도출된 복수의 특징값을 포함하는 특징정보를 두번째 신경망모델에 입력하고, 이와 같은 과정을 통해 마지막 신경망모델에서 출력하는 복수의 특징값을 포함하는 특징정보에 기초하여 상기 학습벡터를 도출할 수 있다.
상기 분류모듈(1300)에 의하여 수행되는 분류단계(S12)는 상기 분류모듈(1300)에 포함된 복수의 완전 연결된 계층(Fully Connected Layer)에 상기 학습벡터를 입력하여 최종적으로 상기 암호화된 텍스트 데이터에 대한 특정 분류 항목을 라벨링한다.
구체적으로, 상기 분류단계(S12)는 상기 복수의 완전 연결된 계층의 첫번째 완전 연결된 계층에 상기 학습벡터를 입력하여 도출된 중간벡터를 두번째 완전 연결된 계층에 입력하고, 이와 같은 과정을 통해 마지막 완전 연결된 계층에서 출력하는 중간벡터에 기초하여 복수의 분류 항목 각각에 대한 확률을 산출하고, 가장 높은 확률을 갖는 특정 분류 항목을 상기 암호화된 텍스트 데이터의 라벨링 값으로 반환한다.
이와 같이, 상기 컴퓨팅장치(1000)는 암호화된 텍스트 데이터에 대한 임베딩단계(S10), 특징추출단계(S11) 및 분류단계(S12)를 순차적으로 수행하는 것으로 암호화된 텍스트 데이터에 대한 분류 작업을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 임베딩단계(S10)의 세부단계들을 개략적으로 도시한다.
도 4에 도시된 바와 같이, 상기 임베딩단계(S10)는, 상기 암호화된 텍스트 데이터에 기초하여 단어 단위의 복수의 토큰을 생성하는 토큰생성단계(S20); 상기 암호화된 텍스트 데이터에 포함된 특수문자 및 공백을 제거하여 상기 암호화된 텍스트 데이터를 가공하는 데이터가공단계(S21); 및 상기 복수의 토큰을 사용하여 상기 가공된 암호화된 텍스트 데이터에 대한 임베딩벡터를 생성하는 인코딩단계(S22);를 포함할 수 있다.
구체적으로, 상기 토큰생성단계(S20)는 상기 암호화된 텍스트 데이터를 입력으로 하고, 상기 암호화된 텍스트 데이터를 소정 단위, 구체적으로는 단어(Word) 단위의 토큰(Token)으로 구분하는 토큰화를 수행한다. 즉 상기 토큰생성단계(S20)에서 생성되는 복수의 토큰의 개수는 상기 암호화된 텍스트 데이터에 포함된 단어의 종류의 개수에 해당할 수 있다.
상기 데이터가공단계(S21)는 상기 토큰생성단계(S20)에서 생성된 복수의 토큰에 따라 상기 암호화된 텍스트 데이터에 대한 임베딩벡터를 용이하게 생성하기 위하여 상기 암호화된 텍스트 데이터를 소정 규칙에 따라 가공한다.
구체적으로 상기 데이터가공단계(S21)는 상기 암호화된 텍스트 데이터에 포함된 특수문자, 공백 및 구두점 등을 제거하는 것으로 상기 암호화된 텍스트 데이터를 가공한다.
상기 인코딩단계(S22)는 상기 복수의 토큰에 따라 상기 가공된 암호화된 텍스트 데이터에 대한 임베딩벡터를 생성한다. 구체적으로, 상기 인코딩단계(S22)는 원-핫 인코딩(One-hot Encoding) 방식을 통해 상기 임베딩벡터를 생성한다. 더 구체적으로 상기 인코딩단계(S22)는 상기 복수의 토큰 각각을 인덱스로 하고 각각의 인덱스 별로 하기의 [수학식 1]에 따라 상기 가공된 암호화된 텍스트 데이터에 대한 이진 벡터(Binary Vector)를 생성한다.
[수학식 1]
Figure pat00001
이와 같이, [수학식 1]에 따라 산출되는 특정 인덱스에 대한 이진 벡터는 L의 길이를 가질 수 있다.
최종적으로 상기 인코딩단계(S22)를 통해 상기 복수의 토큰 각각에 대하여 원-핫 인코딩 방식을 수행하여 산출되는 임베딩벡터는 하기의 [수학식 2]와 같이 표현될 수 있다.
[수학식 2]
Figure pat00002
상기와 같이 [수학식 2]에 따라 산출되는 임베딩벡터 e는 n*L 크기의 행렬로 표현될 수 있다.
상술한 바와 같이 본 발명의 일 실시예에서 상기 인코딩단계(S22)는 원-핫 인코딩 방식으로 임베딩벡터를 도출하였으나, 본 발명의 다른 실시예에서 상기 인코딩단계(S22)는 Word2Vec 등과 같이 텍스트를 임베딩하는 종래의 방법 가운데 어느 하나의 방법을 사용할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 특징추출모듈(1200)의 내부구성들을 개략적으로 도시한다.
도 5에 도시된 바와 같이, 상기 특징추출모듈(1200)은, 제1신경망모델(1210), 제2신경망모델(1220) 및 제3신경망모델(1230)을 포함하고, 상기 제1신경망모델(1210)은 Bidirectional LSTM(BLSTM) 신경망 모델에 해당하고, 상기 제2신경망모델(1220)은 Gated Recurrent Unit(GRU) 신경망 모델에 해당하고, 상기 제3신경망모델(1230)은 Long-Short Term Memory(LSTM) 신경망 모델에 해당할 수 있다.
상술한 바와 같이 상기 특징추출모듈(1200)은 복수의 신경망모델을 포함할 수 있고, 바람직하게는 상기 특징추출모듈(1200)은 제1신경망모델(1210), 제2신경망모델(1220) 및 제3신경망모델(1230)을 포함할 수 있다.
본 발명에서 신경망모델은 심층 신경망(Neural Network)을 포함하는 인공지능 모델(Artificial Intelligence)에 해당하며, 딥러닝 방식으로 학습될 수 있다. 또한 상기 신경망모델은 Convolutional Neural Network(CNN), Recurrent Neural Network(RNN), 게이트 순환 유닛(Gated Recurrent Units, GRU) 장-단기 메모리(Long Short-Term Memory, LSTM)와 같은 신경망을 포함할 수 있으며, 상술한 신경망 외에도 종래에 알려져 있는 다양한 신경망을 포함할 수도 있다.
한편, 상기 제1신경망모델(1210), 상기 제2신경망모델(1220) 및 상기 제3신경망모델(1230)은 모두 동일한 형태의 신경망모델에 해당할 수 있으나, 바람직하게는 상기 제1신경망모델(1210), 상기 제2신경망모델(1220) 및 상기 제3신경망모델(1230) 각각은 서로 상이한 신경망모델을 포함한다. 구체적으로 상기 제1신경망모델(1210)은 Bidirectional Long Short-Term Memory(BLSTM) 신경망을 포함하고, 상기 제2신경망모델(1220)은 GRU 신경망을 포함하고, 상기 제3신경망모델(1230)은 LSTM 신경망을 포함한다.
이와 같이, 상기 특징추출모듈(1200)은 3 개의 신경망모델을 포함하고, 제1신경망모델(1210)이 BLSTM 신경망을 포함하고, 제2신경망모델(1220)이 GRU 신경망을 포함하고, 제3신경망모델(1230)이 LSTM 신경망을 포함하는 것으로, 대칭키 방식과 같이 동형암호가 아닌 특성을 갖는 암호화된 텍스트 데이터의 분류 작업을 효과적으로 수행할 수 있고, 더불어 이와 같은 구성을 통해 이진 클래스에 대한 분류 작업으로 국한되는 것이 아니라 3 이상의 다중 클래스에 대한 분류 작업을 효과적으로 수행할 수 있다.
상기 제1신경망모델(1210) 내지 상기 제3신경망모델(1230)의 구체적인 구성에 대해서는 도 7 내지 도 9에서 상세하게 설명하도록 하며, 상기와 같이 BSLTM 신경망 - GRU 신경망 - LSTM 신경망으로 구성된 특징추출모듈(1200)을 사용한 테스트 결과에 대해서는 도 12에서 상세하게 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 특징추출단계(S11)의 세부단계들을 개략적으로 도시한다.
도 6에 도시된 바와 같이, 상기 특징추출모듈(1200)은, 제1신경망모델(1210), 제2신경망모델(1220) 및 제3신경망모델(1230)을 포함하고, 상기 특징추출단계(S11)는, 상기 임베딩벡터를 상기 제1신경망모델(1210)에 입력하여 제1특징정보를 도출하는 제1특징정보도출단계(S30); 상기 제1특징정보를 상기 제2신경망모델(1220)에 입력하여 제2특징정보를 도출하는 제2특징정보도출단계(S31); 상기 제2특징정보를 상기 제3신경망모델(1230)에 입력하여 제3특징정보를 도출하는 제3특징정보도출단계(S32); 및 상기 제3특징정보에 기초하여 학습벡터를 도출하는 학습벡터도출단계(S33);를 포함할 수 있다.
구체적으로, 상기 제1특징정보도출단계(S30)는 상기 임베딩단계(S10)를 통해 도출된 임베딩벡터를 상기 제1신경망모델(1210)에 입력하고, 상기 제1신경망모델(1210)은 상기 임베딩벡터를 입력받아 상기 제1특징정보를 출력한다. 이때 상기 임베딩벡터는 상기 암호화된 텍스트 데이터의 시퀀스의 순서와 같이 시계열 순으로 상기 제1신경망모델(1210)에 입력되고, 상기 제1신경망모델(1210)은 상술한 바와 같이 BLSTM 신경망에 해당하는 것이 바람직하다.
한편, 상기 제2특징정보도출단계(S31)는 상기 제1특징정보도출단계(S30)에서 출력된 제1특징정보를 상기 제2신경망모델(1220)에 입력하고, 상기 제2신경망모델(1220)은 상기 제1특징정보를 입력받아 상기 제2특징정보를 출력한다. 이때 상기 제1특징정보는 시계열 순으로 상기 제2신경망모델(1220)에 입력되고, 상기 제2신경망모델(1220)은 상술한 바와 같이 GRU 신경망에 해당하는 것이 바람직하다.
상기 제3특징정보도출단계(S32)는 상기 제2특징정보도출단계(S31)에서 출력된 제2특징정보를 상기 제3신경망모델(1230)에 입력하고, 상기 제3신경망모델(1230)은 상기 제2특징정보를 입력받아 상기 제3특징정보를 출력한다. 마찬가지로 상기 제2특징정보는 시계열 순으로 상기 제3신경망모델(1230)에 입력되고, 상기 제3신경망모델(1230)은 상술한 바와 같이 LSTM 신경망에 해당하는 것이 바람직하다.
마지막으로, 상기 학습벡터도출단계(S33)는 상기 제3특징정보도출단계(S32)에서 출력된 제3특징정보에 기초하여 학습벡터를 도출한다. 상기 학습벡터도출단계(S33)는 상기 제3특징정보를 별도로 가공하지 않고 상기 제3특징정보를 학습벡터로 하거나, 소정의 가중치를 상기 제3특징정보에 적용하는 것으로 상기 학습벡터를 도출할 수 있다.
한편, 상기 제1신경망모델(1210), 상기 제2신경망모델(1220) 및 상기 제3신경망모델(1230) 각각에서 출력하는 특징정보는 각각의 신경망모델의 노드 별로 출력하는 복수의 특징값을 포함할 수 있고, 상기 특징값은 해당 신경망모델에서의 은닉상태값에 해당할 수 있다.
본 발명의 일 실시예에서는 상기 제1특징정보도출단계(S30), 상기 제2특징정보도출단계(S31), 상기 제3특징정보도출단계(S32)는 1 회 수행될 수 있으나, 본 발명의 다른 실시예에서는 도 6에 도시된 바와 같이, 상기 특징추출단계(S11)는, 상기 학습벡터도출단계(S33)가 수행되기 전까지 상기 제1특징정보도출단계(S30), 상기 제2특징정보도출단계(S31) 및 상기 제3특징정보도출단계(S32)를 N(N은 2 이상의 자연수)회 반복 수행하고, M(M은 N 이하의 자연수)회 반복 수행하는 상기 복수의 신경망모델 각각은 M-1회 반복 수행하여 도출된 은닉상태정보를 사용하여 특징정보를 도출할 수 있다.
구체적으로, 상기 제1특징정보도출단계(S30), 상기 제2특징정보도출단계(S31) 및 상기 제3특징정보도출단계(S32)는 N(N은 2 이상의 자연수)회 만큼 반복 수행될 수 있다. 상기 M-1(M은 N 이하의 자연수)번째 수행되는 제1특징정보도출단계(S30)는 제1신경망모델(1210)에 상기 임베딩벡터를 입력하고, 상기 제1신경망모델(1210)은 각각의 노드에서 출력하는 복수의 특징값을 포함하는 제1특징정보를 출력하고, 이에 따라 각각의 노드에 대한 복수의 은닉상태값을 포함하는 제1은닉상태값을 업데이트한다. 상기 제1특징정보는 M-1번째 수행되는 제2특징정보도출단계(S31)에서 제2신경망모델(1220)에 입력되며, 상기 제1은닉상태값은 M번째 제1특징정보도출단계(S30)에서 제1특징정보를 출력하기 위하여 사용될 수 있다.
한편, M-1번째 수행되는 제2특징정보도출단계(S31)는 M-1번째 수행된 제1특징정보도출단계(S30)에서의 제1신경망모델(1210)에서 출력한 제1특징정보를 상기 제2신경망모델(1220)에 입력하고, 상기 제2신경망모델(1220)은 각각의 노드에서 출력하는 복수의 특징값을 포함하는 제2특징정보를 도출하고, 이에 따라 각각의 노드에 대한 복수의 은닉상태값을 포함하는 제2은닉상태값을 업데이트한다. 상기 제2특징정보는 M-1번째 수행되는 제3특징정보도출단계(S32)에서 제3신경망모델(1230)에 입력되며, 상기 제2은닉상태값은 M번째 제2특징정보도출단계(S31)에서 제2특징정보를 출력하기 위하여 사용될 수 있다.
마찬가지로, M-1번째 수행되는 제3특징정보도출단계(S32)는 M-1번째 수행된 제2특징정보도출단계(S31)에서의 제2신경망모델(1220)에서 출력한 제2특징정보를 상기 제3신경망모델(1230)에 입력하고, 상기 제3신경망모델(1230)은 각각의 노드에서 출력하는 복수의 특징값을 포함하는 제3특징정보를 도출하고, 이에 따라 각각의 노드에 대한 복수의 은닉상태값을 포함하는 제3은닉상태값을 업데이트한다. 상기 M-1번째에서 업데이트된 제3은닉상태값은 M번째 제3특징정보도출단계(S32)에서 제3특징정보를 도출하기 위하여 사용될 수 있다.
한편, 상기 제3특징정보가 N번째 수행된 제3특징정보도출단계(S32)에서 출력된 경우에 상기 제3특징정보는 상기 학습벡터도출단계(S33)에서 학습벡터를 도출하기 위하여 사용될 수 있고, N번째 미만에서 수행된 제3특징정보도출단계(S32)에서 출력된 제3특징정보는 상기 학습벡터도출단계(S33)에서 사용하지 않게 된다.
이와 같은 본 발명은 제1특징정보도출단계(S30), 제2특징정보도출단계(S31) 및 제3특징정보도출단계(S32)는 N회 반복 수행될 수 있으며, M-1번째 수행된 각각의 단계를 통해 업데이트된 은닉상태값은 M번째 수행되는 각각의 단계에서의 신경망모델을 통해 특징정보를 도출하기 위하여 사용될 수 있으며, N회 반복 수행하는 구성을 통해서 더욱더 정확하게 암호화된 텍스트 데이터에 대한 분류 작업을 수행할 수 있는 효과를 발휘할 수 있다.
한편, 본 발명의 일 실시예에서 N의 값은 사용자에 의해 기설정될 수 있으며, 첫번째 수행하는 제1특징정보도출단계(S30)에서의 제1신경망모델(1210)의 제1은닉상태값, 첫번째 수행하는 제2특징정보도출단계(S31)에서의 제2신경망모델(1220)의 제2은닉상태값 및 첫번째 수행하는 제3특징정보도출단계(S32)에서의 제3신경망모델(1230)의 제3은닉상태값은 소정의 값으로 초기화된 값에 해당할 수 있으며, 바람직하게 상기 소정의 값은 0이 될 수 있다.
도 7은 본 발명의 일 실시예에 따른 제1형태의 신경망을 개략적으로 도시한다.
도 7의 (A)에 도시된 신경망모델은 Long-Short Term Memory(LSTM) 신경망의 전체 구성을 개략적으로 도시한 도면에 해당하고, 도 7의 (B)는 LSTM에서의 하나의 셀 유닛을 개략적으로 도시한 도면에 해당한다.
도 7의 (A)에 도시된 바와 같이 LSTM 신경망은 RNN의 한 종류에 해당하며, 이전 순서의 값이 다음 순서의 값에 영향을 줄 수 있는 시퀀스 데이터를 처리하기 적합하다. 도 7의 (A)에 도시된 바와 같이 LSTM 신경망은 복수의 셀 유닛을 포함하며, 복수의 셀 유닛 각각은 순차적으로 연결되어 있다.
순차적으로 연결된 셀 유닛 각각에는 시퀀스 데이터에 포함된 값들이 순차적으로 입력된다. 예를 들어 도 7의 (A)의 좌측에 도시된 셀 유닛에는 시퀀스 데이터에 포함된 Xt-1 번째 값이 입력되고, 중앙에 도시된 셀 유닛에는 시퀀스 데이터에 포함된 Xt 번째 값이 입력되고, 우측에 도시된 셀 유닛에는 시퀀스 데이터에 포함된 Xt+1 번째 값이 입력된다. 여기서 상기 시퀀스 데이터는 상술한 임베딩벡터, 상기 제1신경망모델(1210)에서 출력한 제1특징정보 또는 상기 제2신경망모델(1220)에서 출력한 제2특징정보에 해당할 수 있다.
한편, 셀 유닛은 추가적으로 이전 셀 유닛에서 출력한 셀 스테이트(Cell State)값 및 은닉상태(Hidden State)값을 입력 받는다. 예를 들어, 도 7의 (A)에 중앙에 도시된 셀 유닛의 경우 좌측에 도시된 셀 유닛에서 출력하는 셀 스테이트 값인 Ct-1 및 은닉상태값인 ht-1을 추가적으로 입력 받는다.
이와 같이, 셀 유닛은 해당 셀 유닛에 상응하는 시퀀스 데이터의 입력값 및 이전 셀 유닛에서 출력한 셀 스테이트값 및 은닉상태값을 사용하여, 이전 셀 유닛의 셀 스테이트값과 해당 셀 유닛에 입력되는 시퀀스 데이터의 입력값을 어느정도 반영할 것인지 결정하는 것으로 해당 셀 유닛에서의 셀 스테이트값을 출력하고, 출력된 셀 스테이트값으로 해당 셀 유닛에 입력되는 시퀀스 데이터의 입력값을 필터링한 값을 해당 셀 유닛의 은닉상태값 및 출력값(특징값)으로 출력한다.
한편, 해당 셀 유닛에서 출력되는 셀 스테이트값 및 은닉상태값은 다음 셀 유닛에 입력되며, 이와 같이 LSTM 신경망의 각각의 셀 유닛은 이전 셀 유닛의 출력 정보를 반영하여 자신의 셀 유닛에서의 출력 정보를 산출하므로, 순서에 따라 연관성이 있는 시퀀스 데이터를 처리하기에 적합한 신경망 모델에 해당한다.
도 7의 (B)에서는 LSTM 신경망의 셀 유닛의 세부구성을 개략적으로 도시한다.
도 7의 (B)에 도시된 바와 같이, σ는 시그모이드(Sigmoid) 함수를 의미하고, tanh는 하이퍼볼릭 탄젠트(Hyperbolic Tangent) 함수를 의미하고, 하기의 [수학식 3] 및 [수학식 4] 각각 시그모이드 함수 및 하이퍼볼릭 탄젠트 함수를 나타내고, 'x' 및 '+'는 각 원소별(Pointwise) 곱셈 및 덧셈 연산을 의미한다.
[수학식 3]
Figure pat00003
[수학식 4]
Figure pat00004
한편, 도 7의 (B)에 도시된 ft는 이전 셀 스테이트값인 Ct-1를 어느정도 반영할지 결정하는 인자에 해당하고, it
Figure pat00005
는 출력하고자 하는 셀 스테이트값인 Ct에 업데이트하고자 하는 인자에 해당하고, Ot는 출력값(특징값) 및 은닉상태값에 해당하는 ht를 산출하기 위한 인자에 해당한다. 상술한 각각의 인자들은 하기의 [수학식 5] 내지 [수학식 10]에 따라 표현될 수 있다.
[수학식 5]
Figure pat00006
[수학식 6]
Figure pat00007
[수학식 7]
Figure pat00008
[수학식 8]
Figure pat00009
[수학식 9]
Figure pat00010
[수학식 10]
Figure pat00011
(
Figure pat00012
Figure pat00013
번째 입력값
Figure pat00014
에 대한 웨이트 벡터(Weight Vector)값,
Figure pat00015
Figure pat00016
번째 은닉상태(Hidden State)값,
Figure pat00017
는 편차향(Bias))
이와 같이, LSTM 신경망에서의 각각의 셀 유닛들은 이전 셀 유닛에서 출력한 셀 스테이트값 Ct-1 및 은닉상태값 ht-1을 입력 받아, 해당 셀 유닛에 입력된 Xt에 대한 셀 스테이트값 Ct 및 은닉상태값 ht를 출력하므로, 단어들이 순차적으로 구성되어 있고, 순차적으로 연결된 단어들 사이의 연관성이 존재하는 텍스트 데이터에 대한 특징값들을 효과적으로 도출할 수 있다.
상술한 LSTM 신경망은 상기 제3신경망모델(1230)에 포함될 수 있고, 본 발명의 다른 실시예에서는 상기 제3신경망모델(1230)은 도 7에 도시된 LSTM 신경망의 셀 유닛에 엿보기 구멍(Peephole Connection)이 추가된 LSTM 신경망과 같이, 기본적인 LSTM 신경망 구조에서 추가적인 요소들이 부가되어 있는 LSTM 신경망을 포함할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 제2형태의 신경망을 개략적으로 도시한다.
도 8에 도시된 도면은 Gated Recurrent Unit(GRU) 신경망에 포함되는 셀 유닛을 개략적으로 도시한 도면에 해당한다. GRU 신경망 또한 RNN의 한 종류에 해당하며, 상술한 LSTM 신경망을 간략화한 구조에 해당한다.
LSTM 신경망의 셀 유닛이 출력 게이트, 입력 게이트 및 삭제 게이트를 포함하는 것과 비교하여, GRU 신경망의 셀 유닛은 업데이트 게이트 및 리셋 게이트만을 포함하며, 리셋 게이트에서는 이전 셀 유닛을 통해 입력받은 과거정보를 어느 정도로 사용할지를 결정하며, 업데이트 게이트에서는 과거 정보 및 해당 셀 유닛에 입력된 현재 정보의 최신화 비율을 결정한다.
이와 같이 GRU 신경망은 학습해야 하는 파라미터의 개수가 LSTM 신경망보다 작으므로 LSTM 신경망과 비교하여 학습 속도가 빠르지만, 성능의 큰 차이가 없는 장점이 있다. 이러한 상기 GRU 신경망은 상술한 제2신경망모델(1220)에 포함될 수 있다.
도 9는 본 발명의 일 실시예에 따른 제3형태의 신경망을 개략적으로 도시한다.
도 9에 도시된 도면은 Bidirectional LSTM(BLSTM) 신경망의 전체 구성을 개략적으로 도시한 도면에 해당한다. BLSTM 신경망 또한 RNN의 한 종류에 해당하며, 상술한 LSTM 신경망 2 개를 연결한 구조를 가지고 있다.
구체적으로, 도 9에 도시된 바와 같이 상단에 위치한 제1LSTM에서는 도 7에서 설명한 바와 같이, 순차적으로 연결된 각 셀 유닛에는 순서를 갖는 시퀀스 데이터(도 9의 Input[0] 내지 Input[t])가 순차적으로 입력되고, 이전 셀 유닛에서 업데이트한 셀 스테이트값(도 9의 c[0] 내지 c[t-1]) 및 은닉상태값(도 9의 h[0] 내지 h[t-1])이 입력되어 출력값(특징값)을 출력한다. 즉, 제1LSTM에서는 시퀀스 데이터의 순방향에 따라 이전 셀 유닛에서의 셀 스테이트값 및 은닉상태값을 고려하여 입력받은 시퀀스 데이터의 입력값에 대한 특징값을 도출한다.
한편, 하단에 위치한 제2LSTM에서는 상술한 제1LSTM과 반대 순서로 복수의 셀 유닛이 연결되어 있고, 각 셀 유닛에는 순서를 갖는 시퀀스 데이터(도 9의 Input[t] 내지 Input[0])가 순차적으로 입력되고, 앞선 셀 유닛에서 업데이트한 셀 스테이트값(도 9의 c'[0] 내지 c'[t-1]) 및 은닉상태값(도 9의 h'[0] 내지 h'[t-1])이 입력되어 출력값(특징값)을 출력한다. 즉 제2LSTM에서는 시퀀스 데이터의 역방향에 따라 앞선 셀 유닛에서의 셀 스테이트값 및 은닉상태값을 고려하여 입력받은 시퀀스 데이터의 입력값에 대한 특징값을 도출한다.
한편, BLSTM 신경망은 제1LSTM 및 제2LSTM에서 동일한 시퀀스 데이터의 입력값을 입력받는 셀 유닛 각각에서 출력하는 특징값을 고려하여 최종특징값(도 9의 output[0] 내지 output[t])를 도출한다. 예를 들어, 최종특징값은 단순히 제1SLTM의 셀 유닛에서 출력한 특징값 및 제2LSTM 셀 유닛에서 출력한 특징값을 결합하여 도출될 수도 있고, 제1LSTM의 셀 유닛에서 출력한 특징값 및 제2LSTM 셀 유닛에서 출력한 특징값 각각에 소정의 가중치를 부여하여 최종특징값을 도출할 수도 있다.
이와 같이, 도 7에 도시된 LSTM 신경망이 시퀀스 데이터의 순방향에 따라 학습하는 구조인 반면에 도 9에 도시된 BLSTM 신경망은 시퀀스 데이터의 순방향 및 역방향 모두를 고려하여 학습하는 구조에 해당하며, 상기 BLSTM 신경망은 상술한 제1신경망모델(1210)에 포함될 수 있다.
한편, 상술한 도 7 내지 도 9에서의 각각의 신경망 모델에 포함되는 셀 유닛의 개수는 입력되는 시퀀스 데이터의 입력값의 개수에 상응할 수 있다. 예를 들어, 시퀀스 데이터가 텍스트 데이터이고, 해당 텍스트 데이터에 10 개의 단어가 포함되어 있는 경우에 각 신경망 모델에는 10 개의 셀 유닛이 포함될 수 있다.
도 10은 본 발명의 일 실시예에 따른 분류단계(S12)의 세부단계들을 개략적으로 도시한다.
도 10에 도시된 바와 같이, 상기 분류단계(S12)는, 상기 학습벡터를 상기 복수의 완전 연결된 계층에 입력하여 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목의 개수에 상응하는 크기를 갖는 중간벡터를 도출하는 단계; 및 상기 중간벡터에 포함된 값들에 소프트맥스 함수(Softmax Function)를 적용하여 상기 암호화된 텍스트 데이터를 상기 복수의 분류 항목 가운데 특정 분류 항목으로 라벨링하는 단계;를 포함할 수 있다.
구체적으로, 상기 분류단계(S12)는 상기 특징추출단계(S11)를 통해 암호화된 텍스트 데이터에 대한 복수의 특징값을 포함하는 학습벡터를 복수의 완전 연결 계층(Fully Connected Layer)에 입력하여, 상기 학습벡터에 상응하는 중간벡터를 도출하고, 상기 중간벡터를 소프트맥스모듈에 입력하여 상기 암호화된 텍스트 데이터를 분류할 수 있는 복수의 분류 항목 각각에 대한 확률값을 도출하고, 가장 높은 확률값을 갖는 분류 항목을 상기 암호화된 텍스트 데이터에 라벨링한다.
더 구체적으로, 상기 분류단계(S12)에서는 상기 학습벡터를 제1완전연결계층에 입력한다. 상기 제1완전연결계층에서는 입력받은 상기 학습벡터에 포함된 복수의 특징값 각각에 학습된 가중치를 부여하여 제1중간벡터를 도출한다.
한편, 상기 제1중간벡터를 제2완전연결계층에 입력하며, 상기 제2완전연결계층에서는 입력받은 상기 제1중간벡터에 포함된 복수의 값 각각에 학습된 가중치를 부여하여 제2중간벡터를 도출한다. 바람직하게는 상기 제2중간벡터에 포함되는 값들의 개수는 상기 암호화된 텍스트 데이터를 분류할 수 있는 복수의 분류 항목의 개수와 동일하다.
마지막으로, 상기 제2중간벡터를 소프트맥스모듈에 입력하며, 상기 소프트맥스모듈에서는 상기 제2중간벡터에 소프트맥스(Softmax) 함수를 적용하여 분류 가능한 복수의 분류 항목 각각에 대한 확률값을 산출한다. 한편, 복수의 분류 항목 각각에 대한 확률값을 모두 더한 값은 1이 될 수 있다.
이와 같이 소프트맥스모듈을 통해 복수의 분류 항목 각각에 대한 확률값이 산출되면, 상기 분류단계(S12)에서는 상기 암호화된 텍스트 데이터를 가장 높은 확률값을 갖는 분류 항목으로 분류(라벨링)하는 것으로, 상기 암호화된 텍스트 데이터에 대한 분류 작업의 수행을 완료할 수 있다.
도 11은 본 발명의 일 실시예에 따른 신경망 기반의 암호화 데이터를 분류하는 방법의 개념도를 개략적으로 도시한다.
도 11에 도시된 바와 같이, 임베딩단계(S10)에서는 암호화된 텍스트 데이터(도 11의 V0 내지 Vn)를 입력받아 암호화된 텍스트 데이터를 특징추출단계(S11) 및 분류단계(S12)에서 처리할 수 있도록 복수의 벡터값을 포함하는 임베딩벡터를 도출한다.
특징추출단계(S11)에서는 복수의 신경망모델을 포함하는, 바람직하게는 제1신경망모델(1210), 제2신경망모델(1220) 및 제3신경망모델(1230)을 포함하는 특징추출모듈(1200)에 상기 임베딩벡터를 입력하고, BLSTM 신경망을 포함하는 상기 제1신경망모델(1210)은 상기 임베딩벡터를 입력받아 제1특징정보를 도출하고, GRU 신경망을 포함하는 상기 제2신경망모델(1220)은 상기 제1특징정보를 입력받아 제2특징정보를 도출하고, LSTM 신경망을 포함하는 상기 제3신경망모델(1230)은 상기 제2특징정보를 입력받아 제3특징정보를 도출하고, 상기 특징추출단계(S11)는 최종적으로 상기 제3특징정보에 기초하여 학습벡터를 도출한다.
한편, 상기 제1신경망모델(1210), 상기 제2신경망모델(1220) 및 상기 제3신경망모델(1230) 각각은 특징정보를 도출하기 위하여 몇 개의 셀 유닛을 누락(Drop out)시킬 수도 있다.
분류단계(S12)에서는 복수의 완전 연결된 계층에 학습벡터를 입력하여 중간벡터를 도출하고, 중간벡터에 포함된 복수의 값들에 대해 소프트맥스 함수를 적용하여 상기 암호화된 텍스트 데이터를 분류할 수 있는 복수의 분류 항목 각각에 대한 확률값을 도출하여, 가장 높은 확률값을 갖는 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링한다.
한편, 도 11에 도시된 바와 같이 복수의 완전 연결된 계층은 2 개의 계층으로 구성되며, 제1완전연결계층에서는 상기 학습벡터를 입력받아 소정 개수(60개)의 값들을 포함하는 제1중간벡터를 도출하고, 제2완전연결계층에서는 상기 제1중간벡터를 입력받아 복수의 분류 항목의 개수에 상응하는 크기를 갖는 제2중간벡터를 도출한다.
본 발명에서 제1신경망모델(1210), 제2신경망모델(1220) 및 제3신경망모델(1230)은 CNN, LSTM, GRU 등 종래의 다양한 모델을 포함할 수 있으나, 상술한 바와 같이 제1신경망모델(1210)은 BLSTM 신경망을 포함하고, 제2신경망모델(1220)은 GRU 신경망을 포함하고, 제3신경망모델(1230)은 LSTM 신경망을 포함하는 경우에 도 12에 도시된 바와 같이 암호화된 텍스트 데이터에 대한 높은 분류 정확도를 보이게 된다.
도 12는 본 발명의 일 실시예에 따른 신경망 기반의 암호화 데이터를 분류하는 방법에 따른 분류 결과들을 개략적으로 도시한다.
도 12는 상술한 바와 같이 제1신경망모델(1210)은 BLSTM, 제2신경망모델(1220)은 GRU, 제3신경망모델(1230)은 LSTM으로 구성했을 때의 암호화된 텍스트 데이터에 대한 분류 작업의 테스트 결과를 개략적으로 도시한다. 본 테스트에서는 교차 엔트로피 손실 함수(Cross-Entropy Loss Function)를 이용하였다. 교체 엔트로피 손실 함수는 [수학식 11]로 표현되며, 입력 데이터에 미리 라벨링된 값과 본 발명의 신경망모델에서 상기 입력 데이터를 라벨링한 값과의 오차를 계산하여, 신경망모델이 더욱 정답에 가깝게 학습되도록 매개변수 값을 산정하는 함수에 해당한다.
[수학식 11]
Figure pat00018
상기 [수학식 11]에서 교차 엔트로피 손실 함수 loss에 대하여, k는 입력 데이터 개수에 대한 인덱스 번호, t는 암호화된 텍스트 데이터에 대한 정답 라벨링 값, y는 신경망모델의 출력 라벨링 값에 해당한다.
한편, [표 1]에서와 같이 ,테스트를 수행하기 위하여 입력 데이터로 공개되어 있는 데이터셋에 해당하는 'Company Report Dataset' 및 'Brown Dataset'을 사용하였다. 'Company Report Dataset'은 상대적으로 짧은 문장 길이를 가지며, 총 문장 수는 480 개이다. 'Brown Dataset'은 상대적으로 긴 문장의 길이를 가지며, 총 문장 수는 57,340 개이다. 상기 2 개의 데이터셋 모두 학습데이터와 테스트데이터의 비율은 8:2로 하였다.
[표 1]
Figure pat00019
도 12의 (A)는 'Brown Dataset'에 대한 정확도 결과를 도시하고, 도 12의 (B)는 'Company Report Dataset'에 대한 정확도 결과를 도시한다. 한편, 각 데이터셋에 대한 암호화를 수행하기 위하여, 평문의 내용을 짐작하기 어렵게 하는 암호화 성질인 혼돈의 성질을 갖는 Caesar 암호화, Vigenere 암호화 및 Substitution 암호화 방식을 사용하였다. 한편, 신경망모델에 암호화된 텍스트 데이터에 대한 문자 빈도나 암호키에 대한 어떠한 사전 정보도 부여하지 않았다.
도 12에 도시된 바와 같이, 각각의 테스트 데이터셋을 암호화하고 암호화된 데이터를 분류한 결과, 학습 횟수(Epoch)가 어느정도 증가한 경우에 매우 높은 정확도로 암호화된 텍스트 데이터에 대한 분류 작업을 수행하는 것으로 확인할 수 있다. 즉, 본 발명에서 제안한 BLSTM-GRU-LSTM으로 구성된 하이브리드 신경망모델을 통해서 암호화된 텍스트 데이터의 길이 및 유형에 관계없이 높은 정확도로 암호화된 텍스트 데이터를 분류할 수 있는 효과를 발휘할 수 있다.
도 13은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.
상술한 도 1에 도시된 컴퓨팅장치(1000)는 상기 도 13에 도시된 컴퓨팅장치(11000)의 구성요소들을 포함할 수 있다.
도 13에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 1에 도시된 컴퓨팅장치(1000)에 해당될 수 있다.
메모리(11200)는 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그 밖에 다양한 데이터를 포함할 수 있다.
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.
주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.
이러한 도 13의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)는 도 13에 도시된 일부 컴포넌트가 생략되거나, 도 13에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 13에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 어플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 컴퓨팅장치(11000)에 설치될 수 있다. 일 예로, 파일 배포 시스템은 컴퓨팅장치(11000)의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 일 실시예에 따르면, 평문의 텍스트 데이터를 암호화한 암호화된 텍스트 데이터를 복호화하지 않고, 암호화된 텍스트 데이터 자체에 대한 데이터 분류를 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 동형암호 방식으로 암호화된 텍스트 데이터뿐만 아니라 현재 일반적으로 데이터의 기밀성을 위한 암호화 방식에 사용되는 대칭키 암호화 방식에 대해서도 데이터 분류를 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 신경망 모델을 포함하는 하이브리드 신경망 네트워크를 사용하여 암호화된 텍스트 데이터의 분류의 정확성을 향상시킬 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 이진 클래스 문제에 대한 데이터 분류뿐만 아니라, 3 이상의 클래스에 대한 데이터 분류를 수행할 수 있는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅장치에서 수행되는 신경망 기반의 암호화 데이터를 분류하는 방법으로서,
암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계;
학습된 복수의 신경망모델을 포함하는 특징추출모듈에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계; 및
복수의 완전 연결된 계층을 포함하는 분류모듈에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계;를 포함하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
청구항 1에 있어서,
상기 암호화된 텍스트 데이터는 대칭키를 사용하여 암호화된 텍스트 데이터에 해당하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
청구항 1에 있어서,
상기 임베딩단계는,
상기 암호화된 텍스트 데이터에 기초하여 단어 단위의 복수의 토큰을 생성하는 토큰생성단계;
상기 암호화된 텍스트 데이터에 포함된 특수문자 및 공백을 제거하여 상기 암호화된 텍스트 데이터를 가공하는 데이터가공단계; 및
상기 복수의 토큰을 사용하여 상기 가공된 암호화된 텍스트 데이터에 대한 임베딩벡터를 생성하는 인코딩단계;를 포함하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
청구항 1에 있어서,
상기 특징추출모듈은,
제1신경망모델, 제2신경망모델 및 제3신경망모델을 포함하고,
상기 특징추출단계는,
상기 임베딩벡터를 상기 제1신경망모델에 입력하여 제1특징정보를 도출하는 제1특징정보도출단계;
상기 제1특징정보를 상기 제2신경망모델에 입력하여 제2특징정보를 도출하는 제2특징정보도출단계;
상기 제2특징정보를 상기 제3신경망모델에 입력하여 제3특징정보를 도출하는 제3특징정보도출단계; 및
상기 제3특징정보에 기초하여 학습벡터를 도출하는 학습벡터도출단계;를 포함하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
청구항 4에 있어서,
상기 특징추출단계는,
상기 학습벡터도출단계가 수행되기 전까지 상기 제1특징정보도출단계, 상기 제2특징정보도출단계 및 상기 제3특징정보도출단계를 N(N은 2 이상의 자연수)회 반복 수행하고,
M(M은 N 이하의 자연수)회 반복 수행하는 상기 복수의 신경망모델 각각은 M-1회 반복 수행하여 도출된 은닉상태정보를 사용하여 특징정보를 도출하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
청구항 1에 있어서,
상기 특징추출모듈은,
제1신경망모델, 제2신경망모델 및 제3신경망모델을 포함하고,
상기 제1신경망모델은 Bidirectional LSTM(BLSTM) 신경망 모델에 해당하고, 상기 제2신경망모델은 Gated Recurrent Unit(GRU) 신경망 모델에 해당하고, 상기 제3신경망모델은 Long-Short Term Memory(LSTM) 신경망 모델에 해당하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
청구항 1에 있어서,
상기 분류단계는,
상기 학습벡터를 상기 복수의 완전 연결된 계층에 입력하여 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목의 개수에 상응하는 크기를 갖는 중간벡터를 도출하는 단계; 및
상기 중간벡터에 포함된 값들에 소프트맥스 함수(Softmax Function)를 적용하여 상기 암호화된 텍스트 데이터를 상기 복수의 분류 항목 가운데 특정 분류 항목으로 라벨링하는 단계;를 포함하는, 신경망 기반의 암호화 데이터를 분류하는 방법.
신경망 기반의 암호화 데이터를 분류하는 방법을 수행하는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅장치로서,
상기 컴퓨팅장치는,
암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계;
학습된 복수의 신경망모델을 포함하는 특징추출모듈에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계; 및
복수의 완전 연결된 계층을 포함하는 분류모듈에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계;를 수행하는, 컴퓨팅장치.
1 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
암호화된 텍스트 데이터를 수치화하여 상기 암호화된 텍스트 데이터에 상응하고 벡터 형태를 갖는 임베딩벡터를 생성하는 임베딩단계;
학습된 복수의 신경망모델을 포함하는 특징추출모듈에 의하여, 상기 임베딩벡터에 상응하는 복수의 특징값을 포함하는 학습벡터를 도출하는 특징추출단계; 및
복수의 완전 연결된 계층을 포함하는 분류모듈에 의하여, 상기 학습벡터를 입력받아 상기 암호화된 텍스트 데이터가 분류될 수 있는 복수의 분류 항목 가운데 특정 분류 항목으로 상기 암호화된 텍스트 데이터를 라벨링하는 분류단계;를 포함하는, 컴퓨터 프로그램.
KR1020210080909A 2021-06-21 2021-06-22 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체 KR20220170183A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210080909A KR20220170183A (ko) 2021-06-22 2021-06-22 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체
US17/461,889 US20220405474A1 (en) 2021-06-21 2021-08-30 Method, computing device and computer-readable medium for classification of encrypted data using neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210080909A KR20220170183A (ko) 2021-06-22 2021-06-22 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체

Publications (1)

Publication Number Publication Date
KR20220170183A true KR20220170183A (ko) 2022-12-29

Family

ID=84489243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210080909A KR20220170183A (ko) 2021-06-21 2021-06-22 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체

Country Status (2)

Country Link
US (1) US20220405474A1 (ko)
KR (1) KR20220170183A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230208639A1 (en) * 2021-12-27 2023-06-29 Industrial Technology Research Institute Neural network processing method and server and electrical device therefor

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US7103772B2 (en) * 2003-05-02 2006-09-05 Giritech A/S Pervasive, user-centric network security enabled by dynamic datagram switch and an on-demand authentication and encryption scheme through mobile intelligent data carriers
US20060098900A1 (en) * 2004-09-27 2006-05-11 King Martin T Secure data gathering from rendered documents
US8549279B1 (en) * 2007-10-23 2013-10-01 United Parcel Service Of America, Inc. Encryption and tokenization architectures
US8812870B2 (en) * 2012-10-10 2014-08-19 Xerox Corporation Confidentiality preserving document analysis system and method
US9646306B1 (en) * 2014-02-11 2017-05-09 Square, Inc. Splicing resistant homomorphic passcode encryption
US10410210B1 (en) * 2015-04-01 2019-09-10 National Technology & Engineering Solutions Of Sandia, Llc Secure generation and inversion of tokens
US11087213B2 (en) * 2017-02-10 2021-08-10 Synaptics Incorporated Binary and multi-class classification systems and methods using one spike connectionist temporal classification
US11354565B2 (en) * 2017-03-15 2022-06-07 Salesforce.Com, Inc. Probability-based guider
CN111295669A (zh) * 2017-06-16 2020-06-16 马克波尔公司 图像处理系统
US20190005237A1 (en) * 2017-06-30 2019-01-03 Paul J. Long Method and apparatus for identifying, predicting, preventing network malicious attacks
KR102339716B1 (ko) * 2017-06-30 2021-12-14 삼성에스디에스 주식회사 음성 인식 방법 및 그 장치
KR102456579B1 (ko) * 2017-12-07 2022-10-20 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
US11831409B2 (en) * 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US11265168B2 (en) * 2018-03-07 2022-03-01 Private Identity Llc Systems and methods for privacy-enabled biometric processing
EP3769251A4 (en) * 2018-03-23 2021-12-15 Equifax, Inc. FACILITATION OF ENCRYPTED SENSITIVE DATA REQUESTS USING ENCRYPTED VARIANT DATA OBJECTS
US11775985B2 (en) * 2018-07-24 2023-10-03 Maher A Abdelsamie Secure methods and systems for environmental credit scoring
US11475898B2 (en) * 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11079495B2 (en) * 2018-10-31 2021-08-03 Mitsubishi Electric Research Laboratories, Inc. Position estimation under multipath transmission
US20200226407A1 (en) * 2019-01-16 2020-07-16 Rok Mobile International Ltd. Delivery of digital content customized using images of objects
US20220012672A1 (en) * 2019-02-08 2022-01-13 My Job Matcher, Inc. D/B/A Job.Com Systems and methods for score genration for applicant tracking
US11079860B2 (en) * 2019-04-04 2021-08-03 Finch Technologies Ltd. Kinematic chain motion predictions using results from multiple approaches combined via an artificial neural network
KR20210130024A (ko) * 2020-04-21 2021-10-29 현대자동차주식회사 대화 시스템 및 그 제어 방법
KR20210145490A (ko) * 2020-05-25 2021-12-02 삼성전자주식회사 어텐션 기반 시퀀스 투 시퀀스 모델의 성능 향상 방법 및 장치
WO2022040366A1 (en) * 2020-08-18 2022-02-24 IntelliShot Holdings, Inc. Automated threat detection and deterrence apparatus
US20220147645A1 (en) * 2020-11-12 2022-05-12 IOR Analytics, LLC Method, apparatus, and system for discovering private data using configurable rules
US11915500B2 (en) * 2021-01-28 2024-02-27 Salesforce, Inc. Neural network based scene text recognition

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R. Podschwadt and D. Takabi, "Classification of encrypted word embeddings using recurrent neural networks," in PrivateNLP, WSDM, pp.27-31, 2020.
V. M. Lidkea et al., "Convolutional neural network framework for encrypted image classification in cloud-based ITS," IEEE Open Journal of Intelligent Transportation Systems, pp.35-50, 2020.

Also Published As

Publication number Publication date
US20220405474A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
Jane et al. A review on big data with machine learning and fuzzy logic for better decision making
Wu et al. Modeling trajectories with recurrent neural networks
Evans et al. What's inside the black-box? a genetic programming method for interpreting complex machine learning models
Le et al. Probabilistic latent document network embedding
Imani et al. Low-power sparse hyperdimensional encoder for language recognition
US20200082272A1 (en) Enhancing Data Privacy in Remote Deep Learning Services
Gusmão et al. Interpreting embedding models of knowledge bases: a pedagogical approach
Gorokhov et al. Convolutional neural networks for unsupervised anomaly detection in text data
Ray* Signed real measure of regular languages for discrete event supervisory control
Geng et al. A model-free Bayesian classifier
US11645500B2 (en) Method and system for enhancing training data and improving performance for neural network models
Romanov et al. Application of natural language processing algorithms to the task of automatic classification of Russian scientific texts
US11860953B2 (en) Apparatus and methods for updating a user profile based on a user file
CN107644051A (zh) 用于同类实体分组的系统和方法
Singh et al. [Retracted] Evolving Long Short‐Term Memory Network‐Based Text Classification
Santamaria-Pang et al. Towards emergent language symbolic semantic segmentation and model interpretability
Wang et al. An automatic classification algorithm for software vulnerability based on weighted word vector and fusion neural network
KR20220170183A (ko) 신경망을 기반으로 암호화 데이터를 분류하는 방법, 컴퓨팅장치 및 컴퓨터-판독가능 매체
Jeon et al. Early prediction of ransomware API calls behaviour based on GRU-TCN in healthcare IoT
Ali Reshi et al. An efficient fake news detection system using contextualized embeddings and recurrent neural network
Theodorou et al. Synthesize extremely high-dimensional longitudinal electronic health records via hierarchical autoregressive language model
US20220027680A1 (en) Methods and systems for facilitating classification of labelled data
Eisa et al. Incremental learning framework for mining big data stream
Shim et al. Fast and accurate interpretation of workload classification model
Wang et al. Learning deep discriminative features based on cosine loss function

Legal Events

Date Code Title Description
E902 Notification of reason for refusal