WO2022092346A1 - 강화학습 기반의 난수 생성 장치 및 방법 - Google Patents
강화학습 기반의 난수 생성 장치 및 방법 Download PDFInfo
- Publication number
- WO2022092346A1 WO2022092346A1 PCT/KR2020/014859 KR2020014859W WO2022092346A1 WO 2022092346 A1 WO2022092346 A1 WO 2022092346A1 KR 2020014859 W KR2020014859 W KR 2020014859W WO 2022092346 A1 WO2022092346 A1 WO 2022092346A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- random number
- reinforcement learning
- similarity
- generating
- model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- the present invention relates to an apparatus and method for generating random numbers based on reinforcement learning.
- a random number is a number that does not have a specific order or rule. Such random numbers are used in various fields as well as in real life. For example, a random number is used to select a winner of a house sale ticket or a lottery event. Recently, random numbers are also used to issue OTP (One Time Password), which is a user authentication method using one-time passwords of randomly generated random numbers.
- OTP One Time Password
- Reinforcement learning is learning the best action for an agent to take in the current state. Each time an action is taken, a reward is given from the environment, and the agent learns the direction to maximize the reward.
- a method of learning to collect a seed value so that a random number different from an existing random number is ultimately generated by utilizing such reinforcement learning to collect a seed value required to generate a random number has not been proposed either.
- An object of the present invention is to provide an apparatus and method for generating a random number based on reinforcement learning.
- Reinforcement learning-based dynamic random number generation method for solving the above-mentioned problems is a method realized by a computer, a method realized by a computer, and a deep learning-based first model through an agent unit generating a first random number based on and storing a first random number in a memory, wherein the step of performing reinforcement learning includes providing a reward based on each similarity to the agent unit through the environment unit, The agent unit may be controlled to learn the first model based on the first random number.
- the calculating of the similarity may include calculating the at least one second random number and the first random number by applying the second model based on deep learning.
- the degree of similarity calculated by the second model may be calculated based on a distance between features of each of the at least one second random number and the first random number.
- the first random number is generated by applying at least one first input value to the first model, and even if the same first input value is applied to the first model, the learning state of the first model It may be possible to generate a different random number according to it.
- the reward may be provided when all of the respective similarities are less than a first threshold.
- the at least one pre-stored second random number includes at least one random number generated based on an input value collected from the same source as the source of the input value used to generate the first random number can do.
- An apparatus for generating a random number based on reinforcement learning for solving the above-described problem includes an agent unit that generates a first random number based on a first model based on deep learning, and at least one previously stored an environment unit that calculates a degree of similarity between the two random numbers and the first random number, provides a reward to the agent based on the similarity, and a memory for storing the first random number, and after providing a reward corresponding to the similarity, It may be characterized in that the agent is controlled to learn the first model based on the first random number.
- the environment unit applies at least one pre-stored random number and a first random number to a second model based on deep learning, and the at least one second random number and each feature of the first random number ) may be calculated, and a degree of similarity may be calculated based on the calculated distance.
- the environment unit may provide a reward to the agent unit when all of the calculated similarities are less than a first threshold level.
- a computer program for solving the above-described problems executes the reinforcement learning-based random number generation method in combination with a computer, which is hardware, and may be stored in a computer-readable recording medium.
- the agent by comparing a pre-stored random number with a generated random number through reinforcement learning and providing a reward according to the degree of similarity, the agent generates a random number with a low similarity to the pre-stored random number. Through this, a random number different from the stored random number can be repeatedly generated.
- 1 is a block diagram showing the configuration of a reinforcement learning apparatus.
- FIG. 2 is a block diagram of an apparatus for generating random numbers based on reinforcement learning according to the present invention.
- FIG. 3 is a flowchart schematically illustrating a method for generating random numbers based on reinforcement learning according to the present invention.
- FIG. 4 is an exemplary diagram illustrating calculation of a similarity with at least one pre-stored random number generated based on an input value collected from the same source as the source of the first input value corresponding to the first random number according to the present invention.
- FIG. 5 is a flowchart schematically illustrating a method for reinforcing a collection action of an agent based on similarity according to the present invention.
- the term 'reinforcement learning' used in the present invention is a kind of machine learning algorithm composed of a state, an action, a reward, an agent, and an environment. Reinforcement learning aims to find out what actions the agent, the subject of learning, must take to receive more rewards.
- FIG. 1 is a block diagram showing the configuration of a reinforcement learning apparatus.
- the agent learns how to determine an action (or action) through learning of the reinforcement learning model, and when each action affects the state, the degree of success is as a reward. can be measured.
- the reward is a reward score for an action (action) determined by the agent 10 according to a certain state when learning is performed through the reinforcement learning model. It's kind of feedback. On the other hand, through reinforcement learning, the agent takes action to maximize the reward.
- the present invention utilizes this characteristic of reinforcement learning to generate random numbers. Specifically, by granting a reward whenever a random number generated through an agent's action has a low similarity to an existing random number, reinforcement learning is ultimately performed so that the agent generates a random number different from the existing random number.
- FIG. 2 is a block diagram of an apparatus for generating random numbers based on reinforcement learning according to the present invention.
- the reinforcement learning-based random number generating apparatus 100 (hereinafter, random number generating apparatus) includes an agent unit 110 , an environment unit 120 , a memory 130 , and a control unit 140 .
- the reinforcement learning-based random number generation apparatus 100 in the present invention may include more or fewer components than those illustrated in FIG. 2 .
- the agent unit 110 may further include a collection unit for collecting a first input value corresponding to a seed value for generating a first random number.
- unit used in the specification means a hardware element such as software, FPGA, or ASIC, and “unit” performs certain roles.
- “part” is not meant to be limited to software or hardware.
- a “unit” may be configured to reside on an addressable storage medium and may be configured to refresh one or more processors.
- “part” refers to elements such as software elements, object-oriented software elements, class elements and task elements, and processes, functions, properties, procedures, subroutines, and programs. It includes segments of code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided within elements and “parts” may be combined into a smaller number of elements and “parts” or further separated into additional elements and “parts”.
- all “units” of the present specification may be controlled by at least one processor, and at least one processor may perform operations performed by the “units” of the present disclosure.
- Embodiments of the present disclosure may be described in terms of a function or a block performing a function.
- Blocks which may be referred to as 'parts' or 'modules', etc. in the present disclosure include logic gates, integrated circuits, microprocessors, microcontrollers, memories, passive electronic components, active electronic components, optical components, hardwired circuits, and the like. It may be physically implemented by analog or digital circuitry, such as, and optionally driven by firmware and software.
- the random number generating device 100 may mean a server device managed by a company providing a service based on random number generation, or may mean a server device managed by a company providing a cloud computing service.
- the memory 130 stores data supporting various functions of the random number generator 100 . For example, data relating to one or more second random numbers that compares a similarity with a first random number generated by the agent unit is stored.
- the memory 140 may store a plurality of application programs (or applications) driven by the random number generator 100 , data for the operation of the random number generator 100 , and commands. At least some of these application programs may be downloaded from an external server through wireless communication.
- the algorithm related to the first deep learning-based model used to generate the first random number by the agent unit 110 and the environment unit are used to calculate the similarity between the first random number and the second random number
- An algorithm related to a second model based on deep learning is stored.
- the random number generator 100 including the agent unit 110 , the environment unit 120 , and the memory 130 will be described in detail.
- FIG. 3 is a flowchart schematically illustrating a method for generating random numbers based on reinforcement learning according to the present invention.
- FIGS. 3 and 5 may be understood to be performed by a server that is a random number generator operated by a service provider for generating random numbers, but is not limited thereto.
- the agent unit 110 generates a first random number based on a first model based on deep learning ( S210 ).
- the random number generating apparatus 100 may collect a seed value for generating the first random number through the agent unit 110 .
- the random number generator ( 100 ) may further include a collection unit including a communication module capable of receiving a seed value.
- the seed value a variable having random characteristics generated by hardware and software may be used.
- hardware means a reinforcement learning-based random number generator.
- the reinforcement learning-based random number generator is a server device
- hardware means a server device.
- variables having random characteristics generated by hardware include time, hardware turned on time, the number of clocks in the CPU memory, temperature, and the like.
- the reinforcement learning-based random number generator receives or collects such information as a first input value used for generating a random number
- the agent unit generates a random number based on the first input value.
- the first input value may be collected by a kernel system log.
- the system kernel log means a log file recorded at the operating system level when a program is executed.
- the agent unit 110 receives a seed value for random number generation as a first input collected or input through hardware information such as hardware temperature, time, CPU memory clock number, etc., and a system kernel log. An action for generating a first random number based on a value is performed.
- the first random number generated by the agent unit 110 is generated using a first model based on deep learning.
- a deep learning-based generative model Black Box
- the first random number may be adjusted to match a preset random number size.
- the size of the first random number may be adjusted according to a hash function or a padding technique.
- the environment unit calculates a similarity between at least one pre-stored second random number and the first random number ( S220 ).
- the environment unit 120 may calculate by applying the at least one second random number and the first random number to a second model based on deep learning. For example, if it is assumed that the stored second random number has three values, the similarity of each of the one first random number and the three second random numbers is calculated. As a result, values related to the three similarities are calculated. Meanwhile, as described above, the values related to the three similarities may be calculated by the second model based on deep learning.
- the degree of similarity calculated by the second model may be calculated based on a distance between at least one second random number and a feature of each of the first random number. That is, when the features of the first random number and the second random number are generated by the second model based on deep learning, the distance between the features of the first random number and the second random number is calculated. Then, the degree of similarity is calculated based on the distance.
- the features of the first random number and each of the second random numbers are generated based on a second model based on deep learning, and the generated features A degree of similarity is calculated based on the distance information of In this case, the degree of similarity increases as the distance between the features increases. That is, it is determined that the first random number and the second random number that are close to each other are more similar.
- At least one random number stored in the memory 130 including the first random number is embedded into a vector corresponding to each. Then, the cosine similarity between the vector corresponding to the first random number and the vector corresponding to each random number stored in the memory 130 is calculated.
- the similarity may be calculated using a cosine value between a vector corresponding to the first random number in the inner product space and a vector corresponding to each random number stored in the memory.
- the above-described similarity is obtained by extracting a first random number and at least one previously stored feature map of a random number, embedding each feature map as an n-dimensional vector (n is a natural number equal to or greater than 2), and Euclidean distance between each vector
- the similarity may be measured by measuring .
- FIG. 4 is an exemplary diagram illustrating calculation of a similarity with at least one pre-stored random number generated based on an input value collected from the same source as the source of the first input value corresponding to the first random number according to the present invention.
- the at least one pre-stored second random number may include at least one second random number generated based on an input value collected from the same source as the source of the input value used to generate the first random number. That is, as described above, the first input value may be collected based on hardware information or a kernel system log. In this case, after generating a first random number based on the first input value, a similarity between at least one second random number generated based on an input value collected from the same source as the source of the first input value is calculated.
- the first input value is collected by the agent based on hardware information.
- the environment unit will calculate a similarity between the random number pre-stored in the memory and the first random number.
- the environment unit does not calculate the similarity between all the existing second random numbers stored in the memory 130 and the first random number, but calculates the similarity with the second random number generated by input values from the same source. Accordingly, the environment unit will calculate a similarity between the first random number and the second random number stored in the memory and generated based on an input value collected from hardware.
- the environment unit 120 performs reinforcement learning on the action of generating the first random number of the agent unit 110 based on each degree of similarity.
- FIG. 5 is a flowchart schematically illustrating a method for reinforcing a collection action of an agent based on similarity according to the present invention.
- the environment unit provides reward information to the agent based on the degree of similarity (S231).
- compensation information may be provided only when the similarity is smaller than the first threshold. For example, it is assumed that the similarity between the first random number and ten random numbers stored in the memory is calculated.
- compensation information may be provided to the agent unit only when the values related to each similarity calculated in relation to the ten pre-stored random numbers are all smaller than the first preset threshold.
- the compensation information may be provided as a positive (+) value when the respective degrees of similarity are all smaller than the first threshold.
- a negative (-) value is provided. That is, when generating a first random number similar to the previously stored second random number, a penalty may be provided to the agent unit.
- the agent unit 110 controls to learn the first model based on the first random number ( S232 ).
- the agent unit 110 repeatedly performs reinforcement learning to generate a different first random number. Specifically, when the agent unit 110 receives the reward information, it adjusts the weight value of the hidden state of the deep learning-based first model of the agent unit 110 according to the reward information. In other words, the agent unit adjusts the weight value of the hidden state of the deep learning-based first model based on the compensation information provided through the environment ministry.
- the weight value of the hidden layer of the deep learning-based first model may not be adjusted.
- the first random number is stored in the memory 130 ( S140 ). That is, after the first random number is stored in the memory 130 , it is again subjected to a similarity determination with another random number newly generated by the agent.
- the reinforcement learning-based random number generating device accumulates, stores, and manages random numbers, so that whenever a first random number is newly generated, it determines the similarity, and ultimately reinforces the action of the agent regarding the first random number generation. .
- the method for generating random numbers based on reinforcement learning according to an embodiment of the present invention described above may be implemented as a program (or application) and stored in a medium to be executed in combination with a computer, which is hardware.
- the above-mentioned program in order for the computer to read the program and execute the methods implemented as a program, C, C++, JAVA, Ruby, which the processor (CPU) of the computer can read through the device interface of the computer; It may include code coded in a computer language such as machine language. Such code may include functional code related to a function defining functions necessary for executing the methods, etc., and includes an execution procedure related control code necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer to be referenced. there is.
- the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.
- the storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device.
- examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and an optical data storage device.
- the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user.
- the medium may be distributed in a computer system connected to a network, and a computer-readable code may be stored in a distributed manner.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
강화 학습 기반의 난수 생성 장치 및 방법이 제공된다. 상기 방법은, 컴퓨터에 의해 실현되는 방법으로서, 컴퓨터에 의해 실현되는 방법으로서, 에이전트부를 통해 딥러닝 기반의 제1 모델을 기초로, 제1 난수를 생성하는 단계, 기 저장된 적어도 하나의 제2 난수 및 제1 난수 간의 각각의 유사도를 산출하는 단계, 상기 각각의 유사도에 기초하여 상기 에이전트의 제1 난수의 생성 행위에 관한 강화학습을 수행하는 단계 및 제1 난수를 메모리에 저장하는 단계를 포함하고, 상기 강화학습을 수행하는 단계는, 환경부를 통해 상기 에이전트부에 상기 각각의 유사도에 기초하여 보상을 제공한 후에, 상기 에이전트부가 제1 난수를 기초로, 제1 모델을 학습하도록 제어한다.
Description
본 발명은 강화학습 기반의 난수 생성 장치 및 방법에 관한 것이다.
난수는 특정한 순서나 규칙을 가지지 않는 수를 의미한다. 이러한 난수는 실생활뿐만 아니라, 다양한 분야에서 활용되고 있다. 예를 들어, 난수를 활용하여 주택 분양권 또는 추첨 행사의 당첨자를 선정하기도 한다. 최근에는 무작위로 생성되는 난수의 일회용 패스워드를 이용하는 사용자 인증 방식인 OTP(One Time Password)를 발급하는 데에도 난수가 활용된다.
그러나, 이러한 난수를 생성하는 것에는 한계점이 있다. 특히 정해진 입력에 따라서 정해진 값을 산출하는 컴퓨터의 경우에는, 사람처럼 무의식적인 선택을 강요할 수 없으므로, 난수를 생성하는데 한계점을 갖는다. 이를 위해, 시드 값에 기초하여 난수를 생성하는 방식이 통용화 되고 있는데, 이러한 방식 또한 동일한 시드 값에 의하여 동일한 난수가 생성되게 되는 문제점을 낳는다.
따라서, 동일한 시드 값에 의하더라도 서로 다른 난수가 생성될 수 있는 방안이 필요하다. 특히, 난수를 생성하는 과정에서 내재되어 있는 규칙을 인지하지 못하도록, 딥러닝 기반의 생성 모델을 이용하여 난수를 생성하는 방법에 대해서는 아직까지 제안되고 있지 않다.
강화 학습은 에이전트에게 현재의 상태에서 어떠한 행동을 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 환경으로부터 보상이 부여되어, 에이전트는 보상을 최대화 하는 방향을 학습을 수행한다. 이러한 강화 학습을 난수를 생성하는데 필요한 시드 값을 수집하는데 활용함으로써, 궁극적으로 기존의 난수와 상이한 난수가 생성되도록 시드 값을 수집하도록 학습하는 방안 또한 제안된바 없다.
본 발명이 해결하고자 하는 과제는 강화 학습 기반의 난수 생성 장치 및 방법을 제공하는 것이다.
다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 강화학습 기반의 동적 난수 생성 방법은, 컴퓨터에 의해 실현되는 방법으로서, 컴퓨터에 의해 실현되는 방법으로서, 에이전트부를 통해 딥러닝 기반의 제1 모델을 기초로, 제1 난수를 생성하는 단계, 기 저장된 적어도 하나의 제2 난수 및 제1 난수 간의 각각의 유사도를 산출하는 단계, 상기 각각의 유사도에 기초하여 상기 에이전트의 제1 난수의 생성 행위에 관한 강화학습을 수행하는 단계 및 제1 난수를 메모리에 저장하는 단계를 포함하고, 상기 강화학습을 수행하는 단계는, 환경부를 통해 상기 에이전트부에 상기 각각의 유사도에 기초하여 보상을 제공한 후에, 상기 에이전트부가 제1 난수를 기초로, 제1 모델을 학습하도록 제어할 수 있다.
본 발명의 일부 실시예에서, 상기 유사도를 산출하는 단계는, 상기 적어도 하나의 제2 난수와 제1 난수를 딥러닝 기반의 제2 모델에 적용하여 산출할 수 있다.
본 발명의 일부 실시예에서, 제2 모델에 의해 산출되는 유사도는, 상기 적어도 하나의 제2 난수 및 제1 난수 각각의 피처(Feature) 간의 거리를 기반으로 산출될 수 있다.
본 발명의 일부 실시예에서, 제1 난수는, 적어도 하나의 제1 입력값이 제1 모델에 적용되어 생성되고, 동일한 제1 입력값이 제1 모델에 적용되어도, 제1 모델의 학습 상태에 따라 상이한 난수로 생성 가능할 수 있다.
본 발명의 일부 실시예에서, 상기 보상은, 상기 각각의 유사도 모두가 제1 임계도보다 작은 경우에 제공될 수 있다.
본 발명의 일부 실시예에서, 상기 기 저장된 적어도 하나의 제2 난수는, 제1 난수의 생성에 이용된 입력값의 출처와 동일한 출처로부터 수집된 입력값을 기반으로 생성된 적어도 하나의 난수를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 강화 학습 기반의 난수 생성 장치는, 딥러닝 기반의 제1 모델을 기초로, 제1 난수를 생성하는 에이전트부, 기 저장된 적어도 하나의 제2 난수 및 제1 난수 간의 각각의 유사도를 산출하고, 상기 유사도에 기초하여 상기 에이전트에 보상을 제공하는 환경부 및 제1 난수를 저장하는 메모리를 포함하고, 상기 유사도에 상응하는 보상을 제공한 후에, 상기 에이전트가 제1 난수를 기초로, 제1 모델을 학습하도록 제어하는 것을 특징으로 할 수 있다.
본 발명의 일부 실시예에서, 상기 환경부는, 기 저장된 적어도 하나의 난수와 제1 난수를 딥러닝 기반의 제2 모델에 적용하여, 상기 적어도 하나의 제2 난수 및 제1 난수 각각의 피처(Feature) 간의 거리를 산출하고, 상기 산출된 거리에 기초하여 유사도를 산출할 수 있다.
본 발명의 일부 실시예에서, 상기 환경부는, 상기 산출된 각각의 유사도 모두가 제1 임계도보다 작은 경우에 상기 에이전트부에 보상을 제공할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합하여 상기 강화학습 기반의 난수 생성 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상술한 본 발명에 의하면, 강화 학습을 통해, 기 저장된 난수와 생성된 난수를 비교하고, 유사도에 따라 보상을 제공함으로써, 에이전트는 기 저장되어있는 난수와는 유사도가 낮은 난수가 생성한다. 이를 통해, 저장되어 있는 난수와 상이한 난수를 반복하여 생성할 수 있다.
또한, 딥러닝 기반의 생성 모델을 기반으로, 난수를 생성함으로써, 난수 생성 과정에서 내재되어 있는 규칙을 제3자가 추론하지 못하도록 할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 강화 학습 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명에 따른, 강화 학습 기반의 난수 생성 장치의 블록도이다.
도 3은 본 발명에 따른, 강화 학습 기반의 난수 생성 방법을 개략적으로 나타낸 순서도이다.
도 4는 본 발명에 따른, 제1 난수에 상응하는 제1 입력값의 출처와 동일한 출처로부터 수집된 입력값을 기반으로 생성된 기 저장된 적어도 하나의 난수와 유사도를 산출하는 것을 나타낸 예시도이다.
도 5는 본 발명에 따른, 유사도에 기초하여 에이전트의 수집 액션을 강화하는 방법을 개략적으로 나타낸 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 발명에서 사용되는 용어 '강화학습(Reinforcement Learning)'은 상태(State), 행동(Action), 보상(Reward), 에이전트(Agent), 환경(Environment)로 구성된 기계학습 알고리즘의 일종이다. 이러한 강화 학습은 학습의 행동 주체인 에이전트(Agent)가 어떤 행동을 해야만 더 많은 보상(Reward)를 받을지 알아내는 것을 목적으로 한다.
도 1은 강화 학습 장치의 구성을 나타낸 블록도이다. 도 1을 참조하면, 에이전트가 강화 학습 모델의 학습을 통해 액션(Action, 또는 행동)을 결정하는 방법을 학습시키고, 각 액션이 스테이트(state)에 영향을 끼치면, 성공한 정도는 보상(Reward)으로 측정될 수 있다.
즉, 보상은 강화 학습 모델을 통해 학습을 진행할 경우, 어떠한 스테이트(State)에 따라 에이전트(10)가 결정하는 액션(행동)에 대한 보상 점수로서, 학습에 따른 에이전트(10)의 의사 결정에 대한 일종의 피드백이다. 한편, 강화 학습을 통해 에이전트는 보상이 최대가 될 수 있도록 액션을 취하게 된다
본 발명은 이러한 강화학습의 특징을 난수 발생에 활용한다. 구체적으로, 에이전트의 액션을 통해 생성된 난수가, 기존의 난수와 유사도가 낮을 때마다 보상을 부여함으로써, 궁극적으로 에이전트가 기존의 난수와는 상이한 난수를 생성하도록 강화 학습을 수행하는 것이다.
이하, 첨부된 도면을 참조하여 상술한 본 발명에 일 실시예에 대하여 상세히 설명하도록 한다.
도 2는 본 발명에 따른, 강화 학습 기반의 난수 생성 장치의 블록도이다.
도 2를 참조하면, 강화 학습 기반의 난수 생성 장치(100)(이하, 난수 생성 장치)는 에이전트부(110), 환경부(120), 메모리(130), 제어부(140)를 포함한다.
다만, 본 발명에서의 강화 학습 기반의 난수 생성 장치(100)는 도 2에 도시된 구성요소들 보다 많거나, 또는 적은 구성요소들을 포함할 수 있다. 예를 들어, 상기 에이전트부(110)에 제1 난수를 생성하기 위한 시드 값에 해당하는, 제1 입력값을 수집하는 수집부를 더 포함할 수 있다.
한편, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 엘리먼트를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 엘리먼트들, 객체지향 소프트웨어 엘리먼트들, 클래스 엘리먼트들 및 태스크 엘리먼트들과 같은 엘리먼트들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 엘리먼트들과 "부"들 안에서 제공되는 기능은 더 작은 수의 엘리먼트들 및 "부"들로 결합되거나 추가적인 엘리먼트들과 "부"들로 더 분리될 수 있다.
또한, 본 명세서의 모든 “부”는 적어도 하나의 프로세서에 의해 제어될 수 있으며 본 개시의 “부”가 수행하는 동작을 적어도 하나의 프로세서가 수행할 수도 있다.
본 개시의 실시예들은 기능 또는 기능을 수행하는 블록의 관점에서 설명될 수 있다. 본 개시의 ‘부’ 또는 ‘모듈’ 등으로 지칭될 수 있는 블록은 논리 게이트, 집적 회로, 마이크로 프로세서, 마이크로 컨트롤러, 메모리, 수동 전자 부품, 능동 전자 부품, 광학 컴포넌트, 하드와이어드 회로(hardwired circuits) 등과 같은 아날로그 또는 디지털 회로에 의해 물리적으로 구현되고, 선택적으로 펌웨어 및 소프트웨어에 의해 구동될 수 있다.
난수 생성 장치(100)는 난수를 생성을 기반으로, 서비스를 제공하는 회사가 관리하는 서버 장치를 의미할 수 있으며, 또는 클라우드 컴퓨팅 서비스를 제공하는 회사가 관리하는 서버 장치를 의미할 수도 있다.
메모리(130)는 난수 생성 장치(100)의 다양한 기능을 지원하는 데이터를 저장한다. 예를 들어, 에이전트 부에 의해 생성되는 제1 난수와의 유사도를 비교하는, 하나 이상의 제2 난수에 관한 데이터가 저장된다. 또한 메모리(140)는 난수 생성 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 난수 생성 장치(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
또한, 상기 메모리(130)에는 에이전트부(110)에 의해 제1 난수를 생성하는데 이용되는 딥러닝 기반의 제1 모델에 관한 알고리즘과 환경부에 의해 제1 난수와 제2 난수 간의 유사도를 산출하는데 이용되는 딥러닝 기반의 제2 모델에 관한 알고리즘이 저장된다.
이하에서는, 에이전트부(110), 환경부(120) 및 메모리(130)를 포함하는 난수 생성 장치(100)가 강화 학습을 이용하여 난수를 생성하는 방법을 상세히 설명하도록 한다.
도 3은 본 발명에 따른, 강화 학습 기반의 난수 생성 방법을 개략적으로 나타낸 순서도이다.
한편, 도 3 및 도 5에 도시된 단계들은 난수를 생성하는 서비스 제공 업체에 의해 운영되는 난수 생성 장치인 서버에 의해 수행되는 것으로 이해될 수 있지만, 이에 제한되는 것은 아니다.
먼저 도 3을 참조하면, 에이전트부(110)는 딥러닝 기반의 제1 모델을 기초로, 제1 난수를 생성한다(S210).
도면에 명확히 도시되지는 않았으나, 난수 생성 장치(100)는, 에이전트부(110)를 통해 제1 난수를 생성하기 위한 시드 값을 수집할 수 있다. 이를 위해, 상기 난수 생성 장치는(100) 시드 값을 수신할 수 있는 통신 모듈을 포함하는 수집부를 더 포함할 수 있다.
한편, 상기 시드 값으로는 하드웨어 및 소프트웨어가 생성하는 랜덤한 특성을 갖는 변수가 이용될 수 있다.
여기서 하드웨어는, 강화학습 기반의 난수 생성 장치를 의미하는 것으로서, 상술한 바와 같이, 강화학습 기반의 난수 생성 장치가 서버 장치인 경우에는, 하드웨어는 서버 장치를 의미한다.
한편, 하드웨어가 생성하는 랜덤한 특성을 갖는 변수로는, 시간, 하드웨어가 켜져 있는 시간, CPU 메모리의 클럭수, 온도 등이 있다. 강화 학습 기반의 난수 생성 장치는, 이러한 정보를 난수 발생에 이용되는 제1 입력값으로 입력받거나 수집하면, 상기 에이전트부는 상기 제1 입력값을 기초로 난수를 생성한다.
또는, 상기 제1 입력값은 커널 시스템 로그에 의하여 수집될 수도 있다. 여기서 시스템 커널 로그란, 프로그램이 실행될 때, 운영체제 레벨에서 기록되는 로그 파일을 의미한다.
즉, 정리하면, 에이전트부(110)는 난수 발생을 위한 시드(Seed)값을 하드웨어의 온도, 시간, CPU 메모리의 클럭수 등과 같은 하드웨어 정보, 시스템 커널 로그 등을 통해 수집되거나 입력된 제1 입력값을 기초로 제1 난수를 생성하는 액션(Action)을 수행한다.
이때, 에이전트부(110)에 의해 생성되는 제1 난수는 딥러닝 기반의 제1 모델을 이용하여 생성된다. 제1 난수의 생성 과정에서, 딥러닝 기반의 생성 모델(Black Box)을 이용함으로써, 제1 난수를 생성하는 과정에서 내재되어 있는 규칙성을 제3 자가 추론하거나 인지할 수 없도록 하는 효과를 발휘하게 된다.
한편, 본 발명의 일 예로, 제1 난수는 기 설정된 난수 사이즈와 매칭되도록 조정될 수 있다. 구체적으로, 해쉬 함수 또는 패딩(Padding) 기법 등에 따라서, 제1 난수의 사이즈를 조정할 수 있을 것이다.
다시 도 3을 참조하면, 에이전트부(110)에 의해 제1 난수가 생성되면, 환경부는 기 저장된 적어도 하나의 제2 난수와 제1 난수 간의 유사도를 산출한다(S220).
본 발명의 일 예로, 환경부(120)는 상기 적어도 하나의 제2 난수와 제1 난수를 딥러닝 기반의 제2 모델에 적용하여 산출할 수 있다. 예를 들어, 저장된 제2 난수의 값이 3개라고 가정하면, 하나의 제1 난수와 3개의 제2 난수 각각에 대한 유사도를 산출하는데, 결과적으로, 3개의 유사도에 관련한 값이 산출되게 된다. 한편, 상술한 바와 같이 3개의 유사도에 관련한 값은 딥러닝 기반의 제2 모델에 의하여, 산출될 수 있다.
한편, 본 발명의 일 예로, 제2 모델에 의해 산출되는 유사도는, 적어도 하나의 제2 난수 및 제1 난수 각각의 피처(Feature) 간의 거리를 기반으로 산출될 수 있다. 즉, 딥러닝 기반의 제2 모델에 의하여, 제1 난수와 제2 난수의 피처가 생성되면, 상기 제1 난수와 제2 난수의 피처간의 거리를 산출한다. 그리고, 상기 거리에 기초하여, 유사도를 산출한다.
예를 들어, 제1 난수와 3개의 제2 난수의 유사도를 산출한다고 가정한다면, 제1 난수와 각각의 제2 난수의 피처를 딥러닝 기반의 제2 모델에 기반하여 생성하고, 상기 생성된 피처의 거리 정보에 기초하여 유사도를 산출한다. 이때, 유사도는, 피처 간의 거리가 가까울수록 크다. 즉, 거리가 가까운 제1 난수와 제2 난수는 더 유사한 것을 판단된다.
이 밖에도 유사도를 산출하는 방법으로는, 제1 난수를 비롯하여 메모리(130)에 저장된 적어도 하나의 난수를 각각에 상응하는 벡터로 임베딩한다. 그리고, 제1 난수에 상응하는 벡터와 메모리(130)에 저장된, 각각의 난수에 상응하는 벡터의 코사인 유사도를 산출한다.
보다 구체적으로는, 내적 공간의 제1 난수에 상응하는 벡터와 메모리에 저장된, 각각의 난수에 상응하는 벡터간의 코사인 값을 이용하여 유사도를 산출할 수 도 있을 것이다.
또는 상술한 유사도는, 제1 난수와 기 저장된 적어도 하나의 난수의 피처맵을 각각 추출하고, 각각의 피처맵을 n차원(n은 2 이상의 자연수)의 벡터로 임베딩하고, 각각의 벡터 간 유클리드 거리를 측정하여 상기 유사도를 측정할 수도 있다.
도 4는 본 발명에 따른, 제1 난수에 상응하는 제1 입력값의 출처와 동일한 출처로부터 수집된 입력값을 기반으로 생성된 기 저장된 적어도 하나의 난수와 유사도를 산출하는 것을 나타낸 예시도이다.
한편, 본 발명의 일 예로, 상기 기 저장된 적어도 하나의 제2 난수는, 제1 난수의 생성에 이용된 입력값의 출처와 동일한 출처로부터 수집된 입력값을 기반으로 생성된 적어도 하나의 제2 난수를 포함할 수 있다. 즉, 상술한 바와 같이 하드웨어 정보 또는 커널 시스템 로그를 기초로 제1 입력값이 수집될 수 있다. 이때, 제1 입력값에 기초하여 제1 난수를 생성한 후, 상기 제 1입력값의 출처와 동일한 출처로부터 수집된 입력값을 기반으로 생성된 적어도 하나의 제2 난수간의 유사도를 산출한다.
구체적으로, 도 4를 참조하면, 에이전트에 의해 제1 입력값이 하드웨어 정보를 기반으로 수집되었다고 가정한다. 제1 입력값을 딥러닝 기반의 생성 모델에 적용하여 제1 난수가 생성되면, 환경부는 메모리에 기 저장된 난수와 상기 제1 난수의 유사도를 산출하게 될 것이다.
이때, 환경부는, 메모리(130)에 저장된 기존의 모든 제2 난수와 제1 난수의 유사도를 산출하는 것이 아니며, 동일한 출처의 입력값에 의해 생성된 제2 난수와의 유사도를 산출한다. 따라서, 환경부는, 제1 난수와 메모리에 저장된, 하드웨어로부터 수집된 입력값을 기반으로 생성된 제2 난수간의 유사도를 산출할 것이다.
다시 도 3을 참조하면, 환경부(120)는 각각의 유사도를 산출한 후, 각각의 유사도에 기초하여 에이전트부(110)의 제1 난수의 생성 행동(Action)에 관한 강화학습을 수행한다.
도 5는 본 발명에 따른, 유사도에 기초하여 에이전트의 수집 액션을 강화하는 방법을 개략적으로 나타낸 순서도이다.
도 5를 참조하면, 먼저 환경부는 유사도에 기초하여, 보상(Reward) 정보를 에이전트에 제공한다(S231).
이때, 본 발명의 일 예로, 유사도가 제1 임계도보다 작은 경우에 한하여 보상 정보가 제공될 수 있다. 예를 들어, 제1 난수와 메모리에 저장된 10개의 난수의 유사도를 산출하였다고 가정한다.
이때, 10개의 기 저장된 난수와의 관계에서 산출된 각각의 유사도에 관한 값이 사전에 설정된 제1 임계도보다 모두 작은 경우에 한하여, 에이전트부에 보상 정보가 제공될 수 있다. 여기서 보상 정보는, 상기 각각의 유사도가 제1 임계도보다 모두 작은 경우에는 양(+)의 값으로 제공될 수 있다.
반면에, 상기 산출된 각각의 유사도 중 적어도 하나가 제1 임계도보다 큰 경우에는 음(-)의 값으로 제공된다. 즉, 기존에 저장된 제2 난수와 유사한 제1 난수를 생성하는 경우에는, 상기 에이전트부에 패널티가 제공될 수도 있다.
한편, 다시 도 5를 참조하면, 보상을 제공한 후, 에이전트부(110)가 제1 난수를 기초로, 제1 모델을 학습하도록 제어한다(S232).
즉, 에이전트부(110)는 반복하여 상이한 제1 난수를 생성하도록 강화 학습을 수행한다. 구체적으로, 에이전트부(110)가 보상 정보를 제공받으면, 상기 보상 정보에 상응하여, 에이전트부(110)의 딥러닝 기반의 제1 모델의 은닉층(Hidden State)의 가중치 값을 조정한다. 다시 말해, 에이전트부는 환경부를 통해 제공되는 보상 정보에 기초하여, 딥러닝 기반의 제1 모델의 은닉층(Hidden State)의 가중치 값을 조정한다.
환경부를 통해 양(+)의 값의 보상이 제공되면, 딥러닝 기반의 제1 모델의 은닉층의 가중치 값을 조정한다. 이러한 과정을 반복하면서, 저장되어 있는 제2 난수와는 상이한 제1 난수를 계속하여 생성할 수 있도록 하는 효과를 발휘하게 될 것이다. 뿐만 아니라, 하드웨어, 커널 시스템 또는 어플리케이션으로부터 수집된 동일한 제1 입력값이 딥러닝 생성 모델에 적용되어도, 딥러닝 생성 모델의 학습 상태에 따라 상이한 난수로 생성이 가능할 수 있다.
한편, 본 발명의 일 예로, 유사도에 기초하여, 음(-)의 값의 보상이 제공된 경우에는, 딥러닝 기반의 제1 모델의 은닉층의 가중치 값을 조정하지 않을 수 있다.
한편, 도 3을 참조하면, 제1 난수는 메모리(130)에 저장된다(S140). 즉, 제1 난수는 메모리(130)에 저장된 후, 다시 에이전트에 의해 새롭게 생성된 또 다른 난수와의 유사도 판단의 대상이 된다.
이와 같이, 강화학습 기반의 난수 생성 장치는, 난수를 누적하여 저장하고 관리함으로써, 제1 난수가 새롭게 생성될 때마다, 유사도를 판단하고, 궁극적으로 에이전트의 제1 난수 생성에 관한 Action을 강화한다.
이상에서 전술한 본 발명의 일 실시예에 따른 강화학습 기반의 난수 생성 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
[부호의 설명]
100 : 난수 생성 장치
110 : 에이전트
120 : 생성부
130 : 환경부
140 : 메모리
Claims (10)
- 컴퓨터에 의해 실현되는 방법으로서,에이전트부를 통해 딥러닝 기반의 제1 모델을 기초로, 제1 난수를 생성하는 단계;기 저장된 적어도 하나의 제2 난수 및 제1 난수 간의 각각의 유사도를 산출하는 단계;상기 각각의 유사도에 기초하여 상기 에이전트의 제1 난수의 생성 행위에 관한 강화학습을 수행하는 단계; 및제1 난수를 메모리에 저장하는 단계;를 포함하고,상기 강화학습을 수행하는 단계는,환경부를 통해 상기 에이전트부에 상기 각각의 유사도에 기초하여 보상 정보를 제공한 후에, 상기 에이전트부가 제1 난수를 기초로, 제1 모델을 학습하도록 제어하는,강화학습 기반의 동적 난수 생성 방법.
- 제1항에 있어서,상기 유사도를 산출하는 단계는,상기 적어도 하나의 제2 난수와 제1 난수를 딥러닝 기반의 제2 모델에 적용하여 산출하는,강화학습 기반의 동적 난수 생성 방법.
- 제5항에 있어서,제2 모델에 의해 산출되는 유사도는,상기 적어도 하나의 제2 난수 및 제1 난수 각각의 피처(Feature) 간의 거리를 기반으로 산출되는,강화학습 기반의 동적 난수 생성 방법.
- 제1항에 있어서,제1 난수는,적어도 하나의 제1 입력값이 제1 모델에 적용되어 생성되고,동일한 제1 입력값이 제1 모델에 적용되어도, 제1 모델의 학습 상태에 따라 상이한 난수로 생성 가능한,강화학습 기반의 동적 난수 생성 방법..
- 제1항에 있어서,상기 보상 정보는,상기 각각의 유사도 모두가 제1 임계도보다 작은 경우에 제공되는,강화학습 기반의 동적 난수 생성 방법.
- 제1항에 있어서,상기 기 저장된 적어도 하나의 제2 난수는,제1 난수의 생성에 이용된 입력값의 출처와 동일한 출처로부터 수집된 입력값을 기반으로 생성된 적어도 하나의 난수를 포함하는,강화학습 기반의 동적 난수 생성 방법.
- 딥러닝 기반의 제1 모델을 기초로, 제1 난수를 생성하는 에이전트부;기 저장된 적어도 하나의 제2 난수 및 제1 난수 간의 각각의 유사도를 산출하고, 상기 유사도에 기초하여 상기 에이전트에 보상을 제공하는 환경부; 및제1 난수를 저장하는 메모리;를 포함하고,상기 유사도에 상응하는 보상 정보를 제공한 후에, 상기 에이전트가 제1 난수를 기초로, 제1 모델을 학습하도록 제어하는 것을 특징으로 하는,강화학습 기반의 동적 난수 생성 장치.
- 제7항에 있어서,상기 환경부는,기 저장된 적어도 하나의 난수와 제1 난수를 딥러닝 기반의 제2 모델에 적용하여, 상기 적어도 하나의 제2 난수 및 제1 난수 각각의 피처(Feature) 간의 거리를 산출하고, 상기 산출된 거리에 기초하여 유사도를 산출하는,강화학습 기반의 동적 난수 생성 장치.
- 제8항에 있어서,상기 환경부는,상기 산출된 각각의 유사도 모두가 제1 임계도보다 작은 경우에 상기 에이전트부에 보상 정보를 제공하는 것을 특징으로 하는,강화학습 기반의 동적 난수 생성 장치
- 컴퓨터와 결합하여 제1항 내지 제6항 중 어느 한 항의 강화학습 기반의 동적 난수 생성 방법을 수행하기 위하여 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20931692.6A EP4040286A4 (en) | 2020-10-28 | 2020-10-29 | APPARATUS AND METHOD, BASED ON REINFORCEMENT LEARNING, FOR GENERATION OF RANDOM NUMBERS |
US17/351,940 US20220129248A1 (en) | 2020-10-28 | 2021-06-18 | Apparatus and method for generating random numbers based on reinforcement learning |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0141583 | 2020-10-28 | ||
KR1020200141583A KR102236640B1 (ko) | 2020-10-28 | 2020-10-28 | 강화학습 기반의 난수 생성 장치 및 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/351,940 Continuation US20220129248A1 (en) | 2020-10-28 | 2021-06-18 | Apparatus and method for generating random numbers based on reinforcement learning |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022092346A1 true WO2022092346A1 (ko) | 2022-05-05 |
Family
ID=75472766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/014859 WO2022092346A1 (ko) | 2020-10-28 | 2020-10-29 | 강화학습 기반의 난수 생성 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102236640B1 (ko) |
WO (1) | WO2022092346A1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5816299B2 (ja) * | 2011-12-01 | 2015-11-18 | 株式会社日立製作所 | 秘匿検索方法および秘匿検索装置 |
KR20190077067A (ko) * | 2016-11-04 | 2019-07-02 | 딥마인드 테크놀로지스 리미티드 | 강화 학습을 이용한 환경 네비게이션 |
KR20200093910A (ko) * | 2019-01-29 | 2020-08-06 | 삼성전자주식회사 | 원본 데이터와 연관된 데이터를 제공하기 위한 방법, 이를 위한 전자 장치 및 저장 매체 |
KR20200103494A (ko) * | 2019-02-25 | 2020-09-02 | 서강대학교산학협력단 | 학습 데이터에 대한 오버샘플링 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160107041A (ko) | 2015-03-03 | 2016-09-13 | 서울대학교산학협력단 | 난수 생성 방법 및 장치 |
-
2020
- 2020-10-28 KR KR1020200141583A patent/KR102236640B1/ko active IP Right Grant
- 2020-10-29 WO PCT/KR2020/014859 patent/WO2022092346A1/ko unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5816299B2 (ja) * | 2011-12-01 | 2015-11-18 | 株式会社日立製作所 | 秘匿検索方法および秘匿検索装置 |
KR20190077067A (ko) * | 2016-11-04 | 2019-07-02 | 딥마인드 테크놀로지스 리미티드 | 강화 학습을 이용한 환경 네비게이션 |
KR20200093910A (ko) * | 2019-01-29 | 2020-08-06 | 삼성전자주식회사 | 원본 데이터와 연관된 데이터를 제공하기 위한 방법, 이를 위한 전자 장치 및 저장 매체 |
KR20200103494A (ko) * | 2019-02-25 | 2020-09-02 | 서강대학교산학협력단 | 학습 데이터에 대한 오버샘플링 방법 |
Non-Patent Citations (1)
Title |
---|
LUCA PASQUALINI; MAURIZIO PARTON: "Pseudo Random Number Generation: a Reinforcement Learning approach", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 December 2019 (2019-12-15), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081566080 * |
Also Published As
Publication number | Publication date |
---|---|
KR102236640B1 (ko) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020111314A1 (ko) | 개념 그래프 기반 질의응답 장치 및 방법 | |
Kovalchuk et al. | Overview of ICmetrics Technology–Security Infrastructure for Autonomous and Intelligent Healthcare System | |
WO2018169115A1 (ko) | 학습을 지원하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
WO2021095987A1 (ko) | 다중타입 엔티티에 기반한 지식 보완 방법 및 장치 | |
WO2021112463A1 (ko) | 기업을 위한 정보 제공 장치 및 방법 | |
Yasaswi et al. | Plagiarism detection in programming assignments using deep features | |
WO2022163996A1 (ko) | 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법 | |
WO2022092346A1 (ko) | 강화학습 기반의 난수 생성 장치 및 방법 | |
WO2017200239A2 (ko) | 지문 정보를 포함하는 터치 입력에 기반한 사용자 인증 방법 및 장치 | |
WO2022114368A1 (ko) | 뉴로 심볼릭 기반 릴레이션 임베딩을 통한 지식완성 방법 및 장치 | |
Jinnuo et al. | Implementation of Artificial Intelligence Image Emotion Detection Mechanism Based on Python Architecture for Industry 4.0 | |
WO2023229345A1 (en) | System and method for detecting unhandled applications in contrastive siamese network training | |
AU2019339073B2 (en) | AI creation verification device | |
US20220129248A1 (en) | Apparatus and method for generating random numbers based on reinforcement learning | |
WO2022216142A1 (en) | Method and system for securing neural network models | |
WO2022139327A1 (en) | Method and apparatus for detecting unsupported utterances in natural language understanding | |
WO2024058380A1 (ko) | 지역 차분 프라이버시 기반 적대적 생성 네트워크를 활용한 합성 환자 데이터 생성 방법 및 장치 | |
CN115147660A (zh) | 基于增量学习的图像分类方法、装置、设备及存储介质 | |
WO2021091288A1 (ko) | 기계 학습 모델을 이용한 간세포암 예측 방법 및 시스템 | |
Chen et al. | SiameseCCR: a novel method for one‐shot and few‐shot Chinese CAPTCHA recognition using deep Siamese network | |
WO2022131464A1 (ko) | 생체인증 시스템의 관리 방법 및 이를 수행하기 위한 장치 | |
WO2022081553A1 (en) | Systems and methods for providing a systemic error in artificial intelligence algorithms | |
WO2023096034A1 (ko) | 약물 상호 작용을 예측하는 전자장치 및 그 제어방법 | |
WO2023224205A1 (ko) | 인공 신경망 모델 학습 결과 합성을 통한 공통 모델 생성 방법 | |
WO2023106498A1 (ko) | 다중 필터링을 이용한 개인정보 탐지 강화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2020931692 Country of ref document: EP Effective date: 20211025 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |