KR102655393B1 - Training method and apparatus for adversarial robustness of neural network model - Google Patents

Training method and apparatus for adversarial robustness of neural network model Download PDF

Info

Publication number
KR102655393B1
KR102655393B1 KR1020220102960A KR20220102960A KR102655393B1 KR 102655393 B1 KR102655393 B1 KR 102655393B1 KR 1020220102960 A KR1020220102960 A KR 1020220102960A KR 20220102960 A KR20220102960 A KR 20220102960A KR 102655393 B1 KR102655393 B1 KR 102655393B1
Authority
KR
South Korea
Prior art keywords
data
learning
classifier
neural network
network model
Prior art date
Application number
KR1020220102960A
Other languages
Korean (ko)
Other versions
KR20240024679A (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 KR1020220102960A priority Critical patent/KR102655393B1/en
Publication of KR20240024679A publication Critical patent/KR20240024679A/en
Application granted granted Critical
Publication of KR102655393B1 publication Critical patent/KR102655393B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

외부의 적대적 공격에 강인성을 가지도록 학습데이터의 신뢰도를 고려하여 서로 다른 방법으로 신경망모델의 학습을 수행하는 학습 방법 및 장치가 제공된다. 신경망모델의 학습방법은, 학습데이터의 신뢰도에 따라 서로 다른 학습 전략으로 신경망모델을 학습시킴으로써, 외부의 적대적 공격에 의해 변조된 데이터가 입력되더라도 신경망모델에서 이에 대한 정확한 분류가 이루어질 수 있다. A learning method and device for learning a neural network model in different ways is provided, taking into account the reliability of the learning data to ensure robustness against external hostile attacks. The learning method of the neural network model trains the neural network model using different learning strategies depending on the reliability of the learning data, so that even if data modulated by an external hostile attack is input, accurate classification can be made in the neural network model.

Description

적대적 강인성을 위한 신경망모델의 학습방법 및 이를 위한 장치{Training method and apparatus for adversarial robustness of neural network model} Training method and apparatus for adversarial robustness of neural network model}

본 발명은 신경망모델의 학습방법에 관한 것으로, 더욱 상세하게는 학습데이터의 신뢰도를 고려하여 신경망모델이 서로 다른 방법으로 학습되도록 하여 외부의 적대적 공격(adversarial attack)에 강인성을 가지도록 하는 신경망모델의 학습방법 및 이를 위한 장치에 관한 것이다. The present invention relates to a learning method of a neural network model, and more specifically, to a method of learning a neural network model in different ways, taking into account the reliability of learning data, so that the neural network model has robustness to external adversarial attacks. It relates to learning methods and devices for them.

딥러닝(Deep learning)은 기계학습 기술의 한 종류이다. 다층 구조로 설계하여 깊어진 인공신경망은 학습이 잘 이루어지지 않지만 학습을 위한 데이터들을 비지도 학습을 통해 전처리하면 신경망이 깊어져도 학습이 잘된다는 것으로부터 시작되었다.Deep learning is a type of machine learning technology. It started from the fact that deep artificial neural networks designed with a multi-layer structure do not learn well, but if the data for learning is preprocessed through unsupervised learning, even if the neural network becomes deeper, it can learn well.

최근 딥러닝은 이미지 분류, 음성 인식 등 인공지능의 여러 분야에서 사용되고 있다.Recently, deep learning has been used in various fields of artificial intelligence, such as image classification and voice recognition.

심층 신경망(Deep Neural Network)이 에러 역전파(backpropagation) 알고리즘이라는 학습 방법을 도입하여 복잡한 확률분포를 효과적으로 학습할 수 있게 됨으로써 딥러닝은 한층 더 발전하게 되었다.Deep learning has developed further as Deep Neural Networks have been able to effectively learn complex probability distributions by introducing a learning method called the error backpropagation algorithm.

하지만 현재까지의 심층 신경망은 적대적(경쟁적) 공격에 취약하다는 단점이 있다. 적대적 공격은 심층 신경망이 잘못 동작하도록 하는 악의적인 샘플로서, 사람 눈은 원래 데이터(이미지)와 적대적 공격 데이터(이미지)와의 차이를 전혀 못 느끼지만 심층 신경망은 적대적 공격 데이터(이미지)를 전혀 다른 클래스로 예측하게 된다.However, deep neural networks to date have the disadvantage of being vulnerable to adversarial (competitive) attacks. An adversarial attack is a malicious sample that causes a deep neural network to behave incorrectly. The human eye cannot perceive any difference between the original data (image) and the adversarial attack data (image), but the deep neural network classifies the adversarial attack data (image) into a completely different class. predict.

이러한 적대적 공격을 방어하는 많은 방어 기술들이 제안되고 있다. 그러나, 기존의 방어 기술들은 이보다 더 강한 적대적 공격에 의해 무력화되는 문제가 있었다.Many defense techniques have been proposed to defend against these adversarial attacks. However, existing defense technologies had the problem of being neutralized by stronger hostile attacks.

한국등록특허 제10-2073808호(2020.03.02.)Korean Patent No. 10-2073808 (2020.03.02.)

본 발명은 학습데이터의 신뢰도를 고려하여 신경망모델이 서로 다른 방법으로 학습되도록 하여 외부의 적대적 공격에 강인성을 가지도록 하는 신경망모델의 학습방법 및 이를 위한 장치를 제공하고자 하는 데 있다.The purpose of the present invention is to provide a learning method and device for a neural network model that allows neural network models to be learned in different ways, taking into account the reliability of learning data, and thus has robustness against external hostile attacks.

본 발명의 일 실시예에 따른 신경망모델의 학습방법은, 제1분류기와 제2분류기를 포함하는 신경망모델에 대한 학습방법이며, 다수의 학습데이터 각각에 대한 신뢰도를 추정하는 단계; 상기 다수의 학습데이터 각각에 대한 상기 제1분류기의 예측분류값을 수신하는 단계; 추정된 신뢰도에 기초하여 결정된 손실함수를 이용하여 상기 제1분류기의 예측손실을 산출하는 단계; 및 상기 예측손실이 최소화 되도록 상기 제1분류기의 적어도 하나의 파라미터를 조정하는 단계를 포함한다.A learning method for a neural network model according to an embodiment of the present invention is a learning method for a neural network model including a first classifier and a second classifier, and includes the steps of estimating reliability for each of a plurality of learning data; Receiving a predicted classification value of the first classifier for each of the plurality of learning data; calculating a prediction loss of the first classifier using a loss function determined based on the estimated reliability; and adjusting at least one parameter of the first classifier to minimize the prediction loss.

상기 신뢰도를 추정하는 단계는, 상기 다수의 학습데이터 각각에 대한 상기 예측분류값의 정답확률을 판단하고, 판단 결과에 따라 상기 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분하는 단계를 포함한다. 여기서, 제1데이터는 상기 제2데이터에 대비하여 낮은 정답확률을 갖는다.The step of estimating the reliability includes determining the probability of a correct answer of the prediction classification value for each of the plurality of learning data, and classifying each of the plurality of learning data into one of first data and second data according to the judgment result. Includes. Here, the first data has a lower probability of correct answer than the second data.

상기 예측손실을 산출하는 단계는, 상기 다수의 학습데이터 중에서 상기 제1데이터에 대응되어 제1손실함수를 결정하고, 상기 다수의 학습데이터 중에서 상기 제2데이터에 대응되어 제2손실함수를 결정하는 단계; 및 상기 제1손실함수를 이용하여 상기 제1데이터에 대한 상기 제1분류기의 예측손실을 산출하고, 상기 제2손실함수를 이용하여 상기 제2데이터에 대한 상기 제1분류기의 예측손실을 산출하는 단계를 포함한다.The step of calculating the prediction loss includes determining a first loss function in correspondence with the first data among the plurality of learning data, and determining a second loss function in correspondence with the second data among the plurality of learning data. step; And calculating the prediction loss of the first classifier for the first data using the first loss function, and calculating the prediction loss of the first classifier for the second data using the second loss function. Includes steps.

