KR20210082004A - Privacy preserving method based on neural network and data processing apparatus - Google Patents

Privacy preserving method based on neural network and data processing apparatus Download PDF

Info

Publication number
KR20210082004A
KR20210082004A KR1020190174502A KR20190174502A KR20210082004A KR 20210082004 A KR20210082004 A KR 20210082004A KR 1020190174502 A KR1020190174502 A KR 1020190174502A KR 20190174502 A KR20190174502 A KR 20190174502A KR 20210082004 A KR20210082004 A KR 20210082004A
Authority
KR
South Korea
Prior art keywords
data
class information
output
model
neural network
Prior art date
Application number
KR1020190174502A
Other languages
Korean (ko)
Other versions
KR102297548B1 (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 KR1020190174502A priority Critical patent/KR102297548B1/en
Publication of KR20210082004A publication Critical patent/KR20210082004A/en
Application granted granted Critical
Publication of KR102297548B1 publication Critical patent/KR102297548B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Image Analysis (AREA)

Abstract

Provided is a method for protecting information using a neural network model, which comprises the steps of: generating, by a first data processing device, initial synthetic data anonymized from source data; receiving, by a second data processing device, the initial synthetic data; and inputting, by the second data processing device, the initial synthetic data into a generator model which generates data, and using the data output by the generator model as final synthetic data. The generator model is trained in advance by receiving reverse transcription information so that a target classifier which classifies class information for the final synthetic data outputs original class information.

Description

신경망 모델을 이용한 정보 보호 방법 및 데이터처리장치{PRIVACY PRESERVING METHOD BASED ON NEURAL NETWORK AND DATA PROCESSING APPARATUS}Information protection method and data processing apparatus using neural network model {PRIVACY PRESERVING METHOD BASED ON NEURAL NETWORK AND DATA PROCESSING APPARATUS}

이하 설명하는 기술은 신경망 모델을 이용한 정보 보호 기법에 관한 것이다.The technology to be described below relates to an information protection technique using a neural network model.

딥러닝 모델은 다양한 분야에서 연구 개발되고 있다. 바이오/의료 분에서도 딥러닝 모델이 활용되고 있다. 예컨대, 딥러닝 모델은 환자 빅데이터를 이용한 질병 예측과 같은 서비스에도 적용되고 있다. 바이오/의료 분야에서 활용되는 대량의 데이터는 환자 정보, 생체정보, 유전체 데이터 등과 같은 개인 정보를 포함한다. Deep learning models are being researched and developed in various fields. Deep learning models are also being used in bio/medical fields. For example, deep learning models are being applied to services such as disease prediction using patient big data. A large amount of data used in the bio/medical field includes personal information such as patient information, biometric information, and genomic data.

개인 정보 보호를 위한 암호화 기법도 연구되고 있다. 대표적으로 통계 기반 방식인 DP(differential privacy) 기법이 강력한 개인 정보 보호 기법으로 주목받고 있다. Encryption techniques for protecting personal information are also being studied. The DP (differential privacy) technique, which is a representative statistical method, is attracting attention as a powerful personal information protection technique.

Beaulieu-Jones, B.K., Wu, Z.S., Williams, C., Lee, R., Bhavnani, S.P., Byrd, J.B., Greene, C.S., Privacy-preserving generative deep neural networks support clinical data sharing. Circulation: Cardiovascular Quality and Outcomes 12(7), e005122, 2019Beaulieu-Jones, B.K., Wu, Z.S., Williams, C., Lee, R., Bhavnani, S.P., Byrd, J.B., Greene, C.S., Privacy-preserving generative deep neural networks support clinical data sharing. Circulation: Cardiovascular Quality and Outcomes 12(7), e005122, 2019

종래 DP 기법은 익명화한 데이터로 추가 분석을 용이하게 하기 위하여 데이터의 특징(feature)을 유지하려는 경향을 갖는다. 반대로 말하면, 종래 DP 기법은 보안성을 강화하면, 해당 데이터를 이용한 분석이 어려운 문제가 있었다.The conventional DP technique tends to maintain the features of data in order to facilitate further analysis with anonymized data. Conversely, the conventional DP technique has a problem in that it is difficult to analyze using the corresponding data when security is strengthened.

이하 설명하는 기술은 데이터와 개인 정보의 관계를 최소화하면서, 동시에 데이터와 비개인(non-private) 정보의 관계를 최대화하는 방향으로 데이터를 익명화하고자 한다. The technology described below seeks to anonymize data in a way that minimizes the relationship between data and personal information, while maximizing the relationship between data and non-private information.

신경망 모델을 이용한 정보 보호 방법은 제1 데이터처리장치가 소스 데이터를 익명화한 초기 합성 데이터를 생성하는 단계, 제2 데이터처리장치가 상기 초기 합성 데이터를 입력받는 단계 및 상기 제2 데이터처리장치가 데이터를 생성하는 생성자 모델에 상기 초기 합성 데이터를 입력하고, 상기 생성자 모델이 출력하는 데이터를 최종 합성 데이터로 삼는 단계를 포함한다. 상기 생성자 모델은 학습과정에서 상기 최종 합성 데이터에 대한 클래스 정보를 분류하는 타깃 분류기가 원본 클래스 정보를 출력하도록 역전사 정보를 받아 학습된 모델이다.The information protection method using a neural network model includes the steps of: a first data processing device generating initial composite data anonymized source data; a second data processing device receiving the initial composite data; and the second data processing device generating data and inputting the initial synthesized data to a generator model for generating , and using data output from the generator model as final synthesized data. The generator model is a model trained by receiving reverse transcription information so that a target classifier that classifies class information for the final synthetic data in a learning process outputs original class information.

신경망 모델을 이용하여 데이터를 보호하는 데이터처리장치는 소스 데이터를 익명화한 초기 합성 데이터를 입력받는 입력장치, 입력데이터를 입력받아 출력 데이터를 출력하는 생성자 모델 및 상기 출력 데이터에 대한 클래스 정보를 분류하는 타깃 분류기를 포함하는 신경망 모델을 저장하는 저장장치 및 상기 초기 합성 데이터를 상기 신경망 모델에 입력하여 상기 생성자 모델이 최종 합성 데이터를 출력하게 하는 연산장치를 포함한다. 상기 생성자 모델은 학습과정에서 상기 출력 데이터를 입력받아 출력하는 클래스 정보가 상기 입력데이터의 원본 클래스 정보와 차이가 최소화하도록 학습된 모델이다. A data processing device that protects data using a neural network model includes an input device that receives initial synthetic data anonymized from source data, a generator model that receives input data and outputs output data, and class information for the output data. and a storage device for storing a neural network model including a target classifier, and an arithmetic device for inputting the initial synthesized data to the neural network model so that the generator model outputs final synthesized data. The generator model is a model trained to minimize the difference between the class information received and outputted from the output data in the learning process from the original class information of the input data.

이하 설명하는 기술은 노출 우려가 있는 개인 정보를 최대한 변형하여 정보를 보호하고, 데이터 분석에 사용되는 라벨(label) 값은 최대한 유지하여 정보 분석도 용이하게 한다.The technology described below protects information by maximally transforming personal information that may be exposed, and also facilitates information analysis by maintaining the label value used for data analysis as much as possible.

도 1은 정보 보호 시스템에 대한 예이다.
도 2는 정보 보호를 위한 시스템 아키텍처에 대한 예이다.
도 3은 클라이언트와 서버로 구성된 시스템에서 데이터를 처리하는 과정에 대한 예이다.
도 4는 정보 보호를 수행하는 데이터 처리장치의 구성에 대한 예이다.
도 5는 데이터 익명화 효과를 비교한 결과이다.
도 6은 텍스트 영상에 대한 익명화를 수행한 결과를 비교한 예이다.
1 is an example of an information protection system.
2 is an example of a system architecture for information protection.
3 is an example of a process of processing data in a system composed of a client and a server.
4 is an example of the configuration of a data processing apparatus for performing information protection.
5 is a comparison result of data anonymization effect.
6 is an example comparing results of anonymization on text images.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technology to be described below may have various changes and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology described below to specific embodiments, and it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the technology described below.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components. used only as For example, a first component may be named as a second component, and similarly, a second component may also be named as a first component without departing from the scope of the technology to be described below. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설명된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of terms used herein, the singular expression should be understood to include the plural expression unless the context clearly dictates otherwise, and terms such as "comprises" refer to the described feature, number, step, operation, element. , parts or combinations thereof are to be understood, but not to exclude the possibility of the presence or addition of one or more other features or numbers, step operation components, parts or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to a detailed description of the drawings, it is intended to clarify that the classification of the constituent parts in the present specification is merely a division according to the main function that each constituent unit is responsible for. That is, two or more components to be described below may be combined into one component, or one component may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of the other constituent units in addition to the main function it is responsible for, and may additionally perform some or all of the functions of the other constituent units. Of course, it may be carried out by being dedicated to it.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or the method of operation, each process constituting the method may occur differently from the specified order unless a specific order is clearly described in context. That is, each process may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

이하 설명하는 기술은 개인 정보가 포함된 데이터를 보호하는 기법이다. 따라서, 이하 설명하는 기술은 다양한 형태의 데이터에 적용할 수 있다. 예컨대, 보호 대상인 데이터는 의료 데이터, 생체 정보, 유전체 정보 등과 같은 정보를 포함할 수 있다.The technology to be described below is a technique for protecting data including personal information. Accordingly, the techniques described below can be applied to various types of data. For example, the data to be protected may include information such as medical data, biometric information, and genomic information.

의료 데이터는 전자의무기록(EMR, Electronic Medical Record)과 같은 의무 기록, 환자 정보, IoT 디바이스가 측정한 생활 습관 데이터, 헬스케어 디바이스가 측정한 생체 신호 데이터 등을 포함한다. Medical data includes medical records such as Electronic Medical Record (EMR), patient information, lifestyle data measured by IoT devices, and biosignal data measured by healthcare devices.

생체 정보는 개인을 식별하는 얼굴, 지문, 홍채 등과 같은 정보를 포함한다.Biometric information includes information such as a face, fingerprint, iris, and the like that identifies an individual.

유전체 데이터는 특정한 사용자의 샘플(시료) 및 생명체(인간, 동물, 미생물 등)로부터 얻은 데이터를 의미한다. 예컨대, 유전체 데이터는 세포, 조직 등으로부터 획득한 데옥시리보 핵산(DNA), 리보핵산(RNA), 또는 단백질(Protein)에서 얻어진 염기서열, 유전자 발현 데이터, 표준 유전체 데이터와의 유전 변이, DNA 메틸화(methylation) 등을 포함할 수 있다. 일반적으로 유전체 데이터는 특정 시료를 분석하여 얻은 서열 정보를 포함한다. 유전체 데이터는 일반적으로 디지털 데이터로 표현된다. NGS 분석 장치를 통해 얻은 서열 데이터 등이 이에 해당한다.Genomic data refers to data obtained from a specific user's sample (sample) and living organisms (human, animal, microorganism, etc.). For example, genomic data includes a nucleotide sequence obtained from deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or protein (protein) obtained from cells, tissues, etc., gene expression data, genetic variation with standard genomic data, DNA methylation (methylation) and the like. Generally, genomic data includes sequence information obtained by analyzing a specific sample. The genomic data is generally represented as digital data. This includes sequence data obtained through an NGS analysis device.

보호 대상이 되는 데이터는 일정한 클래스 정보를 포함한다. 클래스 정보는 특정 항목의 데이터에 대한 값을 나타낸다. 예컨대, 성별이라는 데이터라면 남자 또는 여자와 같은 값이다. 이하 클래스 정보, 라벨(label), 라벨값, 클래스 라벨은 모두 특정 데이터에 대한 값을 나타내는 의미로 사용한다.Data to be protected includes certain class information. Class information indicates a value for data of a specific item. For example, if data is gender, it is the same value as male or female. Hereinafter, class information, label, label value, and class label are all used as meanings indicating values for specific data.

이하 설명하는 기술은 특정 데이터를 보호하기 위하여 개인 정보가 은닉된 정보를 생성한다. 소스 데이터는 보호 대상인 원본 데이터를 의미한다. 합성 데이터는 소스 데이터로부터 생성되는 데이터이고, 개인 정보가 보호된 데이터를 의미한다.The technology described below creates information in which personal information is hidden in order to protect specific data. Source data means original data to be protected. Synthetic data is data generated from source data, and means data in which personal information is protected.

이하 설명하는 기술은 데이터 보호를 위하여 합성 데이터를 생성하는 기계 학습 모델을 이용한다. 기계 학습(machine learning)은 인공 지능의 한 분야로, 컴퓨터가 학습할 수 있도록 알고리즘을 개발하는 분야를 의미한다. 기계학습모델 또는 학습모델은 컴퓨터가 학습할 수 있도록 개발된 모델을 의미한다. 학습모델은 접근 방법에 따라 인공신경망, 결정 트리 등과 같은 다양한 모델이 있다. 신경망 모델은 RNN(Recurrent Neural Networks), FFNN(feedforward neural network), CNN(convolutional neural network) 등 다양한 모델이 연구되었다. The technique described below uses a machine learning model that generates synthetic data for data protection. Machine learning is a field of artificial intelligence and refers to the field of developing algorithms so that computers can learn. A machine learning model or learning model refers to a model developed so that a computer can learn. There are various models such as artificial neural networks, decision trees, etc. depending on the approach to the learning model. Various models such as Recurrent Neural Networks (RNN), Feedforward Neural Network (FFNN), and Convolutional Neural Network (CNN) have been studied for neural network models.

이하 데이터처리장치가 데이터를 익명화하고 보호한다고 설명한다. 데이터처리장치는 데이터 처리 및 연산이 가능한 컴퓨팅 장치를 의미한다. 예컨대, 데이터처리장치는 서버, PC, 스마트기기, 프로그램이 임베디드된 칩 등일 수 있다.Hereinafter, it is explained that the data processing device anonymizes and protects data. The data processing device refers to a computing device capable of processing and calculating data. For example, the data processing device may be a server, a PC, a smart device, a chip embedded with a program, or the like.

도 1은 정보 보호 시스템에 대한 예이다. 도 1은 2가지 유형의 시스템을 도시한다.1 is an example of an information protection system. 1 shows two types of systems.

도 1(A)는 서버 형태의 데이터처리장치(150)를 포함하는 시스템(100)에 대한 예이다. 시스템(100)은 클라이언트 장치(111, 112) 및 데이터처리장치(150)를 포함한다.1A is an example of a system 100 including a data processing device 150 in the form of a server. The system 100 includes a client device 111 , 112 and a data processing device 150 .

도 1은 복수의 클라이언트 장치(111 및 112)를 예로 도시한다. 복수의 클라이언트 장치(111 및 112)는 각각 소스 데이터를 익명화한다. 클라이언트 장치(111, 112)는 소스 데이터를 외부 객체로부터 전달받거나, 자신이 소스 데이터를 생성할 수도 있다. 소스 데이터는 최초 일정한 클래스 정보를 갖는다. 소스 데이터가 본래 갖는 클래스 정보를 원본 클래스 정보라고 명명한다. 1 illustrates a plurality of client devices 111 and 112 as an example. The plurality of client devices 111 and 112 each anonymize the source data. The client devices 111 and 112 may receive source data from an external object or generate the source data themselves. The source data has first constant class information. The class information originally possessed by the source data is called original class information.

한편, 소스 데이터베이스(120)가 익명화된 데이터를 저장하고 있을 수 있다. 소스 데이터베이스(120)는 클라이언트 장치로부터 익명화된 데이터를 전달받아 관리할 수 있다.Meanwhile, the source database 120 may store anonymized data. The source database 120 may receive and manage anonymized data from the client device.

클라이언트 장치(111, 112)는 소스 데이터를 익명화하여, 소스 데이터에서 정보를 은닉한다. 자세한 익명화 과정은 후술한다. The client devices 111 and 112 anonymize the source data to conceal information in the source data. The detailed anonymization process will be described later.

데이터처리장치(150)는 익명화된 데이터를 수신한다. 데이터처리장치(150)는 익명화된 데이터에 대하여 일정한 처리를 한다. 데이터처리장치(150)는 익명화된 데이터의 라벨값을 보완하는 작업을 한다. 데이터처리장치(150)는 익명화된 데이터를 신경망 모델에 입력하여 합성 데이터를 생성한다. 이때, 데이터처리장치(150)는 분류기가 합성 데이터를 원본 클래스 정보로 분류할 수 있도록, 합성 데이터를 생성한다.The data processing device 150 receives the anonymized data. The data processing device 150 performs certain processing on the anonymized data. The data processing device 150 works to supplement the label value of the anonymized data. The data processing device 150 generates synthetic data by inputting the anonymized data into the neural network model. In this case, the data processing apparatus 150 generates the synthesized data so that the classifier can classify the synthesized data as original class information.

도 1은 분석장치(180 및 190)를 추가로 도시한다. 서버 형태의 분석장치(180) 및/또는 스마트기기 형태의 분석장치(190)는 데이터처리장치(150)가 생성한 합성 데이터를 수신한다. 분석장치(180 및/또는 190)는 분류기 모델을 사용하여 합성 데이터의 클래스 정보를 추출하고, 클래스 정보에 기반한 분석을 수행한다. 예컨대, 소스 데이터가 의료 데이터인 경우, 분석장치(180 및 190)는 합성 데이터 및 클래스 정보를 기반으로 환자에 대한 질병 진단이나 예후 예측을 할 수 있다.1 further shows the analyzers 180 and 190 . The server type analysis device 180 and/or the smart device type analysis device 190 receives the synthesized data generated by the data processing device 150 . The analyzer 180 and/or 190 extracts class information of the synthesized data by using the classifier model, and performs analysis based on the class information. For example, when the source data is medical data, the analysis devices 180 and 190 may diagnose a disease or predict a prognosis for a patient based on the synthetic data and class information.

도 1(B)는 컴퓨터 단말 형태의 데이터처리장치(200)를 도시한다. 데이터처리장치(200)는 유선 또는 문선 네트워크로 익명화된 데이터를 수신할 수 있다. 또는 도 1(B)와 같이 데이터처리장치(200)는 저장 매체에 저장된 익명화된 데이터를 입력받을 수 있다. 여기서, 익명화된 데이터는 도 1(A)에서 클라이언트 장치(111, 112)가 생성한 데이터와 같은 방법으로 변환된 데이터이다.1(B) shows a data processing apparatus 200 in the form of a computer terminal. The data processing apparatus 200 may receive anonymized data through a wired or a text network. Alternatively, as shown in FIG. 1B , the data processing apparatus 200 may receive anonymized data stored in a storage medium. Here, the anonymized data is data converted by the same method as the data generated by the client devices 111 and 112 in FIG. 1A .

데이터처리장치(200)는 익명화된 데이터에 대하여 일정한 처리를 한다. 데이터처리장치(200)는 익명화된 데이터의 라벨값을 보완하는 작업을 한다. 데이터처리장치(200)는 익명화된 데이터를 신경망 모델에 입력하여 합성 데이터를 생성한다. 이때, 데이터처리장치(200)는 분류기가 합성 데이터를 원본 클래스 정보로 분류할 수 있도록, 합성 데이터를 생성한다.The data processing apparatus 200 performs certain processing on the anonymized data. The data processing apparatus 200 works to supplement the label value of the anonymized data. The data processing apparatus 200 generates synthetic data by inputting the anonymized data into the neural network model. In this case, the data processing apparatus 200 generates the synthesized data so that the classifier can classify the synthesized data as original class information.

데이터처리장치(200)는 합성 데이터를 분석 소스 데이터베이스에 전달할 수 있다. 분석 소스 데이터베이스는 합성 데이터들을 보유하고 관리할 수 있다. 도 1(B)에 도시하지 않았지만, 도 1(A)와 같은 분석장치(180, 190)가 분석 소스 데이터베이스에 접근하여 합성 데이터를 이용한 분석을 할 수 있다. 분석장치는 분류기 모델을 사용하여 합성 데이터의 클래스 정보를 추출하고, 클래스 정보에 기반한 분석을 수행한다. 예컨대, 소스 데이터가 의료 데이터인 경우, 분석장치는 합성 데이터 및 클래스 정보를 기반으로 환자에 대한 질병 진단이나 예후 예측을 할 수 있다.The data processing apparatus 200 may transmit the synthesized data to the analysis source database. The analysis source database may hold and manage synthetic data. Although not shown in FIG. 1(B), the analysis apparatuses 180 and 190 as shown in FIG. 1(A) may access the analysis source database and perform analysis using the synthesized data. The analysis device extracts class information of the synthesized data using the classifier model, and performs analysis based on the class information. For example, when the source data is medical data, the analysis apparatus may diagnose a disease or predict a prognosis for a patient based on the synthetic data and class information.

도 1(A)에 도시한 바와 같이, 클라이언트 장치가 소스 데이터에 대한 초기 익명화를 할 수 있고, 서버가 최종적으로 합성 데이터를 생성할 수 있다. 하나의 단일 장치에서 소스 데이터 익명화 및 익명화된 데이터를 기준으로 합성 데이터를 생성할 수도 있다. 다만, 이하 설명의 편의를 위하여 클라이언트 및 서버를 갖는 시스템을 전제로 설명한다.As shown in FIG. 1A , the client device may initially anonymize the source data, and the server may finally generate the composite data. It is also possible to anonymize source data and generate synthetic data based on anonymized data in one single device. However, for convenience of description below, a system having a client and a server is assumed.

도 2는 정보 보호를 위한 시스템 아키텍처(300)에 대한 예이다. 도 2는 두 개의 데이터 처리 모델(310 및 320)을 도시한다. 데이터 처리 모델(310)은 소스 데이터를 일정하게 변환하여 익명화된 데이터를 생성한다. 데이터 처리 모델(320)은 데이터 처리 모델(310)이 익명화한 데이터를 추가 처리하여 클래스 정보가 보완된 합성 데이터를 생성한다. 데이터 처리 모델은 소스 데이터가 나타내는 클래스 정보를 유지하면서도 보안성을 갖는 서비스를 제공한다.2 is an example of a system architecture 300 for information protection. 2 shows two data processing models 310 and 320 . The data processing model 310 generates anonymized data by constantly transforming the source data. The data processing model 320 additionally processes the data anonymized by the data processing model 310 to generate synthetic data supplemented with class information. The data processing model provides services with security while maintaining class information indicated by source data.

데이터 처리 과정은 크게 두 가지 단계로 구성된다. 하나는 데이터의 익명화 과정(Randomization Phase)이고, 다른 하나는 라벨링 과정(Labeling phase)이다. 각 과정마다 데이터의 클래스 정보를 유지하기 위한 감사자 (auditor)를 둔다. 딥러닝 모델이 감사자 역할을 한다.The data processing process consists of two main steps. One is the data anonymization phase (Randomization Phase), and the other is the labeling phase (Labeling phase). For each process, there is an auditor to maintain the class information of the data. Deep learning models act as auditors.

클라이언트 장치가 익명화 과정을 수행한다. 클라이언트 장치는 소스 데이터를 익명화 기법으로 익명화하고, 동시에 대리 분류기(surrogate classifier)를 사용하여 클래스 정보를 유지한다. 클라이언트 장치 단에서 익명화를 수행하는 모델을 익명화 모델(310)이라고 명명한다.The client device performs the anonymization process. The client device anonymizes the source data using an anonymization technique, and at the same time maintains class information using a surrogate classifier. A model for performing anonymization at the client device end is called an anonymization model 310 .

서버는 생성모델(generative model)을 이용하여 합성 데이터를 생성하고, 타깃 분류기(target classifier)를 사용하여 클래스 정보를 유지한다. 서버는 최종적으로 익명화 서비스를 제공하는 서비스단이다. 서버에서 익명화된 데이터를 라벨링하는 모델을 라벨링 모델(320)이라고 명명한다.The server generates synthetic data using a generative model, and maintains class information using a target classifier. The server is the service group that ultimately provides the anonymization service. A model for labeling anonymized data in the server is called a labeling model 320 .

클라이언트단에서의 익명화 과정과 서버단에서의 라벨링 과정을 모두 나타낸다. 훈련 과정을 중심으로 익명화 모델(310)과 라벨링 모델(320)의 동작을 설명한다. It shows both the anonymization process at the client side and the labeling process at the server side. The operations of the anonymization model 310 and the labeling model 320 will be described with a focus on the training process.

한편, 훈련 과정은 클라이언트 장치에 제공될 모델과 서버에 제공될 모델에 대하여 각각 수행된다. 모델 훈련은 별도의 컴퓨팅 장치에서 수행될 수 있다.Meanwhile, the training process is performed for a model to be provided to the client device and a model to be provided to the server, respectively. Model training may be performed on a separate computing device.

훈련 데이터 세트 (x,y) ∈ (X, Y)가 주어진다고 하자. X는 입력데이터 세트이고, Y는 입력데이터별 클래스 정보 세트이다.Suppose we are given a training data set (x,y) ∈ (X, Y). X is an input data set, and Y is a class information set for each input data.

익명화 모델(310)에 대하여 먼저 설명한다. 클라이언트 장치는 소스 데이터에 대한 익명화를 수행한다. The anonymization model 310 will be described first. The client device anonymizes the source data.

익명화 모델(310)은 데이터 (x,y)를 입력받아 (

Figure pat00001
,y)를 출력한다.
Figure pat00002
는 익명화된 의료 데이터이고, y는 원본 클래스 정보(라벨값)이다.The anonymization model 310 receives data (x, y) (
Figure pat00001
,y) is output.
Figure pat00002
is the anonymized medical data, and y is the original class information (label value).

익명화 모델(310)은 익명화 함수 F를 사용하여 데이터를 익명화한다. 익명화 기법은 다양할 수 있다. 익명화 함수는 F는 입력데이터 x를

Figure pat00003
로 변환한다. 이 과정에서 입력데이터 x의 원본 클래스 정보 y가 변경될 수 있다. 입력데이터의 클래스 정보가 변경된다면, 익명화된 데이터를 이용한 분석 서비스가 제대로 제공되지 못한다.The anonymization model 310 anonymizes data using the anonymization function F. Anonymization techniques may vary. The anonymization function F is the input data x
Figure pat00003
convert to In this process, the original class information y of the input data x may be changed. If the class information of the input data is changed, the analysis service using the anonymized data is not provided properly.

익명화 모델(310)은 대리 분류기 Cs를 사용하여 입력데이터의 클래스 정보가 동일한 수준을 유지하도록 한다. The anonymization model 310 uses a surrogate classifier C s to maintain the same level of class information of input data.

익명화 함수 F에 대하여 설명한다. 이하 설명하는 익명화 함수 F는 익명화를 위한 다양한 함수 중 하나의 예이다.The anonymization function F will be described. The anonymization function F described below is an example of one of various functions for anonymization.

F는 OTP(one-time pad) 암호화 방식과 유사한 구조를 가질 수 있다. F는 입력데이터 x를 의사랜덤(pseudo-random) 출력

Figure pat00004
으로 변환한다. 익명화 과정은 다음과 같다.F may have a structure similar to an OTP (one-time pad) encryption method. F is a pseudo-random output of the input data x
Figure pat00004
convert to The anonymization process is as follows.

1. x ∈ Rd 를 비트 스트링 B(x) ∈ {0,1} l 로 변환한다. d는 데이터 차원(dimension)이고, l은 비트 스트링의 길이이다.1. Convert x ∈ R d into bit string B(x) ∈ {0,1} l . d is the data dimension, and l is the length of the bit string.

2. 시드값(seed) k ∈ {0,1} l 를 선택한다.2. Select the seed value k ∈ {0,1} l .

3. 의사랜덤 생성기

Figure pat00005
는 시드값 k가 입력받아, 랜덤 스트링 r을 출력한다. r =
Figure pat00006
(k)이다.3. Pseudorandom Generator
Figure pat00005
receives the seed value k and outputs a random string r. r =
Figure pat00006
(k).

4. 익명화 함수 F는 랜덤 스트링 r 및 B(x)가 입력받아, 합성 데이터

Figure pat00007
출력한다.
Figure pat00008
는 아래의 수학식 1과 같이 표현된다.4. The anonymization function F receives random strings r and B(x) as input, and synthesizes data
Figure pat00007
print out
Figure pat00008
is expressed as in Equation 1 below.

Figure pat00009
Figure pat00009

5. 사전에 훈련된 대리 분류기 Cs가 합성 데이터

Figure pat00010
를 입력 데이터로 삼아 클래스 정보 ys를 예측해본다. ys = Cs(
Figure pat00011
)이다.5. Pre-trained surrogate classifier C s is synthesized data
Figure pat00010
Predict the class information y s using as input data. y s = C s (
Figure pat00011
)to be.

6. ys가 x의 클래스 정보 y와 동일한지 확인하다. 만약, ys가 y와 동일하지 않다면, 상기 2 ~ 5의 과정을 반복한다. 즉, ys = y인 결과가 나올때 까지 x에 대한 익명화 과정을 반복한다.6. Check whether y s is the same as the class information y of x. If y s is not equal to y, repeat steps 2 to 5 above. That is, the anonymization process for x is repeated until the result is y s = y.

익명화 모델(310)이 익명화한 데이터를 초기 합성 데이터라고 명명할 수 있다.Data anonymized by the anonymization model 310 may be called initial synthetic data.

대리 분류기 Cs는 라벨링 모델(320)의 타깃 분류 C 기의 대리 모델에 해당한다. 대리 분류기 Cs는 타깃 분류기 C의 구성 중 특정 계층만으로 단순하게 구성된 모델이다. 대리 분류기 Cs는 타깃 분류기 C가 식별하기에 충분한 클래스 정보를 유지하도록 한다.The surrogate classifier C s corresponds to the surrogate model of the target classifier C group of the labeling model 320 . The surrogate classifier C s is a model simply composed of only a specific layer among the components of the target classifier C. The surrogate classifier C s ensures that the target classifier C retains enough class information to identify it.

대리 분류기 Cs는 보다 단순하게 구성하여, 클라이언트 장치 단에서 보다 빨리 데이터를 처리할 수 있다. The surrogate classifier C s can be configured more simply to process data faster at the client device end.

서비스단에서 사용되는 라벨링 모델(320)에 대하여 설명한다. 서버와 같은 장치는 클라이언트 장치가 익명화한 데이터(초기 합성 데이터)를 입력받아, 라벨 정보를 보완하는 동작을 수행한다. A labeling model 320 used in the service group will be described. A device such as a server receives data anonymized by the client device (initial synthetic data), and performs an operation to supplement label information.

라벨링 모델(320)은 GAN(Generative Adversarial Network)과 유사한 구조를 갖는다. GAN과의 차이점을 설명하기 위하여, 먼저 GAN에 대하여 간략하게 설명한다. The labeling model 320 has a structure similar to that of a Generative Adversarial Network (GAN). In order to explain the difference from the GAN, the GAN will be briefly described first.

GAN은 비지도학습모델에 해당한다. GAN은 생성자 모델 G(Generator) 및 판별 모델 D(Discriminator)를 포함한다. 생성자 모델 G은 입력 정보에 기반하여 데이터를 생성하는 모델이다. 판별 모델 D은 분류를 담당하는 모델이다. GAN은 데이터를 생성하는 생성 모델 G과 만들어진 데이터를 평가하는 판별 모델 D이 서로 대립적으로 학습해가며 성능을 점차 개선하는 개념에서 출발했다. 생성 모델과 판별모델은 각각 다양한 기계학습모델 중 어느 하나를 이용하여 생성될 수 있다. 예컨대, CNN, 오토인코더 등과 같은 모델을 통해 개별 모델이 구현될 수 있다. GAN is an unsupervised learning model. The GAN includes a generator model G (Generator) and a discriminator model D (Discriminator). The generator model G is a model that generates data based on input information. The discriminant model D is a model responsible for classification. GAN started from the concept that the generative model G that generates data and the discriminant model D that evaluates the generated data learn to each other and gradually improve the performance. The generative model and the discriminant model may be generated using any one of various machine learning models, respectively. For example, individual models may be implemented through models such as CNNs, autoencoders, and the like.

판별 모델 D은 생성된 데이터가 진짜인지 또는 가짜인지를 분류한다. 생성 모델 G은 잠재 코드 z를 입력받아 데이터를 생성하되 판별 모델 D을 속이기 위한 영상을 생성하도록 학습된다. 생성자 모델 G은 G(z) 데이터를 생성하고, 판별 모델 D은 G(z)에 대한 판별 결과 D(G(z))를 생성한다. 생성자 모델 G은 1-D(G(z)를 최소화하는 목적함수를 갖는다. 결국 D(G(z))가 1인 경우 최소가 되는데, 생성자 모델 G은 판별 모델 D(620)이 G(z) 영상을 본래 원본 영상이라고 착각할 수 있도록 학습된다.Discriminant model D classifies whether the generated data is real or fake. The generative model G receives the latent code z as input and generates data, but is trained to generate an image to fool the discriminant model D. The generator model G generates G(z) data, and the discriminant model D generates the discrimination result D(G(z)) for G(z). The generator model G has an objective function that minimizes 1-D(G(z). Eventually, it becomes a minimum when D(G(z)) is 1. The generator model G has a discriminant model D(620) equal to G(z) ) is learned so that the image can be mistaken for the original image.

라벨링 모델(320)은 생성자 모델 G와 타깃 분류기 C를 포함한다. 즉 라벨링 모델(320)은 GAN과 달리 판별 모델 D 대신에 타깃 분류기 C를 사용한다.The labeling model 320 includes a generator model G and a target classifier C. That is, the labeling model 320 uses the target classifier C instead of the discrimination model D, unlike the GAN.

생성자 모델 G는 익명화된 입력데이터

Figure pat00012
를 입력받아,
Figure pat00013
를 출력한다. Constructor model G anonymized input data
Figure pat00012
receive input,
Figure pat00013
to output

Figure pat00014
에 대하여, 생성자 모델 G는 조건부 확률 밀도 함수
Figure pat00015
에 의해 표현 가능한 다른 값으로 확률적인 맵핑을 한다. 즉,
Figure pat00016
이다. bracket
Figure pat00014
For , the generator model G is a conditional probability density function
Figure pat00015
Probabilistic mapping is performed with other values that can be expressed by . In other words,
Figure pat00016
to be.

생성자 모델 G의 목적함수는 타깃 분류기 C가 원본 클래스 정보를 분류하도록 만든다. 목적 함수 최적화는 타깃 분류기를 돕는 결과를 가져온다. 즉, 라벨링 모델(320)에서 생성자 모델 G는 GAN과 달리 분류기와 대립하지 않고, 타깃 분류기 C를 돕는 방향으로 학습된다.The objective function of the generator model G makes the target classifier C classify the original class information. The objective function optimization results in helping the target classifier. That is, in the labeling model 320, the generator model G does not conflict with the classifier, unlike the GAN, and is learned in a direction to help the target classifier C.

생성자 모델 G는 생성자와 데이터 분산 간의 쿨백-라이블러 발산(Kullback Leibler divergence, KLD)을 최소화하도록 학습된다.The generator model G is trained to minimize the Kullback-Leibler divergence (KLD) between the generator and the data variance.

이하 각 모델에서 사용되는 목적 함수에 대하여 보다 상세하게 설명한다.Hereinafter, the objective function used in each model will be described in more detail.

아래

Figure pat00017
Figure pat00018
Figure pat00019
는 각각 생성자 모델 G의 손실(loss), 타깃 분류기 C의 목적함수, 대리 분류기 CS의 목적함수를 나타낸다. 각 모델은 목적함수를 최소화하도록 학습된다.under
Figure pat00017
and
Figure pat00018
and
Figure pat00019
Represents the objective function, the objective function, each of the surrogate classifier C S G model constructor loss (loss), the target of the classifier C. Each model is trained to minimize the objective function.

생성자 모델 G는 익명화된 입력 데이터

Figure pat00020
를 입력받고, 합성 데이터
Figure pat00021
를 출력한다. 타깃 분류기 C는 입력 데이터에 대한 라벨값
Figure pat00022
를 예측(출력)한다. Constructor model or anonymized input data
Figure pat00020
receive input, and synthesized data
Figure pat00021
to output The target classifier C is the label value for the input data.
Figure pat00022
to predict (output).

훈련 과정에서 타깃 분류기 C는

Figure pat00023
를 입력받아
Figure pat00024
를 출력하고,
Figure pat00025
를 입력받아
Figure pat00026
를 출력한다. In the training process, the target classifier C is
Figure pat00023
take input
Figure pat00024
print out,
Figure pat00025
take input
Figure pat00026
to output

타깃 분류기 C는 아래 수학식 2로 표현되는 목적함수로 학습 된다. The target classifier C is trained with an objective function expressed by Equation 2 below.

Figure pat00027
Figure pat00027

CE는 크로스 엔트로피 손실(cross entropy loss)이다. CE is the cross entropy loss.

대리 분류기 CS의 아래 수학식 3으로 표현되는 목적함수로 학습 된다.Under the agency C S classifier is learned in the objective function, which is represented by the equation (3).

Figure pat00028
Figure pat00028

생성자 모델 G는 아래 수학식 4로 표현되는 목적함수로 학습되어, 최대한 정확한 라벨값을 출력하게 된다.The generator model G is trained as an objective function expressed by Equation 4 below, and outputs the most accurate label value.

Figure pat00029
Figure pat00029

Figure pat00030
는 타깃 분류기 C가 원본 데이터
Figure pat00031
를 입력받아 예측하는 클래스 라벨이고,
Figure pat00032
는 타깃 분류기 C가 합성 데이터
Figure pat00033
를 입력받아 예측하는 클래스 라벨이다.
Figure pat00030
The target classifier C is the source data
Figure pat00031
is the class label that receives and predicts
Figure pat00032
The target classifier C is the synthesized data
Figure pat00033
It is a class label that receives and predicts .

라벨링 모델(320)이 최초 합성 데이터를 입력받아, 최종적으로 생성하는 데이터를 최종 합성 데이터라고 명명할 수 있다.The labeling model 320 receives the initial synthetic data, and finally generated data may be named final synthetic data.

타깃 분류기 C는 입력되는 데이터에 대한 클래스를 분류한다. 타깃 분류기 C는 다양한 신경망 모델 중 어느 하나로 구현될 수 있다. 예컨대, 타깃 분류기 C는 CNN과 같은 모델 구조를 가질 수 있다. CNN을 가정하여, 간략하게 모델 구조를 설명한다.The target classifier C classifies the input data into classes. The target classifier C may be implemented as any one of various neural network models. For example, the target classifier C may have a model structure such as CNN. Assuming CNN, the model structure is briefly described.

CNN은 컨볼루션 계층 (convolution layer, Conv), 풀링 계층 (pooling layer, Pool) 및 전연결 계층(fully connected layer)을 포함한다. 또한, 계층들은 반복적으로 다수가 배치될 수 있다. CNN은 복수의 컨볼루션 계층, 복수의 풀링 계층, 복수의 계층을 포함하는 전연결 계층(Fully connected layer) 구조를 가질 수 있다. A CNN includes a convolution layer (Conv), a pooling layer (pool), and a fully connected layer. In addition, a plurality of layers may be repeatedly disposed. A CNN may have a fully connected layer structure including a plurality of convolutional layers, a plurality of pooling layers, and a plurality of layers.

컨볼루션 계층은 입력 이미지에 대한 컨볼루션 연산을 통해 특징맵(feature map)을 출력한다. 이때 컨볼루션 연산을 수행하는 필터(filter)를 커널(kernel) 이라고도 부른다. 필터의 크기를 필터 크기 또는 커널 크기라고 한다. 커널을 구성하는 연산 파라미터(parameter)를 커널 파라미터(kernel parameter), 필터 파라미터(filter parameter), 또는 가중치(weight)라고 한다. The convolution layer outputs a feature map through a convolution operation on the input image. In this case, a filter that performs a convolution operation is also called a kernel. The size of the filter is called the filter size or kernel size. Operation parameters constituting the kernel are called kernel parameters, filter parameters, or weights.

컨볼루션 계층은 컨볼루션 연산과 비선형 연산을 수행한다.The convolutional layer performs convolutional and nonlinear operations.

컨볼루션 연산은 일정한 크기의 윈도우에서 수행된다. 윈도우는 영상의 좌측 상단에서 우측 하단까지 한 칸씩 이동할 수 있고, 한 번에 이동하는 이동 크기를 조절할 수 있다. 이동 크기를 스트라이드(stride)라고 한다. 컨볼루션 계층은 입력이미지에서 윈도우를 이동하면서 입력이미지의 모든 영역에 대하여 컨볼루션 연산을 수행한다. 컨볼루션 계층은 영상의 가장 자리에 패딩(padding)을 하여 컨볼루션 연산 후 입력 영상의 차원을 유지할 수 있다.The convolution operation is performed in a window of a constant size. The window can be moved one space from the upper left to the lower right of the image, and the moving size can be adjusted at a time. The amount of movement is called the stride. The convolution layer performs a convolution operation on all regions of the input image while moving the window in the input image. The convolution layer may maintain the dimension of the input image after the convolution operation by padding the edge of the image.

비선형 연산 계층(nonlinear operation layer)은 뉴런(노드)에서 출력값을 결정하는 계층이다. 비선형 연산 계층은 전달 함수(transfer function)를 사용한다. 전달 함수는 Relu, sigmoid 함수 등이 있다. The nonlinear operation layer is a layer that determines output values from neurons (nodes). The nonlinear computation layer uses a transfer function. Transfer functions include Relu and sigmoid functions.

풀링 계층(pooling layer)은 컨볼루션 계층에서의 연산 결과로 얻은 특징맵을 서브 샘플링(sub sampling)한다. 풀링 연산은 최대 풀링(max pooling)과 평균 풀링(average pooling) 등이 있다. 최대 풀링은 윈도우 내에서 가장 큰 샘플 값을 선택한다. 평균 풀링은 윈도우에 포함된 값의 평균 값으로 샘플링한다.A pooling layer sub-sampling a feature map obtained as a result of an operation in the convolutional layer. Pooling operations include max pooling and average pooling. Maximum pooling selects the largest sample value within the window. Average pooling samples the average value of the values included in the window.

전연결 계층은 최종적으로 입력 영상을 분류한다. 전연결 계층은 이전 컨볼루션 계층에서 출력하는 값을 모두 입력받아 최종적인 분류를 한다. 예컨대, 전연결 계층은 소프트맥스(softmax) 함수를 사용하여 분류 결과를 출력할 수 있다.The preconnected layer finally classifies the input image. The all-connected layer receives all the values output from the previous convolutional layer and performs final classification. For example, the all-connection layer may output a classification result using a softmax function.

전술한 바와 같이 대리 분류기 CS는 타깃 분류기 C와 유사한 구조의 신경망 모델이다. 대리 분류기 CS는 타깃 분류기 C와 유사한 기능을 수행하면서, 보다 단순한 구성을 갖도록 구성될 수 있다. 예컨대, 대리 분류기 CS는 각 구성이 타깃 분류기 C의 계층 중 1개 또는 2개의 계층으로 구현될 수 있다. 즉, 타깃 분류기 C가 보다 깊은 딥러닝 모델을 구조를 갖고, 대리 분류기 CS는 심플한 딥러닝 모델에 해당한다.Representative sorter as described above, C S is the neural network model of the structure is similar to the target classifier C. Representative classifier C S is, it can be configured to have a simpler configuration and function similarly to a target classifier C. For example, surrogate classifier C S may be implemented in one or two layers of the layers of the respective structures The target classifier C. In other words, the target classifier C has a structure in deeper deep learning models, Deputy classifier C S corresponds to a simple deep learning model.

타깃 분류기 C는 복수의 컨볼루션 계층들, 복수의 비선형 연산 계층들, 복수의 풀링 계층들 및 복수의 계층들로 구성된 출력 계층을 포함할 수 있다. 예컨대, 대리 분류기 CS는 상기 타깃 분류기 C의 구성에서 복수의 컨볼루션 계층들 중 적어도 하나의 계층, 상기 복수의 비선형 연산 계층들 중 적어도 하나의 계층, 상기 복수의 풀링 계층들 중 적어도 하나의 계층 및 상기 출력 계층의 복수의 계층들 중 적어도 하나의 계층으로 구성될 수 있다.The target classifier C may include an output layer composed of a plurality of convolutional layers, a plurality of nonlinear computational layers, a plurality of pooling layers, and a plurality of layers. For example, surrogate classifier C S is at least one layer of the plurality of convolution layers at least one layer, at least one layer, said plurality of pooling layer of the plurality of non-linear operation layer of the Configuration of the target classifier C and at least one of a plurality of layers of the output layer.

전술한 바와 같이 익명화 과정은 클라이언트 장치에서 수행될 수 있다. 대리 분류기 CS를 가볍게 만들어서, 모바일 단말과 같은 클라이언트 장치도 큰 오버헤드 없이 익명화 과정을 수행하도록 하기 위함이다. 대리 분류기 CS가 리버스 엔지니어링과 같은 공격을 받아 모델을 구성하는 파라미터가 공개되는 경우라도, 타깃 분류기 C는 구조가 상이하여 서비스를 안정적으로 제공할 수 있다.As described above, the anonymization process may be performed in the client device. Creating a surrogate light sorter C S, it is to be also done with the anonymization process without significant overhead client device such as a mobile terminal. Even if the surrogate classifier C S to which a parameter constituting a model under attack, such as the reverse engineering disclosure, target classifier C may be different from the structure to provide a service in a stable manner.

도 3은 클라이언트와 서버로 구성된 시스템에서 데이터를 처리하는 과정(400)에 대한 예이다. 도 3에서 좌측은 클라이언트단에서 수행되는 과정이고, 우측은 서버단에서 수행되는 과정이다.3 is an example of a process 400 of processing data in a system including a client and a server. In FIG. 3, the left side is a process performed at the client end, and the right side is a process performed at the server end.

410 및 420 단계는 각 모델이 구축되는 과정이다. 개발자는 익명화 모델과 라벨링 모델을 설계하고 구축한다(410). 이때, 전술한 바와 같이 익명화 모델의 대리 분류기는 라벨링 모델의 타깃 분류기 일부 구성을 이용하여 설계할 수 있다.Steps 410 and 420 are processes in which each model is built. The developer designs and builds an anonymization model and a labeling model (410). In this case, as described above, the surrogate classifier of the anonymization model can be designed using some configurations of the target classifier of the labeling model.

이후, 설계된 신경망 모델에 대한 학습을 수행한다(420). 먼저, 익명화 모델의 대리 분류기를 학습한다. 대리 분류기는 수학식 1과 같이 익명화된 데이터에 대한 클래스 정보를 출력한다. 대리 분류기는 출력하는 클래스 정보가 원본 클래스 정보와 동일하도록 반복적으로 학습되어 마련된다. 대리 분류기의 학습이 완료되면, 라벨링 모델의 학습을 수행한다. 학습 과정은 전술한 바와 같다.Thereafter, learning is performed on the designed neural network model ( 420 ). First, we train the surrogate classifier of the anonymization model. The surrogate classifier outputs class information about the anonymized data as in Equation 1. The surrogate classifier is prepared by repeatedly learning so that the class information to be output is identical to the original class information. When the training of the surrogate classifier is completed, training of the labeling model is performed. The learning process is the same as described above.

익명화 모델 및 라벨링 모델의 학습은 별도의 컴퓨터 장치에서 수행될 수 있다. 학습이 종료되면, 개발자는 클라이언트 장치에 익명화 모델을 이식하고, 서버에 라벨링 모델을 이식한다(430). The training of the anonymization model and the labeling model may be performed on separate computer devices. When the learning is finished, the developer implants the anonymization model on the client device, and implants the labeling model on the server ( 430 ).

440 단계는 구축된 모델을 전제로, 데이터 보호 내지 익명화를 수행하는 과정에 해당한다. 클라이언트 장치는 소스 데이터를 입력받거나, 소스 데이터를 생성한다(441). 클라이언트 장치는 익명화 모델을 이용하여 소스 데이터에 대한 익명화를 하여 초기 합성 데이터를 생성한다(442). 클라이언트 장치는 초기 합성 데이터를 서버에 전달한다. 서버는 라벨링 모델을 이용하여 초기 합성 데이터에 대한 라벨링 과정을 수행한다(443). 라벨링 과정이 종료되면, 서버는 초기 합성 데이터에 대한 최종 합성 데이터를 생성하게 된다. 서버는 최종 합성 데이터를 출력할 수 있다(444).Step 440 corresponds to a process of data protection or anonymization on the premise of the built model. The client device receives source data or generates source data ( 441 ). The client device anonymizes the source data using the anonymization model to generate initial synthetic data (442). The client device passes the initial composite data to the server. The server performs a labeling process on the initial synthetic data using the labeling model ( 443 ). When the labeling process is finished, the server generates final composite data for the initial composite data. The server may output the final composite data (444).

서버가 학습된 라벨링 모델을 이용하여 최종 합성 데이터를 생성하는 경우, 생성자 모델만을 사용할 수 있다. 생성자 모델은 타깃 분류기가 원본 클래스를 분류하도록 최종 합성 데이터를 생성하기 때문이다. 따라서, 라벨링 모델을 이식하는 과정에서, 서버는 생성자 모델만을 입력받을 수 있다. 물론, 서버는 최종 합성 데이터를 생성하는 과정에서 생성자 모델에 대한 업데이트를 위하여 타깃 분류기 등을 포함하는 전체 라벨링 모델을 입력받을 수도 있다.When the server generates the final synthetic data using the learned labeling model, only the generator model can be used. This is because the generator model generates the final synthetic data for the target classifier to classify the original class. Therefore, in the process of porting the labeling model, the server can receive only the generator model as input. Of course, the server may receive the entire labeling model including the target classifier and the like to update the generator model in the process of generating the final synthetic data.

도 4는 데이터 익명화를 수행하는 데이터처리장치(500)의 구성에 대한 예이다. 데이터처리장치는 도 1의 데이터처리장차(150, 200)에 해당한다.4 is an example of the configuration of the data processing apparatus 500 for performing data anonymization. The data processing apparatus corresponds to the data processing apparatuses 150 and 200 of FIG. 1 .

데이터처리장치(500)는 저장 장치(510), 메모리(520), 연산장치(530), 인터페이스 장치(540) 및 통신 장치(550)를 포함한다.The data processing device 500 includes a storage device 510 , a memory 520 , an arithmetic device 530 , an interface device 540 , and a communication device 550 .

저장 장치(510)는 입력 데이터를 입력받아 출력 데이터를 출력하는 생성자 모델 및 상기 출력 데이터에 대한 클래스 정보를 분류하는 타깃 분류기를 포함하는 신경망 모델(라벨링 모델)을 저장한다. 저장 장치(510)는 학습단계에서 학습된 생성자 모델만을 저장할 수도 있다. 저장 장치(510)는 입력 데이터 처리, 신경망 모델 제어, 출력 데이터 처리 동작을 제어하는 소스 코드 내지 프로그램을 저장할 수 있다. 저장 장치(510)는 최초 합성 데이터 및 생성한 최종 합성 데이터를 저장할 수도 있다.The storage device 510 stores a neural network model (labeling model) including a generator model that receives input data and outputs output data and a target classifier that classifies class information on the output data. The storage device 510 may store only the generator model learned in the learning step. The storage device 510 may store source codes or programs for controlling input data processing, neural network model control, and output data processing operations. The storage device 510 may store the initial composite data and the generated final composite data.

메모리(520)는 데이터처리장치(500)가 수신한 입력 데이터(최초 합성 데이터) 및 최종 합성 데이터 생성 과정에서 발생하는 임시 데이터를 저장할 수 있다.The memory 520 may store input data (initial composite data) received by the data processing apparatus 500 and temporary data generated in the process of generating the final composite data.

인터페이스 장치(540)는 개발자 또는 사용자로부터 일정한 명령을 입력받는 장치이다. 인터페이스 장치(540)는 외부 입력장치로부터 일정한 명령을 입력받을 수 있다. 인터페이스 장치(540)는 물리적으로 연결된 외부 저장 장치로부터 신경망 모델, 신경망 모델에 대한 파라미터, 제어를 위한 프로그램을 입력받을 수 있다. 인터페이스 장치(540)는 최초 합성 데이터를 입력받을 수도 있다.The interface device 540 is a device that receives a predetermined command from a developer or a user. The interface device 540 may receive a predetermined command from an external input device. The interface device 540 may receive a neural network model, parameters for the neural network model, and a program for control from a physically connected external storage device. The interface device 540 may receive initial composite data.

통신 장치(550)는 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신 장치(550)는 외부 객체로부터 최초 합성 데이터를 수신할 수 있다. 통신 장치(550)는 생성한 최종 합성 데이터를 분석 장치나 DB에 전송할 수 있다.The communication device 550 refers to a configuration for receiving and transmitting predetermined information through a network. The communication device 550 may receive initial composite data from an external object. The communication device 550 may transmit the generated final synthesized data to an analysis device or a DB.

통신 장치(550) 내지 인터페이스 장치(540)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 통신 장치(550) 내지 인터페이스 장치(540)를 입력장치라고 명명할 수도 있다.The communication device 550 or the interface device 540 are devices that receive predetermined data or commands from the outside. The communication device 550 or the interface device 540 may be referred to as an input device.

연산 장치(530)는 저장장치(510)에 저장된 프로그램 및 신경망 모델을 이용하여 최종 합성 데이터를 생성한다. 연산 장치(530)는 초기 합성 데이터를 신경망 모델에 입력하여 생성자 모델이 최종 합성 데이터를 출력하게 한다. 연산 장치(530)는 최종 합성 데이터 생성 과정에서 역전사로 전달되는 정보를 기준으로 생성자 모델 및 타깃 분류기를 업데이트(파라미터 갱신)할 수도 있다. 연산 장치(530)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다. The computing device 530 generates final synthesized data using the program and the neural network model stored in the storage device 510 . The calculation unit 530 inputs the initial synthesized data to the neural network model so that the generator model outputs the final synthesized data. The computing device 530 may update the generator model and the target classifier (parameter update) based on the information transferred to the reverse transcription during the final synthesis data generation process. The computing device 530 may be a device such as a processor, an AP, or a program embedded chip that processes data and processes a predetermined operation.

이하 전술한 데이터 보호(익명화) 기법의 효과 검증을 위한 실험 결과를 설명한다. Hereinafter, experimental results for verifying the effectiveness of the above-described data protection (anonymization) technique will be described.

실험을 위하여 의료 데이터를 사용하였다. UCI 기계 학습 리포지토리(repository)에 있는 Wisconsin 유방암, 간암, 전립선암 및 심장병 데이터를 사용하였다. 각 데이터 세트는 연령, 성별, 혈압, 흉통 타입(chest pain type), 혈청 콜레스테롤(mg / dl), 공복 혈당, 휴지 심전도, 최대 심박수, 운동 유발 협심증, 형광 현미경으로 표지된 주요 혈관 개수 등과 같은 특징들 중 일부 데이터를 갖는다. Medical data were used for the experiment. Wisconsin breast, liver, prostate and heart disease data from the UCI machine learning repository were used. Each data set has characteristics such as age, sex, blood pressure, chest pain type, serum cholesterol (mg/dl), fasting blood glucose, resting electrocardiogram, maximum heart rate, exercise-induced angina, number of major vessels labeled with fluorescence microscopy, etc. Some of them have data.

전술한 데이터 보호 기법과 비교를 위하여, 종래 기법으로 DP-GAN(Xie, L., Differentially private generative adversarial network. arXiv preprint arXiv:1802.06739, 2018)을 사용하였다. DP-GAN은 4개의 딥러닝 분류기를 사용하는데, 4개의 분류기는 "Kaggle competitions"을 이용하여 데이터 세트에서 높은 진단 결과를 보이는 분류기로 선택되었다. 실험에서 5배 교차 검증을 하여 평균 및 분산 값을 얻었다. For comparison with the aforementioned data protection technique, DP-GAN (Xie, L., Differentially private generative adversarial network. arXiv preprint arXiv:1802.06739, 2018) was used as a conventional technique. DP-GAN uses four deep learning classifiers, which are selected as classifiers with high diagnostic results in the dataset using "Kaggle competitions". Five-fold cross-validation was performed in the experiment to obtain mean and variance values.

생성자 모델은 커널 크기 3 및 스트라이드 크기 1을 갖는 10개의 계층으로 구성하였다. 10개의 계층에서 첫 번째 계층은 128개 필터를 갖고, 두 번째 계층은 62개 필터를 갖고, 세 번째 계층은 32개 필터를 갖고, 네 번째 계층은 16개 필터를 갖고, 다섯 번째 계층은 8개 필터를 갖는다. 나머지 5개 계층은 처음 5개의 계층과 역구조를 갖는다.The generator model consisted of 10 layers with kernel size 3 and stride size 1. In 10 layers, the first layer has 128 filters, the second layer has 62 filters, the third layer has 32 filters, the fourth layer has 16 filters, and the fifth layer has 8 filters. have a filter The remaining 5 layers have the inverse structure of the first 5 layers.

대리 분류기는 31개 필터를 갖는 하나의 계층 및 스트라이드 1인 3 크기의 커널로 구성하였다. 마지막 계층은 ReLU 및 tanh를 활성화 함수로 사용하였다.The surrogate classifier consists of one layer with 31 filters and a kernel of size 3 with a stride of 1. The last layer used ReLU and tanh as activation functions.

(타깃 분류기 구성은?)(What is the target classifier configuration?)

도 5는 데이터 익명화 효과를 비교한 결과이다. 도 5는 4개의 데이터 세트를 이용한 실험 결과이다. 도 5(A)는 상관 계수를 기준으로 효과를 비교한 결과이다. 상관 계수(correlation coefficient)는 원본 샘플과 익명화된 샘플의 선형 관계를 측정한 값이다. 도 5(B)는 정확도를 기준으로 효과를 비교한 결과이다. 정확도(accuracy)는 익명화된 샘플의 클래스 정보에 대한 정답율이다. 도 5(C)는 AUPRC(area under the precision-recall curve)을 기준으로 효과를 비교한 결과이다. AUPRC는 진단 성능을 평가하기 위하여 사용되었다.5 is a comparison result of data anonymization effect. 5 is an experimental result using four data sets. 5(A) is a result of comparing the effects based on the correlation coefficient. A correlation coefficient is a value obtained by measuring a linear relationship between an original sample and an anonymized sample. 5(B) is a result of comparing effects based on accuracy. Accuracy is the percentage of correct answers for the class information of the anonymized sample. 5(C) is a result of comparing the effects based on the area under the precision-recall curve (AUPRC). AUPRC was used to evaluate diagnostic performance.

도 5를 살펴보면, 전술한 데이터 보호 기법이 DP-GAN에 비하여 전반적으로 정확도 및 AUPRC가 높다는 것을 알 수 있다. 동시에 원본 데이터와의 상관 관계는 전술한 데이터 보호 기법이 DP-GAN에 비하여 낮았다.Referring to FIG. 5 , it can be seen that the above-described data protection scheme has higher overall accuracy and AUPRC compared to DP-GAN. At the same time, the correlation with the original data was lower in the aforementioned data protection technique than in DP-GAN.

도 6은 텍스트 영상에 대한 익명화를 수행한 결과를 비교한 예이다. 도 6은 MNIST 데이터 세트를 이용하여 영상을 생성한 결과이다. 도 6(A)가 전술한 데이터 보호 기법을 사용하여 생성한 영상이다. 도 6(B) 내지 도 6(E)는 DP-GAN을 사용하여 생성한 영상이다. 도 6을 살펴보면, 전술한 데이터 보호 기법이 분류 예측 점수가 동일하면서 DP-GAN에 비하여 익명화 성능이 더 좋다는 것을 알 수 있다. 6 is an example comparing results of anonymization on text images. 6 is a result of generating an image using the MNIST data set. 6(A) is an image generated using the data protection technique described above. 6(B) to 6(E) are images generated using a DP-GAN. Referring to FIG. 6 , it can be seen that the above-described data protection technique has better anonymization performance compared to DP-GAN while having the same classification prediction score.

또한, 상술한 바와 같은 입력 데이터 익명화 과정, 익명화된 데이터의 라벨링 과정 및 전체 데이터 익명화 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 일시적 또는 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the input data anonymization process, the labeling process of the anonymized data, and the entire data anonymization method as described above may be implemented as a program (or application) including an executable algorithm that can be executed in a computer. The program may be provided by being stored in a temporary or non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM (read-only memory), PROM (programmable read only memory), EPROM(Erasable PROM, EPROM) 또는 EEPROM(Electrically EPROM) 또는 플래시 메모리 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, etc., and can be read by a device. Specifically, the various applications or programs described above are CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM (read-only memory), PROM (programmable read only memory), EPROM (Erasable PROM, EPROM) Alternatively, it may be provided by being stored in a non-transitory readable medium such as an Electrically EPROM (EEPROM) or a flash memory.

일시적 판독 가능 매체는 스태틱 램(Static RAM,SRAM), 다이내믹 램(Dynamic RAM,DRAM), 싱크로너스 디램 (Synchronous DRAM,SDRAM), 2배속 SDRAM(Double Data Rate SDRAM,DDR SDRAM),증강형 SDRAM(Enhanced SDRAM,ESDRAM), 동기화 DRAM(Synclink DRAM,SLDRAM) 및 직접 램버스 램(Direct Rambus RAM,DRRAM) 과 같은 다양한 RAM을 의미한다.Temporarily readable media include Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (Enhanced SDRAM) It refers to various RAMs such as SDRAM, ESDRAM), Synclink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM).

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.This embodiment and the drawings attached to this specification only clearly show a part of the technical idea included in the above-described technology, and within the scope of the technical idea included in the specification and drawings of the aforementioned technology, those skilled in the art can easily It will be apparent that all inferred modified examples and specific embodiments are included in the scope of the above-described technology.

