WO2022034945A1 - 데이터 분류를 위한 강화 학습 장치 및 방법 - Google Patents

데이터 분류를 위한 강화 학습 장치 및 방법 Download PDF

Info

Publication number
WO2022034945A1
WO2022034945A1 PCT/KR2020/010873 KR2020010873W WO2022034945A1 WO 2022034945 A1 WO2022034945 A1 WO 2022034945A1 KR 2020010873 W KR2020010873 W KR 2020010873W WO 2022034945 A1 WO2022034945 A1 WO 2022034945A1
Authority
WO
WIPO (PCT)
Prior art keywords
sample
value
dependency matrix
success
failure
Prior art date
Application number
PCT/KR2020/010873
Other languages
English (en)
French (fr)
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 주식회사 아이오코드
Publication of WO2022034945A1 publication Critical patent/WO2022034945A1/ko

Links

Images

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
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • PAIS process-aware information system
  • process mining useful information can be discovered based on the business processing records that occur in business processes, and the information discovered through process mining can be used for business, process, and innovation of the company.
  • process mining By using process mining, useful information can be discovered based on the business processing records that occur in business processes, and the information discovered through process mining can be used for business, process, and innovation of the company.
  • an expert who knows the domain of the corresponding event data checks the relation schema of the event data based on this and maps the event data to the event log.
  • An object of the present invention is to provide a reinforcement learning apparatus and method for data classification of an unclassified data table.
  • the dependency matrix generating unit extracts three fields from the unclassified data table, generates a concatenated field generated by concatenating two fields among the three fields, and includes a non-concatenated field and the concatenated field.
  • the unclassified sample table composed of
  • the dependency matrix generator may calculate the value of the dependency matrix according to Equation 1 below.
  • a and b are data included in the concatenated field, represents the number of a followed by b, represents the number of b followed by a.
  • the memory management unit calculates a compensation value for the dependency matrix, determines that the compensation value is greater than a preset reference value, as success, and determines that the compensation value is less than or equal to the preset reference value as a failure.
  • the memory manager may calculate the compensation value of the dependency matrix according to Equation 2 below.
  • the optimization unit converts the dependency matrix into an image, calculates a q value of the transformed image as a q value of the policy network, and if the target network exists, the q value of the policy network and the target It is possible to calculate a mean square error between q values of a network, and learn by using a loss function in a direction to minimize the mean square error.
  • extracting an unclassified sample table from the unclassified data table and generating a dependency matrix for the unclassified sample table may include: extracting three fields from the unclassified data table; generating a concatenated field generated by concatenating two fields among the three fields; and generating, as the dependency matrix, a precedence relationship between data included in the concatenated field in the unclassified sample table composed of the non-concatenated field and the concatenated field.
  • a and b are data included in the concatenated field, represents the number of a followed by b, represents the number of b followed by a.
  • the step of determining success and failure with respect to the dependency matrix and storing the success sample and the failure sample separately in the dual replay memory may include: calculating a compensation value for the dependency matrix; and determining success if the reward value is greater than a preset reference value, and determining failure if the reward value is less than or equal to the preset reference value.
  • the step of setting the selection probability value for selecting the success sample, and extracting the success sample and the failure sample from the double replay memory according to the selection probability value includes: A selection probability value may be extracted from among the success samples stored in the double replay memory, and the remainder may be extracted from the failed samples stored in the double replay memory.
  • the present invention judges the success and failure of the unclassified sample table extracted from the unclassified data table, distinguishes the success sample from the failure sample, and uses the success sample and the failure sample to learn a convolutional neural network (CNN). It is possible to learn faster while reducing overfitting, and to facilitate data classification of the unclassified data table by providing the correlation of each field of the unclassified data table.
  • CNN convolutional neural network
  • FIG. 1 is a diagram illustrating a configuration of a reinforcement learning apparatus that learns to classify data in an unclassified data table according to an embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an example of generating an unclassified sample table from an unclassified data table according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a configuration of a reinforcement learning apparatus that learns to classify data in an unclassified data table according to an embodiment of the present invention.
  • the reinforcement learning apparatus 100 includes a processor 110 and a dual replay memory 120 , and the processor 110 includes a receiver 111 , a dependency matrix generator 112 , and a memory manager. 113 , an optimization unit 114 , a sample extraction unit 115 , and a learning unit 116 may be included.
  • the unclassified data table 130 is configured in the form of a table of event data for which a relation schema is not defined.
  • FIG. 3 is a diagram illustrating an example of converting an unclassified sample table into a dependency matrix according to an embodiment of the present invention.
  • a and b may be mail income-FALSE, mail valid-FALSE, save-FALSE, and the like. A value can be calculated.
  • i represents the i-th row of the dependency matrix
  • j represents the j-th column of the dependency matrix
  • n represents the number of rows and columns of the dependency matrix
  • dv i,j is the dependency It represents the values of the i-th row and j-th column of the matrix
  • E(dv) represents the average of the dependency matrix.
  • Each of the samples and failed samples includes a current state (s t ), an action taken (a t ), a reward value (r t ), and a new state (s t+1 ).
  • the current state (s t ) represents the unclassified data table
  • the acted activity (a t ) represents extracting three fields from the unclassified data table, and creating a dependency matrix with the three fields
  • the compensation value r t represents a value calculated by Equation 2 described above
  • the new state s t+1 represents an image sample generated by converting a dependency matrix into an image.
  • the optimization unit 114 optimizes the policy network and stores the policy network as a target network.
  • the optimizer 114 converts the dependency matrix into an image, calculates the q value of the transformed image as the q value of the policy network, and if there is a target network, the q value of the policy network and the target network
  • the policy network can be optimized by calculating the mean square error between the q values of , and learning by using the loss function in the direction of minimizing the mean square error.
  • the q value represents a value for evaluating the value of an action performed by reinforcement learning.
  • the sample extraction unit 115 includes a preset number of success samples and a preset number of success samples in the dual replay memory. When a failure sample is stored, a selection probability value for selecting a success sample is set, and a success sample and a failure sample are extracted from the double replay memory according to the selection probability value.
  • sample extraction unit 115 extracts the success and failure samples stored in the double replay memory is that when training with a convolutional neural network, if there are too many samples of either success or failure, overfitting is highly likely to occur. Therefore, if successful and unsuccessful samples are properly extracted and trained with a convolutional neural network, learning that is not explored through mutate may also occur, which leads to faster learning convergence results.
  • a user who wants to analyze the data of the unclassified data table uses the process model output from the learning unit 116 to understand the relevance of each field of the unclassified data table, and based on this, easily classifies the data of the unclassified data table can do.
  • the processor 110 may control the overall operation of the reinforcement learning apparatus 100 .
  • the processor 110 performs the functions of the receiving unit 111 , the dependency matrix generating unit 112 , the memory management unit 113 , the optimization unit 114 , the sample extracting unit 115 , and the learning unit 116 . can do.
  • the processor 110 , the receiver 111 , the dependency matrix generator 112 , the memory manager 113 , the optimizer 114 , the sample extractor 115 , and the learner 116 are separately illustrated. This is to describe each function separately.
  • the processor 110 performs the respective functions of the receiving unit 111 , the dependency matrix generating unit 112 , the memory management unit 113 , the optimization unit 114 , the sample extracting unit 115 , and the learning unit 116 .
  • the processor 110 includes functions of the receiving unit 111 , the dependency matrix generating unit 112 , the memory management unit 113 , the optimization unit 114 , the sample extracting unit 115 , and the learning unit 116 . It may include at least one configuration configured to perform a part.
  • FIG. 4 is a flowchart illustrating a process of reinforcement learning to classify data in an unclassified data table in a reinforcement learning apparatus according to an embodiment of the present invention.
  • the reinforcement learning apparatus 100 receives an unclassified data table ( 410 ).
  • the dependency matrix may be generated by calculating the value of the dependency matrix according to the above-mentioned ⁇ Equation 1>.
  • the reinforcement learning apparatus 100 determines success and failure with respect to the dependency matrix, classifies a success sample and a failure sample, and stores the success sample and the failure sample in the double replay memory ( 414 ).
  • each of the success sample and the failure sample stored in the double replay memory includes a current state (s t ), an action taken (a t ), a reward value (r t ), and a new state (s t+1 ).
  • the current state (s t ) represents the unclassified data table
  • the acted activity (a t ) represents extracting three fields from the unclassified data table, and creating a dependency matrix with the three fields
  • the compensation value r t represents a value calculated by Equation 2 described above
  • the new state s t+1 represents an image sample generated by converting a dependency matrix into an image.
  • the reinforcement learning apparatus 100 calculates a reward value for the dependency matrix in step 414 , determines success if the reward value is greater than a preset reference value, and fails if the reward value is less than or equal to the preset reference value can be judged as
  • the compensation value for the dependency matrix may be calculated according to the above-mentioned ⁇ Equation 2>.
  • the reinforcement learning apparatus 100 optimizes the policy network (416).
  • the reinforcement learning apparatus 100 transforms the dependency matrix into an image in step 416, calculates the q value of the transformed image as the q value of the policy network, and if the target network exists, q of the policy network It can be optimized by calculating the mean square error between the value and the q value of the target network, and learning by using a loss function in the direction of minimizing the mean square error.
  • the reinforcement learning apparatus 100 stores the policy network as a target network ( 418 ).
  • the reinforcement learning apparatus 100 checks whether a preset number of successful samples and a preset number of failed samples are stored in the dual replay memory ( 420 ).
  • the reinforcement learning apparatus 100 returns to step 412 if a preset number of successful samples and a preset number of failed samples are not stored in the double replay memory as a result of the check in step 420, and in the double replay memory as a result of the check in step 420 If the preset number of success samples and the preset number of failed samples are stored, a selection probability value for selecting a success sample is set, and a success sample and a failure sample are extracted from the double replay memory according to the selection probability value ( 422 ).
  • the reinforcement learning apparatus 100 extracts a selection probability value from among the success samples stored in the double replay memory from among the preset number of samples to be extracted in step 422, and the remaining failed samples stored in the double replay memory. can be extracted from
  • the reinforcement learning apparatus 100 learns a convolutional neural network (CNN) using the extracted success sample and the extracted failure sample ( 424 ).
  • CNN convolutional neural network
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks.
  • - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
  • Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device.
  • the software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave.
  • the software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 비분류 데이터 테이블의 데이터 분류를 위한 강화 학습 장치 및 방법에 관한 것으로, 비분류 데이터 테이블을 수신하고, 상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하고, 상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하고, 정책 네트워크를 최적화하고, 상기 정책 네트워크를 타겟 네트워크로 저장하고, 상기 디펜던시 매트릭스를 생성하는 단계에서 상기 정책 네트워크를 상기 타겟 네트워크로 저장하는 단계를 상기 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장될 때까지 반복하고, 성공 샘플을 선택하는 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하고, 추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습한다.