또한, 본 실시예의 학습방법은, 상기 다수의 학습데이터 각각에 대한 상기 제2분류기의 예측분류값을 수신하여 평균값을 산출하는 단계; 상기 평균값에 적대적 공격을 하여 적대적 데이터를 생성하는 단계; 및 상기 다수의 학습데이터 중 적어도 일부가 상기 제2데이터로 구분되면, 상기 제2데이터와 상기 적대적 데이터를 상기 제1분류기를 학습시키기 위한 입력으로 함께 제공하는 단계를 더 포함한다.In addition, the learning method of this embodiment includes receiving the predicted classification value of the second classifier for each of the plurality of learning data and calculating an average value; generating hostile data by performing a hostile attack on the average value; And if at least some of the plurality of training data are classified into the second data, providing the second data and the hostile data together as input for training the first classifier.

또한, 본 실시예의 학습방법은, 상기 신뢰도를 추정하는 단계 전에, 상기 다수의 학습데이터 각각에 정규분포 노이즈를 인가하는 단계를 더 포함한다.In addition, the learning method of this embodiment further includes the step of applying normal distribution noise to each of the plurality of learning data before the step of estimating the reliability.

본 발명의 일 실시예에 따른 신경망모델의 학습장치는, 제1분류기와 제2분류기를 포함하는 신경망모델을 학습시키는 장치이며, 다수의 학습데이터 각각에 대한 신뢰도를 추정하는 신뢰도 추정부; 상기 다수의 학습데이터 각각에 대한 상기 제1분류기의 예측분류값을 수신하고, 추정된 신뢰도에 기초하여 결정된 손실함수를 이용하여 상기 제1분류기에 대한 예측손실을 산출하는 예측손실 산출부; 및 상기 예측손실이 최소화 되도록 상기 제1분류기의 적어도 하나의 파라미터를 조정하는 파라미터 조정부를 포함한다. An apparatus for learning a neural network model according to an embodiment of the present invention is an apparatus for training a neural network model including a first classifier and a second classifier, and includes a reliability estimation unit that estimates reliability for each of a plurality of learning data; a prediction loss calculation unit that receives a prediction classification value of the first classifier for each of the plurality of learning data and calculates a prediction loss for the first classifier using a loss function determined based on the estimated reliability; and a parameter adjustment unit that adjusts at least one parameter of the first classifier to minimize the prediction loss.

상기 신뢰도 추정부는, 상기 제1분류기의 예측분류값에 대한 정답확률을 판단하고, 판단 결과에 따라 상기 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분한다. 여기서, 제1데이터는 상기 제2데이터에 대비하여 낮은 정답확률을 갖는다.The reliability estimation unit determines the probability of a correct answer for the predicted classification value of the first classifier, and classifies each of the plurality of learning data into one of first data and second data according to the judgment result. Here, the first data has a lower probability of correct answer than the second data.

또한, 본 실시예의 학습장치는, 상기 다수의 학습데이터 각각에 대한 상기 제2분류기의 예측분류값을 수신하여 평균값을 산출하고, 상기 평균값에 적대적 공격을 하여 적대적 데이터를 생성하는 적대적 데이터 생성부를 더 포함한다.In addition, the learning device of this embodiment further includes a hostile data generator that receives the predicted classification value of the second classifier for each of the plurality of learning data, calculates an average value, and generates hostile data by performing a hostile attack on the average value. Includes.

이에, 학습장치는 상기 신뢰도 추정부에 의해 상기 다수의 학습데이터 중 적어도 일부가 상기 제2데이터로 구분되는 경우에, 상기 제2데이터와 상기 적대적 데이터를 상기 제1분류기를 학습시키기 위한 입력으로 함께 제공한다.Accordingly, when at least some of the plurality of training data is classified as the second data by the reliability estimation unit, the learning device uses the second data and the hostile data as input for training the first classifier. to provide.

상기 손실함수 산출부는, 기 설정된 전체 손실함수로부터 상기 제1데이터에 대응되어 결정된 제1손실함수를 이용하여 상기 제1데이터에 대한 상기 제1분류기의 예측손실을 산출하고, 상기 전체 손실함수로부터 상기 제2데이터에 대응되어 결정된 제2손실함수를 이용하여 상기 제2데이터에 대한 상기 제1분류기의 예측손실을 산출한다. The loss function calculation unit calculates the prediction loss of the first classifier for the first data using a first loss function determined to correspond to the first data from a preset total loss function, and calculates the prediction loss of the first classifier from the total loss function. The prediction loss of the first classifier for the second data is calculated using the second loss function determined to correspond to the second data.

여기서, 학습장치에서 신경망모델로 제공되는 다수의 학습데이터 각각에는 정규분포 노이즈가 포함된다. Here, each of the plurality of learning data provided from the learning device to the neural network model includes normally distributed noise.

또한, 신경망모델의 제1분류기는 상기 다수의 학습데이터 각각에 대한 예측분류값을 출력하도록 학습 중인 분류기이고, 제2분류기는 상기 다수의 학습데이터에 의해 기 학습된 분류기이다. In addition, the first classifier of the neural network model is a classifier that is being trained to output a prediction classification value for each of the plurality of training data, and the second classifier is a classifier that has already been learned by the plurality of training data.

본 발명의 신경망모델의 학습방법에 따르면, 학습데이터의 신뢰도를 고려하여 신경망모델의 분류기에 대한 학습 전략을 다르게 함으로써, 외부에서 적대적 공격에 따른 노이즈가 포함된 데이터가 입력되더라도 신경망모델이 이에 대한 정확한 분류를 할 수 있어 적대적 공격에 대한 강인성(robustness)이 있는 신경망모델을 구축할 수 있다.According to the learning method of the neural network model of the present invention, by considering the reliability of the learning data and varying the learning strategy for the classifier of the neural network model, even if data containing noise due to an external hostile attack is input, the neural network model can accurately respond to this. By being able to classify, you can build a neural network model with robustness against adversarial attacks.

도 1은 본 발명의 일 실시예에 따른 적대적 강인성을 위한 신경망모델의 학습장치에 대한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 적대적 강인성을 위한 신경망모델의 학습방법에 대한 순서도이다.
도 3은 도 2의 학습데이터의 신뢰도를 추정하는 방법에 대한 순서도이다.
도 4는 도 2의 학습데이터에 대한 예측분류값을 수신하는 방법에 대한 순서도이다.
도 5 및 도 6은 도 3의 실시예를 나타내는 도면들이다.
Figure 1 is a block diagram of a learning device for a neural network model for adversarial robustness according to an embodiment of the present invention.
Figure 2 is a flowchart of a learning method of a neural network model for adversarial robustness according to an embodiment of the present invention.
Figure 3 is a flowchart of a method for estimating the reliability of the learning data of Figure 2.
FIG. 4 is a flowchart of a method of receiving a prediction classification value for the training data of FIG. 2.
Figures 5 and 6 are diagrams showing the embodiment of Figure 3.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to be understood by those skilled in the art. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing embodiments of the present invention, if a detailed description of a known function or configuration is judged to unnecessarily obscure the gist of the present invention, the detailed description will be omitted. The terms described below are terms defined in consideration of functions in the embodiments of the present invention, and may vary depending on the intention or custom of the user or operator. Therefore, the definition should be made based on the contents throughout this specification.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the attached drawings.

도 1은 본 발명의 일 실시예에 따른 적대적 강인성을 위한 신경망모델의 학습장치에 대한 블록도이다.Figure 1 is a block diagram of a learning device for a neural network model for adversarial robustness according to an embodiment of the present invention.

도면을 참조하면, 본 실시예의 학습장치(100)는 신경망모델(200)의 제1분류기(210)를 학습시키기 위한 다수의 학습데이터를 상기 신경망모델(200)로 제공할 수 있다. 이때, 학습장치(100)는 학습데이터 각각의 신뢰도를 고려하여 제1분류기(210)가 학습되도록 함으로써, 학습된 제1분류기(210)가 외부의 적대적 공격에 대하여 강인성을 가지도록 할 수 있다. Referring to the drawings, the learning device 100 of this embodiment can provide a plurality of learning data for training the first classifier 210 of the neural network model 200 to the neural network model 200. At this time, the learning device 100 can learn the first classifier 210 by considering the reliability of each learning data, so that the learned first classifier 210 has robustness against external hostile attacks.

