KR20230056422A - Method and apparatus for generating synthetic data - Google Patents

Method and apparatus for generating synthetic data Download PDF

Info

Publication number
KR20230056422A
KR20230056422A KR1020210140427A KR20210140427A KR20230056422A KR 20230056422 A KR20230056422 A KR 20230056422A KR 1020210140427 A KR1020210140427 A KR 1020210140427A KR 20210140427 A KR20210140427 A KR 20210140427A KR 20230056422 A KR20230056422 A KR 20230056422A
Authority
KR
South Korea
Prior art keywords
data
generating
conversion
categorical
input vector
Prior art date
Application number
KR1020210140427A
Other languages
Korean (ko)
Inventor
김민정
노영민
정용현
이재우
Original Assignee
삼성에스디에스 주식회사
유니버시티 오브 조지아 리서치 파운데이션 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사, 유니버시티 오브 조지아 리서치 파운데이션 인코퍼레이티드 filed Critical 삼성에스디에스 주식회사
Priority to KR1020210140427A priority Critical patent/KR20230056422A/en
Publication of KR20230056422A publication Critical patent/KR20230056422A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

Disclosed are a method for generating synthetic data and an apparatus thereof. To this end, the apparatus for generating synthetic data according to one embodiment of the present invention may comprise: a data separating unit which separates original data into continuous data and categorical data; a data conversion unit which generates conversion data in which categorical data is converted into a continuous type; and a data analysis unit which deduces the latent vector of an input vector composed of the continuous data and the conversion data based on a normalizing flow to which differential privacy is applied, and the transformation function of the input vector and the latent vector.

Description

재현 데이터를 생성하기 위한 방법 및 장치{METHOD AND APPARATUS FOR GENERATING SYNTHETIC DATA}Method and apparatus for generating reproducible data {METHOD AND APPARATUS FOR GENERATING SYNTHETIC DATA}

개시되는 실시예들은 재현 데이터 생성 기술과 관련된다.The disclosed embodiments relate to reproduction data generation technology.

일반적으로, 테이블 형식 데이터(tabular data) 대상 재현 데이터 생성 기술은 통계적 모델링 혹은 딥러닝을 이용한 모델링을 기반하여 개발되어 왔다. 특히 딥러닝 모형으로 생성한 재현 데이터는 퀄리티가 높아 많이 사용되고 있으나, 여러 공격기법들로 인하여 원본 데이터의 민감 정보가 드러나는 문제가 있다. 이를 해결하기 위한 방법으로 차등정보보호(differential privacy) 기반 재현 데이터 생성 기술들이 연구되고 있다.In general, a technique for generating reproducible data for tabular data has been developed based on statistical modeling or modeling using deep learning. In particular, the reproduction data generated by the deep learning model is widely used due to its high quality, but there is a problem in that sensitive information of the original data is revealed due to various attack techniques. As a way to solve this problem, differential privacy-based reproduction data generation technologies are being studied.

그러나, 테이블 형식 데이터는 이미지 데이터와 달리 연속형 변수, 범주형 변수가 혼재되어 있는 바, 기존 이미지 데이터를 대상으로 하는 딥러닝 모델들을 적용하는 경우 서로 다른 타입의 변수 특징을 동시에 처리하지 못하여 재현 데이터의 품질이 떨어질 수 있다. 이에 따라, 연속형 변수와 범주형 변수가 혼재된 테이블 형식 데이터에 적용하기 위해서는 모형 개선이 필요하다.However, unlike image data, tabular data has a mixture of continuous and categorical variables, so when applying deep learning models targeting existing image data, it is not possible to simultaneously process the characteristics of different types of variables. quality may deteriorate. Accordingly, it is necessary to improve the model in order to apply it to tabular data in which continuous and categorical variables are mixed.

미국 등록특허 제US 9,672,364호 (2017.06.06. 등록)US Registered Patent No. US 9,672,364 (registered on June 6, 2017)

개시되는 실시예들은 재현 데이터를 생성하기 위한 방법 및 장치를 제공하기 위한 것이다.The disclosed embodiments are intended to provide a method and apparatus for generating reproduction data.

일 실시예에 따른 재현 데이터 생성 장치는 원본 데이터를 연속형 데이터와 범주형 데이터로 분리하는 데이터 분리부; 범주형 데이터를 연속형으로 변환한 변환 데이터를 생성하는 데이터 변환부; 및 차등정보보호(differential privacy)가 적용된 정규화 플로우(normalizing flow)를 기초로 연속형 데이터 및 변환 데이터로 구성된 입력 벡터의 잠재 벡터(latent vector), 및 입력 벡터와 잠재 벡터의 변환 함수를 도출하는 데이터 분석부를 포함할 수 있다.An apparatus for generating reproduced data according to an embodiment includes a data separator separating original data into continuous data and categorical data; a data conversion unit generating converted data obtained by converting categorical data into continuous data; And a latent vector of an input vector composed of continuous data and transformation data based on a normalizing flow with differential privacy applied, and data for deriving a transformation function of the input vector and the latent vector. An analysis unit may be included.

재현 데이터 생성 장치는 변환 함수의 역함수를 기초로 잠재 벡터로부터 원본 데이터의 재현 데이터를 생성하는 재현 데이터 생성부를 더 포함할 수 있다.The reproduced data generating apparatus may further include a reproduced data generating unit generating reproduced data of the original data from the latent vector based on the inverse function of the transformation function.

데이터 변환부는 범주형 데이터 조건부 랜덤 노이즈(random noise)의 확률 분포를 추정하며, 추정된 확률 분포를 통해 획득한 랜덤 노이즈를 범주형 데이터에 더하여 변환 데이터를 생성할 수 있다.The data conversion unit may estimate a probability distribution of the conditional random noise of the categorical data, and may generate converted data by adding the random noise obtained through the estimated probability distribution to the categorical data.

데이터 분석부는 선형 변환(linear transformation)을 기초로 입력 벡터의 변수간 상관 관계 특성 분석하도록 학습된 제 1 인공 신경망을 포함하는 선형 정규화 플로우부를 포함할 수 있다. The data analysis unit may include a linear normalization flow unit including a first artificial neural network trained to analyze correlation characteristics between variables of an input vector based on a linear transformation.

선형 변환의 가중치 행렬(weight matrix)은 행렬 분해(Matrix decomposition)가 적용될 수 있다.Matrix decomposition may be applied to the weight matrix of the linear transformation.

데이터 분석부는 스플라인 변환(spline transformation)을 기초로 입력 벡터의 다중 모드 특성을 분석하도록 학습된 제 2 인공 신경망을 포함하는 스플라인 정규화 플로우부를 포함할 수 있다.The data analysis unit may include a spline normalization flow unit including a second artificial neural network trained to analyze multimodal characteristics of an input vector based on spline transformation.

스플라인 정규화 플로우부는 스플라인 변환을 반복 수행 시 최초 변환 시에만 학습을 수행하며, 학습된 파라미터를 이후 변환에 공유할 수 있다.When repeatedly performing spline transformation, the spline normalization flow unit performs learning only at the first transformation, and can share learned parameters in subsequent transformations.

데이터 분석부는 입력 벡터의 변수간 순서를 바꾸는 변수 교환부를 포함할 수 있다.The data analysis unit may include a variable exchange unit that changes the order of variables of the input vector.

데이터 분석부는 그래디언트 클리핑(Gradient Clipping) 및 잡음 삽입이 적용된 차등정보보호 기반 경사하강법을 이용하여 학습된 하나 이상의 인공 신경망을 포함할 수 있다.The data analysis unit may include one or more artificial neural networks trained using gradient descent based on differential information protection to which gradient clipping and noise insertion are applied.