Description

데이터 분류를 위한 강화 학습 장치 및 방법
이하의 일 실시 예들은 비분류된 데이터 테이블에서 데이터를 손쉽게 분류하기 위해서 학습하는 기술에 관한 것이다.
최근에 다양한 산업 분야의 경영 및 운용관리 영역에서 프로세스 기반 정보시스템(PAIS: Process-aware Information System)의 도입에 대한 관심이 증가하고 있다. 이에 따라, 대용량의 비즈니스 프로세스 실행 로그와 이로부터 유용한 지식을 발견하기 위한 프로세스 마이닝의 중요성 역시 더욱 강조되고 있다.
프로세스 마이닝(process mining)은 정보시스템에서 제공되는 이벤트 로그로부터 유용한 지식을 추출하는 연구로, 프로세스 도출(discover), 모니터링(monitoring), 개선(improvement)을 위한 새로운 기법을 제공하며, 다양한 분야의  프로세스에 적용이 가능하다. 
프로세스 마이닝을 이용하여 비즈니스 프로세스에서 일어나는 업무처리 기록을 바탕으로 유용한 정보를 발견할 수 있으며, 프로세스 마이닝을 통해 발견된 정보를 기업의 비즈니스 프로세스 혁신 등에 활용할 수 있다. 인터넷 및 컴퓨팅 기술의 발전과 데이터의 증가에 따라 프로세스 마이닝이 적용되는 분야와 시장의 규모는 점차 확대될 것으로 예상된다.
기존 프로세스 마이닝 방법론들은 이벤트 로그가 있다는 가정에서 출발한다. 이벤트 로그의 경우 정보 시스템에서 추출된 이벤트 데이터를 이벤트 매핑 과정을 통해 MXML 또는 XES 파일로 변환을 통해 생성되며, 이 과정에서 도메인 지식을 요구한다.
따라서, 이벤트 데이터를 이벤트 로그로 매핑하는 과정에는 해당 이벤트 데이터의 도메인 지식을 알고 있는 전문가가 이를 토대로 이벤트 데이터의 릴레이션 스키마를 확인하고 이벤트 로그로 매핑한다.
갈수록 복잡해지고 데이터가 많아지는 상황에서 이벤트 데이터를 이벤트 로그로 매핑하는 보다 손쉬운 방법이 요구된다.
본 발명은 비분류 데이터 테이블의 데이터 분류를 위한 강화 학습 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시 예에 따른 강화 학습 장치는, 비분류 데이터 테이블을 수신하는 수신부; 상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하는 디펜던시 매트릭스 생성부; 상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하는 메모리 관리부; 정책 네트워크를 최적화하고, 상기 정책 네트워크를 타겟 네트워크로 저장하는 최적화부; 상기 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장되면, 성공 샘플을 선택하는 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하는 샘플 추출부; 및 추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습하는 학습부를 포함한다.
이때, 상기 디펜던시 매트릭스 생성부는, 상기 비분류 데이터 테이블에서 3개의 필드를 추출하고, 상기 3개의 필드 중에서 2개의 필드를 연접하여 생성한 연접 필드를 생성하고, 연접되지 않은 필드와 상기 연접 필드로 구성된 상기 비분류 샘플 테이블에서 상기 연접 필드에 포함된 데이터 간의 선후 관계를 상기 디펜던시 매트릭스로 생성할 수 있다.
이때, 상기 디펜던시 매트릭스 생성부는, 아래의 <수학식 1>에 따라서 상기 디펜던시 매트릭스의 값을 계산할 수 있다.
Figure PCTKR2020010873-appb-img-000001
여기서, a와 b는 연접 필드에 포함된 데이터이고,
Figure PCTKR2020010873-appb-img-000002
는 a 다음에 b가 오는 개수를 나타내고,
Figure PCTKR2020010873-appb-img-000003
는 b 다음에 a가 오는 개수를 나타낸다.
이때, 상기 메모리 관리부는, 상기 디펜던시 매트릭스에 대한 보상값을 계산하고, 상기 보상값이 기설정된 기준값보다 크면 성공으로 판단하고, 상기 보상값이 상기 기설정된 기준값보다 작거나 같으면 실패로 판단할 수 있다.
이때, 상기 메모리 관리부는, 아래의 <수학식 2>에 따라서 상기 디펜던시 매트릭스의 상기 보상값을 계산할 수 있다.
Figure PCTKR2020010873-appb-img-000004
여기서, E(dv)는 디펜던시 매트릭스의 평균을 나타내고, V(dv)는 디펜던시 매트릭스의 분산을 나타내고,
Figure PCTKR2020010873-appb-img-000005
Figure PCTKR2020010873-appb-img-000006
로 표현되는 피트니스를 확인하는 값을 나타낸다.
이때, 상기 최적화부는, 상기 디펜던시 매트릭스를 이미지로 변환하고, 변환된 이미지의 q 값을 상기 정책 네트워크의 q 값으로 계산하고, 상기 타겟 네트워크가 존재하면, 상기 정책 네트워크의 q 값과 상기 타겟 네트워크의 q 값 간의 평균제곱오차(mean square error)를 계산하고, 상기 평균제곱오차를 최소화하는 방향으로 손실 함수(Loss Function)를 사용하여 학습할 수 있다.
이때, 상기 샘플 추출부는, 추출하고자 하는 기설정된 샘플의 수 중에서 상기 선택 확률 값 만큼을 상기 이중 리플레이 메모리에 저장된 상기 성공 샘플들 중에서 추출하고, 나머지를 상기 이중 리플레이 메모리에 저장된 상기 실패 샘플들 중에서 추출할 수 있다.
본 발명의 일 실시 예에 따른 강화 학습 방법은, 비분류 데이터 테이블을 수신하는 단계; 상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하는 단계; 상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하는 단계; 정책 네트워크를 최적화하는 단계; 상기 정책 네트워크를 타겟 네트워크로 저장하는 단계; 상기 디펜던시 매트릭스를 생성하는 단계에서 상기 정책 네트워크를 상기 타겟 네트워크로 저장하는 단계를 상기 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장될 때까지 반복하는 단계; 성공 샘플을 선택하는 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하는 단계; 및 추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습하는 단계를 포함한다.
이때, 상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하는 단계는, 상기 비분류 데이터 테이블에서 3개의 필드를 추출하는 단계; 상기 3개의 필드 중에서 2개의 필드를 연접하여 생성한 연접 필드를 생성하는 단계; 및 연접되지 않은 필드와 상기 연접 필드로 구성된 상기 비분류 샘플 테이블에서 상기 연접 필드에 포함된 데이터 간의 선후 관계를 상기 디펜던시 매트릭스로 생성하는 단계를 포함할 수 있다.
이때, 상기 연접 필드에 포함된 데이터 간의 선후 관계를 상기 디펜던시 매트릭스로 생성하는 단계는, 아래의 <수학식 1>에 따라서 상기 디펜던시 매트릭스의 값을 계산할 수 있다.
Figure PCTKR2020010873-appb-img-000007
여기서, a와 b는 연접 필드에 포함된 데이터이고,
Figure PCTKR2020010873-appb-img-000008
는 a 다음에 b가 오는 개수를 나타내고,
Figure PCTKR2020010873-appb-img-000009
는 b 다음에 a가 오는 개수를 나타낸다.
이때, 상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하는 단계는, 상기 디펜던시 매트릭스에 대한 보상값을 계산하는 단계; 및 상기 보상값이 기설정된 기준값보다 크면 성공으로 판단하고, 상기 보상값이 상기 기설정된 기준값보다 작거나 같으면 실패로 판단하는 단계를 포함할 수 있다.
이때, 상기 디펜던시 매트릭스에 대한 상기 보상값을 계산하는 단계는, 아래의 <수학식 2>에 따라서 상기 디펜던시 매트릭스의 상기 보상값을 계산할 수 있다.
Figure PCTKR2020010873-appb-img-000010
여기서, E(dv)는 디펜던시 매트릭스의 평균을 나타내고, V(dv)는 디펜던시 매트릭스의 분산을 나타내고,
Figure PCTKR2020010873-appb-img-000011
Figure PCTKR2020010873-appb-img-000012
로 표현되는 피트니스를 확인하는 값을 나타낸다.
이때, 상기 정책 네트워크를 최적화하는 단계는, 상기 디펜던시 매트릭스를 이미지로 변환하고, 변환된 이미지의 q 값을 상기 정책 네트워크의 q 값으로 계산하는 단계; 및 상기 타겟 네트워크가 존재하면, 상기 정책 네트워크의 q 값과 상기 타겟 네트워크의 q 값 간의 평균제곱오차(mean square error)를 계산하고, 상기 평균제곱오차를 최소화하는 방향으로 손실 함수(Loss Function)를 사용하여 학습하는 단계를 포함할 수 있다.
이때, 상기 성공 샘플을 선택하는 상기 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하는 단계는, 추출하고자 하는 기설정된 샘플의 수 중에서 상기 선택 확률 값 만큼을 상기 이중 리플레이 메모리에 저장된 상기 성공 샘플들 중에서 추출하고, 나머지를 상기 이중 리플레이 메모리에 저장된 상기 실패 샘플들 중에서 추출할 수 있다.
본 발명은 비분류 데이터 테이블에서 추출한 비분류 샘플 테이블의 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분하고, 성공 샘플과 실패 샘플을 이용해서 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습함으로써 오버 피팅을 줄이면서 보다 빠르게 학습할 수 있으며, 비분류 데이터 테이블의 각 필드의 상관관계를 제공함으로써 비분류 데이터 테이블의 데이터 분류를 용이하게 할 수 있다.
도 1은 본 발명의 일 실시 예에 따라 비분류 데이터 테이블의 데이터를 분류하기 위해서 학습하는 강화 학습 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따라 비분류 데이터 테이블에서 비분류 샘플 테이블을 생성한 예를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따라 비분류 샘플 테이블을 디펜던시 매트릭스로 변환한 예를 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 강화 학습 장치에서 비분류 데이터 테이블의 데이터를 분류하기 위해서 강화 학습하는 과정을 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
이하에서는, 본 발명의 일 실시 예에 따른 데이터 분류를 위한 강화 학습 장치 및 방법을 첨부된 도 1 내지 도 4를 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따라 비분류 데이터 테이블의 데이터를 분류하기 위해서 학습하는 강화 학습 장치의 구성을 도시한 도면이다.
도 1을 참조하면, 강화 학습 장치(100)는 프로세서(110)와 이중 리플레이 메모리(120)를 포함하고, 프로세서(110)는 수신부(111), 디펜던시 매트릭스 생성부(112), 메모리 관리부(113), 최적화부(114), 샘플 추출부(115) 및 학습부(116)를 포함할 수 있다.
수신부(111)는 비분류 데이터 테이블(130)를 수신한다.
여기서, 비분류 데이터 테이블(130)은 릴레이션 스키마가 정의되지 않은 이벤트 데이터들을 테이블 형태로 구성된 것이다.
디펜던시 매트릭스 생성부(112)는 비분류 데이터 테이블(130)에서 비분류 샘플 테이블을 추출하고, 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성한다. 디펜던시 매트릭스 생성부(112)의 보다 구체적인 설명은 아래 도 2와 도 3을 참조해서 후술한다.
도 2는 본 발명의 일 실시 예에 따라 비분류 데이터 테이블에서 비분류 샘플 테이블을 생성한 예를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따라 비분류 샘플 테이블을 디펜던시 매트릭스로 변환한 예를 도시한 도면이다.
디펜던시 매트릭스 생성부(112)는 비분류 데이터 테이블(130)에서 3개의 필드(211, 212, 213)를 추출하고, 3개의 필드(211, 212, 213) 중에서 2개의 필드(212, 213)를 연접하여 생성한 연접 필드(221)를 생성하고, 연접되지 않은 필드(211)와 연접 필드(221)로 구성된 비분류 샘플 테이블(220)에서 연접 필드(2210)에 포함된 데이터 간의 선후 관계를 디펜던시 매트릭스(310)로 생성한다.
디펜던시 매트릭스 생성부(112)는 아래의 <수학식 1>에 따라서 디펜던시 매트릭스(310)의 값을 계산할 수 있다.
Figure PCTKR2020010873-appb-img-000013
여기서, a와 b는 연접 필드에 포함된 데이터이고,
Figure PCTKR2020010873-appb-img-000014
는 a 다음에 b가 오는 개수를 나타내고,
Figure PCTKR2020010873-appb-img-000015
는 b 다음에 a가 오는 개수를 나타낸다.
도 3을 참조하면, a와 b는 mail income-FALSE, mail valid-FALSE, save -FALSE, 등이 될 수 있으며, 이들의 선후관계로 상기 <수학식 1>과 같이 계산하여 디펜던시 매트릭스의 값이 계산될 수 있다.
메모리 관리부(113)는 디펜던시 매트릭스(310)에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리(120)에 저장한다.
보다 구체적으로, 메모리 관리부(113)는 디펜던시 매트릭스에 대한 보상값을 계산하고, 보상값이 기설정된 기준값보다 크면 성공으로 판단하고, 보상값이 기설정된 기준값보다 작거나 같으면 실패로 판단할 수 있다.
메모리 관리부(113)는 아래의 <수학식 2>에 따라서 디펜던시 매트릭스(310)의 보상값을 계산할 수 있다.
Figure PCTKR2020010873-appb-img-000016
여기서, E(dv)는 디펜던시 매트릭스의 평균을 나타내고, V(dv)는 디펜던시 매트릭스의 분산을 나타내고,
Figure PCTKR2020010873-appb-img-000017
는 피트니스를 확인하는 값을 나타낸다.
E(dv)는 아래 <수학식 3>에 따라서 계산될 수 있다.
Figure PCTKR2020010873-appb-img-000018
여기서, i는 디펜던시 매트릭스의 i번째 행을 나타내고, j는 디펜던시 매트릭스의 j번째 열을 나타내고, n은 디펜던시 매트릭스의 행과 열의 수를 나타내고, dv i,j는 디펜던시 매트릭스의 i번째 행과 j번째 열의 값을 나타낸다.
V(dv)는 아래 <수학식 4>에 따라서 계산될 수 있다.
Figure PCTKR2020010873-appb-img-000019
여기서, i는 디펜던시 매트릭스의 i번째 행을 나타내고, j는 디펜던시 매트릭스의 j번째 열을 나타내고, n은 디펜던시 매트릭스의 행과 열의 수를 나타내고, dv i,j는 디펜던시 매트릭스의 i번째 행과 j번째 열의 값을 나타내고, E(dv)는 디펜던시 매트릭스의 평균을 나타낸다.
Figure PCTKR2020010873-appb-img-000020
는 피트니스를 확인하는 값으로, 아래 <수학식 5>에 따라서 계산될 수 있다.
Figure PCTKR2020010873-appb-img-000021
여기서, p는 평가를 위해 생산된 토큰으로 생산 토큰(production token)을 의미하며, 앞선 트랜잭션(transaction)에서 만들어져서 플레이스(place)로 들어오는 토큰(token)의 수를 나타내고, c는 데이터 상의 값과 프로세스 상의 노드가 동일하여 소비된 토큰(consumed token)을 의미하며, 앞선 트랜잭션에서 사용된 토큰의 수를 나타내고, m은 누락 토큰(missing token)으로 해당 플레이스에는 없었는데 다음 트랜잭션에서 사용되어야 하는 토큰의 수를 나타내고, r은 남은 토큰(remaining token)으로 해당 플레이스에서 생산되었으나 다음 트랜잭션에서 사용되지 않는 토큰의 수를 나타내고, σ는 트레이스(trace)를 나타낸다. p, c, m, r, σ의 파라미터는 프로세스 모델의 적합성을 측정하는 대표적인 방법인 토큰 기반 리플레이 방법(token based replay method)에서 참조할 수 있다.이때, 이중 리플레이 메모리(120)에 저장되는 성공 샘플과 실패 샘플 각각은 현재 상태(s t), 행동한 활동(a t), 보상값(r t) 및 새로운 상태(s t+1)를 포함한다. 여기서, 현재 상태(s t)는 비분류 데이터 테이블을 나타내고, 행동한 활동(a t)은 비분류 데이터 테이블에서 3개의 필드를 추출하고, 3개의 필드로 디펜던시 매트릭스를 생성하는 것을 나타내고, 보상값(r t)은 상술한 <수학식 2>에 의해서 계산되는 값을 나타내고, 새로운 상태(s t+1)는 디펜던시 매트릭스를 이미지로 변환하여 생성된 이미지 샘플을 나타낸다.
최적화부(114)는 정책 네트워크를 최적화하고, 정책 네트워크를 타겟 네트워크로 저장한다.
보다 구체적으로, 최적화부(114)는 디펜던시 매트릭스를 이미지로 변환하고, 변환된 이미지의 q 값을 정책 네트워크의 q 값으로 계산하고, 타겟 네트워크가 존재하면, 정책 네트워크의 q 값과 타겟 네트워크의 q 값 간의 평균제곱오차(mean square error)를 계산하고, 평균제곱오차를 최소화하는 방향으로 손실 함수(Loss Function)를 사용하여 학습하여 정책 네트워크를 최적화할 수 있다. 이때, q 값(Q value)은 강화학습이 수행한 행동(action)에 대한 가치를 평가하는 값을 나타낸다.샘플 추출부(115)는 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장되면, 성공 샘플을 선택하는 선택 확률 값을 설정하고, 선택 확률 값에 따라 이중 리플레이 메모리에서 성공 샘플과 실패 샘플을 추출한다.
보다 구체적으로, 샘플 추출부(115)는 추출하고자 하는 기설정된 샘플의 수 중에서 선택 확률 값 만큼을 이중 리플레이 메모리에 저장된 성공 샘플들 중에서 추출하고, 나머지를 이중 리플레이 메모리에 저장된 실패 샘플들 중에서 추출한다.
샘플 추출부(115)에서 나머지를 이중 리플레이 메모리에 저장된 성공 샘플과 실패 샘플을 추출하는 이유는 컴볼루션 신경망으로 학습할 때, 성공 샘플 또는 실패 샘플 중에서 한쪽 샘플이 지나치게 많으면 오버 피팅이 발생할 가능성이 높아지므로, 성공 샘플과 실패 샘플을 적절히 추출하여 컴볼루션 신경망으로 학습하면 변이(mutate)를 통해서 탐색되지 않는 학습의 경우도 발생하고, 이로 인해서 더 빠른 학습 수렴 결과를 도출할 수 있기 때문이다.
학습부(116)는 추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습한다.
학습부(116)는 성공 샘플과 실패 샘플을 이용해서 컴볼루션 신경망을 학습함으로써 오버 피팅을 줄이면서 보다 빠르게 학습할 수 있으며, 출력으로써 사용자에게 비분류 데이터 테이블의 각 필드의 상관관계에 관한 정보를 제공하는 프로세스 모델을 출력한다.
비분류 데이터 테이블의 데이터를 분석하고자 하는 사용자는 학습부(116)로부터 출력되는 프로세스 모델을 이용해서 비분류 데이터 테이블의 각 필드의 관련성을 파악하고, 이를 근거로 비분류 데이터 테이블의 데이터를 손쉽게 분류할 수 있다.
한편, 프로세서(110)는 강화 학습 장치(100)의 전반적인 동작을 제어할 수 있다. 그리고, 프로세서(110)는 수신부(111), 디펜던시 매트릭스 생성부(112), 메모리 관리부(113), 최적화부(114), 샘플 추출부(115) 및 학습부(116)의 기능을 수행할 수 있다. 프로세서(110), 수신부(111), 디펜던시 매트릭스 생성부(112), 메모리 관리부(113), 최적화부(114), 샘플 추출부(115) 및 학습부(116)를 구분하여 도시한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 프로세서(110)는 수신부(111), 디펜던시 매트릭스 생성부(112), 메모리 관리부(113), 최적화부(114), 샘플 추출부(115) 및 학습부(116) 각각의 기능을 수행하도록 구성된(configured) 적어도 하나의 프로세서를 포함할 수 있다. 또한, 프로세서(110)는 수신부(111), 디펜던시 매트릭스 생성부(112), 메모리 관리부(113), 최적화부(114), 샘플 추출부(115) 및 학습부(116) 각각의 기능 중 일부를 수행하도록 구성된(configured) 적어도 하나의 구성을 포함할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 방법을 아래에서 도면을 참조하여 설명한다.
도 4는 본 발명의 일 실시 예에 따른 강화 학습 장치에서 비분류 데이터 테이블의 데이터를 분류하기 위해서 강화 학습하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 강화 학습 장치(100)는 비분류 데이터 테이블을 수신한다(410).
그리고, 강화 학습 장치(100)는 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성한다(412).
보다 구체적으로, 강화 학습 장치(100)는 412단계에서 비분류 데이터 테이블에서 3개의 필드를 추출하고, 3개의 필드 중에서 2개의 필드를 연접하여 생성한 연접 필드를 생성하고, 연접에 이용되지 않은 연접되지 않은 필드와 연접 필드로 구성된 비분류 샘플 테이블을 생성하고, 연접 필드에 포함된 데이터 간의 선후 관계를 디펜던시 매트릭스로 생성한다.
이때, 디펜던시 매트릭스의 생성은 상술한 <수학식 1>에 따라서 디펜던시 매트릭스의 값을 계산하여 생성할 수 있다.
그리고, 강화 학습 장치(100)는 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장한다(414).
이때, 이중 리플레이 메모리에 저장되는 성공 샘플과 실패 샘플 각각은 현재 상태(s t), 행동한 활동(a t), 보상값(r t) 및 새로운 상태(s t+1)를 포함한다. 여기서, 현재 상태(s t)는 비분류 데이터 테이블을 나타내고, 행동한 활동(a t)은 비분류 데이터 테이블에서 3개의 필드를 추출하고, 3개의 필드로 디펜던시 매트릭스를 생성하는 것을 나타내고, 보상값(r t)은 상술한 <수학식 2>에 의해서 계산되는 값을 나타내고, 새로운 상태(s t+1)는 디펜던시 매트릭스를 이미지로 변환하여 생성된 이미지 샘플을 나타낸다.
보다 구체적으로, 강화 학습 장치(100)는 414단계에서 디펜던시 매트릭스에 대한 보상값을 계산하고, 보상값이 기설정된 기준값보다 크면 성공으로 판단하고, 보상값이 기설정된 기준값보다 작거나 같으면 실패로 판단할 수 있다. 이때, 디펜던시 매트릭스에 대한 보상값은 상술한 <수학식 2>에 따라서 계산할 수 있다.
그리고, 강화 학습 장치(100)는 정책 네트워크를 최적화한다(416).
보다 구체적으로, 강화 학습 장치(100)는 416단계에서 디펜던시 매트릭스를 이미지로 변환하고, 변환된 이미지의 q 값을 정책 네트워크의 q 값으로 계산하고, 타겟 네트워크가 존재하면, 정책 네트워크의 q 값과 타겟 네트워크의 q 값 간의 평균제곱오차(mean square error)를 계산하고, 평균제곱오차를 최소화하는 방향으로 손실 함수(Loss Function)를 사용하여 학습함으로써 최적화할 수 있다.
그리고, 강화 학습 장치(100)는 정책 네트워크를 타겟 네트워크로 저장한다(418).
그리고, 강화 학습 장치(100)는 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장되었는지 확인한다(420).
그리고, 강화 학습 장치(100)는 420단계의 확인결과 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장되지 않았으면 412단계로 돌아가고, 420단계의 확인결과 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장되었으면, 성공 샘플을 선택하는 선택 확률 값을 설정하고, 선택 확률 값에 따라 이중 리플레이 메모리에서 성공 샘플과 실패 샘플을 추출한다(422).
보다 구체적으로, 강화 학습 장치(100)는422단계에서 추출하고자 하는 기설정된 샘플의 수 중에서 선택 확률 값 만큼을 이중 리플레이 메모리에 저장된 성공 샘플들 중에서 추출하고, 나머지를 이중 리플레이 메모리에 저장된 실패 샘플들 중에서 추출할 수 있다.
그리고, 강화 학습 장치(100)는 추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습한다(424).
또한, 강화 학습 장치(100)는424단계에서 비분류 데이터 테이블의 각 필드의 상관관계에 관한 정보를 제공하는 프로세스 모델을 출력할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (15)

  1. 비분류 데이터 테이블을 수신하는 수신부;
    상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하는 디펜던시 매트릭스 생성부;
    상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하는 메모리 관리부;
    정책 네트워크를 최적화하고, 상기 정책 네트워크를 타겟 네트워크로 저장하는 최적화부;
    상기 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장되면, 성공 샘플을 선택하는 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하는 샘플 추출부; 및
    추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습하는 학습부
    를 포함하는 강화 학습 장치.
  2. 제1항에 있어서,
    상기 디펜던시 매트릭스 생성부는,
    상기 비분류 데이터 테이블에서 3개의 필드를 추출하고,
    상기 3개의 필드 중에서 2개의 필드를 연접하여 생성한 연접 필드를 생성하고,
    연접되지 않은 필드와 상기 연접 필드로 구성된 상기 비분류 샘플 테이블에서 상기 연접 필드에 포함된 데이터 간의 선후 관계를 상기 디펜던시 매트릭스로 생성하는
    강화 학습 장치.
  3. 제2항에 있어서,
    상기 디펜던시 매트릭스 생성부는,
    아래의 <수학식 1>에 따라서 상기 디펜던시 매트릭스의 값을 계산하는
    강화 학습 장치.
    Figure PCTKR2020010873-appb-img-000022
    여기서, a와 b는 연접 필드에 포함된 데이터이고,
    Figure PCTKR2020010873-appb-img-000023
    는 a 다음에 b가 오는 개수를 나타내고,
    Figure PCTKR2020010873-appb-img-000024
    는 b 다음에 a가 오는 개수를 나타낸다.
  4. 제1항에 있어서,
    상기 메모리 관리부는,
    상기 디펜던시 매트릭스에 대한 보상값을 계산하고, 상기 보상값이 기설정된 기준값보다 크면 성공으로 판단하고, 상기 보상값이 상기 기설정된 기준값보다 작거나 같으면 실패로 판단하는
    강화 학습 장치.
  5. 제4항에 있어서,
    상기 메모리 관리부는,
    아래의 <수학식 2>에 따라서 상기 디펜던시 매트릭스의 상기 보상값을 계산하는
    강화 학습 장치.
    Figure PCTKR2020010873-appb-img-000025
    여기서, E(dv)는 디펜던시 매트릭스의 평균을 나타내고, V(dv)는 디펜던시 매트릭스의 분산을 나타내고,
    Figure PCTKR2020010873-appb-img-000026
    Figure PCTKR2020010873-appb-img-000027
    로 표현되는 피트니스를 확인하는 값을 나타낸다.
  6. 제1항에 있어서,
    상기 최적화부는,
    상기 디펜던시 매트릭스를 이미지로 변환하고, 변환된 이미지의 q 값을 상기 정책 네트워크의 q 값으로 계산하고,
    상기 타겟 네트워크가 존재하면, 상기 정책 네트워크의 q 값과 상기 타겟 네트워크의 q 값 간의 평균제곱오차(mean square error)를 계산하고, 상기 평균제곱오차를 최소화하는 방향으로 손실 함수(Loss Function)를 사용하여 학습하는
    강화 학습 장치.
  7. 제1항에 있어서,
    상기 샘플 추출부는,
    추출하고자 하는 기설정된 샘플의 수 중에서 상기 선택 확률 값 만큼을 상기 이중 리플레이 메모리에 저장된 상기 성공 샘플들 중에서 추출하고, 나머지를 상기 이중 리플레이 메모리에 저장된 상기 실패 샘플들 중에서 추출하는
    강화 학습 장치.
  8. 비분류 데이터 테이블을 수신하는 단계;
    상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하는 단계;
    상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하는 단계;
    정책 네트워크를 최적화하는 단계;
    상기 정책 네트워크를 타겟 네트워크로 저장하는 단계;
    상기 디펜던시 매트릭스를 생성하는 단계에서 상기 정책 네트워크를 상기 타겟 네트워크로 저장하는 단계를 상기 이중 리플레이 메모리에 기설정된 개수의 성공 샘플과 기설정된 개수의 실패 샘플이 저장될 때까지 반복하는 단계;
    성공 샘플을 선택하는 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하는 단계; 및
    추출된 성공 샘플과 추출된 실패 샘플로 컴볼루션 신경망(CNN; Convolution Neural Network)을 학습하는 단계
    를 포함하는 강화 학습 방법.
  9. 제8항에 있어서,
    상기 비분류 데이터 테이블에서 비분류 샘플 테이블을 추출하고, 상기 비분류 샘플 테이블에 대한 디펜던시 매트릭스를 생성하는 단계는,
    상기 비분류 데이터 테이블에서 3개의 필드를 추출하는 단계;
    상기 3개의 필드 중에서 2개의 필드를 연접하여 생성한 연접 필드를 생성하는 단계; 및
    연접되지 않은 필드와 상기 연접 필드로 구성된 상기 비분류 샘플 테이블에서 상기 연접 필드에 포함된 데이터 간의 선후 관계를 상기 디펜던시 매트릭스로 생성하는 단계
    를 포함하는 강화 학습 방법.
  10. 제9항에 있어서,
    상기 연접 필드에 포함된 데이터 간의 선후 관계를 상기 디펜던시 매트릭스로 생성하는 단계는,
    아래의 <수학식 1>에 따라서 상기 디펜던시 매트릭스의 값을 계산하는
    강화 학습 방법.
    Figure PCTKR2020010873-appb-img-000028
    여기서, a와 b는 연접 필드에 포함된 데이터이고,
    Figure PCTKR2020010873-appb-img-000029
    는 a 다음에 b가 오는 개수를 나타내고,
    Figure PCTKR2020010873-appb-img-000030
    는 b 다음에 a가 오는 개수를 나타낸다.
  11. 제8항에 있어서,
    상기 디펜던시 매트릭스에 대한 성공과 실패를 판단하고 성공 샘플과 실패 샘플을 구분해서 이중 리플레이 메모리에 저장하는 단계는,
    상기 디펜던시 매트릭스에 대한 보상값을 계산하는 단계; 및
    상기 보상값이 기설정된 기준값보다 크면 성공으로 판단하고, 상기 보상값이 상기 기설정된 기준값보다 작거나 같으면 실패로 판단하는 단계
    를 포함하는 강화 학습 방법.
  12. 제11항에 있어서,
    상기 디펜던시 매트릭스에 대한 상기 보상값을 계산하는 단계는,
    아래의 <수학식 2>에 따라서 상기 디펜던시 매트릭스의 상기 보상값을 계산하는
    강화 학습 방법.
    Figure PCTKR2020010873-appb-img-000031
    여기서, E(dv)는 디펜던시 매트릭스의 평균을 나타내고, V(dv)는 디펜던시 매트릭스의 분산을 나타내고,
    Figure PCTKR2020010873-appb-img-000032
    Figure PCTKR2020010873-appb-img-000033
    로 표현되는 피트니스를 확인하는 값을 나타낸다.
  13. 제8항에 있어서,
    상기 정책 네트워크를 최적화하는 단계는,
    상기 디펜던시 매트릭스를 이미지로 변환하고, 변환된 이미지의 q 값을 상기 정책 네트워크의 q 값으로 계산하는 단계; 및
    상기 타겟 네트워크가 존재하면, 상기 정책 네트워크의 q 값과 상기 타겟 네트워크의 q 값 간의 평균제곱오차(mean square error)를 계산하고, 상기 평균제곱오차를 최소화하는 방향으로 손실 함수(Loss Function)를 사용하여 학습하는 단계
    를 포함하는 강화 학습 방법.
  14. 제8항에 있어서,
    상기 성공 샘플을 선택하는 상기 선택 확률 값을 설정하고, 상기 선택 확률 값에 따라 상기 이중 리플레이 메모리에서 상기 성공 샘플과 상기 실패 샘플을 추출하는 단계는,
    추출하고자 하는 기설정된 샘플의 수 중에서 상기 선택 확률 값 만큼을 상기 이중 리플레이 메모리에 저장된 상기 성공 샘플들 중에서 추출하고, 나머지를 상기 이중 리플레이 메모리에 저장된 상기 실패 샘플들 중에서 추출하는
    강화 학습 방법.
  15. 제8항 내지 제14항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