여기서, 제1분류기(210)는 입력되는 데이터, 예컨대 이미지데이터에 대한 분류를 수행하는 인공신경망일 수 있다. 제1분류기(210)는 학습장치(100)에 의해 분류학습이 완료된 제2분류기(220)와 함께 신경망모델(200)에 포함될 수 있다. Here, the first classifier 210 may be an artificial neural network that classifies input data, for example, image data. The first classifier 210 may be included in the neural network model 200 together with the second classifier 220 for which classification learning has been completed by the learning device 100.

학습장치(100)는 학습데이터 저장부(110), 신뢰도 추정부(120), 예측손실 산출부(130), 파라미터 조정부(140) 및 적대적 데이터 생성부(150)를 포함할 수 있다. The learning device 100 may include a learning data storage unit 110, a reliability estimation unit 120, a prediction loss calculation unit 130, a parameter adjustment unit 140, and an adversarial data generation unit 150.

학습데이터 저장부(110)에는 다수의 데이터가 학습데이터로 저장될 수 있다. 다수의 학습데이터는 학습을 위한 것으로, 예컨대 이미지데이터일 수 있으나 제한되지는 않는다. A plurality of data may be stored as learning data in the learning data storage unit 110. A number of learning data are for learning, and may be, for example, image data, but are not limited thereto.

이러한 다수의 학습데이터는 원 데이터에 정규분포 노이즈, 예컨대 가우시안 노이즈(Gaussian noise)를 랜덤하게 인가하여 생성될 수 있다. 예컨대, 외부장치(미도시)에서 학습데이터 저장부(110)로 소정의 이미지데이터가 원 데이터로서 전송되면, 학습데이터 저장부(110)는 상기 이미지데이터에 노이즈를 인가하여 노이즈가 포함된 데이터를 다수 생성하고, 이들을 다수의 학습데이터로 저장할 수 있다. 이때, 다수의 학습데이터 각각은 라벨링(labeling)된 데이터, 즉 이미지데이터에 대한 분류정답을 포함할 수 있다. A large number of such learning data can be generated by randomly applying normally distributed noise, for example, Gaussian noise, to the original data. For example, when predetermined image data is transmitted as raw data from an external device (not shown) to the learning data storage unit 110, the learning data storage unit 110 applies noise to the image data to produce data containing noise. You can create multiple data and save them as multiple learning data. At this time, each of the plurality of learning data may include labeled data, that is, the classification answer for the image data.

신뢰도 추정부(120)는 다수의 학습데이터 각각에 대한 신뢰도를 추정할 수 있다. 여기서, 신뢰도는 다수의 학습데이터가 신경망모델(200)의 제1분류기(210)로 제공되었을 때, 신경망모델(200)에서 출력되는 각 학습데이터에 대한 분류 결과가 정답일 확률, 다시 말해 학습데이터의 분류정답과 신경망모델(200)의 학습데이터에 대한 예측분류값이 일치할 확률에 따라 추정될 수 있다. The reliability estimation unit 120 can estimate reliability for each of a plurality of learning data. Here, reliability refers to the probability that the classification result for each learning data output from the neural network model 200 is correct when a plurality of learning data is provided to the first classifier 210 of the neural network model 200, that is, the learning data It can be estimated according to the probability that the correct classification answer and the predicted classification value for the training data of the neural network model 200 will match.

이에, 신뢰도 추정부(120)는 다수의 학습데이터 각각을 신경망모델(200)의 제1분류기(210)로 제공하고, 상기 제1분류기(210)에서 출력되는 다수의 학습데이터 각각에 대한 예측분류값을 수신하여 이들의 평균 정답 확률을 판단함으로써 해당 학습데이터에 대한 신뢰도를 추정할 수 있다. Accordingly, the reliability estimation unit 120 provides each of the plurality of learning data to the first classifier 210 of the neural network model 200, and predicts classification for each of the plurality of learning data output from the first classifier 210. By receiving the values and determining their average probability of a correct answer, the reliability of the relevant learning data can be estimated.

예컨대, 신뢰도 추정부(120)는 정규분포 노이즈가 인가된 학습데이터에 대한 제1분류기(210)의 분류결과에 대하여 평균적인 정답 확률을 판단함으로써, 해당 학습데이터에 대한 신뢰도를 추정할 수 있다.For example, the reliability estimation unit 120 may estimate the reliability of the corresponding learning data by determining the average probability of a correct answer for the classification result of the first classifier 210 for the learning data to which normal distribution noise has been applied.

신뢰도 추정부(120)는 추정된 신뢰도에 따라 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분할 수 있다. 여기서, 제1데이터로 구분된 학습데이터는 제2데이터로 구분된 학습데이터에 비하여 낮은 신뢰도, 다시 말해 신경망모델(200)의 제1분류기(210)에 제1데이터로 구분된 학습데이터가 입력되었을 때 출력되는 예측분류값의 정답확률이 상기 제1분류기(210)에 제2데이터로 구분된 학습데이터가 입력되었을 때 출력되는 예측분류값의 정답확률보다 낮을 수 있다. The reliability estimation unit 120 may classify each of the plurality of learning data into one of first data and second data according to the estimated reliability. Here, the training data classified as first data has lower reliability than the learning data classified as second data. In other words, the learning data classified as first data would have been input to the first classifier 210 of the neural network model 200. The probability of a correct answer of the predicted classification value output may be lower than the probability of a correct answer of the predicted classification value output when training data classified as second data is input to the first classifier 210.

예측손실 산출부(130)는 추정된 학습데이터의 신뢰도에 기초하여 기 설정된 전체 손실함수로부터 손실함수를 결정하고, 결정된 손실함수를 이용하여 해당 학습데이터에 대한 예측손실(오차), 즉 제1분류기(210)의 예측분류값에 대한 손실을 산출할 수 있다. The prediction loss calculation unit 130 determines a loss function from a preset total loss function based on the reliability of the estimated learning data, and uses the determined loss function to calculate the prediction loss (error) for the corresponding learning data, that is, the first classifier. The loss for the predicted classification value of (210) can be calculated.

예컨대, 예측손실 산출부(130)는 아래 [수학식1]로 설정된 전체 손실함수에서 신뢰도 추정부(120)에 의해 구분된 제1데이터 및 제2데이터 각각에 대응되는 제1손실함수와 제2손실함수를 결정할 수 있다. For example, the prediction loss calculation unit 130 calculates the first loss function and the second data corresponding to each of the first data and second data classified by the reliability estimation unit 120 in the overall loss function set as [Equation 1] below. The loss function can be determined.

[수학식1][Equation 1]

여기서, LCAT-RS는 최종 손실함수이고, Llow는 낮은 신뢰도를 가지는 입력을 위한 손실함수이고, λ는 하이퍼 파라미터이고, K는 신뢰도를 기반으로 이산확률분포에서 뽑은 신뢰도와 양의 상관관계를 가지는 값이고, M은 신뢰도 추정에 사용된 노이즈 갯수이고, 1은 지시함수이고, Lhigh는 높은 신뢰도를 가지는 입력에 추가적으로 사용되는 손실함수이다.Here, LCAT-RS is the final loss function, Llow is the loss function for input with low reliability, λ is a hyper parameter, and K is a value that has a positive correlation with reliability drawn from a discrete probability distribution based on reliability. , M is the number of noise used in reliability estimation, 1 is an indicator function, and Lhigh is a loss function additionally used for input with high reliability.

또한, [수학식1]의 Llow 및 Lhigh는 각각 [수학식2]와 [수학식3]으로 설정될 수 있다. Additionally, L low and L high in [Equation 1] can be set to [Equation 2] and [Equation 3], respectively.

[수학식 2] [Equation 2]

여기서, M은 신뢰도 추정에 사용된 노이즈 갯수이고, K는 신뢰도를 기반으로 이산확률분포에서 뽑은 신뢰도와 양의 상관관계를 가지는 값이고, CE는 크로스-엔트로피이고, F(x+δπ(i))는 M개의 노이즈 중 크로스-엔트로피 순으로 정렬했을 때 i-번째인 노이즈에 해당하는 제1분류기 출력이고, y는 정답 라벨이고, Bin은 이산확률분포이고, pf(x, y)는 신뢰도이다.Here, M is the number of noise used in reliability estimation, K is a value with a positive correlation with reliability drawn from a discrete probability distribution based on reliability, CE is cross-entropy, and F(x+δπ(i) ) is the first classifier output corresponding to the i-th noise among the M noises when sorted in order of cross-entropy, y is the correct answer label, Bin is the discrete probability distribution, and pf(x, y) is the reliability. .