데이터 분석부는 차등정보보호 기반 경사하강법을 이용한 학습 시, 그래디언트(gradient) 벡터의 원소 중 소정 기준값 이하의 크기를 가지는 원소의 값을 0으로 변환할 수 있다.The data analysis unit may convert a value of an element having a size equal to or less than a predetermined reference value among elements of a gradient vector into 0 during learning using the differential information security based gradient descent method.

일 실시예에 따른 재현 데이터 생성 방법은 원본 데이터를 연속형 데이터와 범주형 데이터로 분리하는 데이터 분리 단계; 범주형 데이터를 연속형으로 변환한 변환 데이터를 생성하는 데이터 변환 단계; 및 차등정보보호(differential privacy)가 적용된 정규화 플로우(normalizing flow)를 기초로 연속형 데이터 및 변환 데이터로 구성된 입력 벡터의 잠재 벡터(latent vector), 및 입력 벡터와 잠재 벡터의 변환 함수를 도출하는 데이터 분석 단계를 포함할 수 있다.A method for generating reproduction data according to an embodiment includes a data separation step of separating original data into continuous data and categorical data; a data conversion step of generating converted data obtained by converting categorical data into continuous data; And a latent vector of an input vector composed of continuous data and transformation data based on a normalizing flow with differential privacy applied, and data for deriving a transformation function of the input vector and the latent vector. An analysis step may be included.

재현 데이터 생성 방법은 변환 함수의 역함수를 기초로 잠재 벡터로부터 원본 데이터의 재현 데이터를 생성하는 재현 데이터 생성 단계를 더 포함할 수 있다.The reproduction data generation method may further include a reproduction data generation step of generating reproduction data of the original data from the latent vector based on the inverse function of the transformation function.

데이터 변환 단계는 범주형 데이터 조건부 랜덤 노이즈(random noise)의 확률 분포를 추정하며, 추정된 확률 분포를 통해 획득한 랜덤 노이즈를 범주형 데이터에 더하여 변환 데이터를 생성할 수 있다.In the data conversion step, a probability distribution of conditional random noise of the categorical data is estimated, and the converted data may be generated by adding the random noise obtained through the estimated probability distribution to the categorical data.

데이터 분석 단계는 선형 변환(linear transformation)을 기초로 입력 벡터의 변수간 상관 관계 특성 분석하도록 학습된 제 1 인공 신경망을 이용할 수 있다.The data analysis step may use a first artificial neural network trained to analyze correlation characteristics between variables of an input vector based on a linear transformation.

선형 변환의 가중치 행렬(weight matrix)은 행렬 분해(Matrix decomposition)가 적용될 수 있다.Matrix decomposition may be applied to the weight matrix of the linear transformation.

데이터 분석 단계는 스플라인 변환(spline transformation)을 기초로 입력 벡터의 다중 모드 특성을 분석하도록 학습된 제 2 인공 신경망을 이용할 수 있다.The data analysis step may use a second artificial neural network trained to analyze multimodal characteristics of an input vector based on a spline transformation.

데이터 분석 단계는 스플라인 변환을 반복 수행 시 최초 변환 시에만 학습을 수행하며, 학습된 파라미터를 이후 변환에 공유할 수 있다.In the data analysis step, learning is performed only at the first transformation when spline transformation is repeatedly performed, and learned parameters can be shared with subsequent transformations.

데이터 분석 단계는 입력 벡터의 변수간 순서를 바꾸는 변수 교환을 수행할 수 있다.The data analysis step may perform variable exchange in which the order of variables of the input vector is changed.

데이터 분석 단계는 그래디언트 클리핑(Gradient Clipping) 및 잡음 삽입이 적용된 차등정보보호 기반 경사하강법을 이용하여 학습된 하나 이상의 인공 신경망을 이용할 수 있다.The data analysis step may use one or more artificial neural networks learned using gradient descent based on differential information protection to which gradient clipping and noise insertion are applied.

데이터 분석 단계는 차등정보보호 기반 경사하강법을 이용한 학습 시, 그래디언트(gradient) 벡터의 원소 중 소정 기준값 이하의 크기를 가지는 원소의 값을 0으로 변환할 수 있다.In the data analysis step, when learning using the differential information security based gradient descent method, the value of an element having a magnitude less than or equal to a predetermined reference value among elements of a gradient vector may be converted to 0.

개시되는 실시예들에 따르면, 원본 데이터의 특징은 유지하면서 원본 데이터의 개인정보 유출 위험성을 감소시킨 재현 데이터를 생성할 수 있다.According to the disclosed embodiments, it is possible to generate reproduced data that reduces the risk of leakage of personal information of the original data while maintaining the characteristics of the original data.

도 1은 일 실시예에 따른 재현 데이터 생성 장치의 구성도
도 2는 일 실시예에 따른 재현 데이터 생성 장치의 구성도
도 3은 일 실시예에 따른 데이터 분석부의 구성도
도 4는 일 실시예에 따른 재현 데이터 생성 방법의 순서도
도 5는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram of a device for generating reproduction data according to an embodiment;
Figure 2 is a block diagram of a reproduction data generating device according to an embodiment
3 is a configuration diagram of a data analysis unit according to an embodiment
4 is a flowchart of a method for generating reproduction data according to an embodiment
5 is a block diagram for illustrating and describing a computing environment including a computing device according to an exemplary embodiment;

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is only for describing the embodiments of the present invention and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.

도 1은 일 실시예에 따른 재현 데이터 생성 장치의 구성도이다.1 is a configuration diagram of a device for generating reproduction data according to an exemplary embodiment.

도 1을 참조하면, 재현 데이터 생성 장치(100)는 데이터 분리부(110), 데이터 변환부(120) 및 데이터 분석부(130)를 포함할 수 있다. Referring to FIG. 1 , the apparatus 100 for generating reproduced data may include a data separation unit 110 , a data conversion unit 120 and a data analysis unit 130 .

일 실시예에 따르면, 데이터 분리부(110)는 원본 데이터를 연속형 데이터와 범주형 데이터로 분리할 수 있다. According to an embodiment, the data separator 110 may separate the original data into continuous data and categorical data.

도 2에서와 같이, 원본 데이터(x)는 데이터 분리부(110)를 통하여 연속형 데이터와 범주형 데이터로 분리될 수 있다. 이후, 분리형 데이터는 데이터 변환부(120)로 입력되어 연속형 데이터의 형태로 변환될 수 있다. As shown in FIG. 2 , original data x may be separated into continuous data and categorical data through the data separator 110 . Thereafter, the separated data may be input to the data conversion unit 120 and converted into continuous data.

일 실시예에 따르면, 데이터 변환부(120)는 범주형 데이터를 연속형으로 변환한 변환 데이터를 생성할 수 있다.According to an embodiment, the data conversion unit 120 may generate converted data obtained by converting categorical data into continuous data.

기존 통계적 모델링의 한계를 극복하기 위한 방법으로 딥러닝을 이용한 차등정보보호 기반의 재현 데이터 생성 기술이 개발되어 왔다. 하지만, 대부분의 차등정보보호 기반의 재현 데이터 기술은 연속형 데이터만으로 구성된 이미지 데이터에 국한되어 연구되어 왔다. 반면, 테이블 데이터의 경우, 이미지 데이터와 달리 연속형 데이터 및 범주형 데이터가 혼재되어 있는 바, 이미지 데이터를 대상으로 한 딥러닝 모델을 적용 시 서로 다른 타입의 데이터 특징을 처리하는데 한계가 있어 재현 데이터 성능이 저하될 수 있다. 이에 따라, 연속형 데이터와 범주형 데이터가 혼재된 테이블 데이터를 위한 모형이 필요하다.As a method to overcome the limitations of existing statistical modeling, a technology for generating reproducible data based on differential information protection using deep learning has been developed. However, most of the reproduction data technologies based on differential information security have been studied limited to image data composed only of continuous data. On the other hand, in the case of table data, unlike image data, continuous data and categorical data are mixed. When applying a deep learning model to image data, there is a limit to processing different types of data features, and thus, representation data Performance may deteriorate. Accordingly, a model for table data in which continuous data and categorical data are mixed is required.