PCT/KR2020/010873 2020-08-13 2020-08-19 데이터 분류를 위한 강화 학습 장치 및 방법 WO2022034945A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0101648 2020-08-13
KR1020200101648A KR102496030B1 (ko) 2020-08-13 2020-08-13 데이터 분류를 위한 강화 학습 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2022034945A1 true WO2022034945A1 (ko) 2022-02-17

Family

ID=80247920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/010873 WO2022034945A1 (ko) 2020-08-13 2020-08-19 데이터 분류를 위한 강화 학습 장치 및 방법

Country Status (2)

Country Link
KR (1) KR102496030B1 (ko)
WO (1) WO2022034945A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102458103B1 (ko) * 2022-03-31 2022-10-25 주식회사 애자일소다 다중 분류를 위한 강화학습 장치 및 방법
KR102590576B1 (ko) 2023-04-19 2023-10-24 주식회사 에이오디컨설팅 데이터 의미론적 분류를 이용한 동적 데이터 구조 검색 방법
KR102590575B1 (ko) 2023-04-19 2023-10-17 주식회사 에이오디컨설팅 컬럼 의미 분류 기반의 데이터 구조 분석을 통한 동적 데이터 분류 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101939209B1 (ko) * 2017-06-16 2019-01-16 (주)이스트소프트 신경망 기반의 텍스트의 카테고리를 분류하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR101964412B1 (ko) * 2018-12-12 2019-04-01 주식회사 모비젠 이동통신데이터 처리시스템의 이상로그 발생을 진단하는 방법 및 그 시스템
CN110288004A (zh) * 2019-05-30 2019-09-27 武汉大学 一种基于日志语义挖掘的系统故障诊断方法及装置
US20190354895A1 (en) * 2018-05-18 2019-11-21 Google Llc Learning data augmentation policies

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101939209B1 (ko) * 2017-06-16 2019-01-16 (주)이스트소프트 신경망 기반의 텍스트의 카테고리를 분류하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
US20190354895A1 (en) * 2018-05-18 2019-11-21 Google Llc Learning data augmentation policies
KR101964412B1 (ko) * 2018-12-12 2019-04-01 주식회사 모비젠 이동통신데이터 처리시스템의 이상로그 발생을 진단하는 방법 및 그 시스템
CN110288004A (zh) * 2019-05-30 2019-09-27 武汉大学 一种基于日志语义挖掘的系统故障诊断方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
REN RUI; CHENG JIECHAO; YIN YAN; ZHAN JIANFENG; WANG LEI; LI JINHENG; LUO CHUNJIE: "Deep Convolutional Neural Networks for Log Event Classification on Distributed Cluster Systems", 2018 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 10 December 2018 (2018-12-10), pages 1639 - 1646, XP033508577, DOI: 10.1109/BigData.2018.8622611 *