[수학식 3] [Equation 3]

여기서, max는 최대함수이고, i는 M개의 노이즈의 색인이며, δ*i은 i-번째 노이즈의 적대적 공격에 대한 출력이고, δi는 i-번째 노이즈이고, ε은 적대적 공격 반지름이고, KL은 쿨벡-라이불러 발산함수이고, F(x+δ*i)는 i번째 노이즈의 적대적 공격에 대한 출력에 대한 제1분류기의 출력이고, y^는 제2분류기의 출력에 대한 평탄화된 라벨이다.Here, max is the maximum function, i is the index of M noises, δ*i is the output for the adversarial attack of the i-th noise, δi is the i-th noise, ε is the adversarial attack radius, and KL is is the Kullbeck-Riebuller divergence function, F(x+δ*i) is the output of the first classifier relative to the output of the i-th noise adversarial attack, and y^ is the smoothed label of the output of the second classifier.

이때, 제1데이터로 구분된 학습데이터에 대하여, [수학식1]의 지시함수 1[K=M]은 0의 값을 가지며, 따라서 예측손실 산출부(130)는 [수학식1]의 전체 손실함수에서 Llow를 제1데이터로 구분된 학습데이터에 대한 제1손실함수로 결정할 수 있다. At this time, for the learning data classified as first data, the indication function 1 [K=M] of [Equation 1] has a value of 0, and therefore the prediction loss calculation unit 130 calculates the entire value of [Equation 1]. In the loss function, L low can be determined as the first loss function for the training data classified as first data.

또한, 제2데이터로 구분된 학습데이터에 대하여, [수학식1]의 지시함수 1[K=M]은 1의 값을 가지며, 따라서 예측손실 산출부(130)는 [수학식1]의 전체 손실함수에서 전술된 제1손실함수를 포함하는 함수, 즉 Llow+λ*Lhigh를 제2데이터로 구분된 학습데이터에 대한 제2손실함수로 결정할 수 있다. In addition, for the learning data classified as second data, the indication function 1 [K=M] of [Equation 1] has a value of 1, and therefore the prediction loss calculation unit 130 calculates the entire value of [Equation 1]. In the loss function, a function including the above-described first loss function, that is, L low +λ*L high , can be determined as the second loss function for the training data classified as second data.

또한, 예측손실 산출부(130)는 다수의 학습데이터 중 제1데이터에 대한 제1분류기(210)의 예측분류값을 수신하고, 기 결정된 제1손실함수를 이용하여 상기 제1분류기(210)의 예측손실을 산출할 수 있다. 마찬가지로, 예측손실 산출부(130)는 다수의 학습데이터 중 제2데이터에 대한 제1분류기(210)의 예측분류값을 수신하고, 기 결정된 제2손실함수를 이용하여 상기 제1분류기(210)의 예측손실을 산출할 수 있다. 이에, 예측손실 산출부(130)는 제1데이터에 대해 산출된 예측손실과 제2데이터에 대해 산출된 예측손실의 합을 제1분류기(210)의 전체 예측손실로 산출할 수 있다. In addition, the prediction loss calculation unit 130 receives the prediction classification value of the first classifier 210 for the first data among the plurality of learning data, and uses the predetermined first loss function to calculate the prediction classification value of the first classifier 210. The predicted loss can be calculated. Likewise, the prediction loss calculation unit 130 receives the prediction classification value of the first classifier 210 for the second data among the plurality of learning data, and uses the predetermined second loss function to classify the first classifier 210 The predicted loss can be calculated. Accordingly, the prediction loss calculation unit 130 may calculate the sum of the prediction loss calculated for the first data and the prediction loss calculated for the second data as the total prediction loss of the first classifier 210.

즉, 본 실시예의 예측손실 산출부(130)는 다수의 학습데이터에 대하여 추정된 신뢰도에 따라 학습데이터의 제1데이터와 제2데이터에 대한 서로 다른 손실함수를 결정하고, 이를 이용하여 제1데이터에 대한 제1분류기(210)의 예측손실과 제2데이터에 대한 제1분류기(210)의 예측손실을 각각 산출할 수 있다. That is, the prediction loss calculation unit 130 of this embodiment determines different loss functions for the first data and second data of the learning data according to the reliability estimated for a plurality of learning data, and uses this to determine the first data The prediction loss of the first classifier 210 for and the prediction loss of the first classifier 210 for the second data can be calculated, respectively.

파라미터 조정부(140)는 예측손실 산출부(130)에서 출력된 제1분류기(210)의 예측손실에 기초하여 상기 제1분류기(210)의 적어도 하나의 파라미터를 조정할 수 있다. 여기서, 파라미터는 제1분류기(210)에 포함된 적어도 하나의 레이어(layer) 또는 노드(node) 각각에 대한 가중치(weight) 또는 바이어스(bias)일 수 있다. The parameter adjustment unit 140 may adjust at least one parameter of the first classifier 210 based on the prediction loss of the first classifier 210 output from the prediction loss calculation unit 130. Here, the parameter may be a weight or bias for each of at least one layer or node included in the first classifier 210.

적대적 데이터 생성부(150)는 신경망모델(200)의 출력, 예컨대 다수의 학습데이터에 대한 제2분류기(220)의 출력을 수신하여 소정의 적대적 공격을 수행하고, 그에 따른 적대적 데이터를 생성할 수 있다. 적대적 데이터 생성부(150)는 기 생성된 적대적 데이터를 제1분류기(210)의 입력으로 제공하여 상기 제1분류기(210)가 학습되도록 할 수 있다. The hostile data generator 150 may receive the output of the neural network model 200, for example, the output of the second classifier 220 for a plurality of learning data, perform a predetermined hostile attack, and generate hostile data accordingly. there is. The adversarial data generator 150 may provide pre-generated adversarial data as input to the first classifier 210 so that the first classifier 210 can learn.

예컨대, 적대적 데이터 생성부(150)는 다수의 학습데이터에 대한 제2분류기(220)의 예측분류값을 수신하고, 이에 대한 평균을 산출할 수 있다. 그리고, 산출된 평균값에 FGSM(Fast Gradient Sign Method)이나 PGD(Projected Gradient Descent) 등의 공격방식을 이용한 적대적 공격을 수행하고, 그에 따라 변조된 데이터, 즉 적대적 데이터를 생성할 수 있다. For example, the adversarial data generator 150 may receive the predicted classification values of the second classifier 220 for a plurality of training data and calculate an average thereof. Then, a hostile attack using an attack method such as FGSM (Fast Gradient Sign Method) or PGD (Projected Gradient Descent) can be performed on the calculated average value, thereby generating altered data, that is, hostile data.

적대적 데이터 생성부(150)는 생성된 적대적 데이터를 특정 조건, 예컨대 신뢰도 추정부(120)에 의해 제2데이터로 구분된 학습데이터가 제1분류기(210)로 제공되는 경우에 상기 제1분류기(210)로 상기 제2데이터로 구분된 학습데이터에 대응되는 적대적 데이터를 제공할 수 있다. 이에, 제1분류기(210)에는 정상 데이터인 제2데이터와 비정상 데이터인 적대적 데이터가 함께 입력되며, 따라서 제1분류기(210)는 제2데이터와 적대적 데이터를 통한 학습이 진행될 수 있다. 따라서, 학습되는 제1분류기(210)는 외부의 적대적 공격에 대한 강인성을 가질 수 있다. The hostile data generator 150 uses the generated hostile data under certain conditions, for example, when training data classified as second data by the reliability estimation unit 120 is provided to the first classifier 210, the first classifier ( 210), adversarial data corresponding to the learning data classified as the second data can be provided. Accordingly, the second data, which is normal data, and the hostile data, which are abnormal data, are input together into the first classifier 210, and thus the first classifier 210 can proceed with learning through the second data and the hostile data. Accordingly, the learned first classifier 210 can have robustness against external hostile attacks.