일 예로, 범주형 변수를 원-핫 인코딩(one-hot encoding)으로 변환하는 경우,네트워크 규모가 커지고 학습에 필요한 파라미터의 수가 증가 (gradient 크기 증가)할 수 있다. 이에 따라, 관련 그래디언트 클리핑(gradient clipping) 부분이 많아져서 재현 데이터 품질이 떨어질 수 있다. 예를 들어, 하나의 범주형 변수를 학교라고 가정하면, 클래스(class)는 초등학교, 중학교, 고등학교와 같이 3개가 될 수 있다. 여기서, 원-핫 인코딩을 수행하면, 범주형 변수는 3차원 변수로 변경된다. 다시 말해, 범주형 변수 개수와 각 변수 별 클래스의 수가 많을수록 원-핫 인코딩을 수행 시 범주형 변수 차원이 고차원으로 변경된다. For example, when a categorical variable is converted by one-hot encoding, the network size increases and the number of parameters required for learning increases (gradient size increases). Accordingly, the quality of the reproduced data may deteriorate due to a large number of related gradient clipping parts. For example, assuming that one categorical variable is school, there can be three classes such as elementary school, middle school, and high school. Here, when one-hot encoding is performed, categorical variables are changed into 3-dimensional variables. In other words, as the number of categorical variables and the number of classes for each variable increases, the dimension of the categorical variable changes to a higher dimension when one-hot encoding is performed.

일 예에 따르면, 데이터 변환부(120)는 범주형 자료를 차원 변경 없이 연속형으로 다룰 수 있도록 차등정보보호(differential privacy, DP)기반 정규화 플로우(normalizing flow, NF)을 수행할 수 있다.According to an example, the data conversion unit 120 may perform a normalizing flow (NF) based on differential privacy (DP) so that categorical data can be treated as a continuous type without dimension change.

일 실시예에 따르면, 데이터 변환부(120)는 범주형 데이터 조건부 랜덤 노이즈(random noise)의 확률 분포를 추정하며, 추정된 확률 분포를 통해 획득한 랜덤 노이즈를 범주형 데이터에 더하여 변환 데이터를 생성할 수 있다.According to an embodiment, the data conversion unit 120 estimates a probability distribution of random noise conditional on categorical data, and adds the random noise obtained through the estimated probability distribution to the categorical data to generate transformed data. can do.

일 예로, 원본 데이터 x가 dn개의 연속형 변수(x(n)), dc개의 범주형 변수(x(c))로 구성되어 있다고 가정하는 경우, 데이터 변환부(120)는 범주형 자료 x(c)를 부드러운(smooth) 연속형 자료 (x(c,*))로 변형(gdpCNF: R (dc)R (dc))할 수 있다. 여기서, 데이터 변환부(120)는 x(c)에 대한 정보를 바탕으로 Prob(ε|x(c))을 학습하고, 추정한 분포로 얻은 ε을 x(c)에 더해서 x(c,*)를 얻을 수 있다.For example, assuming that the original data x is composed of d n continuous variables (x (n) ) and d c categorical variables (x (c) ), the data conversion unit 120 converts the categorical data into x (c) can be transformed (g dpCNF : R (dc)R (dc) ) into smooth continuous data (x (c,*) ). Here, the data conversion unit 120 learns Prob(ε|x ( c)) based on the information on x ( c ), adds ε obtained from the estimated distribution to x (c), and x (c,* ) can be obtained.

일 실시예에 따르면, 데이터 분석부(130)는 차등정보보호(differential privacy)가 적용된 정규화 플로우(normalizing flow)를 기초로 연속형 데이터 및 변환 데이터로 구성된 입력 벡터의 잠재 벡터(latent vector), 및 입력 벡터와 잠재 벡터의 변환 함수를 도출할 수 있다. According to an embodiment, the data analysis unit 130 generates a latent vector of an input vector composed of continuous data and converted data based on a normalizing flow to which differential privacy is applied, and A conversion function between an input vector and a latent vector can be derived.

도 2를 참조하면, 데이터 분석부(130)는 데이터 분리부(110)로부터 연속형 데이터를 수신할 수 있으며, 데이터 변환부(120)로부터 변환 데이터를 수신할 수 있다. 이후, 데이터 분석부(130)는 연속형 데이터 및 변환 데이터를 기초로 입력 벡터를 생성할 수 있다. 또한, 데이터 분석부(130)는 입력 벡터를 기초로 잠재 벡터(z)를 생성할 수 있으며, 입력 벡터를 잠재 벡터로 변환하기 위한 변환 함수를 도출할 수 있다. Referring to FIG. 2 , the data analyzer 130 may receive continuous data from the data separator 110 and may receive converted data from the data converter 120 . Thereafter, the data analyzer 130 may generate an input vector based on the continuous data and the transformed data. Also, the data analyzer 130 may generate a latent vector z based on the input vector, and may derive a conversion function for converting the input vector into the latent vector.

도 3은 일 실시예에 따른 데이터 분석부의 구성도이다.3 is a configuration diagram of a data analysis unit according to an embodiment.

도 3을 참조하면, 데이터 분석부(130)는 선형 정규화 플로우부(131), 스플라인 정규화 플로우부(133) 및 변수 교환부(135)를 포함할 수 있다.Referring to FIG. 3 , the data analysis unit 130 may include a linear normalization flow unit 131, a spline normalization flow unit 133, and a variable exchange unit 135.

일 실시예에 따르면, 데이터 분석부(130)는 선형 변환(linear transformation)을 기초로 입력 벡터의 변수간 상관 관계 특성 분석하도록 학습된 제 1 인공 신경망을 포함하는 선형 정규화 플로우부(131)를 포함할 수 있다.According to one embodiment, the data analysis unit 130 includes a linear normalization flow unit 131 including a first artificial neural network trained to analyze correlation characteristics between variables of an input vector based on a linear transformation. can do.

일 예에 따르면, 원본 데이터의 변수간 상관관계 특성을 학습하기 위하여 선형 변환 기반 정규화 플로우를 적용할 수 있다. 선형 변환의 형태는 다음과 같다.According to an example, a linear transformation-based normalization flow may be applied to learn correlation characteristics between variables of original data. The form of a linear transformation is:

[수학식 1] [Equation 1]

z = hlin(x) = Wx +b z = h lin ( x ) = Wx + b

여기서 W∈R(dХd)b∈Rd는 선형 변환을 위한 가중치(wight) 행렬 및 편향(bias) 벡터이다. 즉, x=[x(1),x(2),...,x(d)], z=[z(1),z(2),...,z(d)]로 표현 될 때, 수학식 1을 활용하여 x에서 z로 변환을 하면, z(1)은 x(1), x(2), ... x(d) 정보를 모두 이용하여 변환되므로, x의 변수간 상관관계를 유지하면서 학습이 가능하다.Here, W ∈R (dХd) and b ∈R d are the weight matrix and bias vector for the linear transformation. That is, x = [x (1) ,x (2) ,...,x (d) ], z = [z (1) ,z (2) ,...,z (d) ] When converting from x to z using Equation 1, z (1) is converted using all of x (1) , x (2) , ... x (d) information, so between the variables of x Learning is possible while maintaining correlation.

일 실시예에 따르면, 선형 변환의 가중치 행렬(weight matrix)은 행렬 분해(Matrix decomposition)가 적용될 수 있다. 예를 들어, 아래 수학식 2와 같이 가중치 행렬 W에 low rank decomposition을 적용할 수 있다.According to one embodiment, matrix decomposition may be applied to the weight matrix of the linear transformation. For example, low rank decomposition can be applied to the weight matrix W as shown in Equation 2 below.

[수학식 2][Equation 2]

z = hlin(x) = (diag(s)+AB)x + b z = h lin ( x ) = ( diag (s)+ AB ) x + b

여기서, diag(s)∈R(d×d)는 대각행렬이고, A∈R(d×r)B∈R(r×d)이고, r은 작은 자연수이다. 위와 같이 행렬 분해를 이용하여 가중치 행렬을 변형하면 모형이 축소되어, 차등정보보호 기반 학습 시 그래디언트 클리핑(gradient clipping)부분이 줄어들어 학습 성능이 향상될 수 있다. 참고로, 수학식 1 의 파라미터 개수는 dХd+d 인 반면, 수학식 2의 파라미터 개수는 2d×r+2d이다.Here, diag(s)∈R (d×d) is a diagonal matrix, A ∈R (d×r) and B ∈R (r×d) , where r is a small natural number. As above, if the weight matrix is transformed using matrix decomposition, the model is reduced, and the gradient clipping part is reduced during differential information security-based learning, so learning performance can be improved. For reference, the number of parameters in Equation 1 is dХd+d, whereas the number of parameters in Equation 2 is 2d×r+2d.

일 실시예에 따르면, 데이터 분석부(130)는 스플라인 변환(spline transformation)을 기초로 입력 벡터의 다중 모드 특성을 분석하도록 학습된 제 2 인공 신경망을 포함하는 스플라인 정규화 플로우부(133)를 포함할 수 있다.According to an embodiment, the data analysis unit 130 may include a spline normalization flow unit 133 including a second artificial neural network trained to analyze multimodal characteristics of an input vector based on a spline transformation. can

일 예로, 정규화 플로우의 샘플 품질(sample quality)은 사용되는 플로우의 깊이(depth)에 의존한다. 예를 들어 스플라인 플로우 레이어(spline flow layer) 하나를 사용할 때보다 스플라인 플로우를 여러 개 적층(stack)하면 더 복잡한 분포를 학습할 수 있다. 또는, 스플라인 정규화 플로우를 한번만 사용할 때보다 K번 반복하면 더 복잡한 분포를 학습할 수 있다. 하지만 여러 레이어들을 적층 또는 반복 수행하게 되면 차등정보보호 기반 학습 시 상대적으로 많은 부분에서 그래디언트 클리핑을 하게 되어 학습이 어려워지게 된다. 이에 따라, 학습된 하나의 스플라인 플로우 레이어가 여러 레이어의 역할을 할 수 있도록 조건부 스플라인 플로우(conditional spline flow)를 적용할 수 있다.For example, the sample quality of a normalization flow depends on the depth of the flow used. For example, more complex distributions can be learned by stacking multiple spline flows than using a single spline flow layer. Alternatively, a more complex distribution can be learned with K iterations than using the spline regularization flow only once. However, when multiple layers are stacked or repeatedly performed, gradient clipping is performed in relatively large parts during differential information security-based learning, which makes learning difficult. Accordingly, a conditional spline flow can be applied so that one learned spline flow layer can serve as multiple layers.

일 실시예에 따르면, 스플라인 정규화 플로우부(133)는 스플라인 변환을 반복 수행 시 최초 변환 시에만 학습을 수행하며, 학습된 파라미터를 이후 변환에 공유할 수 있다. 일 예로, 스플라인 변환의 파라미터를 생성하는 네트워크에 원-핫 인코딩된 레이어 인덱스 정보를 조건(condition)으로 제공할 수 있다. 다시 말해, 스플라인 정규화 플로우부(133)는 스플라인 변환을 반복 수행 시 단 한번만 스플라인 정규화 플로우를 학습하며, 스플라인 변환의 파라미터를 생성하는 모든 네트워크 블록(block)에 공유하고, block정보(순서)만 조건으로 반영할 수 있다. 이러한 경우, 파라미터 개수의 증가 없이 여러 개의 플로우 레이어들을 적층하는 효과를 낼 수 있다.According to an embodiment, when the spline normalization flow unit 133 repeatedly performs spline transformation, learning is performed only at the first transformation, and the learned parameters may be shared with subsequent transformations. For example, one-hot encoded layer index information may be provided as a condition to a network that generates spline transformation parameters. In other words, the spline normalization flow unit 133 learns the spline normalization flow only once when repeatedly performing the spline transformation, shares the parameters of the spline transformation with all network blocks that are generated, and only blocks information (order) condition can be reflected. In this case, it is possible to achieve the effect of stacking several flow layers without increasing the number of parameters.

일 실시예에 따르면, 데이터 분석부(130)는 입력 벡터의 변수간 순서를 바꾸는 변수 교환부를 포함할 수 있다. 예를 들어, 자기회귀(autoregressive) 스플라인 정규화 플로우는 순차적으로 처리하기 때문에 변수의 나열 순서가 영향을 미칠 수 있다. 따라서 변수의 순서를 랜덤하게 바꿔주면 서로 다른 변수와의 관계를 파악에 도움을 줄 수 있다. 예를 들어, 원본 데이터 x가 3개의 변수로 이루어져 있는 경우(즉, x=[x(1), x(2), x(3)]), 첫번째 블록의 변수 교환(permutation)을 수행하면 변수간 순서가 변경되어 [x(3), x(2), x(1)]로 나열될 수 있다.According to an embodiment, the data analysis unit 130 may include a variable exchange unit that changes the order of variables of an input vector. For example, since autoregressive spline normalization flows are processed sequentially, the order in which variables are listed can have an effect. Therefore, randomly changing the order of variables can help identify relationships with other variables. For example, if the original data x consists of three variables (i.e., x=[x (1) , x (2) , x (3) ]), performing variable permutation in the first block The order of each can be changed to [x (3) , x (2) , x (1) ].

일 실시예에 따르면, 데이터 분석부(130)는 그래디언트 클리핑(Gradient Clipping) 및 잡음 삽입이 적용된 차등정보보호 기반 경사하강법을 이용하여 학습된 하나 이상의 인공 신경망을 포함할 수 있다.According to an embodiment, the data analysis unit 130 may include one or more artificial neural networks trained using gradient descent based on differential information protection to which gradient clipping and noise insertion are applied.

일 예로, 경사하강법은 비용 함수(Lw(x))의 최소값에 도달하기 위해 비용 함수의 gradient(g(x):=▽Lw(x)) 반대 방향으로 조금씩 가중치를 업데이트해가는 최적화 알고리즘이다. 미니배치 경사하강법은 미니배치라 부르는 훈련 데이터의 일부분(ex.{x1,...,xm})으로 경사하강법을 적용하는 것을 말한다. 즉, 현재 가중치 wt가 주어졌을 때, 그 다음 w(t+1)을 다음과 같이 업데이트한다. For example, the gradient descent method is an optimization that gradually updates the weights in the opposite direction of the gradient (g(x):=▽L w (x)) of the cost function to reach the minimum value of the cost function (L w (x)). It is an algorithm. Mini-batch gradient descent refers to applying gradient descent to a portion of training data (ex.{x 1 ,...,x m }) called a mini-batch. That is, given the current weight w t , then update w (t+1) as follows.

미니배치에 대해 gradient 계산 Calculate gradient over mini-batch

Figure pat00001
Figure pat00001

w(t+1)을 업데이트 update w (t+1)