Claims (15)

제1 데이터처리장치가 소스 데이터를 익명화한 초기 합성 데이터를 생성하는 단계;
제2 데이터처리장치가 상기 초기 합성 데이터를 입력받는 단계; 및
상기 제2 데이터처리장치가 데이터를 생성하는 생성자 모델에 상기 초기 합성 데이터를 입력하고, 상기 생성자 모델이 출력하는 데이터를 최종 합성 데이터로 삼는 단계를 포함하되,
상기 생성자 모델은 학습과정에서 상기 최종 합성 데이터에 대한 클래스 정보를 분류하는 타깃 분류기가 원본 클래스 정보를 출력하도록 역전사 정보를 받아 학습된 모델인 신경망 모델을 이용한 정보 보호 방법.
generating, by the first data processing device, initial synthesized data anonymized from source data;
receiving, by a second data processing device, the initial synthesized data; and
and inputting, by the second data processing apparatus, the initial synthesized data into a generator model that generates data, and using data output by the generator model as final synthesized data,
The generator model is an information protection method using a neural network model, which is a model learned by receiving reverse transcription information so that a target classifier that classifies class information for the final synthetic data in a learning process outputs original class information.
제1항에 있어서,
상기 제1 데이터처리장치는 클라이언트 장치이고, 상기 제2 데이터처리장치는 서버인 신경망 모델을 이용한 정보 보호 방법.
According to claim 1,
The information protection method using a neural network model, wherein the first data processing device is a client device, and the second data processing device is a server.
제1항에 있어서,
상기 초기 합성 데이터를 생성하는 단계에서,
상기 제1 데이터처리장치는 상기 소스 데이터를 랜덤한 비트 스트링과 연산하여 상기 초기 합성 데이터를 생성하는 제1 단계; 및
상기 제1 데이터처리장치는 상기 초기 합성 데이터를 클래스 분류를 위한 대리 분류기에 입력하는 제2 단계; 및
상기 제1 데이터처리장치는 상기 대리 분류기에서 출력되는 클래스 정보와 상기 소스 데이터의 원본 클래스 정보를 비교하는 제3 단계를 포함하되,
상기 제1 데이터처리장치는 상기 출력되는 클래스 정보와 상기 원본 클래스 정보가 동일하지 않은 경우, 상기 제1 단계 내지 상기 제3 단계 과정을 반복하는 신경망 모델을 이용한 정보 보호 방법.
According to claim 1,
In the step of generating the initial synthetic data,
a first step of generating, by the first data processing apparatus, the initial composite data by calculating the source data with a random bit string; and
a second step of inputting, by the first data processing apparatus, the initial synthesized data to a surrogate classifier for class classification; and
The first data processing apparatus includes a third step of comparing the class information output from the surrogate classifier with the original class information of the source data,
The first data processing apparatus is an information protection method using a neural network model in which the output class information and the original class information are not the same, repeating the process of the first to the third step.
제3항에 있어서,
상기 타깃 분류기는 복수의 컨볼루션 계층들, 복수의 비선형 연산 계층들, 복수의 풀링 계층들 및 복수의 계층들로 구성된 출력 계층을 포함하고,
상기 대리 분류기는 상기 복수의 컨볼루션 계층들 중 적어도 하나의 계층, 상기 복수의 비선형 연산 계층들 중 적어도 하나의 계층, 상기 복수의 풀링 계층들 중 적어도 하나의 계층 및 상기 출력 계층의 복수의 계층들 중 적어도 하나의 계층을 포함하는 신경망 모델을 이용한 정보 보호 방법.
4. The method of claim 3,
The target classifier includes an output layer consisting of a plurality of convolutional layers, a plurality of nonlinear computational layers, a plurality of pooling layers, and a plurality of layers,
The surrogate classifier includes at least one of the plurality of convolutional layers, at least one of the plurality of nonlinear computational layers, at least one of the plurality of pooling layers, and a plurality of layers of the output layer. An information protection method using a neural network model including at least one layer of
제1항에 있어서,
상기 제2 데이터처리장치는 입력데이터를 입력받아 출력 데이터를 출력하는 상기 생성자 모델 및 상기 출력 데이터에 대한 클래스 정보를 분류하는 타깃 분류기를 포함하는 신경망 모델을 이용하여 상기 최종 합성 데이터를 생성하되,
상기 타깃 분류기는 상기 소스 데이터를 입력받아 출력하는 제1 클래스 정보와 상기 출력 데이터를 입력받아 출력하는 제2 클래스 정보 사이의 손실(loss)을 최소화하도록 학습되고,
상기 생성자 모델은 상기 출력 데이터를 입력받아 출력하는 클래스 정보가 상기 입력데이터의 원본 클래스 정보와 차이가 최소화하도록 학습되는 신경망 모델을 이용한 정보 보호 방법.
According to claim 1,
The second data processing apparatus generates the final synthesized data using a neural network model including the generator model for receiving input data and outputting output data and a target classifier for classifying class information on the output data,
The target classifier is trained to minimize loss between first class information that receives and outputs the source data and second class information that receives and outputs the output data,
The generator model is an information protection method using a neural network model in which class information to receive and output the output data is learned such that a difference from the original class information of the input data is minimized.
제1항에 있어서,
상기 타깃 분류기는 아래 수식으로 표현되는 목적함수로 학습되는 신경망 모델을 이용한 정보 보호 방법.
Figure pat00034