Also Published As

Publication number Publication date
KR20220021163A (ko) 2022-02-22
KR102496030B1 (ko) 2023-02-07

Similar Documents

Publication Publication Date Title
WO2022034945A1 (ko) 데이터 분류를 위한 강화 학습 장치 및 방법
WO2021230457A1 (en) Learning method and learning device for training an object detection network by using attention maps and testing method and testing device using the same
US7032212B2 (en) Method and system for generating test matrices for software programs
WO2021049706A1 (ko) 앙상블 질의 응답을 위한 시스템 및 방법
US7770066B2 (en) Method and system for converting USB
WO2021194056A1 (en) Method for training deep learning network based on artificial intelligence and learning device using the same
WO2023287064A1 (ko) 이상 데이터 자동 검출 및 자동 라벨링 기술을 이용한 학습 데이터베이스 구축 방법 및 시스템
WO2014038781A1 (ko) 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치
WO2021215551A1 (ko) 블록체인 기반의 전자 연구노트 검증 방법 및 이를 이용한 전자 연구노트 관리 장치
WO2018212396A1 (ko) 데이터를 분석하는 방법, 장치 및 컴퓨터 프로그램
WO2022050724A1 (ko) 질의에 대한 응답 결정 장치, 방법 및 시스템
WO2022124725A1 (ko) 화합물과 단백질의 상호작용 예측 방법, 장치 및 컴퓨터 프로그램
WO2021047184A1 (zh) 系统故障分析处理方法、装置、存储介质及电子设备
WO2011065660A2 (ko) 계산 시뮬레이션 모사 시스템 및 그 방법
WO2014181946A1 (ko) 빅 데이터 추출 시스템 및 방법
WO2021230463A1 (en) Method for optimizing on-device neural network model by using sub-kernel searching module and device using the same
WO2020149541A1 (ko) 특정 주제에 관한 질문-답변 데이터 셋 자동 생성 방법 및 장치
WO2021080043A1 (ko) 시퀀싱 플랫폼 특이적인 오류를 줄인 체성 돌연변이 검출 장치 및 방법
WO2023128320A1 (ko) 인공지능 검증 시스템 및 방법
WO2022163996A1 (ko) 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법
WO2022102879A1 (ko) 스마트 컨트랙트 내의 취약 트랜잭션 시퀀스 획득 장치 및 방법
CN114416597A (zh) 测试用例记录的生成方法和装置
WO2020184816A1 (ko) 신약 후보 물질 도출을 위한 데이터 처리 방법
WO2020138588A1 (ko) 신약 후보 물질 발굴을 위한 데이터 처리 장치 및 방법
WO2022182185A1 (ko) 프로그램 분석 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20949577

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20949577

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20949577

Country of ref document: EP

Kind code of ref document: A1