Figure pat00002
Figure pat00002

여기서 η는 이동할 거리를 조절하는 매개변수이다.Here, η is a parameter controlling the distance to move.

차등정보보호 기반 경사하강법은 일정 임계값(C)을 넘어서지 못하게 그래디언트를 잘라내는 그래디언트 클리핑(gradient clipping)과 그래디언트에 잡음을 삽입하는 부분이 필요하다. 즉, 기존 경사하강법에 다음과 같은 과정이 추가된다. Gradient descent based on differential information security requires gradient clipping to clip the gradient so that it does not exceed a certain threshold value (C) and a part to insert noise into the gradient. That is, the following process is added to the existing gradient descent method.

미니배치에 대해 gradient 계산 Calculate gradient over mini-batch

Figure pat00003
Figure pat00003

차등정보보호로 추가된 단계: Gradient ClippingAdded step with Differential Privacy: Gradient Clipping

Figure pat00004
Figure pat00004

즉,

Figure pat00005
가 C보다 크면
Figure pat00006
가 C가 되게끔 조정한다. 여기서
Figure pat00007
는 l2-norm으로 gradient vector gt(xi)의 크기를 나타낸다. in other words,
Figure pat00005
is greater than C
Figure pat00006
Adjust so that becomes C. here
Figure pat00007
is the l 2 -norm and represents the size of the gradient vector g t (x i ).

차등정보보호로 추가된 단계: 잡음 삽입Added step with differential privacy: noise insertion

Figure pat00008
Figure pat00008

일 예로, 차등정보보호는 원본 데이터가 활용되는 모든 학습 단계에서 적용되어야 한다. 즉, 딥러닝 기반 A모형, B모형으로 설계된 최종 모형은 A, B 모형을 학습할 때 차등정보보호 기반 경사하강법을 이용해서 학습을 해야 최종 모형이 차등정보보호를 만족할 수 있다.For example, differential information protection must be applied in all learning stages where original data is utilized. In other words, the final model designed with deep learning-based model A and model B must be trained using the gradient descent method based on differential information protection when learning models A and B so that the final model can satisfy the differential information protection.

일 실시예에 따르면, 데이터 분석부(130)는 차등정보보호 기반 경사하강법을 이용한 학습 시, 그래디언트(gradient) 벡터의 원소 중 소정 기준값 이하의 크기를 가지는 원소의 값을 0으로 변환할 수 있다.According to an embodiment, the data analysis unit 130 may convert a value of an element having a size equal to or less than a predetermined reference value among elements of a gradient vector to 0 during learning using the differential information security based gradient descent method. .

일 예에 따르면, 차등정보보호는 원본데이터가 활용되는 모든 학습 단계에서 적용되어야 한다. 다시 말해, 데이터 변환부(120), 선형 정규화 플로우부(131), 스플라인 정규화 플로우부(133)에 포함된 인공 신경망은 차등정보보호 기반 경사하강법으로 학습된다. 그래디언트가 클리핑되는 부분을 최소화하여 각 단계의 학습 효율성을 높이기 위하여 모든 학습 단계에서 그래디언트 벡터의 원소 중 소정 값 이하의 값을 가지는 원소들의 값은 0으로 변경하여 그래디언트의 크기를 축소할 수 있다.According to an example, differential information protection should be applied in all learning stages in which original data is utilized. In other words, the artificial neural networks included in the data conversion unit 120, the linear normalization flow unit 131, and the spline normalization flow unit 133 are learned using the differential information security-based gradient descent method. In order to increase the learning efficiency of each step by minimizing the part where the gradient is clipped, the values of the elements having values less than a predetermined value among the elements of the gradient vector may be changed to 0 in all learning steps to reduce the size of the gradient.

일 예에 따르면, 정규화 플로우를 수행하기 위하여 각 샘플별 그래디언트 식을 유도하여, Tensorflow나 Pytorch로 구현한 경사하강법의 GPU 계산 이점을 활용할 수 있다. 예를 들어, low-rank matrix decomposition기반 선형변환(수학식 2)에서 파라미터를 업데이트하기 위해 그래디언트를 유도하면 다음과 같다. According to an example, in order to perform a normalization flow, a gradient expression for each sample may be derived, and a GPU calculation advantage of a gradient descent method implemented with Tensorflow or Pytorch may be utilized. For example, deriving a gradient to update a parameter in a low-rank matrix decomposition-based linear transformation (Equation 2) is as follows.

[수학식 3][Equation 3]

Figure pat00009
Figure pat00009

여기서 L은 재현 데이터 생성 장치의 목적함수이다. 일 예로, GPU에서 병렬적으로 batch단위로 그래디언트의 합(예,

Figure pat00010
,m은 batch size)을 빠르게 계산할 때, 각 샘플 별 최종 그래디언트(예, ∂L/∂A)는 확인이 불가능하지만, 중간 그래디언트(예, ∂L/∂z)는 확인 가능하다는 사실을 이용할 수 있다. 다시 말해, GPU의 이점을 유지하며, 각 샘플 별 그래디언트의 크기를 중간 그래디언트들로 계산하여 속도 저하 문제를 개선할 수 있다.Here, L is the objective function of the reproduction data generating device. As an example, the sum of the gradients in batches in parallel on the GPU (e.g.,
Figure pat00010
,m is the batch size), we can use the fact that the final gradient for each sample (e.g., ∂L/∂A) is not verifiable, but the intermediate gradient (e.g., ∂L/∂z) is verifiable. there is. In other words, while maintaining the advantage of the GPU, the slowdown problem can be improved by calculating the size of the gradient for each sample as intermediate gradients.

일 실시예에 따르면, 재현 데이터 생성 장치(100)는 변환 함수의 역함수를 기초로 잠재 벡터로부터 원본 데이터의 재현 데이터를 생성하는 재현 데이터 생성부(140)를 더 포함할 수 있다. According to an embodiment, the reproduced data generating apparatus 100 may further include a reproduced data generator 140 generating reproduced data of original data from a latent vector based on an inverse function of a transform function.

도 2를 참조하면, 데이터 생성부(140)는 데이터 분석부(130)가 출력한 잠재 벡터 z를 수신할 수 있으며, 원본 데이터를 잠재 벡터로 변환한 변환 함수의 역함수를 이용하여 잠재 벡터 z로부터 재현 데이터 x *를 생성할 수 있다. Referring to FIG. 2 , the data generator 140 may receive the latent vector z output by the data analyzer 130, and obtain the latent vector z by using the inverse function of the conversion function that converts the original data into the latent vector. You can create reproducible data x * .

도 4는 일 실시예에 따른 재현 데이터 생성 방법의 순서도이다.4 is a flowchart of a method for generating reproduction data according to an exemplary embodiment.

일 실시예에 따르면, 재현 데이터 생성 장치는 원본 데이터를 연속형 데이터와 범주형 데이터로 분리할 수 있다(410). 일 예로, 원본 데이터(x)는 연속형 데이터와 범주형 데이터로 분리될 수 있으며, 분리형 데이터는 데이터 변환을 통하여 연속형 데이터의 형태로 변환될 수 있다.According to an embodiment, the apparatus for generating reproduction data may separate original data into continuous data and categorical data (410). For example, the original data ( x ) may be divided into continuous data and categorical data, and the separated data may be converted into continuous data through data conversion.

일 실시예에 따르면, 재현 데이터 생성 장치는 범주형 데이터를 연속형으로 변환한 변환 데이터를 생성할 수 있다(420). 일 예에 따르면, 재현 데이터 생성 장치는 범주형 자료를 차원 변경 없이 연속형으로 다룰 수 있도록 차등정보보호(differential privacy, DP)기반 정규화 플로우(normalizing flow, NF)을 수행할 수 있다.According to an embodiment, the apparatus for generating reproduction data may generate converted data obtained by converting categorical data into continuous data (420). According to an example, the reproduction data generation device may perform a normalizing flow (NF) based on differential privacy (DP) so that categorical data can be treated as a continuous type without dimension change.