이와 같이, 본 실시예의 학습장치(100)는 신경망모델(200)의 분류기, 예컨대 제1분류기(210)가 학습데이터의 신뢰도에 따라 서로 다른 방법으로 학습되도록 함으로써, 외부에서 신경망모델(200)로 적대적 공격에 의한 변조된 데이터가 입력되더라도 상기 데이터에 대한 정확한 분류가 이루어지도록 할 수 있다. In this way, the learning device 100 of this embodiment allows the classifier of the neural network model 200, for example, the first classifier 210, to be trained in different ways according to the reliability of the learning data, so that the neural network model 200 can be used from the outside. Even if data altered by a hostile attack is input, accurate classification of the data can be achieved.

도 2는 본 발명의 일 실시예에 따른 적대적 강인성을 위한 신경망모델의 학습방법에 대한 순서도이다. Figure 2 is a flowchart of a learning method of a neural network model for adversarial robustness according to an embodiment of the present invention.

앞서 설명한 바와 같이, 본 발명의 신경망모델(200)은 제1분류기(210)가 학습되는 것이므로, 이하에서는 제1분류기(210)의 학습에 대하여 설명하기로 한다. As described above, the neural network model 200 of the present invention is learned by the first classifier 210, and thus the learning of the first classifier 210 will be described below.

먼저, 학습장치(100)의 학습데이터 저장부(110)는 외부에서 제공된 다수의 데이터에 소정의 노이즈, 즉 정규분포 노이즈를 인가하여 다수의 학습데이터로 저장할 수 있다. First, the learning data storage unit 110 of the learning device 100 can apply predetermined noise, that is, normally distributed noise, to a plurality of externally provided data and store them as a plurality of learning data.

학습장치(100)의 신뢰도 추정부(120)는 다수의 학습데이터 각각에 대한 신뢰도를 추정할 수 있다(S10). 신뢰도 추정부(120)는 다수의 학습데이터 각각에 대한 제1분류기(210)의 예측분류값의 정답확률에 기초하여 각 학습데이터에 대한 신뢰도를 추정할 수 있다. The reliability estimation unit 120 of the learning device 100 can estimate the reliability of each of a plurality of learning data (S10). The reliability estimation unit 120 may estimate the reliability of each learning data based on the probability of correct response of the predicted classification value of the first classifier 210 for each of the plurality of learning data.

도 3은 도 2의 학습데이터의 신뢰도를 추정하는 방법에 대한 순서도이다. Figure 3 is a flowchart of a method for estimating the reliability of the learning data of Figure 2.

도면을 참조하면, 신뢰도 추정부(120)는 다수의 학습데이터를 신경망모델(200)로 제공하고, 신경망모델(200)의 제1분류기(210)로부터 각 학습데이터에 대한 예측분류값을 수신할 수 있다. 신뢰도 추정부(120)는 수신된 예측분류값에 대한 평균 정답확률, 즉 정규분포 노이즈가 인가된 학습데이터에 대한 제1분류기(210)의 분류결과의 평균적인 정답 확률을 판단함으로써, 해당 학습데이터에 대한 신뢰도를 추정할 수 있다(S120).Referring to the drawing, the reliability estimation unit 120 provides a plurality of learning data to the neural network model 200 and receives a predicted classification value for each learning data from the first classifier 210 of the neural network model 200. You can. The reliability estimation unit 120 determines the average probability of a correct answer for the received predicted classification value, that is, the average probability of a correct answer for the classification result of the first classifier 210 for the learning data to which normal distribution noise is applied, thereby determining the average probability of a correct answer for the corresponding learning data. The reliability can be estimated (S120).

이어, 신뢰도 추정부(120)는 판단 결과에 따라 다수의 학습데이터 각각의 신뢰도를 추정하여 이들을 제1데이터와 제2데이터로 구분할 수 있다(S130). 여기서, 제1데이터는 제2데이터에 비하여 신뢰도가 낮은 데이터, 즉 학습데이터에 대한 평균 정답 확률이 낮은 데이터일 수 있다. Next, the reliability estimation unit 120 may estimate the reliability of each of the plurality of learning data according to the judgment result and divide them into first data and second data (S130). Here, the first data may be data with lower reliability than the second data, that is, data with a low average probability of a correct answer for the learning data.

예컨대, 도 5 및 도 6에 도시된 바와 같이, 학습데이터 저장부(110)는 외부에서 제공된 원 데이터(x1, x2)에 노이즈를 인가하여 다수의 학습데이터((x1+δ), (x2+δ))를 저장할 수 있다. 그리고, 신뢰도 추정부(120)는 다수의 학습데이터((x1+δ), (x2+δ)) 각각을 제1분류기(210)로 제공하고, 그에 따른 제1분류기(210)의 예측분류값을 수신할 수 있다. 이때, 제1분류기(210)로 제공되는 다수의 학습데이터((x1+δ), (x2+δ)) 각각은 제3영역값(a3)이 라벨링된 데이터, 즉 제3영역값(a3)이 분류정답으로 결정된 데이터일 수 있다. For example, as shown in FIGS. 5 and 6, the learning data storage unit 110 applies noise to the externally provided raw data (x1, x2) to generate a plurality of learning data ((x1+δ), (x2+ δ)) can be stored. In addition, the reliability estimation unit 120 provides each of a plurality of learning data ((x1+δ), (x2+δ)) to the first classifier 210, and the corresponding predicted classification value of the first classifier 210 can receive. At this time, each of the plurality of training data ((x1+δ), (x2+δ)) provided to the first classifier 210 is data labeled with the third region value (a3), that is, the third region value (a3) This may be data determined by the classification answer.

이어, 신뢰도 추정부(120)는 수신된 예측분류값의 정답확률을 판단하고, 판단 결과에 따라 학습데이터를 제1데이터와 제2데이터로 구분할 수 있다. 신뢰도 추정부(120)는 아래 [수학식4]에 따라 제1분류기(210)의 예측분류값에 대한 정답확률을 판단할 수 있다. Next, the reliability estimation unit 120 determines the probability of a correct answer of the received prediction classification value, and divides the learning data into first data and second data according to the judgment result. The reliability estimation unit 120 can determine the probability of a correct answer for the predicted classification value of the first classifier 210 according to [Equation 4] below.

[수학식4][Equation 4]

여기서, p^f는 추정된 신뢰도이고, M은 신뢰도 추정에 사용된 노이즈 갯수이고, 1은 지시함수이고, x는 입력이고, δi는 i-번째 노이즈이고, f(x+ δi)는 i-번째 노이즈에 대한 제1분류기의 출력이고, y는 라벨이다.Here, p^f is the estimated reliability, M is the number of noise used for reliability estimation, 1 is the indicator function, x is the input, δi is the i-th noise, and f(x+ δi) is the i-th noise. This is the output of the first classifier for noise, and y is the label.

예컨대, 도 5에 도시된 바와 같이, 신뢰도 추정부(120)는 8개의 학습데이터(x1+δ)에 대한 제1분류기(210)의 예측분류값에서 6개의 예측분류값을 정답으로 판단할 수 있다. 또한, 도 6에 도시된 바와 같이, 신뢰도 추정부(120)는 8개의 학습데이터(x2+δ)에 대한 제1분류기(210)의 예측분류값에서 8개의 예측분류값을 정답으로 판단할 수 있다. 이에, 신뢰도 추정부(120)는 도 5의 학습데이터(x1+δ)를 제1데이터로 구분하고, 도 6의 학습데이터(x2+δ)를 제2데이터로 구분할 수 있다.For example, as shown in FIG. 5, the reliability estimation unit 120 may determine 6 predicted classification values as correct from the predicted classification values of the first classifier 210 for the 8 learning data (x1+δ). there is. In addition, as shown in FIG. 6, the reliability estimation unit 120 can determine 8 predicted classification values as correct from the predicted classification values of the first classifier 210 for the 8 learning data (x2+δ). there is. Accordingly, the reliability estimation unit 120 may classify the learning data (x1+δ) of FIG. 5 as first data and the learning data (x2+δ) of FIG. 6 as second data.

다시 도 2를 참조하면, 학습장치(100)는 다수의 학습데이터를 제1분류기(210)로 제공하고, 상기 제1분류기(210)로부터 학습데이터에 대한 예측분류값을 수신할 수 있다(S20). 이때, 학습장치(100)는 신뢰도 추정부(120)에서 추정된 신뢰도에 기초하여 학습데이터를 제1분류기(210)로 제공할 수 있다. Referring again to FIG. 2, the learning device 100 may provide a plurality of learning data to the first classifier 210 and receive a prediction classification value for the learning data from the first classifier 210 (S20) ). At this time, the learning device 100 may provide learning data to the first classifier 210 based on the reliability estimated by the reliability estimation unit 120.