(LC는 상기 목적함수이고, CE는 크로스 엔트로피 손실(cross entropy loss), y는 소스 데이터의 원본 클래스 정보,
Figure pat00035
는 상기 소스 데이터를 입력받아 상기 타깃 분류기가 출력하는 클래스 정보,
Figure pat00036
는 상기 생성자 모델이 출력하는 데이터를 입력받아 상기 타깃 분류기가 출력하는 클래스 정보임)
According to claim 1,
The target classifier is an information protection method using a neural network model trained with an objective function expressed by the following equation.
Figure pat00034

(L C is the objective function, CE is cross entropy loss, y is the original class information of the source data,
Figure pat00035
is class information that receives the source data and outputs the target classifier;
Figure pat00036
is class information output by the target classifier after receiving the data output by the generator model)
소스 데이터를 익명화한 초기 합성 데이터를 입력받는 입력장치;
입력데이터를 입력받아 출력 데이터를 출력하는 생성자 모델 및 상기 출력 데이터에 대한 클래스 정보를 분류하는 타깃 분류기를 포함하는 신경망 모델을 저장하는 저장장치; 및
상기 초기 합성 데이터를 상기 신경망 모델에 입력하여 상기 생성자 모델이 최종 합성 데이터를 출력하게 하는 연산장치를 포함하되,
상기 생성자 모델은 학습과정에서 상기 출력 데이터를 입력받아 출력하는 클래스 정보가 상기 입력데이터의 원본 클래스 정보와 차이가 최소화하도록 학습된 모델인 신경망 모델을 이용하여 데이터를 보호하는 데이터처리장치.
an input device for receiving initial synthetic data anonymized from source data;
a storage device for storing a neural network model including a generator model for receiving input data and outputting output data and a target classifier for classifying class information on the output data; and
and a computing device that inputs the initial synthesized data to the neural network model and causes the generator model to output final synthesized data,
The generator model is a data processing apparatus for protecting data using a neural network model, which is a model trained so that the class information that receives and outputs the output data in the learning process has a minimal difference from the original class information of the input data.
제7항에 있어서,
상기 초기 합성 데이터는 상기 소스 데이터를 랜덤한 비트 스트링과 연산하여 생성되고,
상기 초기 합성 데이터는 대리 분류기에 상기 초기 합성 데이터를 입력하여 출력되는 클래스 정보와 상기 소스 데이터의 원본 클래스 정보가 동일한 경우에만 상기 입력장치에 입력되는 신경망 모델을 이용하여 데이터를 보호하는 데이터처리장치.
8. The method of claim 7,
The initial composite data is generated by operating the source data with a random bit string,
The initial synthesized data is a data processing apparatus for protecting data using a neural network model input to the input device only when class information output by inputting the initial synthesized data to a surrogate classifier and the original class information of the source data are the same.
제7항에 있어서,
상기 타깃 분류기는 상기 소스 데이터를 입력받아 출력하는 제1 클래스 정보와 상기 출력 데이터를 입력받아 출력하는 제2 클래스 정보 사이의 손실(loss)을 최소화하도록 학습되고,
상기 생성자 모델은 상기 출력 데이터를 입력받아 출력하는 클래스 정보가 상기 입력데이터의 원본 클래스 정보와 차이가 최소화하도록 학습되는 신경망 모델을 이용하여 데이터를 보호하는 데이터처리장치.
8. The method of claim 7,
The target classifier is trained to minimize loss between first class information that receives and outputs the source data and second class information that receives and outputs the output data,
The generator model is a data processing apparatus for protecting data using a neural network model in which class information to receive and output the output data is trained to minimize a difference from the original class information of the input data.
제7항에 있어서,
상기 타깃 분류기는 아래 수식으로 표현되는 목적함수로 학습되는 신경망 모델을 이용하여 데이터를 보호하는 데이터처리장치.
Figure pat00037