일 실시예에 따르면, 재현 데이터 생성 장치는 범주형 데이터 조건부 랜덤 노이즈(random noise)의 확률 분포를 추정하며, 추정된 확률 분포를 통해 획득한 랜덤 노이즈를 범주형 데이터에 더하여 변환 데이터를 생성할 수 있다.According to an embodiment, the reproduction data generation apparatus may estimate a probability distribution of random noise conditional on categorical data, and generate transformation data by adding the random noise obtained through the estimated probability distribution to the categorical data. there is.

일 실시예에 따르면, 재현 데이터 생성 장치는 차등정보보호(differential privacy)가 적용된 정규화 플로우(normalizing flow)를 기초로 연속형 데이터 및 변환 데이터로 구성된 입력 벡터의 잠재 벡터(latent vector), 및 입력 벡터와 잠재 벡터의 변환 함수를 도출할 수 있다(430).According to an embodiment, the apparatus for generating reproduced data includes a latent vector of an input vector composed of continuous data and transformed data based on a normalizing flow with differential privacy applied, and an input vector and a transform function of the latent vector can be derived (430).

일 예로, 재현 데이터 생성 장치는 분리된 연속형 데이터 및 변환된 변환 데이터를 수신할 수 있다. 이후, 재현 데이터 생성 장치는 연속형 데이터 및 변환 데이터를 기초로 입력 벡터를 생성할 수 있다. 또한, 재현 데이터 생성 장치는 입력 벡터를 기초로 잠재 벡터(z)를 생성할 수 있으며, 입력 벡터를 잠재 벡터로 변환하기 위한 변환 함수를 도출할 수 있다.For example, the reproduced data generating device may receive separated continuous data and converted converted data. Thereafter, the apparatus for generating reproduction data may generate an input vector based on the continuous data and the transformed data. Also, the apparatus for generating reproduction data may generate a latent vector z based on the input vector, and may derive a conversion function for converting the input vector into the latent vector.

일 실시예에 따르면, 재현 데이터 생성 장치는 변환 함수의 역함수를 기초로 잠재 벡터로부터 원본 데이터의 재현 데이터를 생성할 수 있다.According to an embodiment, the reproduced data generating apparatus may generate reproduced data of the original data from the latent vector based on the inverse function of the transformation function.

일 예에 따르면, 재현 데이터 생성 장치는 원본 데이터를 잠재 벡터로 변환환 변환 함수의 역함수를 이용하여 잠재 벡터 z로부터 재현 데이터 x *를 생성할 수 있다.According to an example, the reproduced data generating apparatus may generate reproduced data x * from the latent vector z by using an inverse function of a conversion function that converts original data into latent vectors.

일 실시예에 따르면, 재현 데이터 생성 장치는 데이터를 분석하기 위하여 선형 변환(linear transformation)을 기초로 입력 벡터의 변수간 상관 관계 특성 분석하도록 학습된 제 1 인공 신경망을 이용할 수 있다. According to an embodiment, the apparatus for generating reproduced data may use a first artificial neural network trained to analyze correlation characteristics between variables of an input vector based on a linear transformation to analyze data.

일 예에 따르면, 원본 데이터의 변수간 상관관계 특성을 학습하기 위하여 선형 변환 기반 정규화 플로우를 적용할 수 있다. 선형 변환의 형태는 위의 수학식 1과 같다.According to an example, a linear transformation-based normalization flow may be applied to learn correlation characteristics between variables of original data. The form of the linear transformation is as shown in Equation 1 above.

일 실시예에 따르면, 선형 변환의 가중치 행렬(weight matrix)은 행렬 분해(Matrix decomposition)가 적용될 수 있다. 예를 들어, 위의 수학식 2와 같이 가중치 행렬 W에 low rank decomposition을 적용할 수 있다.According to one embodiment, matrix decomposition may be applied to the weight matrix of the linear transformation. For example, as shown in Equation 2 above, low rank decomposition can be applied to the weight matrix W.

일 실시예에 따르면, 재현 데이터 생성 장치는 데이터를 분석하기 위하여 스플라인 변환(spline transformation)을 기초로 입력 벡터의 다중 모드 특성을 분석하도록 학습된 제 2 인공 신경망을 이용할 수 있다.According to an embodiment, the reproduction data generating apparatus may use a second artificial neural network trained to analyze multimodal characteristics of an input vector based on a spline transformation to analyze data.

일 예에 따르면, 재현 데이터 생성 장치는 학습된 하나의 스플라인 플로우 레이어가 여러 레이어의 역할을 할 수 있도록 조건부 스플라인 플로우(conditional spline flow)를 적용할 수 있다.According to an example, the apparatus for generating reproduction data may apply a conditional spline flow so that one learned spline flow layer serves as multiple layers.

일 실시예에 따르면, 재현 데이터 생성 장치는 데이터를 분석하기 위하여 스플라인 변환을 반복 수행 시 최초 변환 시에만 학습을 수행하며, 학습된 파라미터를 이후 변환에 공유할 수 있다. 일 예로, 재현 데이터 생성 장치는 스플라인 변환을 반복 수행 시 단 한번만 스플라인 정규화 플로우를 학습하며, 스플라인 변환의 파라미터를 생성하는 모든 네트워크 블록(block)에 공유하고, block정보(순서)만 조건으로 반영할 수 있다.According to an embodiment, when performing repeated spline transformation in order to analyze data, the apparatus for generating reproduced data performs learning only at the first transformation, and may share learned parameters in subsequent transformations. For example, the reproduction data generation device learns the spline normalization flow only once when repeatedly performing the spline transformation, shares the parameters of the spline transformation with all network blocks that generate it, and reflects only the block information (order) as a condition. can

일 실시예에 따르면, 재현 데이터 생성 장치는 데이터를 분석하기 위하여 입력 벡터의 변수간 순서를 바꾸는 변수 교환을 수행할 수 있다. 예를 들어, 원본 데이터 x가 3개의 변수로 이루어져 있는 경우(즉, x=[x(1), x(2), x(3)]), 첫번째 블록의 변수 교환(permutation)을 수행하면 변수간 순서가 변경되어 [x(3), x(2), x(1)]로 나열될 수 있다.According to an embodiment, the apparatus for generating reproduced data may perform variable exchange in which the order of variables of an input vector is changed in order to analyze data. For example, if the original data x consists of three variables (i.e., x=[x (1) , x (2) , x (3) ]), performing variable permutation in the first block The order of each can be changed to [x (3) , x (2) , x (1) ].

일 실시예에 따르면, 재현 데이터 생성 장치는 데이터를 분석하기 위하여 그래디언트 클리핑(Gradient Clipping) 및 잡음 삽입이 적용된 차등정보보호 기반 경사하강법을 이용하여 학습된 하나 이상의 인공 신경망을 이용할 수 있다.According to an embodiment, the apparatus for generating reproduced data may use one or more artificial neural networks trained using gradient descent based on gradient descent to which gradient clipping and noise insertion are applied to analyze data.