도 4는 도 2의 학습데이터에 대한 예측분류값을 수신하는 방법에 대한 순서도이다. FIG. 4 is a flowchart of a method of receiving a prediction classification value for the training data of FIG. 2.

도면을 참조하면, 신뢰도 추정부(120)에 의해 다수의 학습데이터 중 적어도 일부가 제1데이터로 구분되면, 학습장치(100)는 제1데이터를 제1분류기(210)로 제공하여 상기 제1분류기(210)로부터 제1데이터에 대한 예측분류값을 수신할 수 있다(S210). Referring to the drawing, when at least some of the plurality of learning data is classified as first data by the reliability estimation unit 120, the learning device 100 provides the first data to the first classifier 210 to determine the first data. A predicted classification value for the first data may be received from the classifier 210 (S210).

반면, 신뢰도 추정부(120)에 의해 다수의 학습데이터 중 적어도 일부가 제2데이터로 구분되면, 학습장치(100)는 제2데이터와 적대적 데이터 생성부(150)에서 출력되는 적대적 데이터를 제1분류기(210)로 함께 제공할 수 있다. On the other hand, if at least some of the plurality of learning data is classified as second data by the reliability estimation unit 120, the learning device 100 combines the second data and the hostile data output from the hostile data generation unit 150 into the first data. It can be provided together with a classifier (210).

여기서, 제1분류기(210)가 제2데이터와 함께 적대적 데이터를 이용하여 학습되도록 하는 것은, 제1분류기(210)의 출력값이 기 학습된 제2분류기(220)의 출력값과 확연한 차이가 발생되는 것을 방지하기 위함이다. Here, the reason why the first classifier 210 is trained using adversarial data together with the second data is that the output value of the first classifier 210 is significantly different from the output value of the already learned second classifier 220. This is to prevent

이에, 적대적 데이터 생성부(150)는 다수의 학습데이터를 신경망모델(200)의 제2분류기(220)로 제공하고, 상기 제2분류기(220)로부터 학습데이터에 대한 예측분류값을 수신할 수 있다(S220). 이때, 제2분류기(220)는 다수의 학습데이터에 의해 학습이 완료된 상태일 수 있다. Accordingly, the hostile data generator 150 may provide a plurality of learning data to the second classifier 220 of the neural network model 200 and receive a predicted classification value for the learning data from the second classifier 220. There is (S220). At this time, the second classifier 220 may have completed learning using a plurality of learning data.

다음으로, 적대적 데이터 생성부(150)는 수신된 제2분류기(220)의 예측분류값에 대한 평균을 산출하고(S230), 산출된 평균값에 적대적 공격을 하여 적대적 데이터를 생성할 수 있다(S240). 적대적 데이터 생성부(150)는 FGSM, PGD 등의 적대적 공격 방법을 이용하여 평균값에 대한 적대적 공격을 할 수 있다. Next, the hostile data generator 150 calculates the average of the predicted classification values of the received second classifier 220 (S230), and performs a hostile attack on the calculated average to generate hostile data (S240) ). The adversarial data generator 150 may perform a hostile attack on the average value using a hostile attack method such as FGSM or PGD.

이에, 학습장치(100)는 제2데이터와 적대적 데이터를 제1분류기(210)로 제공하고, 상기 제1분류기(210)로부터 예측분류값을 수신할 수 있다(S250).Accordingly, the learning device 100 may provide the second data and the hostile data to the first classifier 210 and receive a predicted classification value from the first classifier 210 (S250).

다시 도 2를 참조하면, 예측손실 산출부(130)는 신뢰도 추정부(120)의 추정된 신뢰도에 기초하여 제1분류기(210)에 대한 예측손실을 산출할 수 있다(S30). Referring again to FIG. 2, the prediction loss calculation unit 130 may calculate the prediction loss for the first classifier 210 based on the estimated reliability of the reliability estimation unit 120 (S30).

예측손실 산출부(130)는 추정된 신뢰도에 따라 기 설정된 전체 손실함수로부터 제1데이터 및 제2데이터 각각에 대한 손실함수를 결정할 수 있다. 예컨대, 예측손실 산출부(130)는 앞서 [수학식1]을 통해 설정된 전체 손실함수에서 신뢰도 추정부(120)에 의해 제1데이터로 구분된 학습데이터에 대한 제1손실함수를 결정하고, 제2데이터로 구분된 학습데이터에 대한 제2손실함수를 결정할 수 있다. The prediction loss calculation unit 130 may determine a loss function for each of the first data and the second data from a preset overall loss function according to the estimated reliability. For example, the prediction loss calculation unit 130 determines the first loss function for the learning data classified as first data by the reliability estimation unit 120 from the overall loss function previously set through [Equation 1], and The second loss function for the training data divided into two data can be determined.

이어, 예측손실 산출부(130)는 제1손실함수를 이용하여 제1분류기(210)의 제1데이터에 대한 예측분류값에서 예측손실을 산출하고, 제2손실함수를 이용하여 제1분류기(210)의 제2데이터 및 적대적 데이터에 대한 예측분류값에서 예측손실을 산출할 수 있다. Next, the prediction loss calculation unit 130 calculates the prediction loss from the prediction classification value for the first data of the first classifier 210 using the first loss function, and uses the second loss function to calculate the prediction loss for the first classifier ( The prediction loss can be calculated from the prediction classification values for the second data and hostile data in 210).

이에, 파라미터 조정부(140)는 기 산출된 제1분류기(210)의 예측손실에 기초하여 상기 예측손실이 최소화되도록 상기 제1분류기(210)의 적어도 하나의 파라미터를 조정할 수 있다(S40).Accordingly, the parameter adjustment unit 140 may adjust at least one parameter of the first classifier 210 to minimize the prediction loss based on the previously calculated prediction loss of the first classifier 210 (S40).

또한, 학습장치(100)는 전술된 제1분류기(210)의 예측분류값을 수신하여 예측손실을 산출하고, 그에 따라 제1분류기(210)의 파라미터를 조정하는 단계들(S20, S30, S40)을 반복함으로써, 신경망모델(200)의 제1분류기(210)가 학습되도록 할 수 있다. In addition, the learning device 100 receives the prediction classification value of the above-described first classifier 210, calculates the prediction loss, and performs steps (S20, S30, S40) of adjusting the parameters of the first classifier 210 accordingly. ), the first classifier 210 of the neural network model 200 can be learned.

이와 같이, 본 실시예의 신경망모델 학습방법은, 학습데이터의 신뢰도에 따라 서로 다른 방법으로 제1분류기(210)가 학습되도록 함으로써, 외부에서 신경망모델(200)로 적대적 공격에 의한 변조된 데이터가 입력되더라도 상기 데이터에 대한 정확한 분류가 이루어지도록 할 수 있다. As such, the neural network model learning method of this embodiment allows the first classifier 210 to be trained in different ways depending on the reliability of the learning data, so that data modulated by an adversarial attack is input from the outside to the neural network model 200. Even so, accurate classification of the data can be achieved.

이상에서 설명된 본 발명의 블록도의 각 블록과 순서도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 순서도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 순서도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 순서도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block of the block diagram of the present invention and each step of the flowchart described above may be performed by computer program instructions. Since these computer program instructions can be mounted on the encoding processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions performed through the encoding processor of the computer or other programmable data processing equipment are included in each block or block of the block diagram. Each step of the flowchart creates a means to perform the functions described. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular way, so that the computer-usable or computer-readable memory The instructions stored in can also produce manufactured items containing instruction means that perform the functions described in each block of the block diagram or each step of the flowchart. Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing functions described in each block of the block diagram and each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments it is possible for the functions mentioned in the blocks or steps to occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially simultaneously, or the blocks or steps may sometimes be performed in reverse order depending on the corresponding function.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present invention, and those skilled in the art will be able to make various modifications and variations without departing from the essential quality of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention shall be interpreted in accordance with the claims below, and all technical ideas within the scope equivalent thereto shall be construed as being included in the scope of rights of the present invention.