(LC는 상기 목적함수이고, CE는 크로스 엔트로피 손실(cross entropy loss), y는 소스 데이터의 원본 클래스 정보,
Figure pat00038
는 상기 소스 데이터를 입력받아 상기 타깃 분류기가 출력하는 클래스 정보,
Figure pat00039
는 상기 생성자 모델이 출력하는 데이터를 입력받아 상기 타깃 분류기가 출력하는 클래스 정보임)
8. The method of claim 7,
The target classifier is a data processing device that protects data using a neural network model trained with an objective function expressed by the following equation.
Figure pat00037

(L C is the objective function, CE is cross entropy loss, y is the original class information of the source data,
Figure pat00038
is class information that receives the source data and outputs the target classifier;
Figure pat00039
is class information output by the target classifier after receiving the data output by the generator model)
소스 데이터를 익명화하여 초기 합성 데이터를 생성하는 클라이언트 장치; 및
상기 초기 합성 데이터를 신경망 모델에 입력하여, 최종 합성 데이터를 생성하는 익명화 서버를 포함하되,
상기 신경망 모델은 입력데이터를 입력받아 출력 데이터를 출력하는 생성자 모델 및 상기 출력 데이터에 대한 클래스 정보를 분류하는 타깃 분류기를 포함하고,
상기 생성자 모델은 상기 출력 데이터를 입력받아 출력하는 클래스 정보가 상기 입력데이터의 원본 클래스 정보와 차이가 최소화하도록 학습된 모델인 데이터 보호 시스템.
a client device that anonymizes the source data to generate initial synthetic data; and
An anonymization server that inputs the initial synthetic data to a neural network model and generates final synthetic data,
The neural network model includes a generator model that receives input data and outputs output data, and a target classifier that classifies class information on the output data,
The generator model is a data protection system that is a model that is trained to minimize the difference between the class information that receives the output data and outputs the class information from the original class information of the input data.
제11항에 있어서,
상기 클라이언트 장치는 대리 분류기에 상기 초기 합성 데이터를 입력하여 출력되는 클래스 정보와 상기 소스 데이터의 원본 클래스 정보가 동일한 경우에만 상기 초기 합성 데이터를 상기 익명화 서버에 전달하는 데이터 보호 시스템.
12. The method of claim 11,
The client device inputs the initial synthesized data to the proxy classifier and transmits the initial synthesized data to the anonymization server only when the class information outputted and the original class information of the source data are the same.
제11항에 있어서,
상기 타깃 분류기는 상기 소스 데이터를 입력받아 출력하는 제1 클래스 정보와 상기 출력 데이터를 입력받아 출력하는 제2 클래스 정보 사이의 손실(loss)을 최소화하도록 학습되고,
상기 생성자 모델은 상기 출력 데이터를 입력받아 출력하는 클래스 정보가 상기 입력데이터의 원본 클래스 정보와 차이가 최소화하도록 학습되는 데이터 보호 시스템.
12. The method of claim 11,
The target classifier is trained to minimize loss between first class information that receives and outputs the source data and second class information that receives and outputs the output data,
The generator model is a data protection system for receiving the output data and learning to minimize the difference between the output class information and the original class information of the input data.
제11항에 있어서,
상기 타깃 분류기는 아래 수식으로 표현되는 목적함수로 학습되는 데이터 보호 시스템.
Figure pat00040