일 실시예에 따르면, 재현 데이터 생성 장치는 데이터를 분석하기 위하여 차등정보보호 기반 경사하강법을 이용한 학습 시, 그래디언트(gradient) 벡터의 원소 중 소정 기준값 이하의 크기를 가지는 원소의 값을 0으로 변환할 수 있다. 예를 들어, 재현 데이터 생성 장치는 그래디언트가 클리핑되는 부분을 최소화하여 각 단계의 학습 효율성을 높이기 위하여 모든 학습 단계에서 그래디언트 벡터의 원소 중 소정 값 이하의 값을 가지는 원소들의 값은 0으로 변경하여 그래디언트의 크기를 축소할 수 있다.According to an embodiment, the apparatus for generating reproduced data converts the value of an element having a size equal to or less than a predetermined reference value among elements of a gradient vector to 0 when learning using a gradient descent method based on differential information security to analyze data. can do. For example, in order to increase the learning efficiency of each step by minimizing the part where the gradient is clipped, the reproduction data generation device changes the values of the elements having values less than a predetermined value among the elements of the gradient vector to 0 in every learning step, size can be reduced.

도 5는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 5 is a block diagram illustrating a computing environment including a computing device according to an exemplary embodiment.

도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 재현 데이터 생성 장치(120)에 포함되는 하나 이상의 컴포넌트일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be one or more components included in reproduction data generating device 120 . Computing device 12 includes at least one processor 14 , a computer readable storage medium 16 and a communication bus 18 . Processor 14 may cause computing device 12 to operate according to the above-mentioned example embodiments. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which when executed by processor 14 are configured to cause computing device 12 to perform operations in accordance with an illustrative embodiment. It can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. Program 20 stored on computer readable storage medium 16 includes a set of instructions executable by processor 14 . In one embodiment, computer readable storage medium 16 includes memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, other forms of storage media that can be accessed by computing device 12 and store desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communications bus 18 interconnects various other components of computing device 12, including processor 14 and computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . An input/output interface 22 and a network communication interface 26 are connected to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output devices 24 include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or a photographing device. input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included inside the computing device 12 as a component constituting the computing device 12, or may be connected to the computing device 12 as a separate device distinct from the computing device 12. may be

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해 할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described in detail through representative examples above, those skilled in the art can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 재현 데이터 생성 장치
110: 데이터 분리부
120: 데이터 변환부
130: 데이터 분석부
131: 선형 정규화 플로우부
133: 스플라인 정규화 플로우부
135: 변수 교환부
140: 재현 데이터 생성부
10: Computing environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: program
22: I/O interface
24: I/O device
26: network communication interface
100: reproduction data generating device
110: data separation unit
120: data conversion unit
130: data analysis unit
131: linear normalization flow part
133: spline normalization flow unit
135: variable exchange unit
140: reproduction data generation unit

Claims (20)

원본 데이터를 연속형 데이터와 범주형 데이터로 분리하는 데이터 분리부;
상기 범주형 데이터를 연속형으로 변환한 변환 데이터를 생성하는 데이터 변환부; 및
차등정보보호(differential privacy)가 적용된 정규화 플로우(normalizing flow)를 기초로 상기 연속형 데이터 및 상기 변환 데이터로 구성된 입력 벡터의 잠재 벡터(latent vector), 및 상기 입력 벡터와 상기 잠재 벡터의 변환 함수를 도출하는 데이터 분석부를 포함하는, 재현 데이터 생성 장치.
a data separation unit that separates the original data into continuous data and categorical data;
a data conversion unit generating converted data obtained by converting the categorical data into continuous data; and
Based on a normalizing flow to which differential privacy is applied, a latent vector of an input vector composed of the continuous data and the transformed data, and a conversion function of the input vector and the latent vector Including a data analysis unit to derive, reproduction data generating device.
청구항 1에 있어서,
상기 변환 함수의 역함수를 기초로 상기 잠재 벡터로부터 상기 원본 데이터의 재현 데이터를 생성하는 재현 데이터 생성부를 더 포함하는, 재현 데이터 생성 장치.
The method of claim 1,
and a reproduction data generation unit configured to generate reproduction data of the original data from the latent vector based on an inverse function of the transformation function.
청구항 1에 있어서,
상기 데이터 변환부는
상기 범주형 데이터 조건부 랜덤 노이즈(random noise)의 확률 분포를 추정하며, 상기 추정된 확률 분포를 통해 획득한 랜덤 노이즈를 상기 범주형 데이터에 더하여 변환 데이터를 생성하는, 재현 데이터 생성 장치.
The method of claim 1,
The data conversion unit
Apparatus for generating conversion data by estimating a probability distribution of the conditional random noise of the categorical data and adding random noise obtained through the estimated probability distribution to the categorical data.
청구항 1에 있어서,
상기 데이터 분석부는
선형 변환(linear transformation)을 기초로 상기 입력 벡터의 변수간 상관 관계 특성 분석하도록 학습된 제 1 인공 신경망을 포함하는 선형 정규화 플로우부를 포함하는, 재현 데이터 생성 장치.
The method of claim 1,
The data analysis department
A linear normalization flow unit including a first artificial neural network learned to analyze correlation characteristics between variables of the input vector based on linear transformation.
청구항 4에 있어서,
상기 선형 변환의 가중치 행렬(weight matrix)은 행렬 분해(Matrix decomposition)가 적용된, 재현 데이터 생성 장치.
The method of claim 4,
The weight matrix of the linear transformation is a matrix decomposition applied, reproduced data generating device.
청구항 1에 있어서,
상기 데이터 분석부는
스플라인 변환(spline transformation)을 기초로 상기 입력 벡터의 다중 모드 특성을 분석하도록 학습된 제 2 인공 신경망을 포함하는 스플라인 정규화 플로우부를 포함하는, 재현 데이터 생성 장치.
The method of claim 1,
The data analysis department
and a spline normalization flow unit including a second artificial neural network learned to analyze multimodal characteristics of the input vector based on spline transformation.
청구항 6에 있어서,
상기 스플라인 정규화 플로우부는
스플라인 변환을 반복 수행 시 최초 변환 시에만 학습을 수행하며, 학습된 파라미터를 이후 변환에 공유하는, 재현 데이터 생성 장치.
The method of claim 6,
The spline normalization flow part
Reproducible data generation device that performs learning only at the first conversion when repeatedly performing spline conversion and shares learned parameters with subsequent conversions.
청구항 1에 있어서,
상기 데이터 분석부는
상기 입력 벡터의 변수간 순서를 바꾸는 변수 교환부를 포함하는, 재현 데이터 생성 장치.
The method of claim 1,
The data analysis department
A device for generating reproduction data comprising a variable exchange unit that changes an order between variables of the input vector.
청구항 1에 있어서,
상기 데이터 분석부는
그래디언트 클리핑(Gradient Clipping) 및 잡음 삽입이 적용된 차등정보보호 기반 경사하강법을 이용하여 학습된 하나 이상의 인공 신경망을 포함하는, 재현 데이터 생성 장치.
The method of claim 1,
The data analysis department
An apparatus for generating reproduction data, including one or more artificial neural networks trained using gradient descent based on differential information protection with gradient clipping and noise insertion.
청구항 9에 있어서,
상기 데이터 분석부는
상기 차등정보보호 기반 경사하강법을 이용한 학습 시, 그래디언트(gradient) 벡터의 원소 중 소정 기준값 이하의 크기를 가지는 원소의 값을 0으로 변환하는, 재현 데이터 생성 장치.
The method of claim 9,
The data analysis department
When learning using the differential information security-based gradient descent method, the reproduction data generation device converts the value of an element having a size of a predetermined reference value or less among elements of a gradient vector to 0.
원본 데이터를 연속형 데이터와 범주형 데이터로 분리하는 데이터 분리 단계;
상기 범주형 데이터를 연속형으로 변환한 변환 데이터를 생성하는 데이터 변환 단계; 및
차등정보보호(differential privacy)가 적용된 정규화 플로우(normalizing flow)를 기초로 상기 연속형 데이터 및 상기 변환 데이터로 구성된 입력 벡터의 잠재 벡터(latent vector), 및 상기 입력 벡터와 상기 잠재 벡터의 변환 함수를 도출하는 데이터 분석 단계를 포함하는, 재현 데이터 생성 방법.
a data separation step of separating original data into continuous data and categorical data;
a data conversion step of generating converted data obtained by converting the categorical data into continuous data; and
Based on a normalizing flow to which differential privacy is applied, a latent vector of an input vector composed of the continuous data and the transformed data, and a conversion function of the input vector and the latent vector A method for generating reproducible data, comprising a data analysis step to derive.
청구항 11에 있어서,
상기 변환 함수의 역함수를 기초로 상기 잠재 벡터로부터 상기 원본 데이터의 재현 데이터를 생성하는 재현 데이터 생성 단계를 더 포함하는, 재현 데이터 생성 방법.
The method of claim 11,
and a reproduction data generation step of generating reproduction data of the original data from the latent vector based on an inverse function of the transformation function.
청구항 11에 있어서,
상기 데이터 변환 단계는
상기 범주형 데이터 조건부 랜덤 노이즈(random noise)의 확률 분포를 추정하며, 상기 추정된 확률 분포를 통해 획득한 랜덤 노이즈를 상기 범주형 데이터에 더하여 변환 데이터를 생성하는, 재현 데이터 생성 방법.
The method of claim 11,
The data conversion step
The reproduction data generation method of estimating a probability distribution of the conditional random noise of the categorical data, and generating transformed data by adding random noise obtained through the estimated probability distribution to the categorical data.
청구항 11에 있어서,
상기 데이터 분석 단계는
선형 변환(linear transformation)을 기초로 상기 입력 벡터의 변수간 상관 관계 특성 분석하도록 학습된 제 1 인공 신경망을 이용하는, 재현 데이터 생성 방법.
The method of claim 11,
The data analysis step is
A method for generating reproduction data using a first artificial neural network learned to analyze correlation characteristics between variables of the input vector based on a linear transformation.
청구항 14에 있어서,
상기 선형 변환의 가중치 행렬(weight matrix)은 행렬 분해(Matrix decomposition)가 적용된, 재현 데이터 생성 방법.
The method of claim 14,
Method for generating reproduction data, wherein matrix decomposition is applied to the weight matrix of the linear transformation.
청구항 11에 있어서,
상기 데이터 분석 단계는
스플라인 변환(spline transformation)을 기초로 상기 입력 벡터의 다중 모드 특성을 분석하도록 학습된 제 2 인공 신경망을 이용하는, 재현 데이터 생성 방법.
The method of claim 11,
The data analysis step is
A method for generating reproduction data using a second artificial neural network learned to analyze multimodal properties of the input vector based on a spline transformation.
청구항 16에 있어서,
상기 데이터 분석 단계는
스플라인 변환을 반복 수행 시 최초 변환 시에만 학습을 수행하며, 학습된 파라미터를 이후 변환에 공유하는, 재현 데이터 생성 방법.
The method of claim 16
The data analysis step is
A method of generating reproducible data in which learning is performed only at the first conversion when repeatedly performing spline conversion, and the learned parameters are shared with subsequent conversions.
청구항 11에 있어서,
상기 데이터 분석 단계는
상기 입력 벡터의 변수간 순서를 바꾸는 변수 교환을 수행하는, 재현 데이터 생성 방법.
The method of claim 11,
The data analysis step is
A method of generating reproduction data, performing variable exchange in which the order of variables of the input vector is changed.
청구항 11에 있어서,
상기 데이터 분석 단계는
그래디언트 클리핑(Gradient Clipping) 및 잡음 삽입이 적용된 차등정보보호 기반 경사하강법을 이용하여 학습된 하나 이상의 인공 신경망을 이용하는, 재현 데이터 생성 방법.
The method of claim 11,
The data analysis step is
A method for generating reproduction data using one or more artificial neural networks learned using gradient descent based on differential information protection applied with gradient clipping and noise insertion.
청구항 19에 있어서,
상기 데이터 분석 단계는
상기 차등정보보호 기반 경사하강법을 이용한 학습 시, 그래디언트(gradient) 벡터의 원소 중 소정 기준값 이하의 크기를 가지는 원소의 값을 0으로 변환하는, 재현 데이터 생성 방법.
The method of claim 19
The data analysis step is
When learning using the differential information security-based gradient descent method, converting a value of an element having a size of a predetermined reference value or less among elements of a gradient vector into 0, a reproduction data generation method.
KR1020210140427A 2021-10-20 2021-10-20 Method and apparatus for generating synthetic data KR20230056422A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210140427A KR20230056422A (en) 2021-10-20 2021-10-20 Method and apparatus for generating synthetic data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210140427A KR20230056422A (en) 2021-10-20 2021-10-20 Method and apparatus for generating synthetic data