100: 학습장치 110: 학습데이터 저장부
120: 신뢰도 추정부 130: 예측손실 산출부
140: 파라미터 조정부 150: 적대적 데이터 생성부
200: 신경망모델 210: 제1분류기
220: 제2분류기
100: Learning device 110: Learning data storage unit
120: reliability estimation unit 130: prediction loss calculation unit
140: Parameter adjustment unit 150: Hostile data generation unit
200: Neural network model 210: First classifier
220: Second classifier

Claims (15)

신경망모델의 학습장치에 의한 신경망모델의 학습방법으로,
상기 신경망모델은 다수의 학습데이터 각각에 대한 예측분류값을 출력하도록 학습 중인 제1분류기 및 상기 다수의 학습데이터에 의해 기 학습된 제2분류기를 포함하고,
상기 신경망모델의 학습방법은,
상기 다수의 학습데이터 각각에 대한 상기 제1분류기의 예측분류값의 정답확률을 판단하여 상기 다수의 학습데이터 각각에 대한 신뢰도를 추정하는 단계;
추정된 신뢰도에 기초하여 상기 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분하는 단계;
상기 제1데이터에 대응되는 제1손실함수 및 상기 제2데이터에 대응되는 제2손실함수를 각각 결정하는 단계;
상기 제1손실함수를 이용하여 상기 제1분류기의 상기 제1데이터에 대한 예측손실을 산출하고, 상기 제2손실함수를 이용하여 상기 제1분류기의 상기 제2데이터에 대한 예측손실을 산출하는 단계; 및
상기 제1데이터에 대한 예측손실과 상기 제2데이터에 대한 예측손실의 합이 최소가 되도록 상기 제1분류기의 적어도 하나의 파라미터를 조정하는 단계를 포함하는 신경망모델의 학습방법.
A neural network model learning method using a neural network model learning device,
The neural network model includes a first classifier that is being trained to output a prediction classification value for each of a plurality of training data and a second classifier that has been previously trained by the plurality of training data,
The learning method of the neural network model is,
estimating reliability for each of the plurality of learning data by determining a probability of a correct answer of the predicted classification value of the first classifier for each of the plurality of learning data;
Classifying each of the plurality of learning data into one of first data and second data based on the estimated reliability;
determining a first loss function corresponding to the first data and a second loss function corresponding to the second data;
Calculating a prediction loss for the first data of the first classifier using the first loss function, and calculating a prediction loss for the second data of the first classifier using the second loss function. ; and
A learning method of a neural network model comprising adjusting at least one parameter of the first classifier so that the sum of the prediction loss for the first data and the prediction loss for the second data is minimized.
제1항에 있어서,
상기 제1데이터는 상기 제2데이터에 대비하여 낮은 정답확률을 갖는 신경망모델의 학습방법.
According to paragraph 1,
A learning method of a neural network model in which the first data has a lower probability of correct answer compared to the second data.
삭제delete 제1항에 있어서,
상기 다수의 학습데이터 각각에 대한 상기 제2분류기의 예측분류값을 수신하여 평균값을 산출하는 단계;
상기 평균값에 적대적 공격을 하여 적대적 데이터를 생성하는 단계; 및
상기 다수의 학습데이터 중 적어도 일부가 상기 제2데이터로 구분되면, 상기 제2데이터와 상기 적대적 데이터를 상기 제1분류기를 학습시키기 위한 입력으로 함께 제공하는 단계를 더 포함하는 신경망모델의 학습방법.
According to paragraph 1,
receiving predicted classification values of the second classifier for each of the plurality of learning data and calculating an average value;
generating hostile data by performing a hostile attack on the average value; and
If at least some of the plurality of training data are classified into the second data, the method of learning a neural network model further includes providing the second data and the adversarial data together as input for training the first classifier.
제1항에 있어서,
상기 신뢰도를 추정하는 단계 전에,
상기 다수의 학습데이터 각각에 정규분포 노이즈를 인가하는 단계를 더 포함하는 신경망모델의 학습방법.
According to paragraph 1,
Before estimating the reliability,
A learning method for a neural network model further comprising applying normal distribution noise to each of the plurality of learning data.
삭제delete 다수의 학습데이터 각각에 대한 예측분류값을 출력하도록 학습 중인 제1분류기 및 상기 다수의 학습데이터에 의해 기 학습된 제2분류기를 포함하는 신경망모델의 학습을 위한 학습장치로,
상기 다수의 학습데이터 각각에 대한 상기 제1분류기의 예측분류값의 정답확률을 판단하여 상기 다수의 학습데이터 각각에 대한 신뢰도를 추정하고, 추정된 신뢰도에 기초하여 상기 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분하는 신뢰도 추정부;
상기 제1데이터에 대응되는 제1손실함수 및 상기 제2데이터에 대응되는 제2손실함수를 각각 결정하고, 상기 제1손실함수를 이용하여 상기 제1분류기의 상기 제1데이터에 대한 예측손실을 산출하고, 상기 제2손실함수를 이용하여 상기 제1분류기의 상기 제2데이터에 대한 예측손실을 산출하는 예측손실 산출부; 및
상기 제1데이터에 대한 예측손실과 상기 제2데이터에 대한 예측손실의 합이 최소가 되도록 상기 제1분류기의 적어도 하나의 파라미터를 조정하는 파라미터 조정부를 포함하는 신경망모델의 학습장치.
A learning device for learning a neural network model including a first classifier being trained to output a prediction classification value for each of a plurality of learning data and a second classifier previously learned by the plurality of learning data,
The reliability of each of the plurality of learning data is estimated by determining the correct probability of the predicted classification value of the first classifier for each of the plurality of learning data, and each of the plurality of learning data is divided into the first classifier based on the estimated reliability. a reliability estimation unit that distinguishes between data and second data;
A first loss function corresponding to the first data and a second loss function corresponding to the second data are respectively determined, and the prediction loss of the first classifier for the first data is calculated using the first loss function. a prediction loss calculation unit that calculates a prediction loss for the second data of the first classifier using the second loss function; and
A learning device for a neural network model, including a parameter adjustment unit that adjusts at least one parameter of the first classifier so that the sum of the prediction loss for the first data and the prediction loss for the second data is minimized.
삭제delete 제7항에 있어서,
상기 제1데이터는 상기 제2데이터에 대비하여 낮은 정답확률을 갖는 신경망모델의 학습 장치.
In clause 7,
A learning device for a neural network model in which the first data has a lower probability of correct answer than the second data.
제7항에 있어서,
상기 다수의 학습데이터 각각에 대한 상기 제2분류기의 예측분류값을 수신하여 평균값을 산출하고, 상기 평균값에 적대적 공격을 하여 적대적 데이터를 생성하는 적대적 데이터 생성부를 더 포함하고,
상기 신경망모델의 학습장치는,
상기 신뢰도 추정부에 의해 상기 다수의 학습데이터 중 적어도 일부가 상기 제2데이터로 구분되는 경우에, 상기 제2데이터와 상기 적대적 데이터를 상기 제1분류기를 학습시키기 위한 입력으로 함께 제공하는 신경망모델의 학습장치.
In clause 7,
It further includes a hostile data generator that receives the predicted classification value of the second classifier for each of the plurality of training data, calculates an average value, and performs a hostile attack on the average value to generate hostile data,
The learning device for the neural network model is,
When at least some of the plurality of training data are classified as the second data by the reliability estimation unit, a neural network model that provides the second data and the adversarial data together as input for training the first classifier Learning device.
삭제delete 제7항에 있어서,
상기 다수의 학습데이터 각각에는 정규분포 노이즈가 포함된 신경망모델의 학습장치.
In clause 7,
A learning device for a neural network model in which each of the plurality of learning data includes normally distributed noise.
삭제delete 다수의 학습데이터 각각에 대한 예측분류값을 출력하도록 학습 중인 제1분류기 및 상기 다수의 학습데이터에 의해 기 학습된 제2분류기를 포함하는 신경망모델의 학습을 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은,
상기 다수의 학습데이터 각각에 대한 상기 제1분류기의 예측분류값의 정답확률을 판단하여 상기 다수의 학습데이터 각각에 대한 신뢰도를 추정하는 단계;
추정된 신뢰도에 기초하여 상기 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분하는 단계;
상기 제1데이터에 대응되는 제1손실함수 및 상기 제2데이터에 대응되는 제2손실함수를 각각 결정하는 단계;
상기 제1손실함수를 이용하여 상기 제1분류기의 상기 제1데이터에 대한 예측손실을 산출하고, 상기 제2손실함수를 이용하여 상기 제1분류기의 상기 제2데이터에 대한 예측손실을 산출하는 단계; 및
상기 제1데이터에 대한 예측손실과 상기 제2데이터에 대한 예측손실의 합이 최소가 되도록 상기 제1분류기의 적어도 하나의 파라미터를 조정하는 단계를 포함하는 신경망모델의 학습방법을 프로세서가 수행하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a computer program for learning a neural network model including a first classifier being trained to output a prediction classification value for each of a plurality of learning data and a second classifier previously trained by the plurality of learning data. as,
The computer program is,
estimating reliability for each of the plurality of learning data by determining a correct probability of a predicted classification value of the first classifier for each of the plurality of learning data;
Classifying each of the plurality of learning data into one of first data and second data based on the estimated reliability;
determining a first loss function corresponding to the first data and a second loss function corresponding to the second data;
Calculating a prediction loss for the first data of the first classifier using the first loss function, and calculating a prediction loss for the second data of the first classifier using the second loss function. ; and
For a processor to perform a learning method of a neural network model, including the step of adjusting at least one parameter of the first classifier so that the sum of the prediction loss for the first data and the prediction loss for the second data is minimized. A computer-readable recording medium containing instructions.
다수의 학습데이터 각각에 대한 예측분류값을 출력하도록 학습 중인 제1분류기 및 상기 다수의 학습데이터에 의해 기 학습된 제2분류기를 포함하는 신경망모델의 학습을 위해 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
상기 다수의 학습데이터 각각에 대한 상기 제1분류기의 예측분류값의 정답확률을 판단하여 상기 다수의 학습데이터 각각에 대한 신뢰도를 추정하는 단계;
추정된 신뢰도에 기초하여 상기 다수의 학습데이터 각각을 제1데이터와 제2데이터 중 하나로 구분하는 단계;
상기 제1데이터에 대응되는 제1손실함수 및 상기 제2데이터에 대응되는 제2손실함수를 각각 결정하는 단계;
상기 제1손실함수를 이용하여 상기 제1분류기의 상기 제1데이터에 대한 예측손실을 산출하고, 상기 제2손실함수를 이용하여 상기 제1분류기의 상기 제2데이터에 대한 예측손실을 산출하는 단계; 및
상기 제1데이터에 대한 예측손실과 상기 제2데이터에 대한 예측손실의 합이 최소가 되도록 상기 제1분류기의 적어도 하나의 파라미터를 조정하는 단계를 포함하는 신경망모델의 학습방법을 프로세서가 수행하기 위한 명령어를 포함하는 기록매체에 저장되어 있는 컴퓨터 프로그램.
Stored on a computer-readable recording medium for learning a neural network model including a first classifier that is learning to output a prediction classification value for each of a plurality of learning data and a second classifier that has been previously learned by the plurality of learning data. As a computer program,
The computer program is,
estimating reliability for each of the plurality of learning data by determining a probability of a correct answer of the predicted classification value of the first classifier for each of the plurality of learning data;
Classifying each of the plurality of learning data into one of first data and second data based on the estimated reliability;
determining a first loss function corresponding to the first data and a second loss function corresponding to the second data;
Calculating a prediction loss for the first data of the first classifier using the first loss function, and calculating a prediction loss for the second data of the first classifier using the second loss function. ; and
For a processor to perform a learning method of a neural network model, including the step of adjusting at least one parameter of the first classifier so that the sum of the prediction loss for the first data and the prediction loss for the second data is minimized. A computer program stored on a recording medium containing instructions.
KR1020220102960A 2022-08-17 2022-08-17 Training method and apparatus for adversarial robustness of neural network model KR102655393B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220102960A KR102655393B1 (en) 2022-08-17 2022-08-17 Training method and apparatus for adversarial robustness of neural network model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220102960A KR102655393B1 (en) 2022-08-17 2022-08-17 Training method and apparatus for adversarial robustness of neural network model