(LC는 상기 목적함수이고, CE는 크로스 엔트로피 손실(cross entropy loss), y는 소스 데이터의 원본 클래스 정보,
Figure pat00041
는 상기 소스 데이터를 입력받아 상기 타깃 분류기가 출력하는 클래스 정보,
Figure pat00042
는 상기 생성자 모델이 출력하는 데이터를 입력받아 상기 타깃 분류기가 출력하는 클래스 정보임)
12. The method of claim 11,
The target classifier is a data protection system that is learned by an objective function expressed by the following equation.
Figure pat00040

(L C is the objective function, CE is cross entropy loss, y is the original class information of the source data,
Figure pat00041
is class information that receives the source data and outputs the target classifier;
Figure pat00042
is class information output by the target classifier after receiving the data output by the generator model)
제11항에 있어서,
상기 최종 합성 데이터를 입력받아 클래스 정보를 추출하는 분류기를 이용하여 상기 최종 합성 데이터의 라벨값을 추출하는 분석장치를 더 포함하는 데이터 보호 시스템.
12. The method of claim 11,
and an analysis device for extracting a label value of the final synthesized data using a classifier that receives the final synthesized data and extracts class information.
KR1020190174502A 2019-12-24 2019-12-24 Privacy preserving method based on neural network and data processing apparatus KR102297548B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190174502A KR102297548B1 (en) 2019-12-24 2019-12-24 Privacy preserving method based on neural network and data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190174502A KR102297548B1 (en) 2019-12-24 2019-12-24 Privacy preserving method based on neural network and data processing apparatus