Publications (1)

Publication Number Publication Date
KR20230056422A true KR20230056422A (en) 2023-04-27

Family

ID=86100494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140427A KR20230056422A (en) 2021-10-20 2021-10-20 Method and apparatus for generating synthetic data

Country Status (1)

Country Link
KR (1) KR20230056422A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102645454B1 (en) * 2023-11-16 2024-03-08 주식회사 베가스 System and method for generating synthetic data automatically

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672364B2 (en) 2013-03-15 2017-06-06 Microsoft Technology Licensing, Llc Differentially private linear queries on histograms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672364B2 (en) 2013-03-15 2017-06-06 Microsoft Technology Licensing, Llc Differentially private linear queries on histograms

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102645454B1 (en) * 2023-11-16 2024-03-08 주식회사 베가스 System and method for generating synthetic data automatically

Similar Documents

Publication Publication Date Title
Lundberg et al. An unexpected unity among methods for interpreting model predictions
Weinan et al. Barron spaces and the compositional function spaces for neural network models
CN107516129B (en) Dimension self-adaptive Tucker decomposition-based deep network compression method
WO2020174826A1 (en) Answer generating device, answer learning device, answer generating method, and answer generating program
Barnes et al. rTop-k: A statistical estimation approach to distributed SGD
Cui et al. Federated acoustic modeling for automatic speech recognition
Janzamin et al. Score function features for discriminative learning: Matrix and tensor framework
Lan et al. Random search enhancement of error minimized extreme learning machine.
JP2020061173A (en) Answer learning device, answer learning method, answer generating device, answer generating method, and program
Singla et al. Fantastic four: Differentiable bounds on singular values of convolution layers
US20210326756A1 (en) Methods of providing trained hyperdimensional machine learning models having classes with reduced elements and related computing systems
KR20210034462A (en) Method for training generative adversarial networks to generate per-pixel annotation
CN115564026A (en) Pattern recognition device and pattern recognition method
CN114118406A (en) Quantitative compression method of convolutional neural network
CN112580728A (en) Dynamic link prediction model robustness enhancing method based on reinforcement learning
Hosseini et al. Recent advances in stochastic Riemannian optimization
KR20230056422A (en) Method and apparatus for generating synthetic data
Giboulot et al. Multivariate side-informed Gaussian embedding minimizing statistical detectability
Teixeira et al. Privacy-preserving paralinguistic tasks
CN116229154A (en) Class increment image classification method based on dynamic hybrid model
KR102393761B1 (en) Method and system of learning artificial neural network model for image processing
KR20230060266A (en) Method and apparatus for generating synthetic data
CN114254108A (en) Method, system and medium for generating Chinese text countermeasure sample
CN115700788A (en) Method, apparatus and computer program product for image recognition
Burnaev et al. Adaptive design of experiments for sobol indices estimation based on quadratic metamodel

Legal Events

Date Code Title Description
A201 Request for examination