Publications (2)

Publication Number Publication Date
KR20240024679A KR20240024679A (en) 2024-02-26
KR102655393B1 true KR102655393B1 (en) 2024-04-05

Family

ID=90058300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220102960A KR102655393B1 (en) 2022-08-17 2022-08-17 Training method and apparatus for adversarial robustness of neural network model

Country Status (1)

Country Link
KR (1) KR102655393B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210334665A1 (en) 2019-05-31 2021-10-28 Tencent Technology (Shenzhen) Company Limited Text-based event detection method and apparatus, computer device, and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102073808B1 (en) 2017-10-25 2020-03-02 서울대학교 산학협력단 Apparatus and Method for Data Processing Based on Deep Neural Network
JP2019207770A (en) * 2018-05-28 2019-12-05 ヒロセ電機株式会社 Coaxial connector device comprising lock member and lock member
KR20200052444A (en) * 2018-10-30 2020-05-15 삼성전자주식회사 Method of outputting prediction result using neural network, method of generating neural network, and apparatuses thereof
KR20210152269A (en) * 2020-06-08 2021-12-15 삼성에스디에스 주식회사 Method for learning of deep learning model and computing device for executing the method
EP3982299A1 (en) * 2020-10-09 2022-04-13 Naver Corporation Superloss: a generic loss for robust curriculum learning
KR102592935B1 (en) * 2020-12-22 2023-10-23 성균관대학교산학협력단 Method and apparatus for training neural network model, computer program
KR102648270B1 (en) * 2020-12-29 2024-03-14 포항공과대학교 산학협력단 Method and apparatus for coordinate and uncertainty estimation in images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210334665A1 (en) 2019-05-31 2021-10-28 Tencent Technology (Shenzhen) Company Limited Text-based event detection method and apparatus, computer device, and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPWO2019207770 A1

Also Published As

Publication number Publication date
KR20240024679A (en) 2024-02-26

Similar Documents

Publication Publication Date Title
US20210103777A1 (en) System and method for batch-normalized recurrent highway networks
CN111476771B (en) Domain self-adaption method and system based on distance countermeasure generation network
EP4060572A1 (en) Computer-implemented method for accelerating convergence in the training of generative adversarial networks (gan) to generate synthetic network traffic, and computer programs of same
KR20210102135A (en) System and Method for Detection of Anomaly Pattern
US20200410295A1 (en) Analyzing and correcting vulnerabilities in neural networks
KR102129161B1 (en) Terminal device and Method for setting hyperparameter of convolutional neural network
CN110874471B (en) Privacy and safety protection neural network model training method and device
CN113111349B (en) Backdoor attack defense method based on thermodynamic diagram, reverse engineering and model pruning
KR20210051343A (en) Apparatus and method for unsupervised domain adaptation
CN114463540A (en) Segmenting images using neural networks
Hanawal et al. Unsupervised early exit in dnns with multiple exits
KR102655393B1 (en) Training method and apparatus for adversarial robustness of neural network model
US20230281981A1 (en) Methods, devices, and computer readable media for training a keypoint estimation network using cgan-based data augmentation
KR20210158740A (en) Apparatus and method for clustering validation based on machine learning performance
KR102188115B1 (en) Electronic device capable of selecting a biomarker to be used in cancer prognosis prediction based on generative adversarial networks and operating method thereof
KR102442891B1 (en) System and method for updating weight of artificial neural networks
US20210061289A1 (en) Unsupervised Learning-Based Detection Method And Driver Profile-Based Vehicle Theft Detection Device and Method Using Same
CN117291252B (en) Stable video generation model training method, generation method, equipment and storage medium
KR20210057847A (en) Image Recognition Method through Deep Learning of Multidimensional Neural Network and Decision Neural Network And System Thereof
CN118410851B (en) Mixed expert model routing network optimization method, product, device and medium
NU et al. Unsupervised Early Exit in DNNs with Multiple Exits
KR102277002B1 (en) Apparatus for obtaining learning data and method for obtaining learning data using the same
CN113052314B (en) Authentication radius guide attack method, optimization training method and system
KR20230127508A (en) GAN-based model training method and apparatus
KR20210057844A (en) Multiple ANN-structure-based methods for improving image recognition performance under low physical and temporal space

Legal Events

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