Publications (2)

Publication Number Publication Date
KR20210082004A true KR20210082004A (en) 2021-07-02
KR102297548B1 KR102297548B1 (en) 2021-09-02

Family

ID=76897293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190174502A KR102297548B1 (en) 2019-12-24 2019-12-24 Privacy preserving method based on neural network and data processing apparatus

Country Status (1)

Country Link
KR (1) KR102297548B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642664A (en) * 2021-08-24 2021-11-12 安徽大学 Privacy protection image classification method based on federal learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003106A (en) * 2008-06-20 2010-01-07 Nippon Telegr & Teleph Corp <Ntt> Classification model generation device, classification device, classification model generation method, classification method, classification model generation program, classification program and recording medium
JP2013171329A (en) * 2012-02-17 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> Data classification predicting device, method and program
KR20140083432A (en) * 2012-12-26 2014-07-04 충북대학교 산학협력단 Associative classification approach for prediction target data in the large multi class data
KR20180098869A (en) * 2017-02-27 2018-09-05 재단법인 아산사회복지재단 method for Information processing in medical images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003106A (en) * 2008-06-20 2010-01-07 Nippon Telegr & Teleph Corp <Ntt> Classification model generation device, classification device, classification model generation method, classification method, classification model generation program, classification program and recording medium
JP2013171329A (en) * 2012-02-17 2013-09-02 Nippon Telegr & Teleph Corp <Ntt> Data classification predicting device, method and program
KR20140083432A (en) * 2012-12-26 2014-07-04 충북대학교 산학협력단 Associative classification approach for prediction target data in the large multi class data
KR20180098869A (en) * 2017-02-27 2018-09-05 재단법인 아산사회복지재단 method for Information processing in medical images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Beaulieu-Jones, B.K., Wu, Z.S., Williams, C., Lee, R., Bhavnani, S.P., Byrd, J.B., Greene, C.S., Privacy-preserving generative deep neural networks support clinical data sharing. Circulation: Cardiovascular Quality and Outcomes 12(7), e005122, 2019

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642664A (en) * 2021-08-24 2021-11-12 安徽大学 Privacy protection image classification method based on federal learning
CN113642664B (en) * 2021-08-24 2024-02-20 安徽大学 Privacy protection image classification method based on federal learning

Also Published As

Publication number Publication date
KR102297548B1 (en) 2021-09-02

Similar Documents

Publication Publication Date Title
Gorban et al. How deep should be the depth of convolutional neural networks: a backyard dog case study
WO2017122785A1 (en) Systems and methods for multimodal generative machine learning
US20140310218A1 (en) High-Order Semi-RBMs and Deep Gated Neural Networks for Feature Interaction Identification and Non-Linear Semantic Indexing
Bock et al. Machine learning for biomedical time series classification: from shapelets to deep learning
Yaqoob et al. Applications and techniques of machine learning in cancer classification: A systematic review
Josphineleela et al. A multi-stage faster RCNN-based iSPLInception for skin disease classification using novel optimization
Joshi et al. Deep learning approach for brain tumor classification using metaheuristic optimization with gene expression data
Bhardwaj et al. Computational biology in the lens of CNN
Arya et al. Improving the robustness and stability of a machine learning model for breast cancer prognosis through the use of multi-modal classifiers
KR102297548B1 (en) Privacy preserving method based on neural network and data processing apparatus
Vaiyapuri et al. Computational Intelligence‐Based Melanoma Detection and Classification Using Dermoscopic Images
Ramesh et al. Early recognition of skin malignancy in images based on convolutional networks by using dynamic system model
Shukla et al. Application of deep learning in biological big data analysis
EP4009220A1 (en) Method and apparatus for decentralized supervised learning in nlp applications
Wlodarczak Springer: deep learning in eHealth
Cohen et al. Deepbrain: Functional representation of neural in-situ hybridization images for gene ontology classification using deep convolutional autoencoders
Alzubaidi et al. Deep mining from omics data
KR20220166116A (en) Metastasis of lymph node predicting method using image of endoscopically resected specimens in early colorectal cancer and analysis apparatus
Quazi et al. Image Classification and Semantic Segmentation with Deep Learning
Dong et al. Advancing Drug Discovery with Deep Learning: Harnessing Reinforcement Learning and One-Shot Learning for Molecular Design in Low-Data Situations
Kose et al. Deep Learning Architectures for Medical Diagnosis
Shuvon et al. Skin disease detection and classification using deep learning
Morales et al. Enhancing breast cancer classification via information and multi-model integration
Nie et al. Adversarial and Implicit Modality Imputation with Applications to Depression Early Detection
Kumar et al. Artificial Intelligence and Biotechnology: The Golden Age of Medical Research

Legal Events

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