WO2019039758A1 - Method for generating and learning improved neural network - Google Patents

Method for generating and learning improved neural network Download PDF

Info

Publication number
WO2019039758A1
WO2019039758A1 PCT/KR2018/008621 KR2018008621W WO2019039758A1 WO 2019039758 A1 WO2019039758 A1 WO 2019039758A1 KR 2018008621 W KR2018008621 W KR 2018008621W WO 2019039758 A1 WO2019039758 A1 WO 2019039758A1
Authority
WO
WIPO (PCT)
Prior art keywords
input
layer
neural network
data
generating
Prior art date
Application number
PCT/KR2018/008621
Other languages
French (fr)
Korean (ko)
Inventor
김광민
Original Assignee
주식회사 수아랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 수아랩 filed Critical 주식회사 수아랩
Publication of WO2019039758A1 publication Critical patent/WO2019039758A1/en

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/04Architecture, e.g. interconnection topology
    • 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

Definitions

  • the present invention relates to a neural network, and more particularly, to a neural network in which learning efficiency is improved by processing two or more input data simultaneously.
  • Deep learning is an algorithm for extracting and utilizing features from learning data using deep neural networks (DNN).
  • DNN deep neural networks
  • Each layer of the neural network receives the information extracted from the lower layer and generates more abstract information using this information to transmit to the upper layer.
  • Multiple layers of neural networks can extract very high-level features through multiple abstractions. High-level features include more information than low-level features, but are also robust to variations, so high and stable performance can be achieved if recognition is performed using them.
  • CNN convolutional neural network
  • the origins of the convolution neural network are the Neocognitron, which Fukushima imitated in the 1980s. Then, in the 1990s, LeCun began to be widely used in real-world problems by successfully applying a gradient-based learning algorithm.
  • the excellent performance of convolutional neural networks has attracted the explosive interest of many researchers, and research is actively being conducted to further improve the convolution neural network or to apply it to new problems.
  • the present invention provides a method for generating an improved neural network that enhances learning efficiency by simultaneously processing two or more inputs.
  • the present invention also provides a method for simultaneously learning two or more kinds of inputs to learn a neural network efficiently.
  • a method of generating a neural network model implemented by a computing device comprises generating a first input layer to which a first input is applied, step; And generating a hidden layer to which an output of the first input layer is applied, wherein the hidden layer includes a second input layer to which a second input is applied;
  • the method of generating a neural network model including the neural network model may be provided.
  • a method for learning a neural network model implemented by a computing device comprises the steps of: (a) generating a training data set comprising a first input and a second input, receiving a training dataset; Applying the first input to a first input layer; And applying the second input to a second input layer, the second input layer being included in a hidden layer to which the output of the first input layer is applied; And a method for learning a neural network model.
  • a computing device comprising: at least one processor; And a memory for storing instructions executable on the one or more processors; The one or more processors generating a first input layer to which a first input is applied; And generating a hidden layer to which the output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied;
  • a computing device can be provided.
  • a computer program stored in a computer-readable storage medium including encoded instructions when executed by one or more processors of a computer system, Cause the processors to perform operations to create a neural network model, the operations comprising: generating a first input layer to which a first input is applied; And generating a hidden layer to which the output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied;
  • two or more types of inputs can be simultaneously processed to create an improved neural network with enhanced learning efficiency. Also, according to the present disclosure, two or more kinds of inputs can be simultaneously processed, and the neural network can be efficiently learned.
  • 1 is a view for explaining the object of the present invention.
  • FIG. 2 shows a structure of a neural network model according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a method of generating a neural network model according to an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining a method for learning a neural network model according to an embodiment of the present invention.
  • FIG. 5 illustrates an exemplary block diagram of a neural network module in accordance with an embodiment of the present invention.
  • FIG. 6 shows a block diagram of an exemplary computing device for implementing a method for generating a neural network model and a method for learning a neural network, in accordance with an embodiment of the present invention.
  • the terms " an embodiment, “ “ an embodiment, “ “ an embodiment, “ “ an embodiment, etc. are intended to indicate that any aspect or design described is better or worse than other aspects or designs.
  • the terms 'component,' 'module,' 'system,' 'interface,' and the like generally refer to a computer-related entity and include, for example, hardware, And software.
  • 1 is a view for explaining the object of the present invention.
  • a neural network may be a recognition model that mimics the computational capabilities of a biological system using a large number of artificial neurons connected by a link.
  • the neural network may be implemented in software, hardware, or a combination thereof.
  • a neural network may be referred to as an artificial neural network.
  • Neural networks can utilize artificial neurons that simplify the function of biological neurons.
  • An artificial neuron can be referred to as a node.
  • Artificial neurons can be interconnected via a connection line with connection weights.
  • a connection weight is a specific value of a connection line and may be referred to as a synapse weight or connection strength.
  • Neuronal networks can perform human cognitive or learning processes through artificial neurons.
  • the neural network can be utilized in the field of determining input data by using a computer.
  • a neural network is used to identify an object existing in a video image, to determine the position of an object, to detect and identify a lesion in a medical image, to understand contents of a voice using voice data, And extracting information for extracting information from the contents of the document.
  • the present invention is not limited to this, and the neural network can be utilized in various fields.
  • the structure of the neural network can be generally determined in advance, and the connection weight according to the connection between the nodes can be calculated to an appropriate value by using data already known to be correct to which class belongs. Data that are known to be correct in this way may be referred to as 'training data', and the process of determining the connection weights may be referred to as 'training'.
  • the neural network for which the connection weight is determined may predict which class the input data belongs to and output the predicted value, which may be referred to as a " test " process.
  • a &quot test &quot
  • process test &quot
  • the above-described processes can be referred to as various terms.
  • the neural network may be useful for the neural network to learn additional data of a different type from the learning data. More specifically, the neural network can learn additional features that are difficult to learn using only one type of learning data, using additional data. For example, it may be useful for a neural network to learn discrete data associated with learning data. Here, the discrete data may include data useful for identifying abnormal data among the learning data.
  • the neural network when the neural network is used to check whether defects have occurred in the steel in the steel manufacturing process, the neural network can learn a plurality of steel images 100 that are determined to be defective as learning data .
  • the steel image 100 may be divided into a plurality of image patches 110 and used for learning to reduce the amount of calculation required for learning.
  • the steel image 100 may be divided into a plurality of image patches 110 having a pixel size of 20x20 and used for learning.
  • the plurality of image patches 110 may have respective coordinate values.
  • defects of steel may exist in an image patch whose coordinate values are (7, 4), (7, 5).
  • the coordinate value of the image patch 110 may be provided as learning data so that it can learn which coordinate value the image patch (i.e., abnormal data) has. This can increase the learning efficiency of the neural network.
  • the neural network model of the present invention may include a first input layer 220 to which a first input is applied and a second input layer 270 to which a second input is applied.
  • the first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
  • the second input 210 applied to the second input layer 270 may include a different type of data than the first input 200.
  • the second input may include data capable of learning characteristics that are difficult to learn with only the first input 200.
  • the second input may be applied with discrete data related to the first input.
  • the coordinate value of the image patch 110 may be applied.
  • the technical features of the present invention can be used to improve learning efficiency by providing more data to the neural network.
  • the neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, so that efficient learning is possible.
  • FIG. 2 shows a structure of a neural network model according to an embodiment of the present invention.
  • the neural network model may comprise a plurality of layers.
  • the neural network model may include a first input layer 220, a hidden layer 230, and an output layer (not shown).
  • the first input layer 220 may receive a first input for performing learning and transmit the first input to the hidden layer 230.
  • the output layer may transmit the first input to the hidden layer 230 based on data received from the hidden layer 230, The output of the model can be generated.
  • the hidden layer 230 is located between the first input layer 220 and the output layer and can change learning data transmitted through the first input layer 220 to a value that is easy to predict.
  • the layers included in the first input layer 220, the hidden layer 230, and the output layer may include a plurality of nodes.
  • a node included in the first input layer 220 is referred to as a first input node
  • a node included in the hidden layer 230 is referred to as a hidden node
  • a node may be referred to as an output node.
  • the first input nodes included in the first input layer 220 and the hidden nodes included in the hidden layer 230 may be connected to each other through connection links having connection weights.
  • the hidden nodes included in the hidden layer 230 and the output nodes included in the output layer may be connected to each other through connection lines having connection weights.
  • the hidden layer 230 may include a plurality of layers.
  • a neural network in which the hidden layer 230 includes a plurality of layers may be referred to as a deep neural network. Learning a deep neural network can be referred to as deep learning.
  • the hidden layer 230 may include a plurality of convolution layers 240, a pooling layer 250, and a fully connected layer 260 and 270.
  • Convolution layer 240 may refer to a layer having a structure in which neighboring nodes in the previous layer are connected to nodes in the next layer.
  • the pooling layer 250 may refer to a layer having a structure capable of selecting and integrating a part at a node of a previous layer.
  • the pulley connected layers 260 and 280 may refer to a layer having a structure in which the nodes included in the layer are connected to all nodes included in the previous layer.
  • the above-mentioned layers are exemplary, and some of the layers may be changed or omitted, and additional layers may be included in the hidden layer 230.
  • some layers included in the hidden layer 230 may be included in the first input layer 220 or the output layer as the case may be.
  • the hidden layer 230 may include a second input layer 270.
  • the second input layer 270 may be disposed in parallel with any one of the pulley connected layers included in the hidden layer 230. Also, the second input layer 270 may be applied with the second input 210, and may transmit the output to the upper layer.
  • the neural network model of the present invention may include a first input layer 220, which is a first input, and a second input layer 270, to which a second input is applied.
  • the first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
  • the second input 210 applied to the second input layer 270 may include a different type of data than the first input 200. More specifically, the second input may include data that can learn features that are difficult to learn with only the first input 200. For example, the second input may include data that is applied to discrete data associated with the first input . In one embodiment, when a plurality of image patches 110 are applied to the first input layer 220 as a first input 200, 2 input 210, the coordinate value of the image patch 110 may be applied.
  • the technical features of the present invention can be used to improve learning efficiency by providing more data to the neural network.
  • the neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, so that efficient learning is possible.
  • FIG. 3 is a diagram for explaining a method of generating a neural network model according to an embodiment of the present invention.
  • the neural network model may include a first input layer 220, a hidden layer 230, and an output layer.
  • the above-mentioned layers are exemplary, and some of the layers may be changed or omitted, and additional layers may be included in the neural network model.
  • the layers may refer to multiple layers.
  • the neural network model may be a convolution neural network.
  • a convolutional neural network is a feedforward artificial neural network (a network in which data is handed over from the lower layer to the upper layer) tied in a manner that responds to overlapping regions of individual neurons, Lt; / RTI >
  • a method of generating a neural network model may include generating (300) a first input layer 220 to which a first input 200 is applied.
  • the first input layer 220 may be generated as the lowest layer of the neural network model.
  • the first input layer 220 may receive the first input 200.
  • the first input layer 220 may communicate the received first input 200 to the hidden layer 230 for use in learning and testing.
  • the first input 200 may be transformed to be processed in the hidden layer 230 in the first input layer 220.
  • the first input 200 may also be preprocessed to improve learning efficiency.
  • the first input 200 may be preprocessed such that the noise component is removed or upscaled.
  • the present invention is not limited to this, and the first input layer 220 may be formed as a lower layer or a higher layer of the neural network model, and may perform various operations.
  • the first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
  • a method of generating a neural network model may include generating 310 a hidden layer 230 to which the output of the first input layer 220 is applied.
  • the hidden layer 230 may include a second input layer 270 to which a second input 210 is applied.
  • the hidden layer 230 may include a plurality of layers.
  • the hidden layer 230 may include at least one convolution layer 240, at least one pulling layer 250, at least one pulley connected layer 260, 280, and a second input layer 270 .
  • the plurality of layers included in the hidden layer 230 may be arranged in series or in parallel with each other.
  • the present invention is not limited thereto, and the hidden layer 230 may include various layers.
  • the hidden layer 230 may receive the output of the first input layer 220 and extract and classify the features. More specifically, the convolution layer 240 can extract features from the hidden layer 230 by abstracting the input data. For example, the convolution layer 240 may apply a filter to a certain area of data (e.g., 5x5 or 3x3) to extract features. These filters can be changed according to learning.
  • the pulling layer 250 may perform a sub-sampling process. The sub-sampling process can take a maximum value or take an average value for the input data.
  • the neural network model may obtain a global feature while passing the first input 200 through the multiple layers of convolution layer 240 and pooling layer 250. However, the present invention is not limited to this, and the hidden layer can perform various operations.
  • the pulley connected layers 260 and 280 are generally positioned above the convolution layer 240 and the pulling layer 250 and perform operations of sorting using extracted features while passing through the convolution layer and the pooling layer .
  • the pulley connected layers 260 and 280 may be formed in multiple layers.
  • the pulley connected layers 260 and 280 may be formed in two layers as shown in FIG.
  • the present invention is not limited to this, and the pulley-connected layers 260 and 280 may be formed in three or more layers.
  • the second input layer 270 may receive the second input 210.
  • the second input layer 270 may be used to classify the received second input 210 with the extracted features as the first input 200 passes through the convolution layer 240 and the pulling layer 250 can do.
  • the second input layer 270 may be created above the convolution layer 240 and the pooling layer 250.
  • the second input layer 270 may be formed at various positions on the hidden layer 230.
  • the second input layer may receive the second input directly.
  • the second input layer can receive the second input directly without going through another layer.
  • the present invention is not limited to this, and the second input layer can receive the second input through another layer.
  • the second input layer may receive its output as an input after the second input is applied to another layer.
  • the node to which the second input is applied can be connected to only a small number of nodes included in the upper layer.
  • a node to which a second input is applied may be connected to only one node included in the upper layer.
  • the present invention is not limited to this, and a node to which a second input is applied may be connected to two or more nodes included in an upper layer.
  • the node through which the second input is passed may not be connected to the node used to extract the characteristics of the first input. Therefore, the second input may be rarely used in the process of extracting the characteristic of the first input, or may be used only in a part of the process.
  • the second input layer 270 may be disposed in parallel with the first pulley-connected layer 260 included in the pulley-connected layers 260 and 280.
  • the neural network may make the second input applied to the second input layer 270 available for classification operations.
  • the second input layer 270 may include a convolution layer 240 and an upper layer of the pulling layer 250 such that the second input 210 is not used in the process of extracting the characteristics of the first input 200.
  • the pulley connected layers 260 and 280 are generally positioned above the convolution layer 240 and the pulling layer 250 to perform the task of classifying extracted features.
  • the second input layer 270 may be disposed in parallel with the first pulley connected layer 260 to allow the second input 210 to be used to perform the classification operation.
  • the second input layer may be disposed in parallel with any of the convolution layer 240 and the pulling layer 250 and the second input 210 may have a characteristic of the first input 200 Can be used in the extraction process.
  • the first pulley connected layer 260 may be the lowest layer among the pulley connected layers 260 and 280.
  • the second input 210 is applied after the feature of the first input 200 is extracted rather than in the process of extracting the feature of the first input 200.
  • the pulley connected layers 260 and 280 may be formed in multiple layers for efficient classification generally. Accordingly, the second input layer 270 is arranged in parallel to the lowermost layer among the plurality of pulley-connected layers, and is used for starting the operation of classifying the second input 210 using the extracted feature .
  • the present invention is not limited thereto. In some cases, the second input layer 270 may be disposed in a lower layer or a higher layer among the pulley-connected layers in parallel.
  • the second input layer 270 and the first pulley connected layer may be connected to the second pulley connected layer.
  • the second pulley connected layer may be a layer located on top of the second input layer 270 and the first pulley connected layer.
  • the second input 210 may be applied to multiple layers of pulley-connected layers with features extracted from the lower layer and used for classification operations.
  • the second input layer 270 and the first pulley connected layer can be coupled to deliver the extracted features of the first input 200 and the second input 210 to the second pulley connected layer.
  • the second pulley connected layer can then process the received data and pass it back to the multi-layer pulley connected or output layer.
  • the second input layer 270 and the first pulley connected layer 260 may be connected to various kinds of layers.
  • the second input layer 270 and the first pulley connected layer may be coupled to a 1x1 convolution layer.
  • the 1x1 convolution layer can perform the task of classifying extracted features, such as pulley connected layers 260 and 280, but is not limited thereto.
  • the first input 200 and the second input 210 may comprise different types of data.
  • the first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network.
  • the first input 200 may include image data, sound data, image data, character data, and the like.
  • the present invention is not limited to this, and the first input may include various data.
  • the second input 210 applied to the second input layer 270 may include a different kind of data than the first input 200.
  • the second input may include data capable of learning characteristics that are difficult to learn with only the first input 200.
  • the second input may be applied with discrete data related to the first input.
  • the coordinate value of the image patch 110 may be applied.
  • the second input 210 may include discrete data related to the first input 200. More specifically, the discrete data associated with the first input 200 can be used to learn characteristics that are difficult to learn with only the first input. In one embodiment, the discrete data may include data useful for identifying normal and abnormal data in the training data applied to the first input 200. [ Specifically, in the case where the first input 200 is a plurality of image patches 110 in which the steel image 100 is divided, the discrete data related to the first input 200 may include defects (I.e., normal data), and data related to a cause of occurrence of abnormal data that can be used to identify an image patch in which a defect exists (i.e., abnormal data).
  • defects I.e., normal data
  • data related to a cause of occurrence of abnormal data that can be used to identify an image patch in which a defect exists
  • discrete data may include coordinate values of image patches or the like that can be used to identify locations where defects predominantly occur in steel, or steel images that may be used to identify defects in certain processes May include data such as the time, place, process information, etc. at which the apparatus 100 is photographed, and may include data such as temperature, humidity, manufacturing apparatus, etc., which can be used to identify defects in any manufacturing environment.
  • the discrete data may include data indicative of the characteristics of the training data applied to the first input 200. More specifically, when the first input 200 is speech data, the discrete data related to the first input 200 may include the sex, age, key (s) of the speaker that can be used to learn the characteristics of the speech data according to the speaker , Weight, and the like, and may include a recording location, a recording time, a recording device, etc., which can be used to learn characteristics of voice data according to the surrounding environment.
  • the discrete data associated with the first input 200 may include various data.
  • the second input 210 which includes discrete data related to the first input 200, can be usefully used to learn the first input 200.
  • the second input may be used as additional information to learn the first input 200 and may be used to learn additional features of the first input 200 associated with the second input.
  • the first input 200 is the partitioned image patch 110 of the steel image 100 and the second input 210 is the coordinate value of the image patch 110
  • the position where the defects mainly occur in the steel image 100 can be learned by using the coordinate values of the defects 110.
  • the neural network model can learn the characteristics of speech data according to the speaker's gender and age.
  • the neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, thereby enabling efficient learning.
  • FIG. 4 is a diagram for explaining a method for learning a neural network model according to an embodiment of the present invention.
  • a method for learning a neural network model includes receiving (400) a learning data set that includes a first input (200) and a second input (210), a first input layer (410) applying a first input (200) to the second input layer (270) and applying (420) a second input to a second input layer (270).
  • the second input layer 270 may be included in the hidden layer 230 to which the output of the first input layer 220 is applied.
  • the neural network model of the present invention can be learned by various methods.
  • neural network models can be learned through supervised learning.
  • the supervised learning is a technique of inputting the learning data and the corresponding output data together into the convolutional neural network and updating the weight so that the output data corresponding to the learning data is output.
  • the neural network model of the present invention can update connection weights through back-propagation learning.
  • the error-domain propagation learning estimates an error through forward computation on a given learning data, and then estimates an error in a reverse direction starting from the output layer and toward the first input layer 220 and the second input layer 270 It can be a way to update the connection weights in the direction of reducing the error while propagating one error.
  • the present invention is not limited to this, and the neural network can be learned through Unsupervised Learning or Reinforcement Learning, or may be learned by other learning methods.
  • the learning data set of the present invention may include a first input 200 and a second input 210.
  • the first input 200 can be applied to the first input layer 220 and the second input 210 can be applied to the second input layer 270 included in the hidden layer 230 .
  • the second input layer 270 may be disposed in parallel with the first pulley connected layer included in the pulley connected layer.
  • the first pulley-connected layer may be the lowest layer among the pulley-connected layers.
  • the second input layer 270 and the first pulley connected layer may be connected to a second pulley connected layer, wherein the second pulley connected layer includes a second input layer 270 and the first pulley connected layer
  • the layer may be a layer located at the top of the layer.
  • the first input 200 may include general types of data used as learning data of a neural network.
  • the first input 200 may include image data, sound data, image data, character data, and the like.
  • the first input 200 may include various types of data that can be used for learning of the neural network model.
  • the second input may include a different type of data than the first input 200 applied to the first input layer 220.
  • the second input 210 may include other types of data such as sound data, image data, character data, and the like.
  • the second input 210 may include data of the same kind as that of the first input 200, and may also include various other types of data.
  • the second input 210 may include discrete data related to the first input 200.
  • the discrete data associated with the first input 200 may be data including information regarding the first input 200.
  • the discrete data associated with the first input 200 is the coordinate value of the image patch, The time, place and temperature at which the camera 100 is photographed, process information, and the like.
  • the discrete data associated with the first input 200 may be the gender, age, recording location, recording time, recording device, etc. of the speaker.
  • the second input 210 which includes discrete data related to the first input 200, can be usefully used to learn and test the first input 200.
  • the first input 200 is the partitioned image patch 110 of the steel image 100 and the second input 210 is the coordinate value of the image patch 110
  • the position where the defects mainly occur in the steel image 100 can be learned by using the coordinate values of the defects 110.
  • the neural network model can learn the characteristics of speech data according to the speaker's gender and age.
  • the neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, thereby enabling efficient learning.
  • FIG. 5 shows an exemplary block diagram of a neural network module in accordance with an embodiment of the present invention.
  • the neural network module 600 may include a neural network generator 610 and a neural network learner 620.
  • the neural network generating unit 610 may include a first input layer generating unit 611 and a hidden layer generating unit 612.
  • the hidden layer generating unit 612 may include a second input layer generating unit 613.
  • the components of neural network module 600 shown in FIG. 5 are exemplary, some of which may be omitted, or additional components may be present.
  • the first input layer generator 611 may generate the first input layer 220 to which the first input 200 is applied.
  • the hidden layer generating unit 612 may generate the hidden layer 230 by generating the convolution layer 240, the pulling layer 250, the pulley connected layers 260 and 280, and other layers.
  • the second input layer generating unit 613 may generate the second input layer 270.
  • the neural network learning unit 620 may receive a learning data set that includes a first input 200 and a second input 210. [ The neural network learning unit 620 applies a first input 200 to the first input layer 220 and a second input 210 to the second input layer 270 in order to learn a neural network model. can do.
  • FIG. 6 shows a block diagram of an exemplary computing device for implementing a method for generating a neural network model and a method for learning a neural network, in accordance with an embodiment of the present invention.
  • program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. It will also be appreciated by those skilled in the art that the methods of the present invention may be practiced with other computer systems, such as single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, And may operate in conjunction with one or more associated devices).
  • the described embodiments of the invention may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices connected through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • Computers typically include a variety of computer readable media. Any medium accessible by a computer may be a computer-readable medium, which may include volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media, Removable media.
  • computer readable media can comprise computer readable storage media and computer readable transmission media.
  • Computer-readable storage media includes both volatile and nonvolatile media, both temporary and non-volatile media, both removable and non-removable, implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data Media.
  • the computer-readable storage medium may be any form of storage device such as RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, Apparatus, or any other medium that can be used to store the desired information that can be accessed by a computer.
  • Computer readable transmission media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, It includes all information delivery media.
  • modulated data signal refers to a signal that has one or more of its characteristics set or changed to encode information in the signal.
  • the transmit and receive (communication) media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above described media are also intended to be included within the scope of computer readable transmission media.
  • Apparatus 702 includes a processing unit 704, a system memory 706, and a system bus 708.
  • the system bus 708 couples system components, including but not limited to, system memory 706 to the processing unit 704.
  • the processing unit 704 may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be used as the processing unit 704.
  • the system bus 708 may be any of several types of bus structures that may additionally be interconnected to a local bus using any of the memory bus, peripheral bus, and various commercial bus architectures.
  • the system memory 706 includes a read only memory (ROM) 710 and a random access memory (RAM) 712.
  • the basic input / output system (BIOS) is stored in a non-volatile memory 710, such as a ROM, EPROM, or EEPROM, which can be used to assist in transferring information between components within the computing device 702, It contains basic routines.
  • the RAM 712 may also include a high speed RAM such as static RAM for caching data.
  • the computing device 702 may also be configured for external use within an appropriate chassis (not shown), such as an internal hard disk drive (HDD) 714 (e.g., EIDE, SATA) (E.g., read from or write to a removable diskette 718), and an optical disk drive 720 (e.g., a CD-ROM For reading disc 722 or reading from or writing to other high capacity optical media such as DVD).
  • HDD hard disk drive
  • SATA Serial Advanced Technology Attachment
  • optical disk drive 720 e.g., a CD-ROM For reading disc 722 or reading from or writing to other high capacity optical media such as DVD.
  • the hard disk drive 714, magnetic disk drive 716 and optical disk drive 720 are connected to the system bus 708 by a hard disk drive interface 724, a magnetic disk drive interface 726 and an optical drive interface 728, respectively.
  • the interface 724 for external drive implementation includes at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.
  • drives and their associated computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and the like.
  • the drives and media correspond to storing any data in a suitable digital format.
  • a removable optical medium such as a HDD, a removable magnetic disk, and a CD or a DVD
  • a zip drive, magnetic cassette, flash memory card, Or the like may also be used in the exemplary operating environment and any such medium may include computer-executable instructions for carrying out the methods of the present invention.
  • a number of program modules including an operating system 730, one or more application programs 732, other program modules 734, and program data 736, may be stored in the drive 732 and the RAM 712.
  • the program module 734 may include a neural network module (not shown) for generating, learning, and testing a neural network model. All or a portion of the operating system, applications, modules, and / or data may also be cached in RAM 712. It will be appreciated that the present invention may be implemented in a variety of commercially available operating systems or combinations of operating systems.
  • a user may enter commands and information into computing device 702 via one or more wired / wireless input devices, e.g., a pointing device such as keyboard 738 and mouse 740.
  • a pointing device such as keyboard 738 and mouse 740.
  • Other input devices may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, etc.
  • input device interface 742 that is coupled to the system bus 708, but may be a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, ≪ / RTI > and so forth.
  • a monitor 744 or other type of display device is also connected to the system bus 708 via an interface, such as a video adapter 746.
  • the computer typically includes other peripheral output devices (not shown) such as speakers, printers,
  • Computing device 702 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer (s) 748 via wired and / or wireless communication.
  • the remote computer (s) 748 may be a workstation, a server computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device or other conventional network node, But for the sake of simplicity, only memory storage device 750 is shown.
  • the logical connections depicted include a wired / wireless connection to a local area network (LAN) 752 and / or a larger network, e.g., a wide area network (WAN)
  • LAN local area network
  • WAN wide area network
  • the computing device 702 When used in a LAN networking environment, the computing device 702 is connected to the local network 752 via a wired and / or wireless communication network interface or adapter 756.
  • the adapter 756 may facilitate wired or wireless communication to the LAN 752 and the LAN 752 also includes a wireless access point installed therein to communicate with the wireless adapter 756.
  • the computing device 702 When used in a WAN networking environment, the computing device 702 may include a modem 758, or may be connected to a communications server on the WAN 754, or to establish communications over the WAN 754, And other means.
  • a modem 758 which may be an internal or external and a wired or wireless device, is connected to the system bus 708 via a serial port interface 742.
  • program modules depicted relative to computing device 702, or portions thereof, may be stored in remote memory / storage device 750. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between the computers may be used.
  • the computing device 702 may be any wireless device or entity that is deployed and operated in wireless communication, such as a printer, a scanner, a desktop and / or portable computer, a portable data assistant (PDA) To any associated equipment or location, and to communication with the phone.
  • PDA portable data assistant
  • the communication may be a predefined structure, such as in a conventional network, or simply an ad hoc communication between at least two devices.
  • Wi-Fi Wireless Fidelity
  • Wi-Fi is a wireless technology such as a cell phone that allows such devices, e.g., computers, to transmit and receive data indoors and outdoors, i. E. Anywhere within the coverage area of a base station.
  • Wi-Fi networks use a wireless technology called IEEE 802.6 (a, b, g, etc.) to provide a secure, reliable and high-speed wireless connection.
  • Wi-Fi can be used to connect computers to each other, the Internet, and a wired network (using IEEE 802.3 or Ethernet).
  • the Wi-Fi network can operate in unlicensed 2.4 and 5 GHz wireless bands, for example, at 6 Mbps (802.6a) or 54 Mbps (802.6b) data rates, or in products containing both bands have.
  • the various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques.
  • article of manufacture includes a computer program, carrier, or media accessible from any computer-readable device.
  • the computer-readable medium can be a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic strip, etc.), an optical disk (e.g., CD, DVD, etc.), a smart card, But are not limited to, devices (e. G., EEPROM, cards, sticks, key drives, etc.).
  • machine-readable medium includes, but is not limited to, various other mediums capable of storing and / or retaining instruction (s) and / or data.
  • the present invention can be used for learning of a neural network utilized in a field for discriminating input data using a computing device.

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)
  • Image Analysis (AREA)

Abstract

According to one exemplary embodiment of the present disclosure, a method for generating a neural network model implemented by a computing device may be provided, the method comprising the steps of: generating a first input layer to which a first input is applied; and generating a hidden layer to which an output of the first input layer is applied, wherein the hidden layer includes a second input layer to which a second input is applied. According to one exemplary embodiment of the present disclosure, a method for learning a neural network model implemented by a computing device may be provided, the method comprising the steps of: receiving a training dataset including a first input and a second input; applying the first input to a first input layer; and applying the second input to a second input layer, wherein the second input layer is included in a hidden layer to which an output of the first input layer is applied.

Description

개선된 뉴럴 네트워크를 생성하고 학습시키기 위한 방법A method for creating and learning an improved neural network
본 발명은 뉴럴 네트워크(neural network)에 관한 것으로, 구체적으로 동시에 2종류 이상의 입력 데이터를 처리하여 학습 효율을 높힌 뉴럴 네트워크에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a neural network, and more particularly, to a neural network in which learning efficiency is improved by processing two or more input data simultaneously.
수 년 전부터 전 세계적으로 주목받아 온 딥러닝은 이제 인공지능 및 머신러닝 분야에서 가장 중요한 방법론이 되었다. 딥러닝은 딥 뉴럴 네트워크(DNN, deep neural networks)를 이용해 학습 데이터로부터 특징(feature)을 추출하고 활용하기 위한 알고리즘이다. 뉴럴 네트워크의 각 레이어는 하위 레이어에서 추출한 정보를 전달받은 후 이를 이용해 좀 더 추상화된 정보를 생성해 상위 레이어 전달한다. 여러 계층으로 구성된 뉴럴 네트워크는 여러 번의 추상화를 통해 매우 높은 수준의 특징을 추출할 수 있다. 고수준의 특징은 저수준의 특징보다 많은 정보를 포함하면서도 변이에도 강하기 때문에, 이를 이용해 인식을 수행할 경우 높고 안정적인 성능을 얻을 수 있다.Deep running, which has been attracting worldwide attention for many years now, has become the most important methodology in artificial intelligence and machine learning. Deep learning is an algorithm for extracting and utilizing features from learning data using deep neural networks (DNN). Each layer of the neural network receives the information extracted from the lower layer and generates more abstract information using this information to transmit to the upper layer. Multiple layers of neural networks can extract very high-level features through multiple abstractions. High-level features include more information than low-level features, but are also robust to variations, so high and stable performance can be achieved if recognition is performed using them.
과거에는 방향성 소실 문제(Diminishing gradient problem) 등 이론적 문제와 학습 데이터 수집의 어려움, 계산 성능의 한계 등 여러 문제로 인해 딥 뉴럴 네트워크를 사용하는데 어려움이 있었다. 그러나, 새로운 학습 알고리즘이 개발되고 대용량 데이터 처리를 위한 기술이 발전함에 따라 이론적, 현실적 문제들이 극복되기 시작하면서 딥러닝은 다양한 분야에서 뛰어난 성능을 보이고 있다.In the past, it was difficult to use deep neural networks due to various problems such as theoretical problems such as diminishing gradient problem, difficulty in collecting learning data, and limitation of computational performance. However, as new learning algorithms have been developed and techniques for processing large amounts of data have been developed, the theoretical and practical problems have been overcome, and deep running has shown excellent performance in various fields.
특히, 컨볼루션 뉴럴 네트워크(CNN, convolutional neural network)는 여러 이미지 인식 컨테스트에서 다른 방법론들을 압도하는 성능을 보이며 시각 인식 분야에서 가장 중요한 방법론이 되었다. In particular, the convolutional neural network (CNN) has become the most important methodology in the field of visual perception, demonstrating the ability to overcome other methodologies in various image recognition contests.
컨볼루션 뉴럴 네트워크의 기원은 1980년대 Fukushima가 동물의 시각 처리과정을 모방해 만든 Neocognitron이다. 그후, 1990년대에 LeCun이 기울기 기반 학습 알고리즘(gradient-based learning algorithm)을 성공적으로 적용함으로써 현실적인 문제에 널리 사용되기 시작했다. 컨볼루션 뉴럴 네트워크의 탁월한 성능은 많은 연구자들의 폭발적인 관심을 끌었고, 따라서 컨볼루션 뉴럴 네트워크를 더 개선하거나 새로운 문제에 적용하기 위한 연구가 활발히 진행되고 있다.The origins of the convolution neural network are the Neocognitron, which Fukushima imitated in the 1980s. Then, in the 1990s, LeCun began to be widely used in real-world problems by successfully applying a gradient-based learning algorithm. The excellent performance of convolutional neural networks has attracted the explosive interest of many researchers, and research is actively being conducted to further improve the convolution neural network or to apply it to new problems.
학습에 관하여, 사람은 소수의 예제만 보아도 순간적으로 학습할 수 있는데 반해, 컨볼루션 뉴럴 네트워크는 학습을 위해 많은 양의 학습 데이터와 계산량을 요구한다. 이를 극복하기 위해서는 현재보다 좀 더 효율적인 네트워크 구조 및 학습 알고리즘이 요구된다.Concerning learning, a convoluted neural network requires a large amount of learning data and computational complexity for learning, while humans can learn instantaneously even with only a few examples. To overcome this, a more efficient network structure and learning algorithm are required than nowadays.
본 발명은 두 종류 이상의 입력을 동시에 처리하여 학습 효율을 높힌 개선된 뉴럴 네트워크를 생성하는 방법을 제공하기 위함이다. 또한 본 발명은 두 종류 이상의 입력을 동시에 처리하여 효율적으로 뉴럴 네트워크를 학습시키기 위한 방법을 제공하기 위함이다.The present invention provides a method for generating an improved neural network that enhances learning efficiency by simultaneously processing two or more inputs. The present invention also provides a method for simultaneously learning two or more kinds of inputs to learn a neural network efficiently.
본 개시 내용의 예시적인 일 실시예에 따라, 컴퓨팅 장치에 의해 구현되는 뉴럴 네트워크 모델을 생성하는 방법에 있어서, 제 1 입력(First Input)이 인가되는 제 1 입력 레이어(First Input Layer)를 생성하는 단계; 및 상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어(Hidden Layer)를 생성하는 단계-상기 히든 레이어는 제 2 입력(Second Input)이 인가되는 제 2 입력 레이어(Second Input Layer)를 포함함-; 를 포함하는 뉴럴 네트워크 모델을 생성하는 방법을 제공할 수 있다.According to an exemplary embodiment of the present disclosure, a method of generating a neural network model implemented by a computing device comprises generating a first input layer to which a first input is applied, step; And generating a hidden layer to which an output of the first input layer is applied, wherein the hidden layer includes a second input layer to which a second input is applied; The method of generating a neural network model including the neural network model may be provided.
본 개시 내용의 예시적인 일 실시예에 따라, 컴퓨팅 장치에 의해 구현되는 뉴럴 네트워크(neural network) 모델을 학습시키기 위한 방법에 있어서, 제 1 입력 및 제 2 입력(210)을 포함하는 학습 데이터 셋(training dataset)을 수신하는 단계; 제 1 입력 레이어에 상기 제 1 입력을 인가하는 단계; 및 제 2 입력 레이어에 상기 제 2 입력을 인가하는 단계-상기 제 2 입력 레이어는 상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어에 포함됨-; 을 포함하는, 뉴럴 네트워크 모델을 학습시키기 위한 방법을 제공할 수 있다.In accordance with an exemplary embodiment of the present disclosure, a method for learning a neural network model implemented by a computing device comprises the steps of: (a) generating a training data set comprising a first input and a second input, receiving a training dataset; Applying the first input to a first input layer; And applying the second input to a second input layer, the second input layer being included in a hidden layer to which the output of the first input layer is applied; And a method for learning a neural network model.
본 개시 내용의 예시적인 다른 실시예에 따라, 컴퓨팅 장치로서, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에서 실행가능한 명령들을 저장하는 메모리; 를 포함하고, 상기 하나 이상의 프로세서는, 제 1 입력(First Input)이 인가되는 제 1 입력 레이어(First Input Layer)를 생성하고; 그리고 상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어(Hidden Layer)를 생성하는-상기 히든 레이어는 제 2 입력(Second Input)이 인가되는 제 2 입력 레이어(Second Input Layer)를 포함함-; 컴퓨팅 장치를 제공할 수 있다.According to another exemplary embodiment of the present disclosure, there is provided a computing device comprising: at least one processor; And a memory for storing instructions executable on the one or more processors; The one or more processors generating a first input layer to which a first input is applied; And generating a hidden layer to which the output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied; A computing device can be provided.
본 개시 내용의 예시적인 다른 실시예에 따라, 인코딩된 명령들을 포함하는 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터 시스템의 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 하나 이상의 프로세서들로 하여금 뉴럴 네트워크 모델을 생성하기위한 동작들을 실행하도록 하며, 상기 동작들은: 제 1 입력이 인가되는 제 1 입력 레이어를 생성하는 동작; 및 상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어를 생성하는 동작-상기 히든 레이어는 제 2 입력이 인가되는 제 2 입력 레이어를 포함함-; 을 포함하는 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다A computer program stored in a computer-readable storage medium including encoded instructions, in accordance with another exemplary embodiment of the present disclosure, when executed by one or more processors of a computer system, Cause the processors to perform operations to create a neural network model, the operations comprising: generating a first input layer to which a first input is applied; And generating a hidden layer to which the output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied; A computer program stored on a computer-readable storage medium
본 개시된 내용에 의해 두 종류 이상의 입력을 동시에 처리하여 학습 효율을 높힌 개선된 뉴럴 네트워크를 생성할 수 있다. 또한 본 개시된 내용에 의해 두 종류 이상의 입력을 동시에 처리하여 효율적으로 뉴럴 네트워크를 학습시킬 수 있다.By this disclosure, two or more types of inputs can be simultaneously processed to create an improved neural network with enhanced learning efficiency. Also, according to the present disclosure, two or more kinds of inputs can be simultaneously processed, and the neural network can be efficiently learned.
도 1은 본 발명의 목적을 설명하기 위한 도면이다.1 is a view for explaining the object of the present invention.
도 2는 본 발명의 일 실시예에 따른 뉴럴 네트워크 모델의 구조를 도시한다.2 shows a structure of a neural network model according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 뉴럴 네트워크 모델을 생성하는 방법을 설명하기 위한 도면이다. 3 is a diagram for explaining a method of generating a neural network model according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 뉴럴 네트워크 모델을 학습시키기 위한 방법을 설명하기 위한 도면이다. 4 is a diagram for explaining a method for learning a neural network model according to an embodiment of the present invention.
도 5은 본 발명의 일 실시예에 따른 뉴럴 네트워크 모듈에 대한 예시적인 블록도를 도시한다.5 illustrates an exemplary block diagram of a neural network module in accordance with an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따라 뉴럴 네트워크 모델을 생성하는 방법 및 뉴럴 네트워크를 학습시키기 위한 방법을 구현하기 위한 예시적인 컴퓨팅 장치에 대한 블록도를 도시한다.6 shows a block diagram of an exemplary computing device for implementing a method for generating a neural network model and a method for learning a neural network, in accordance with an embodiment of the present invention.
다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.Various embodiments and / or aspects are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. However, it will also be appreciated by those of ordinary skill in the art that such aspect (s) may be practiced without these specific details. The following description and the annexed drawings set forth in detail certain illustrative aspects of one or more aspects. It is to be understood, however, that such aspects are illustrative and that some of the various ways of practicing various aspects of the principles of various aspects may be utilized, and that the description set forth is intended to include all such aspects and their equivalents.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다. In addition, various aspects and features will be presented by a system that may include multiple devices, components and / or modules, and so forth. It should be understood that the various systems may include additional devices, components and / or modules, etc., and / or may not include all of the devices, components, modules, etc. discussed in connection with the drawings Must be understood and understood.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 및 소프트웨어를 의미할 수 있다.As used herein, the terms " an embodiment, " " an embodiment, " " an embodiment, " " an embodiment ", etc. are intended to indicate that any aspect or design described is better or worse than other aspects or designs. . As used herein, the terms 'component,' 'module,' 'system,' 'interface,' and the like generally refer to a computer-related entity and include, for example, hardware, And software.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In addition, the term " or " is intended to mean " exclusive or " That is, it is intended to mean one of the natural inclusive substitutions " X uses A or B ", unless otherwise specified or unclear in context. That is, X uses A; X uses B; Or when X uses both A and B, " X uses A or B " can be applied to either of these cases. It should also be understood that the term " and / or " as used herein refers to and includes all possible combinations of one or more of the listed related items.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.It is also to be understood that the term " comprises " and / or " comprising " means that the feature and / or component is present, but does not exclude the presence or addition of one or more other features, components and / It should be understood that it does not. Also, unless the context clearly dictates otherwise or to the contrary, the singular forms in this specification and claims should generally be construed to mean " one or more. &Quot;
본 발명의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 발명의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다. 또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. Before describing the embodiments of the present invention in detail, it is to be understood that the present invention is not limited to the above-described embodiments, but may be modified and changed without departing from the scope and spirit of the invention. It is also to be understood that the terminology or words used in the present specification and claims should be interpreted with reference to the meaning of the inventive concept of the present invention based on the principle that the inventor can define the concept of appropriate terms to describe his invention in the best way It should be interpreted as a concept.
도 1은 본 발명의 목적을 설명하기 위한 도면이다.1 is a view for explaining the object of the present invention.
뉴럴 네트워크는 연결선(link)으로 연결된 많은 수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 인식 모델일 수 있다. 뉴럴 네트워크는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 뉴럴 네트워크는 인공(artificial) 뉴럴 네트워크라고 지칭될 수 있다.A neural network may be a recognition model that mimics the computational capabilities of a biological system using a large number of artificial neurons connected by a link. The neural network may be implemented in software, hardware, or a combination thereof. A neural network may be referred to as an artificial neural network.
뉴럴 네트워크는 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들을 이용할 수 있다. 인공 뉴런은 노드(node)라고 지칭될 수 있다. 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 연결 가중치는 연결선이 갖는 특정한 값으로, 시냅스 가중치(synapse weight) 또는 연결 강도라고 지칭될 수 있다. 뉴럴 네트워크는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다.Neural networks can utilize artificial neurons that simplify the function of biological neurons. An artificial neuron can be referred to as a node. Artificial neurons can be interconnected via a connection line with connection weights. A connection weight is a specific value of a connection line and may be referred to as a synapse weight or connection strength. Neuronal networks can perform human cognitive or learning processes through artificial neurons.
뉴럴 네트워크는 컴퓨터를 이용하여 입력 데이터를 판별하는 분야에서 활용될 수 있다. 예를 들어, 뉴럴 네트워크는 비디오 영상 내에 존재하는 물체를 식별하거나, 물체의 위치 등을 판별하고, 의료 영상에서 병변을 검출하고 판별하는 분야, 음성 데이터를 이용하여 음성의 내용을 이해하는 분야, 웹이나 문서의 내용에서 정보를 추출하기 위해 정보를 추출하는 등의 분야에서 활용될 수 있다. 다만 이에 한정되지 않고 뉴럴 네트워크는 다양한 분야에 활용될 수 있다.The neural network can be utilized in the field of determining input data by using a computer. For example, a neural network is used to identify an object existing in a video image, to determine the position of an object, to detect and identify a lesion in a medical image, to understand contents of a voice using voice data, And extracting information for extracting information from the contents of the document. However, the present invention is not limited to this, and the neural network can be utilized in various fields.
뉴럴 네트워크의 구조는 일반적으로 미리 결정될 수 있고, 노드 간의 연결에 따른 연결 가중치들은 이미 어떤 클래스에 속할지 정답이 알려진 데이터들을 이용하여 적절한 값으로 산정될 수 있다. 이와 같이 이미 정답이 알려진 데이터들은 '학습 데이터'(training data)라고 지칭될 수 있고, 연결 가중치를 결정하는 과정을 '학습'(training)이라고 지칭할 수 있다. 그리고, 연결 가중치가 결정된 뉴럴 네트워크가 입력 데이터가 어느 클래스에 속할지를 예측하여 그 예측값을 출력하는 것은 '테스트'(test) 과정이라고 지칭될 수 있다. 다만 이에 한정되고, 상술한 과정들은 다양한 용어로 지칭될 수 있다. The structure of the neural network can be generally determined in advance, and the connection weight according to the connection between the nodes can be calculated to an appropriate value by using data already known to be correct to which class belongs. Data that are known to be correct in this way may be referred to as 'training data', and the process of determining the connection weights may be referred to as 'training'. The neural network for which the connection weight is determined may predict which class the input data belongs to and output the predicted value, which may be referred to as a " test " process. However, the above-described processes can be referred to as various terms.
뉴럴 네트워크가 학습 데이터와 상이한 종류의 추가적인 데이터를 함께 학습하는 것은 유용할 수 있다. 구체적으로 설명하면, 뉴럴 네트워크는 추가적인 데이터를 이용하여 한 종류의 학습 데이터만으로는 학습하기 어려운 추가적인 특징을 학습할 수 있다. 예를 들어, 뉴럴 네트워크가 학습 데이터와 관련된 이산 데이터를 함께 학습하는 것이 유용할 수 있다. 여기서, 이산 데이터는 학습 데이터 중에서 비정상 데이터를 식별하는데 유용한 데이터를 포함할 수 있다. 일 실시예로, 뉴럴 네트워크가 철강 제조공정에서 철강에 흠결이 발생했는지 여부를 검사하는데 사용되는 경우에, 뉴럴 네트워크는 결함 유무가 판별된 복수의 철강 이미지(100)를 학습 데이터로 학습할 수 있다. 철강 이미지(100)는 학습에 필요한 계산량을 줄이기 위해 복수의 이미지 패치(110)로 분할되어 학습에 이용될 수 있다. 예를 들어, 철강 이미지(100)가 1000x200의 픽셀 크기인 경우에, 철강 이미지(100)는 20x20의 픽셀 크기인 복수의 이미지 패치(110)로 분할되어 학습에 이용될 수 있다. 이 경우에, 복수의 이미지 패치 (110)는 각각의 좌표값을 가질 수 있다. 예를 들어, 도 1에 도시된 바와 같이, 철강의 흠결은 좌표값이 (7,4), (7,5)인 이미지 패치에 존재할 수 있다. 철강이 제조되는 과정에서 주로 흠결이 일정한 위치(예를 들어, 이미지 패치의 좌표값이 (7,4), (7,5)인 위치)에 생긴다고 한다면, 뉴럴 네트워크를 학습시키는 과정에서 흠결을 가지는 이미지 패치(즉, 비정상 데이터)가 어느 좌표값을 가지는지 학습할 수 있도록 이미지 패치(110)의 좌표값이 학습 데이터로 제공될 수 있다. 이는 뉴럴 네트워크의 학습 효율을 높일 수 있다. It may be useful for the neural network to learn additional data of a different type from the learning data. More specifically, the neural network can learn additional features that are difficult to learn using only one type of learning data, using additional data. For example, it may be useful for a neural network to learn discrete data associated with learning data. Here, the discrete data may include data useful for identifying abnormal data among the learning data. In one embodiment, when the neural network is used to check whether defects have occurred in the steel in the steel manufacturing process, the neural network can learn a plurality of steel images 100 that are determined to be defective as learning data . The steel image 100 may be divided into a plurality of image patches 110 and used for learning to reduce the amount of calculation required for learning. For example, in the case where the steel image 100 is a 1000 x 200 pixel size, the steel image 100 may be divided into a plurality of image patches 110 having a pixel size of 20x20 and used for learning. In this case, the plurality of image patches 110 may have respective coordinate values. For example, as shown in Fig. 1, defects of steel may exist in an image patch whose coordinate values are (7, 4), (7, 5). In the process of manufacturing steel, if defects occur at a certain position (for example, the coordinate values of image patches are (7, 4), (7, 5)), The coordinate value of the image patch 110 may be provided as learning data so that it can learn which coordinate value the image patch (i.e., abnormal data) has. This can increase the learning efficiency of the neural network.
이러한 목적을 위해, 본 발명의 뉴럴 네트워크 모델은 제 1 입력이 인가되는 제 1 입력 레이어(220) 및 제 2 입력이 인가되는 제 2 입력 레이어(270)를 포함할 수 있다. For this purpose, the neural network model of the present invention may include a first input layer 220 to which a first input is applied and a second input layer 270 to which a second input is applied.
제 1 입력 레이어(220)에 인가되는 제 1 입력(200)은 일반적인 학습 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)은 종래의 뉴럴 네트워크의 학습에 이용되어왔던 학습 데이터를 포함할 수 있다. 예를 들어, 제 1 입력(200)은 이미지 데이터, 소리 데이터, 영상 데이터, 문자 데이터 등을 포함할 수 있다. 다만 이에 한정되지 않고, 제 1 입력은 다양한 데이터를 포함할 수 있다.The first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
제 2 입력 레이어(270)에 인가되는 제 2 입력(210)은 제 1 입력(200)과 상이한 종류(type)의 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 2 입력은 제 1 입력(200)만으로는 학습하기 어려운 특징을 학습할 수 있는 데이터를 포함할 수 있다. 예를 들어, 제 2 입력은 제 1 입력에 관련된 이산 데이터가 인가될 수 있다. 일 실시예로, 제 1 입력 레이어(220)에 제 1 입력(200)으로 철강 이미지(100)가 분할된 복수의 이미지 패치(110)가 인가되는 경우에, 제 2 입력 레이어(270)에는 제 2 입력(210)으로 이미지 패치(110)의 좌표값이 인가될 수 있다. 철강 이미지(100)에 포함되는 복수의 이미지 패치(110) 중에서 주로 흠결이 발생하는 이미지 패치의 좌표값이 (7,4) 및 (7,5)인 경우에, 뉴럴 네트워크는 제 1 입력인 복수의 이미지 패치(110)와 함께 제 2 입력인 이미지 패치(110)의 좌표값을 학습데이터로 이용하여 7,4) 및 (7,5)의 좌표값을 가지는 이미지 패치에 주로 흠결이 발생한다는 것을 학습할 수 있다. 뉴럴 네트워크는 이러한 특징을 제 1 입력만으로는 학습하기 어렵다. The second input 210 applied to the second input layer 270 may include a different type of data than the first input 200. Specifically, the second input may include data capable of learning characteristics that are difficult to learn with only the first input 200. [ For example, the second input may be applied with discrete data related to the first input. In one embodiment, when a plurality of image patches 110 are applied to the first input layer 220 as a first input 200, 2 input 210, the coordinate value of the image patch 110 may be applied. When the coordinate values of the image patches in which defects mainly occur in the plurality of image patches 110 included in the steel image 100 are (7, 4) and (7, 5) (7, 4) and (7, 5) by using the coordinate values of the image patch 110 as the second input together with the image patch 110 of the image patch 110 as the learning data, You can learn. Neural networks can not learn these features with only the first input.
본 발명의 기술적 특징은 뉴럴 네트워크에 더 많은 데이터를 제공하여 학습 효율을 향상시키는데 이용될 수 있다. 본 발명의 뉴럴 네트워크 모델은 서로 상이한 두 종류의 데이터를 동시에 처리하는 구조를 가짐으로써, 효율적인 학습이 가능하다.The technical features of the present invention can be used to improve learning efficiency by providing more data to the neural network. The neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, so that efficient learning is possible.
도 2는 본 발명의 일 실시예에 따른 뉴럴 네트워크 모델의 구조를 도시한다.2 shows a structure of a neural network model according to an embodiment of the present invention.
본 발명의 일 실시 예에서, 뉴럴 네트워크 모델은 복수의 레이어들을 포함할 수 있다. 예를 들어, 뉴럴 네트워크 모델은 제 1 입력 레이어(First input layer)(220), 히든 레이어(hidden layer)(230), 출력 레이어(미도시)를 포함할 수 있다. 제 1 입력 레이어(220)는 학습을 수행하기 위한 제 1 입력(First input)을 수신하여 히든 레이어(230)에 전달할 수 있고, 출력 레이어는 히든 레이어(230)로부터 수신한 데이터에 기초하여 뉴럴 네트워크 모델의 출력을 생성할 수 있다. 히든 레이어(230)는 제 1 입력 레이어(220)와 출력 레이어 사이에 위치하고, 제 1 입력 레이어(220)를 통해 전달된 학습 데이터를 예측하기 쉬운 값으로 변화시킬 수 있다.In one embodiment of the invention, the neural network model may comprise a plurality of layers. For example, the neural network model may include a first input layer 220, a hidden layer 230, and an output layer (not shown). The first input layer 220 may receive a first input for performing learning and transmit the first input to the hidden layer 230. The output layer may transmit the first input to the hidden layer 230 based on data received from the hidden layer 230, The output of the model can be generated. The hidden layer 230 is located between the first input layer 220 and the output layer and can change learning data transmitted through the first input layer 220 to a value that is easy to predict.
제 1 입력 레이어(220), 히든 레이어(230) 및 출력 레이어에 포함된 레이어들은 복수 개의 노드들을 포함할 수 있다. 제 1 입력 레이어(220)에 포함된 노드는 제 1 입력 노드(First input node)라고 지칭되고, 히든 레이어(230)에 포함된 노드는 히든 노드(hidden node)라고 지칭되며, 출력 레이어에 포함된 노드는 출력 노드(output node)라고 지칭될 수 있다.The layers included in the first input layer 220, the hidden layer 230, and the output layer may include a plurality of nodes. A node included in the first input layer 220 is referred to as a first input node, a node included in the hidden layer 230 is referred to as a hidden node, A node may be referred to as an output node.
제 1 입력 레이어(220)에 포함된 제 1 입력 노드들과 히든 레이어(230)에 포함된 히든 노드들은 연결 가중치를 가지는 연결선(link)들을 통해 서로 연결될 수 있다. 히든 레이어(230)에 포함된 히든 노드들과 출력 레이어에 포함된 출력 노드들은 연결 가중치를 가지는 연결선들을 통해 서로 연결될 수 있다.The first input nodes included in the first input layer 220 and the hidden nodes included in the hidden layer 230 may be connected to each other through connection links having connection weights. The hidden nodes included in the hidden layer 230 and the output nodes included in the output layer may be connected to each other through connection lines having connection weights.
히든 레이어(230)는 복수의 레이어들을 포함할 수 있다. 히든 레이어(230)가 복수 개의 레이어를 포함하는 뉴럴 네트워크는 딥 뉴럴 네트워크(deep neural network)라고 지칭될 수 있다. 딥 뉴럴 네트워크를 학습시키는 것은 딥 러닝(deep learning)이라고 지칭될 수 있다.The hidden layer 230 may include a plurality of layers. A neural network in which the hidden layer 230 includes a plurality of layers may be referred to as a deep neural network. Learning a deep neural network can be referred to as deep learning.
히든 레이어(230)는 여러 겹의 컨볼루션 레이어(convolution layer)(240), 풀링 레이어(pooling layer)(250) 및 풀리 커넥티드 레이어(fully connected layer)(260, 270)를 포함할 수 있다. 컨볼루션 레이어(240)는 이전 레이어에서 근접해 있는 노드들이 다음 레이어의 노드와 연결되는 구조를 가진 레이어를 지칭할 수 있다. 풀링 레이어(250)는 이전 레이어의 노드에서 일부분을 선택하여 통합할 수 있는 구조를 가진 레이어를 지칭할 수 있다. 풀리 커넥티드 레이어(260, 280)는 레이어에 포함되는 노드들이 이전의 레이어에 포함되는 모든 노드에 연결되는 구조를 가진 레이어를 지칭할 수 있다. 다만 상기한 레이어들은 예시적인 것이며, 상기 레이어들 중 일부는 변경 또는 생략될 수 있고, 추가적인 레이어가 히든 레이어(230)에 포함될 수 있다. 또한 히든 레이어(230)에 포함되는 일부 레이어들은 경우에 따라 제 1 입력 레이어(220) 또는 출력 레이어에 포함될 수도 있다.The hidden layer 230 may include a plurality of convolution layers 240, a pooling layer 250, and a fully connected layer 260 and 270. Convolution layer 240 may refer to a layer having a structure in which neighboring nodes in the previous layer are connected to nodes in the next layer. The pooling layer 250 may refer to a layer having a structure capable of selecting and integrating a part at a node of a previous layer. The pulley connected layers 260 and 280 may refer to a layer having a structure in which the nodes included in the layer are connected to all nodes included in the previous layer. However, the above-mentioned layers are exemplary, and some of the layers may be changed or omitted, and additional layers may be included in the hidden layer 230. In addition, some layers included in the hidden layer 230 may be included in the first input layer 220 or the output layer as the case may be.
본 발명의 일 실시예에서, 히든 레이어(230)는 제 2 입력 레이어(270)를 포함할 수 있다. 제 2 입력 레이어(270)는 히든 레이어(230)에 포함되는 풀리 커넥티드 레이어 중 어느 하나에 병렬로 배치될 수 있다. 또한, 제 2 입력 레이어(270)는 제 2 입력(210)이 인가될 수 있고, 상위 레이어에 출력을 전달할 수 있다. In an embodiment of the present invention, the hidden layer 230 may include a second input layer 270. The second input layer 270 may be disposed in parallel with any one of the pulley connected layers included in the hidden layer 230. Also, the second input layer 270 may be applied with the second input 210, and may transmit the output to the upper layer.
본 발명의 일 실시예에서, 본 발명의 뉴럴 네트워크 모델은 제 1 입력인 인가되는 제 1 입력 레이어(220) 및 제 2 입력이 인가되는 제 2 입력 레이어(270)를 포함할 수 있다. In one embodiment of the present invention, the neural network model of the present invention may include a first input layer 220, which is a first input, and a second input layer 270, to which a second input is applied.
제 1 입력 레이어(220)에 인가되는 제 1 입력(200)은 일반적인 학습 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)은 종래의 뉴럴 네트워크의 학습에 이용되어왔던 학습 데이터를 포함할 수 있다. 예를 들어, 제 1 입력(200)은 이미지 데이터, 소리 데이터, 영상 데이터, 문자 데이터 등을 포함할 수 있다. 다만 이에 한정되지 않고, 제 1 입력은 다양한 데이터를 포함할 수 있다.The first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
제 2 입력 레이어(270)에 인가되는 제 2 입력(210)은 제 1 입력(200)과 상이한 종류(type)의 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 2 입력은 제 1 입력(200)만으로는 학습하기 어려운 특징을 학습할 수 있는 데이터를 포함할 수 있다.예를 들어, 제 2 입력은 제 1 입력에 관련된 이산 데이터가 인가될 수 있다. 일 실시예로, 제 1 입력 레이어(220)에 제 1 입력(200)으로 철강 이미지(100)가 분할된 복수의 이미지 패치(110)가 인가되는 경우에, 제 2 입력 레이어(270)에는 제 2 입력(210)으로 이미지 패치(110)의 좌표값이 인가될 수 있다. 철강 이미지(100)에 포함되는 복수의 이미지 패치(110) 중에서 주로 흠결이 발생하는 이미지 패치의 좌표값이 (7,4) 및 (7,5)인 경우에, 뉴럴 네트워크는 제 1 입력인 복수의 이미지 패치(110)와 함께 제 2 입력인 이미지 패치(110)의 좌표값을 학습데이터로 이용하여 7,4) 및 (7,5)의 좌표값을 가지는 이미지 패치에 주로 흠결이 발생한다는 것을 학습할 수 있다. 뉴럴 네트워크는 제 1 입력만으로는 이러한 특징을 학습하기 어렵다 The second input 210 applied to the second input layer 270 may include a different type of data than the first input 200. More specifically, the second input may include data that can learn features that are difficult to learn with only the first input 200. For example, the second input may include data that is applied to discrete data associated with the first input . In one embodiment, when a plurality of image patches 110 are applied to the first input layer 220 as a first input 200, 2 input 210, the coordinate value of the image patch 110 may be applied. When the coordinate values of the image patches in which defects mainly occur in the plurality of image patches 110 included in the steel image 100 are (7, 4) and (7, 5) (7, 4) and (7, 5) by using the coordinate values of the image patch 110 as the second input together with the image patch 110 of the image patch 110 as the learning data, You can learn. Neural networks are difficult to learn these characteristics with only the first input
본 발명의 기술적 특징은 뉴럴 네트워크에 더 많은 데이터를 제공하여 학습 효율을 향상시키는데 이용될 수 있다. 본 발명의 뉴럴 네트워크 모델은 서로 상이한 두 종류의 데이터를 동시에 처리하는 구조를 가짐으로써, 효율적인 학습이 가능하다.The technical features of the present invention can be used to improve learning efficiency by providing more data to the neural network. The neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, so that efficient learning is possible.
도 3은 본 발명의 일 실시예에 따른 뉴럴 네트워크 모델을 생성하는 방법을 설명하기 위한 도면이다.3 is a diagram for explaining a method of generating a neural network model according to an embodiment of the present invention.
본 발명의 일 실시 예에서, 뉴럴 네트워크 모델은 제 1 입력 레이어(220), 히든 레이어(230), 출력 레이어를 포함할 수 있다. 다만 상기한 레이어들은 예시적인 것이며, 상기 레이어들 중 일부는 변경 또는 생략될 수 있고, 추가적인 레이어가 뉴럴 네트워크 모델에 포함될 수 있다. 상기 레이어들은 여러 겹의 레이어들을 지칭할 수도 있다.In one embodiment of the present invention, the neural network model may include a first input layer 220, a hidden layer 230, and an output layer. However, the above-mentioned layers are exemplary, and some of the layers may be changed or omitted, and additional layers may be included in the neural network model. The layers may refer to multiple layers.
본 발명의 일 실시 예에서, 뉴럴 네트워크 모델은 컨볼루션 뉴럴 네트워크(convolution neural network)일 수 있다. 컨볼루션 뉴럴 네트워크는 개별 뉴런(neuron)들이 중첩하는 영역들에 응답하는 방식으로 타일처럼 연결되는 피드-포워드 인공 뉴럴 네트워크(feedforward artificial neural network, 데이터가 하위 레이어에서 상위레이어로 전달되면서 처리되는 네트워크)의 한 종류일 수 있다. In one embodiment of the invention, the neural network model may be a convolution neural network. A convolutional neural network is a feedforward artificial neural network (a network in which data is handed over from the lower layer to the upper layer) tied in a manner that responds to overlapping regions of individual neurons, Lt; / RTI >
본 발명의 일 실시 예에서, 뉴럴 네트워크 모델을 생성하는 방법은 제 1 입력(200)이 인가되는 제 1 입력 레이어(220)를 생성하는 단계(300)를 포함할 수 있다.In one embodiment of the present invention, a method of generating a neural network model may include generating (300) a first input layer 220 to which a first input 200 is applied.
제 1 입력 레이어(220)는 뉴럴 네트워크 모델의 최하위 레이어로 생성될 수 있다. 제 1 입력 레이어(220)는 제 1 입력(200)을 수신할 수 있다. 제 1 입력 레이어(220)는 수신받은 제 1 입력(200)을 학습 및 테스트를 하는데 이용할 수 있도록 히든 레이어(230)에 전달할 수 있다. 제 1 입력(200)은 제 1 입력 레이어(220)에서 히든 레이어(230)에서 처리될 수 있도록 변환될 수 있다. 또한 제 1 입력(200)은 학습 효율을 높이기 위해 사전 처리될 수 있다. 예를 들어, 제 1 입력(200)은 노이즈 성분이 제거되거나, 업스케일링되도록 사전 처리될 수 있다. 다만 이에 한정되지 않고, 제 1 입력 레이어(220)는 뉴럴 네트워크 모델의 차하위 레이어 또는 그 이상의 레이어로 생성될 수 있고, 다양한 작업을 수행할 수 있다.The first input layer 220 may be generated as the lowest layer of the neural network model. The first input layer 220 may receive the first input 200. The first input layer 220 may communicate the received first input 200 to the hidden layer 230 for use in learning and testing. The first input 200 may be transformed to be processed in the hidden layer 230 in the first input layer 220. The first input 200 may also be preprocessed to improve learning efficiency. For example, the first input 200 may be preprocessed such that the noise component is removed or upscaled. However, the present invention is not limited to this, and the first input layer 220 may be formed as a lower layer or a higher layer of the neural network model, and may perform various operations.
제 1 입력 레이어(220)에 인가되는 제 1 입력(200)은 일반적인 학습 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)은 종래의 뉴럴 네트워크의 학습에 이용되어왔던 학습 데이터를 포함할 수 있다. 예를 들어, 제 1 입력(200)은 이미지 데이터, 소리 데이터, 영상 데이터, 문자 데이터 등을 포함할 수 있다. 다만 이에 한정되지 않고, 제 1 입력은 다양한 데이터를 포함할 수 있다.The first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
본 발명의 일 실시 예에서, 뉴럴 네트워크 모델을 생성하는 방법은 제 1 입력 레이어(220)의 출력이 인가되는 히든 레이어(230)를 생성하는 단계(310)를 포함할 수 있다. 여기서 히든 레이어(230)는 제 2 입력(Second Input)(210)이 인가되는 제 2 입력 레이어(Second Input Layer)(270)를 포함할 수 있다.In one embodiment of the present invention, a method of generating a neural network model may include generating 310 a hidden layer 230 to which the output of the first input layer 220 is applied. The hidden layer 230 may include a second input layer 270 to which a second input 210 is applied.
히든 레이어(230)는 복수의 레이어를 포함할 수 있다. 예를 들어, 히든 레이어(230)는 적어도 하나의 컨볼루션 레이어(240), 적어도 하나의 풀링 레이어(250), 적어도 하나의 풀리 커넥티드 레이어(260, 280) 및 제 2 입력 레이어(270)를 포함할 수 있다. 히든 레이어(230)에 포함되는 복수의 레이어들은 서로 직렬 또는 병렬로 배치될 수 있다. 다만 이에 한정되지 않고, 히든 레이어(230)는 다양한 레이어를 포함할 수 있다.The hidden layer 230 may include a plurality of layers. For example, the hidden layer 230 may include at least one convolution layer 240, at least one pulling layer 250, at least one pulley connected layer 260, 280, and a second input layer 270 . The plurality of layers included in the hidden layer 230 may be arranged in series or in parallel with each other. However, the present invention is not limited thereto, and the hidden layer 230 may include various layers.
히든 레이어(230)는 제 1 입력 레이어(220)의 출력을 입력받아 특징을 추출하고 분류하는 작업을 할 수 있다. 구체적으로 설명하면, 컨볼루션 레이어(240)는 히든 레이어(230)는 입력되는 데이터에 대하여 추상화 작업을 통해 특징을 추출할 수 있다. 예를 들어, 컨볼루션 레이어(240)는 데이터의 일정한 영역(예를 들어, 5x5 또는 3x3)에 필터를 적용하여 특징을 추출할 수 있다. 이러한 필터는 학습에 따라 변경될 수 있다. 풀링 레이어(250)는 서브-샘플링 과정을 수행할 수 있다. 서브-샘플링 과정은 입력 받은 데이터에 대해 최대값을 취하거나 평균값을 취하는 방식을 이용할 수 있다. 뉴럴 네트워크 모델은 제 1 입력(200)을 여러 겹의 컨볼루션 레이어(240) 및 풀링 레이어(250)에 통과시키면서 전역적인 특징(global feature)을 획득할 수 있다. 다만 이에 한정되지 않고, 히든 레이어는 다양한 작업을 수행할 수 있다.The hidden layer 230 may receive the output of the first input layer 220 and extract and classify the features. More specifically, the convolution layer 240 can extract features from the hidden layer 230 by abstracting the input data. For example, the convolution layer 240 may apply a filter to a certain area of data (e.g., 5x5 or 3x3) to extract features. These filters can be changed according to learning. The pulling layer 250 may perform a sub-sampling process. The sub-sampling process can take a maximum value or take an average value for the input data. The neural network model may obtain a global feature while passing the first input 200 through the multiple layers of convolution layer 240 and pooling layer 250. However, the present invention is not limited to this, and the hidden layer can perform various operations.
풀리 커넥티드 레이어(260, 280)는 일반적으로 컨볼루션 레이어(240) 및 풀링 레이어(250)의 상위에 위치하며, 컨볼루션 레이어 및 풀링 레이어를 거치면서 추출된 특징을 이용해 분류하는 작업을 수행할 수 있다. 풀리 커넥티드 레이어(260, 280)는 여러 겹으로 형성될 수 있다. 예를 들어, 풀리 커넥티드 레이어(260, 280)는 도 2에 도시된 바와 같이 2 겹으로 형성될 수 있다. 다만 이에 한정되지 않고, 풀리 커넥티드 레이어(260, 280)는 3 겹 이상으로 형성될 수 있다.The pulley connected layers 260 and 280 are generally positioned above the convolution layer 240 and the pulling layer 250 and perform operations of sorting using extracted features while passing through the convolution layer and the pooling layer . The pulley connected layers 260 and 280 may be formed in multiple layers. For example, the pulley connected layers 260 and 280 may be formed in two layers as shown in FIG. However, the present invention is not limited to this, and the pulley-connected layers 260 and 280 may be formed in three or more layers.
제 2 입력 레이어(270)는 제 2 입력(210)을 수신할 수 있다. 제 2 입력 레이어(270)는 수신된 제 2 입력(210)을 제 1 입력(200)이 컨볼루션 레이어(240) 및 풀링 레이어(250)를 거치면서 추출된 특징과 함께 분류하는 작업에 이용하도록 할 수 있다. 이를 위해, 제 2 입력 레이어(270)는 컨볼루션 레이어(240) 및 풀링 레이어(250)의 상위에 생성될 수 있다. 다만 이에 한정되지 않고, 제 2 입력 레이어(270)는 히든 레이어(230) 상에 다양한 위치에 생성될 수 있다.The second input layer 270 may receive the second input 210. The second input layer 270 may be used to classify the received second input 210 with the extracted features as the first input 200 passes through the convolution layer 240 and the pulling layer 250 can do. To this end, the second input layer 270 may be created above the convolution layer 240 and the pooling layer 250. However, the second input layer 270 may be formed at various positions on the hidden layer 230.
본 발명의 일 실시예에서, 제 2 입력 레이어는 제 2 입력을 직접 수신할 수 있다. 예를 들어, 제 2 입력 레이어는 제 2 입력을 다른 레이어를 통하지 않고 바로 수신할 수 있다. 다만 이에 한정되지 않고, 제 2 입력 레이어는 제 2 입력을 다른 레이어을 통해 수신할 수 있다. 예를 들어, 제 2 입력 레이어는 제 2 입력이 다른 레이어의 인가된 후 그 출력을 입력으로 수신할 수 있다. 이 경우에, 제 2 입력이 인가되어 통과되는 노드는 상위 레이어에 포함되는 적은 수의 노드에만 연결될 수 있다. 예를 들어 제 2 입력이 인가되어 통과되는 노드는 상위 레이어에 포함되는 하나의 노드에만 연결될 수 있다. 다만 이에 한정되지 않고, 제 2 입력이 인가되어 통과되는 노드는 상위 레이어에 포함되는 둘 이상의 노드에 연결될 수 있다. 또한, 제 2 입력이 인가되어 통과되는 노드는 제 1 입력의 특징을 추출하는데 사용되는 노드에 연결되지 않을 수 있다. 따라서 제 2 입력은 제 1 입력의 특징을 추출하는 과정에 거의 사용되지 않거나 일부의 과정에만 사용될 수도 있다. In an embodiment of the invention, the second input layer may receive the second input directly. For example, the second input layer can receive the second input directly without going through another layer. However, the present invention is not limited to this, and the second input layer can receive the second input through another layer. For example, the second input layer may receive its output as an input after the second input is applied to another layer. In this case, the node to which the second input is applied can be connected to only a small number of nodes included in the upper layer. For example, a node to which a second input is applied may be connected to only one node included in the upper layer. However, the present invention is not limited to this, and a node to which a second input is applied may be connected to two or more nodes included in an upper layer. Also, the node through which the second input is passed may not be connected to the node used to extract the characteristics of the first input. Therefore, the second input may be rarely used in the process of extracting the characteristic of the first input, or may be used only in a part of the process.
본 발명의 일 실시예에서, 제 2 입력 레이어(270)는 풀리 커넥티드 레이어(260, 280)에 포함되는 제 1 풀리 커넥티드 레이어(260)에 병렬로 배치될 수 있다. In an embodiment of the present invention, the second input layer 270 may be disposed in parallel with the first pulley-connected layer 260 included in the pulley-connected layers 260 and 280.
뉴럴 네트워크는 제 2 입력 레이어(270)에 인가된 제 2 입력을 분류 작업에 이용하도록 할 수 있다. 구체적으로 설명하면, 제 2 입력 레이어(270)는 제 2 입력(210)이 제 1 입력(200)의 특징을 추출하는 과정에 이용되지 않도록 컨볼루션 레이어(240) 및 풀링 레이어(250)의 상위에 위치한 제 1 풀리 커넥티드 레이어에 병렬로 배치될 수 있다. 상술한 바와 같이, 풀리 커넥티드 레이어(260, 280)는 일반적으로 컨볼루션 레이어(240) 및 풀링 레이어(250)의 상위에 위치하여 추출된 특징을 분류하는데 작업을 수행한다. 따라서, 제 2 입력 레이어(270)는 제 1 풀리 커넥티드 레이어(260)에 병렬로 배치되어 제 2 입력(210)이 분류 작업을 수행하는데 이용되도록 할 수 있다. 다만 이에 한정되지 않고, 제 2 입력 레이어는 컨볼루션 레이어(240) 및 풀링 레이어(250) 중 어느 하나에 병렬로 배치될 수 있고, 제 2 입력(210)은 제 1 입력(200)의 특징을 추출하는 과정에 이용될 수 있다.The neural network may make the second input applied to the second input layer 270 available for classification operations. More specifically, the second input layer 270 may include a convolution layer 240 and an upper layer of the pulling layer 250 such that the second input 210 is not used in the process of extracting the characteristics of the first input 200. [ May be disposed in parallel with a first pulley-connected layer located in the first pulley. As described above, the pulley connected layers 260 and 280 are generally positioned above the convolution layer 240 and the pulling layer 250 to perform the task of classifying extracted features. Thus, the second input layer 270 may be disposed in parallel with the first pulley connected layer 260 to allow the second input 210 to be used to perform the classification operation. The second input layer may be disposed in parallel with any of the convolution layer 240 and the pulling layer 250 and the second input 210 may have a characteristic of the first input 200 Can be used in the extraction process.
본 발명의 일 실시예에서, 제 1 풀리 커넥티드 레이어(260)는 풀리 커넥티드 레이어(260, 280) 중에서 최하위에 위치하는 레이어일 수 있다. In an embodiment of the present invention, the first pulley connected layer 260 may be the lowest layer among the pulley connected layers 260 and 280.
상술한 바와 같이, 제 2 입력(210)은 제 1 입력(200)의 특징을 추출하는 과정에 인가되는 것보다 제 1 입력(200)의 특징이 추출된 이후에 인가되는 것이 효율적일 수 있다. 또한, 제 2 입력(210)은 추출된 특징을 이용하여 분류하는 작업을 시작하는 단계에 인가되는 것이 효율적일 수 있다. 풀리 커넥티드 레이어(260, 280)는 일반적으로 효율적인 분류를 위해 여러 겹으로 형성될 수 있다. 따라서, 제 2 입력 레이어(270)는 복수의 풀리 커넥티드 레이어 중에서 최하위에 위치하는 레이어에 병렬로 배치되어, 제 2 입력(210)이 추출된 특징을 이용하여 분류하는 작업을 시작하는 단계에 이용되도록 할 수 있다. 다만 이에 한정되지 않고, 경우에 따라 제 2 입력 레이어(270)는 풀리 커넥티드 레이어들 중에서 차하위 레이어 또는 더 상위에 위치하는 레이어에 병렬로 배치될 수 있다.As described above, it may be effective that the second input 210 is applied after the feature of the first input 200 is extracted rather than in the process of extracting the feature of the first input 200. [ Also, it may be efficient to apply the second input 210 to the step of starting the task of classifying using the extracted features. The pulley connected layers 260 and 280 may be formed in multiple layers for efficient classification generally. Accordingly, the second input layer 270 is arranged in parallel to the lowermost layer among the plurality of pulley-connected layers, and is used for starting the operation of classifying the second input 210 using the extracted feature . However, the present invention is not limited thereto. In some cases, the second input layer 270 may be disposed in a lower layer or a higher layer among the pulley-connected layers in parallel.
본 발명의 일 실시예에서, 제 2 입력 레이어(270) 및 제 1 풀리 커넥티드 레이어는 제 2 풀리 커넥티드 레이어에 연결될 수 있다. 여기서 제 2 풀리 커넥티드 레이어는 제 2 입력 레이어(270) 및 제 1 풀리 커넥티드 레이어의 상위에 위치하는 레이어일 수 있다.In an embodiment of the present invention, the second input layer 270 and the first pulley connected layer may be connected to the second pulley connected layer. Where the second pulley connected layer may be a layer located on top of the second input layer 270 and the first pulley connected layer.
효율적인 학습 및 테스트를 위해서, 제 2 입력(210)은 하위 레이어로부터 추출된 특징과 함께 여러 겹의 풀리 커넥티드 레이어에 인가되어 분류 작업에 이용될 수 있다. 따라서, 제 2 입력 레이어(270) 및 제 1 풀리 커넥티드 레이어는 제 1 입력(200)의 추출된 특징 및 제 2 입력(210)을 제 2 풀리 커넥티드 레이어에 전달하도록 연결될 수 있다. 이에 제 2 풀리 커넥티드 레이어는 전달받은 데이터를 처리하여 다시 여러 겹의 풀리 커넥티드 레이어 또는 출력 레이어에 전달할 수 있다. 다만 이에 한정되지 않고, 제 2 입력 레이어(270) 및 제 1 풀리 커넥티드 레이어(260)는 다양한 종류의 레이어에 연결될 수 있다. 예를 들어, 제 2 입력 레이어(270) 및 제 1 풀리 커넥티드 레이어는 1x1 컨볼루션 레이어에 연결될 수 있다. 여기서 1x1 컨볼루션 레이어는 풀리 커넥티드 레이어(260, 280)와 같이 추출된 특징을 분류하는 작업을 수행할 수 있으나, 이에 한정되지 않는다. For efficient learning and testing, the second input 210 may be applied to multiple layers of pulley-connected layers with features extracted from the lower layer and used for classification operations. Thus, the second input layer 270 and the first pulley connected layer can be coupled to deliver the extracted features of the first input 200 and the second input 210 to the second pulley connected layer. The second pulley connected layer can then process the received data and pass it back to the multi-layer pulley connected or output layer. The second input layer 270 and the first pulley connected layer 260 may be connected to various kinds of layers. For example, the second input layer 270 and the first pulley connected layer may be coupled to a 1x1 convolution layer. Here, the 1x1 convolution layer can perform the task of classifying extracted features, such as pulley connected layers 260 and 280, but is not limited thereto.
본 발명의 일 실시예에서, 상기 제 1 입력(200) 및 상기 제 2 입력(210)은 서로 상이한 종류의 데이터를 포함할 수 있다. In one embodiment of the present invention, the first input 200 and the second input 210 may comprise different types of data.
상술한 바와 같이, 제 1 입력 레이어(220)에 인가되는 제 1 입력(200)은 일반적인 학습 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)은 종래의 뉴럴 네트워크의 학습에 이용되어왔던 학습 데이터를 포함할 수 있다. 예를 들어, 제 1 입력(200)은 이미지 데이터, 소리 데이터, 영상 데이터, 문자 데이터 등을 포함할 수 있다. 다만 이에 한정되지 않고, 제 1 입력은 다양한 데이터를 포함할 수 있다.As described above, the first input 200 applied to the first input layer 220 may include general learning data. More specifically, the first input 200 may include learning data that has been used in learning of a conventional neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. However, the present invention is not limited to this, and the first input may include various data.
제 2 입력 레이어(270)에 인가되는 제 2 입력(210)은 제 1 입력(200)과 상이한 종류의 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 2 입력은 제 1 입력(200)만으로는 학습하기 어려운 특징을 학습할 수 있는 데이터를 포함할 수 있다. 예를 들어, 제 2 입력은 제 1 입력에 관련된 이산 데이터가 인가될 수 있다. 일 실시예로, 제 1 입력 레이어(220)에 제 1 입력(200)으로 철강 이미지(100)가 분할된 복수의 이미지 패치(110)가 인가되는 경우에, 제 2 입력 레이어(270)에는 제 2 입력(210)으로 이미지 패치(110)의 좌표값이 인가될 수 있다. 철강 이미지(100)에 포함되는 복수의 이미지 패치(110) 중에서 주로 흠결이 발생하는 이미지 패치의 좌표값이 (7,4) 및 (7,5)인 경우에, 뉴럴 네트워크는 제 1 입력인 복수의 이미지 패치(110)와 함께 제 2 입력인 이미지 패치(110)의 좌표값을 학습데이터로 이용하여 7,4) 및 (7,5)의 좌표값을 가지는 이미지 패치에 주로 흠결이 발생한다는 것을 학습할 수 있다. 뉴럴 네트워크는 제 1 입력만으로는 이러한 특징을 학습하기 어렵다The second input 210 applied to the second input layer 270 may include a different kind of data than the first input 200. [ Specifically, the second input may include data capable of learning characteristics that are difficult to learn with only the first input 200. [ For example, the second input may be applied with discrete data related to the first input. In one embodiment, when a plurality of image patches 110 are applied to the first input layer 220 as a first input 200, 2 input 210, the coordinate value of the image patch 110 may be applied. When the coordinate values of the image patches in which defects mainly occur in the plurality of image patches 110 included in the steel image 100 are (7, 4) and (7, 5) (7, 4) and (7, 5) by using the coordinate values of the image patch 110 as the second input together with the image patch 110 of the image patch 110 as the learning data, You can learn. Neural networks are difficult to learn these characteristics with only the first input
본 발명의 일 실시예에서, 제 2 입력(210)은 제 1 입력(200)에 관련된 이산 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)에 관련된 이산 데이터는 제 1 입력만으로는 학습하기 어려운 특징을 학습하는데 이용될 수 있다. 일 실시예로, 이산 데이터는 제 1 입력(200)으로 인가된 학습 데이터 중에서 정상 데이터와 비정상 데이터를 식별하는데 유용한 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)이 철강 이미지(100)를 분할한 복수의 이미지 패치(110)인 경우에, 제 1 입력(200)에 관련된 이산 데이터는 복수의 이미지 패치 중에서 흠결이 존재하지 않는 이미지 패치(즉, 정상 데이터)와 흠결이 존재하는 이미지 패치(즉, 비정상 데이터)를 식별하는데 이용될 수 있는 비정상 데이터의 발생원인에 관련된 데이터를 포함할 수 있다. 예를 들어, 이산데이터는 철강에서 흠결이 주로 발생하는 위치를 식별하는데 이용될 수 있는 이미지 패치의 좌표값 등을 포함할 수 있고, 또는 어떠한 공정에서 흠결이 발생하는지 식별하는데 이용될 수 있는 철강 이미지(100)가 촬영된 시간, 장소, 공정정보 등의 데이터를 포함할 수 있으며, 어떠한 제조 환경에서 흠결이 발생하는지 식별하는데 이용될 수 있는 온도, 습도, 제조 장치 등의 데이터를 포함할 수도 있다. In one embodiment of the present invention, the second input 210 may include discrete data related to the first input 200. More specifically, the discrete data associated with the first input 200 can be used to learn characteristics that are difficult to learn with only the first input. In one embodiment, the discrete data may include data useful for identifying normal and abnormal data in the training data applied to the first input 200. [ Specifically, in the case where the first input 200 is a plurality of image patches 110 in which the steel image 100 is divided, the discrete data related to the first input 200 may include defects (I.e., normal data), and data related to a cause of occurrence of abnormal data that can be used to identify an image patch in which a defect exists (i.e., abnormal data). For example, discrete data may include coordinate values of image patches or the like that can be used to identify locations where defects predominantly occur in steel, or steel images that may be used to identify defects in certain processes May include data such as the time, place, process information, etc. at which the apparatus 100 is photographed, and may include data such as temperature, humidity, manufacturing apparatus, etc., which can be used to identify defects in any manufacturing environment.
다른 실시예로, 이산데이터는 제 1 입력(200)으로 인가된 학습 데이터의 특징을 나타내는 데이터를 포함할 수 있다. 구체적으로 설명하면, 제 1 입력(200)이 음성 데이터인 경우에, 제 1 입력(200)에 관련된 이산 데이터는 화자에 따른 음성 데이터의 특징을 학습하는데 이용될 수 있는 화자의 성별, 나이, 키, 몸무게 등을 포함할 수 있고, 주변 환경에 따른 음성 데이터의 특징을 학습하는데 이용될 수 있는 녹음장소, 녹음시간, 녹음장치 등을 포함할 수도 있다. 다만 이에 한정되지 않고, 제 1 입력(200)과 관련된 이산 데이터는 다양한 데이터를 포함할 수 있다.In another embodiment, the discrete data may include data indicative of the characteristics of the training data applied to the first input 200. More specifically, when the first input 200 is speech data, the discrete data related to the first input 200 may include the sex, age, key (s) of the speaker that can be used to learn the characteristics of the speech data according to the speaker , Weight, and the like, and may include a recording location, a recording time, a recording device, etc., which can be used to learn characteristics of voice data according to the surrounding environment. The discrete data associated with the first input 200 may include various data.
제 1 입력(200)에 관련된 이산 데이터를 포함하는 제 2 입력(210)은 제 1 입력(200)을 학습하는데 유용하게 이용될 수 있다. 구체적으로, 제 2 입력은 제 1 입력(200)을 학습하는데 추가적인 정보로 이용되어, 제 2 입력과 관련된 제 1 입력(200)의 추가적인 특징을 학습하는데 이용될 수 있다. 예를 들어, 제 1 입력(200)이 철강 이미지(100)의 분할된 이미지 패치(110)고 제 2 입력(210)이 이미지 패치(110)의 좌표값인 경우에, 뉴럴 네트워크 모델은 이미지 패치(110)의 좌표값을 이용하여 철강 이미지(100)에서 주로 흠결이 발생하는 위치를 학습할 수 있다. 다른 예로, 제 1 입력(200)이 음성 데이터이고 제 2 입력(210)이 화자의 성별 및 나이인 경우에, 뉴럴 네트워크 모델은 화자의 성별 및 나이에 따른 음성 데이터의 특징을 학습할 수 있다. 본 발명의 뉴럴 네트워크 모델은 이러한 서로 상이한 두 종류의 데이터를 동시에 처리하는 구조를 가짐으로써, 효율적인 학습이 가능하다. The second input 210, which includes discrete data related to the first input 200, can be usefully used to learn the first input 200. In particular, the second input may be used as additional information to learn the first input 200 and may be used to learn additional features of the first input 200 associated with the second input. For example, if the first input 200 is the partitioned image patch 110 of the steel image 100 and the second input 210 is the coordinate value of the image patch 110, The position where the defects mainly occur in the steel image 100 can be learned by using the coordinate values of the defects 110. As another example, if the first input 200 is speech data and the second input 210 is the speaker's gender and age, the neural network model can learn the characteristics of speech data according to the speaker's gender and age. The neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, thereby enabling efficient learning.
도 4는 본 발명의 일 실시예에 따른 뉴럴 네트워크 모델을 학습시키기 위한 방법을 설명하기 위한 도면이다. 4 is a diagram for explaining a method for learning a neural network model according to an embodiment of the present invention.
본 발명의 일 실시 예에서, 뉴럴 네트워크 모델을 학습시키기 위한 방법은 제 1 입력(200) 및 제 2 입력(210)을 포함하는 학습 데이터셋을 수신하는 단계(400), 제 1 입력 레이어(220)에 제 1 입력(200)을 인가하는 단계(410) 및 제 2 입력 레이어(270)에 제 2 입력을 인가하는 단계(420)를 포함할 수 있다. 여기서 제 2 입력 레이어(270)는 상기 제 1 입력 레이어(220)의 출력이 인가되는 히든 레이어(230)에 포함될 수 있다.In one embodiment of the present invention, a method for learning a neural network model includes receiving (400) a learning data set that includes a first input (200) and a second input (210), a first input layer (410) applying a first input (200) to the second input layer (270) and applying (420) a second input to a second input layer (270). Here, the second input layer 270 may be included in the hidden layer 230 to which the output of the first input layer 220 is applied.
본 발명의 뉴럴 네트워크 모델은 다양한 방법에 의해 학습될 수 있다. 예를 들어, 뉴럴 네트워크 모델은 감독 학습(supervised learning)을 통해 학습될 수 있다. 감독 학습은 학습 데이터와 그에 대응하는 출력 데이터를 함께 컨볼루션 뉴럴 네트워크에 입력하고, 학습 데이터에 대응하는 출력 데이터가 출력되도록 가중치를 업데이트하는 기법이다. 구체적으로 설명하면, 본 발명의 뉴럴 네트워크 모델은 오류 역전파 학습(back-propagation learning)을 통해 연결 가중치를 업데이트할 수 있다. 오류역 전파 학습은, 주어진 학습 데이터에 대해 포워드 계산(forward computation)을 통하여 오류를 추정한 후, 출력 레이어에서 시작하여 제 1 입력 레이어(220) 및 제 2 입력 레이어(270)로 향하는 역 방향으로 추정한 오류를 전파하면서, 오류를 줄이는 방향으로 연결 가중치를 업데이트하는 방법일 수 있다. 다만 이에 한정되지 않고, 뉴럴 네트워크는 비감독 학습(Unsupervised Learning)이나 강화 학습(Reinforcement Learning)을 통해 학습될 수 있고, 이외의 학습 방법에 의해 학습될 수도 있다.The neural network model of the present invention can be learned by various methods. For example, neural network models can be learned through supervised learning. The supervised learning is a technique of inputting the learning data and the corresponding output data together into the convolutional neural network and updating the weight so that the output data corresponding to the learning data is output. Specifically, the neural network model of the present invention can update connection weights through back-propagation learning. The error-domain propagation learning estimates an error through forward computation on a given learning data, and then estimates an error in a reverse direction starting from the output layer and toward the first input layer 220 and the second input layer 270 It can be a way to update the connection weights in the direction of reducing the error while propagating one error. However, the present invention is not limited to this, and the neural network can be learned through Unsupervised Learning or Reinforcement Learning, or may be learned by other learning methods.
본 발명의 학습 데이터셋은 제 1 입력(200) 및 제 2 입력(210)을 포함할 수 있다. 뉴럴 네트워크 모델을 학습시키기 위해서 제 1 입력(200)은 제 1 입력 레이어(220)에 인가될 수 있고, 제 2 입력(210)은 히든 레이어(230)에 포함되는 제 2 입력 레이어(270)에 인가 될 수 있다. 일 실시예에서 제 2 입력 레이어(270)는 풀리 커넥티드 레이어에 포함되는 제 1 풀리 커넥티드 레이어에 병렬로 배치될 수 있다. 여기서 제 1 풀리 커넥티드 레이어는 풀리 커넥티드 레이어 중에서 최하위에 위치하는 레이어일 수 있다. 제 2 입력 레이어(270) 및 상기 제 1 풀리 커넥티드 레이어는 제 2 풀리 커넥티드 레이어에 연결될 수 있고, 여기서 제 2 풀리 커넥티드 레이어는 제 2 입력 레이어(270) 및 상기 제 1 풀리 커넥티드 레이어의 상위에 위치하는 레이어일 수 있다.The learning data set of the present invention may include a first input 200 and a second input 210. The first input 200 can be applied to the first input layer 220 and the second input 210 can be applied to the second input layer 270 included in the hidden layer 230 . In one embodiment, the second input layer 270 may be disposed in parallel with the first pulley connected layer included in the pulley connected layer. Here, the first pulley-connected layer may be the lowest layer among the pulley-connected layers. The second input layer 270 and the first pulley connected layer may be connected to a second pulley connected layer, wherein the second pulley connected layer includes a second input layer 270 and the first pulley connected layer The layer may be a layer located at the top of the layer.
상술한 바와 같이, 제 1 입력(200)은 뉴럴 네트워크의 학습 데이터로 이용되는 일반적인 종류의 데이터를 포함할 수 있다. 예를 들어, 제 1 입력(200)은 이미지 데이터, 소리 데이터, 영상 데이터, 문자 데이터 등을 포함할 수 있다. 다만 이에 한정되지 않고, 제 1 입력(200)은 뉴럴 네트워크 모델의 학습에 이용될 수 있는 다양한 종류의 데이터를 포함할 수 있다. As described above, the first input 200 may include general types of data used as learning data of a neural network. For example, the first input 200 may include image data, sound data, image data, character data, and the like. The first input 200 may include various types of data that can be used for learning of the neural network model.
제 2 입력은 제 1 입력 레이어(220)에 인가되는 제 1 입력(200)과 상이한 종류의 데이터를 포함할 수 있다. 예를 들어, 제 1 입력(200)이 이미지 데이터를 포함하는 경우 제 2 입력(210)은 소리 데이터, 영상 데이터, 문자 데이터 등 다른 종류의 데이터를 포함할 수 있다. 다만 이에 한정되지 않고, 제 2 입력(210)은 제 1 입력(200)과 동일한 종류의 데이터를 포함할 수 있고, 또한 그외 다양한 종류의 데이터를 포함할 수 있다.The second input may include a different type of data than the first input 200 applied to the first input layer 220. For example, if the first input 200 includes image data, the second input 210 may include other types of data such as sound data, image data, character data, and the like. The second input 210 may include data of the same kind as that of the first input 200, and may also include various other types of data.
제 2 입력(210)은 제 1 입력(200)에 관련된 이산 데이터를 포함할 수 있다. 제 1 입력(200)에 관련된 이산 데이터는 제 1 입력(200)에 관한 정보를 포함하는 데이터일 수 있다. 일 실시예로, 제 1 입력(200)이 철강 이미지(100)를 분할한 복수의 이미지 패치(110)인 경우에, 제 1 입력(200)에 관련된 이산 데이터는 이미지 패치의 좌표값, 철강 이미지(100)가 촬영된 시간, 장소 및 온도, 공정정보 등일 수 있다. 다른 실시예로, 제 1 입력(200)이 음성 데이터인 경우에, 제 1 입력(200)에 관련된 이산 데이터는 화자의 성별, 나이, 녹음장소, 녹음시간, 녹음장치 등일 수 있다. The second input 210 may include discrete data related to the first input 200. The discrete data associated with the first input 200 may be data including information regarding the first input 200. [ In one embodiment, in the case where the first input 200 is a plurality of image patches 110 that have segmented the steel image 100, the discrete data associated with the first input 200 is the coordinate value of the image patch, The time, place and temperature at which the camera 100 is photographed, process information, and the like. In another embodiment, when the first input 200 is voice data, the discrete data associated with the first input 200 may be the gender, age, recording location, recording time, recording device, etc. of the speaker.
제 1 입력(200)에 관련된 이산 데이터를 포함하는 제 2 입력(210)은 제 1 입력(200)을 학습하고 테스트하는데 유용하게 이용될 수 있다. 예를 들어, 제 1 입력(200)이 철강 이미지(100)의 분할된 이미지 패치(110)고 제 2 입력(210)이 이미지 패치(110)의 좌표값인 경우에, 뉴럴 네트워크 모델은 이미지 패치(110)의 좌표값을 이용하여 철강 이미지(100)에서 주로 흠결이 발생하는 위치를 학습할 수 있다. 다른 예로, 제 1 입력(200)이 음성 데이터이고 제 2 입력(210)이 화자의 성별 및 나이인 경우에, 뉴럴 네트워크 모델은 화자의 성별 및 나이에 따른 음성 데이터의 특징을 학습할 수 있다. 본 발명의 뉴럴 네트워크 모델은 이러한 서로 상이한 두 종류의 데이터를 동시에 처리하는 구조를 가짐으로써, 효율적인 학습이 가능하다.The second input 210, which includes discrete data related to the first input 200, can be usefully used to learn and test the first input 200. For example, if the first input 200 is the partitioned image patch 110 of the steel image 100 and the second input 210 is the coordinate value of the image patch 110, The position where the defects mainly occur in the steel image 100 can be learned by using the coordinate values of the defects 110. As another example, if the first input 200 is speech data and the second input 210 is the speaker's gender and age, the neural network model can learn the characteristics of speech data according to the speaker's gender and age. The neural network model of the present invention has a structure for simultaneously processing two kinds of data which are different from each other, thereby enabling efficient learning.
도 5는 본 발명의 일 실시예에 따른 뉴럴 네트워크 모듈에 대한 예시적인 블록도를 도시한다.5 shows an exemplary block diagram of a neural network module in accordance with an embodiment of the present invention.
본 발명의 일 실시예에서, 뉴럴 네트워크 모듈(600)은 뉴럴 네트워크 생성부(610), 뉴럴 네트워크 학습부(620)를 포함할 수 있다. 뉴럴 네트워크 생성부(610)는 제 1 입력 레이어 생성부(611) 및 히든 레이어 생성부(612)를 포함할 수 있다. 히든 레이어 생성부(612)는 제 2 입력 레이어 생성부(613)를 포함할 수 있다. 도 5에서 도시되는 뉴럴 네트워크 모듈(600)의 컴포넌트들은 예시적인 것이며, 이 중 일부가 생략될 수 있거나 또는 추가적인 컴포넌트들이 존재할 수도 있다.In an embodiment of the present invention, the neural network module 600 may include a neural network generator 610 and a neural network learner 620. The neural network generating unit 610 may include a first input layer generating unit 611 and a hidden layer generating unit 612. The hidden layer generating unit 612 may include a second input layer generating unit 613. The components of neural network module 600 shown in FIG. 5 are exemplary, some of which may be omitted, or additional components may be present.
본 발명의 일 실시예에서, 제 1 입력 레이어 생성부(611)는 제 1 입력(200)이 인가되는 제 1 입력 레이어(220)를 생성할 수 있다. 히든 레이어 생성부(612)는 컨볼루션 레이어(240), 풀링 레이어(250), 풀리 커넥티드 레이어(260, 280) 및 기타 레이어 등을 생성하여 히든 레이어(230)를 생성할 수 있다. 제 2 입력 레이어 생성부(613)는 제 2 입력 레이어(270)를 생성할 수 있다. In an embodiment of the present invention, the first input layer generator 611 may generate the first input layer 220 to which the first input 200 is applied. The hidden layer generating unit 612 may generate the hidden layer 230 by generating the convolution layer 240, the pulling layer 250, the pulley connected layers 260 and 280, and other layers. The second input layer generating unit 613 may generate the second input layer 270. [
본 발명의 일 실시예에서, 뉴럴 네트워크 학습부(620)는 제 1 입력(200) 및 제 2 입력(210)을 포함하는 학습 데이터셋을 수신할 수 있다. 또한 뉴럴 네트워크 학습부(620)는 뉴럴 네트워크 모델을 학습시키기 위해서 제 1 입력 레이어(220)에 제 1 입력(200)을 인가하고, 제 2 입력 레이어(270)에 제 2 입력(210)을 인가할 수 있다. In one embodiment of the present invention, the neural network learning unit 620 may receive a learning data set that includes a first input 200 and a second input 210. [ The neural network learning unit 620 applies a first input 200 to the first input layer 220 and a second input 210 to the second input layer 270 in order to learn a neural network model. can do.
도 6은 본 발명의 일 실시예에 따라 뉴럴 네트워크 모델을 생성하는 방법 및 뉴럴 네트워크를 학습시키기 위한 방법을 구현하기 위한 예시적인 컴퓨팅 장치에 대한 블록도를 도시한다. 6 shows a block diagram of an exemplary computing device for implementing a method for generating a neural network model and a method for learning a neural network, in accordance with an embodiment of the present invention.
본 발명이 일반적으로 하나 이상의 서버 내의 컴퓨터 또는 프로세서 상에서 실행될 수 있는 특징들과 관련하여 전술되었지만, 당업자라면 본 발명이 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.Although the present invention has been described above generally in terms of features that may be executed on a computer or processor within one or more servers, those skilled in the art will appreciate that the invention may be implemented in combination with other program modules and / You will know.
일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 발명의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. It will also be appreciated by those skilled in the art that the methods of the present invention may be practiced with other computer systems, such as single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, And may operate in conjunction with one or more associated devices).
본 발명의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the invention may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. Computers typically include a variety of computer readable media. Any medium accessible by a computer may be a computer-readable medium, which may include volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media, Removable media. By way of example, and not limitation, computer readable media can comprise computer readable storage media and computer readable transmission media.
컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computer-readable storage media includes both volatile and nonvolatile media, both temporary and non-volatile media, both removable and non-removable, implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data Media. The computer-readable storage medium may be any form of storage device such as RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, Apparatus, or any other medium that can be used to store the desired information that can be accessed by a computer.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 송수신(통신) 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.Computer readable transmission media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, It includes all information delivery media. The term modulated data signal refers to a signal that has one or more of its characteristics set or changed to encode information in the signal. By way of example, and not limitation, the transmit and receive (communication) media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above described media are also intended to be included within the scope of computer readable transmission media.
도 6에서는 본 발명의 뉴럴 네트워크 모델을 생성하는 방법 및 뉴럴 네트워크를 학습시키기 위한 방법을 구현하기 위한 컴퓨팅 장치(702)를 포함하는 본 발명의 여러가지 측면들을 구현하는 예시적인 환경이 나타내어져 있으며, 컴퓨팅 장치(702)는 처리 장치(704), 시스템 메모리(706) 및 시스템 버스(708)를 포함한다. 시스템 버스(708)는 시스템 메모리(706)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(704)에 연결시킨다. 처리 장치(704)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(704)로서 이용될 수 있다.6, there is shown an exemplary environment for implementing various aspects of the invention including a computing device 702 for implementing a neural network model of the present invention and a method for learning a neural network, Apparatus 702 includes a processing unit 704, a system memory 706, and a system bus 708. The system bus 708 couples system components, including but not limited to, system memory 706 to the processing unit 704. The processing unit 704 may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be used as the processing unit 704.
시스템 버스(708)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(706)는 판독 전용 메모리(ROM)(710) 및 랜덤 액세스 메모리(RAM)(712)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(710)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨팅 장치(702) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(712)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The system bus 708 may be any of several types of bus structures that may additionally be interconnected to a local bus using any of the memory bus, peripheral bus, and various commercial bus architectures. The system memory 706 includes a read only memory (ROM) 710 and a random access memory (RAM) 712. The basic input / output system (BIOS) is stored in a non-volatile memory 710, such as a ROM, EPROM, or EEPROM, which can be used to assist in transferring information between components within the computing device 702, It contains basic routines. The RAM 712 may also include a high speed RAM such as static RAM for caching data.
컴퓨팅 장치(702)는 또한 내장형 하드 디스크 드라이브(HDD)(714)(예를 들어, EIDE, SATA)이 내장형 하드 디스크 드라이브(714)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음), 자기 플로피 디스크 드라이브(FDD)(716)(예를 들어, 이동식 디스켓(718)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(720)(예를 들어, CD-ROM 디스크(722)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(714), 자기 디스크 드라이브(716) 및 광 디스크 드라이브(720)는 각각 하드 디스크 드라이브 인터페이스(724), 자기 디스크 드라이브 인터페이스(726) 및 광 드라이브 인터페이스(728)에 의해 시스템 버스(708)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(724)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.The computing device 702 may also be configured for external use within an appropriate chassis (not shown), such as an internal hard disk drive (HDD) 714 (e.g., EIDE, SATA) (E.g., read from or write to a removable diskette 718), and an optical disk drive 720 (e.g., a CD-ROM For reading disc 722 or reading from or writing to other high capacity optical media such as DVD). The hard disk drive 714, magnetic disk drive 716 and optical disk drive 720 are connected to the system bus 708 by a hard disk drive interface 724, a magnetic disk drive interface 726 and an optical drive interface 728, respectively. . The interface 724 for external drive implementation includes at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.
이들 드라이브 및 그와 연관된 컴퓨터 판독 가능 저장 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨팅 장치(702)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독 가능 저장 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독 가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 발명의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and the like. In the case of computing device 702, the drives and media correspond to storing any data in a suitable digital format. Although the description of the above computer-readable storage medium refers to a removable optical medium such as a HDD, a removable magnetic disk, and a CD or a DVD, those skilled in the art will appreciate that a zip drive, magnetic cassette, flash memory card, Or the like may also be used in the exemplary operating environment and any such medium may include computer-executable instructions for carrying out the methods of the present invention.
운영 체제(730), 하나 이상의 애플리케이션 프로그램(732), 기타 프로그램 모듈(734) 및 프로그램 데이터(736)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(712)에 저장될 수 있다. 여기서 프로그램 모듈(734)은 뉴럴 네트워크 모델을 생성하고 학습시키며, 테스트하기 위한 뉴럴 네트워크 모듈(미도시)을 포함할 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(712)에 캐싱될 수 있다. 본 발명이 여러가지 상업적으로 이용 가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules, including an operating system 730, one or more application programs 732, other program modules 734, and program data 736, may be stored in the drive 732 and the RAM 712. Here, the program module 734 may include a neural network module (not shown) for generating, learning, and testing a neural network model. All or a portion of the operating system, applications, modules, and / or data may also be cached in RAM 712. It will be appreciated that the present invention may be implemented in a variety of commercially available operating systems or combinations of operating systems.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(738) 및 마우스(740) 등의 포인팅 장치를 통해 컴퓨팅 장치(702)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(708)에 연결되어 있는 입력 장치 인터페이스(742)를 통해 처리 장치(704)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may enter commands and information into computing device 702 via one or more wired / wireless input devices, e.g., a pointing device such as keyboard 738 and mouse 740. [ Other input devices (not shown) may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, etc. These and other input devices are often connected to the processing unit 704 via an input device interface 742 that is coupled to the system bus 708, but may be a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, ≪ / RTI > and so forth.
모니터(744) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(746) 등의 인터페이스를 통해 시스템 버스(708)에 연결된다. 모니터(744)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A monitor 744 or other type of display device is also connected to the system bus 708 via an interface, such as a video adapter 746. [ In addition to the monitor 744, the computer typically includes other peripheral output devices (not shown) such as speakers, printers,
컴퓨팅 장치(702)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(748) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(748)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨팅 장치(702)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(750)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(752) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(754)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다. Computing device 702 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer (s) 748 via wired and / or wireless communication. The remote computer (s) 748 may be a workstation, a server computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device or other conventional network node, But for the sake of simplicity, only memory storage device 750 is shown. The logical connections depicted include a wired / wireless connection to a local area network (LAN) 752 and / or a larger network, e.g., a wide area network (WAN) These LAN and WAN networking environments are commonplace in offices and corporations and facilitate enterprise-wide computer networks such as intranets, all of which can be connected to computer networks worldwide, for example the Internet.
LAN 네트워킹 환경에서 사용될 때, 컴퓨팅 장치(702)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(756)를 통해 로컬 네트워크(752)에 연결된다. 어댑터(756)는 LAN(752)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(752)은 또한 무선 어댑터(756)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨팅 장치(702)는 모뎀(758)을 포함할 수 있거나, WAN(754) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(754)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(758)은 직렬 포트 인터페이스(742)를 통해 시스템 버스(708)에 연결된다. 네트워크화된 환경에서, 컴퓨팅 장치(702)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(750)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, the computing device 702 is connected to the local network 752 via a wired and / or wireless communication network interface or adapter 756. The adapter 756 may facilitate wired or wireless communication to the LAN 752 and the LAN 752 also includes a wireless access point installed therein to communicate with the wireless adapter 756. When used in a WAN networking environment, the computing device 702 may include a modem 758, or may be connected to a communications server on the WAN 754, or to establish communications over the WAN 754, And other means. A modem 758, which may be an internal or external and a wired or wireless device, is connected to the system bus 708 via a serial port interface 742. In a networked environment, program modules depicted relative to computing device 702, or portions thereof, may be stored in remote memory / storage device 750. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between the computers may be used.
컴퓨팅 장치(702)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출 가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.The computing device 702 may be any wireless device or entity that is deployed and operated in wireless communication, such as a printer, a scanner, a desktop and / or portable computer, a portable data assistant (PDA) To any associated equipment or location, and to communication with the phone. This includes at least Wi-Fi and Bluetooth wireless technology. Thus, the communication may be a predefined structure, such as in a conventional network, or simply an ad hoc communication between at least two devices.
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.6(a,b,g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5 GHz 무선 대역에서, 예를 들어, 6Mbps(802.6a) 또는 54 Mbps(802.6b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) allows you to connect to the Internet without wires. Wi-Fi is a wireless technology such as a cell phone that allows such devices, e.g., computers, to transmit and receive data indoors and outdoors, i. E. Anywhere within the coverage area of a base station. Wi-Fi networks use a wireless technology called IEEE 802.6 (a, b, g, etc.) to provide a secure, reliable and high-speed wireless connection. Wi-Fi can be used to connect computers to each other, the Internet, and a wired network (using IEEE 802.3 or Ethernet). The Wi-Fi network can operate in unlicensed 2.4 and 5 GHz wireless bands, for example, at 6 Mbps (802.6a) or 54 Mbps (802.6b) data rates, or in products containing both bands have.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be embodied directly in electronic hardware, (Which may be referred to herein as " software ") or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the design constraints imposed on the particular application and the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독 가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독 가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 용어 "기계-판독 가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유할 수 있는 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term " article of manufacture " includes a computer program, carrier, or media accessible from any computer-readable device. For example, the computer-readable medium can be a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic strip, etc.), an optical disk (e.g., CD, DVD, etc.), a smart card, But are not limited to, devices (e. G., EEPROM, cards, sticks, key drives, etc.). The term " machine-readable medium " includes, but is not limited to, various other mediums capable of storing and / or retaining instruction (s) and / or data.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It will be appreciated that the particular order or hierarchy of steps in the presented processes is an example of exemplary approaches. It will be appreciated that, based on design priorities, certain orders or hierarchies of steps in processes may be rearranged within the scope of the present invention. The appended method claims provide elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features presented herein.
상기와 같이 발명의 실시를 위한 최선의 형태에서 관련 내용을 기술하였다.As described above, relevant contents have been described in the best mode for carrying out the invention.
본 발명은 컴퓨팅 장치를 이용하여 입력 데이터를 판별하는 분야에서 활용되는 뉴럴 네트워크의 학습에 사용될 수 있다.The present invention can be used for learning of a neural network utilized in a field for discriminating input data using a computing device.

Claims (10)

  1. 컴퓨팅 장치에 의해 구현되는 뉴럴 네트워크(neural network) 모델을 생성하는 방법에 있어서,A method of generating a neural network model implemented by a computing device,
    제 1 입력(First Input)이 인가되는 제 1 입력 레이어(First Input Layer)를 생성하는 단계; 및Generating a first input layer to which a first input is applied; And
    상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어(Hidden Layer)를 생성하는 단계-상기 히든 레이어는 제 2 입력(Second Input)이 인가되는 제 2 입력 레이어(Second Input Layer)를 포함함-;Generating a hidden layer to which an output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied;
    를 포함하는Containing
    뉴럴 네트워크 모델을 생성하는 방법.A method for generating a neural network model.
  2. 제 1 항에 있어서,The method according to claim 1,
    상기 히든 레이어는:The hidden layer includes:
    적어도 하나의 풀리 커넥티드 레이어(fully connected layer);At least one fully connected layer;
    를 포함하고,Lt; / RTI >
    상기 제 2 입력 레이어는:The second input layer comprising:
    상기 적어도 하나의 풀리 커넥티드 레이어에 포함되는 제 1 풀리 커넥티드 레이어(First Fully-Connected Layer)에 병렬로 배치되는;A first Fully-Connected Layer included in the at least one pulley-connected layer;
    뉴럴 네트워크 모델을 생성하는 방법How to create a neural network model
  3. 제 2 항에 있어서,3. The method of claim 2,
    상기 제 1 풀리 커넥티드 레이어는,Wherein the first pulley connected layer comprises:
    상기 적어도 하나의 풀리 커넥티드 레이어 중에서 최하위에 위치하는 레이어인,Wherein at least one of the at least one pulley-
    뉴럴 네트워크 모델을 생성하는 방법.A method for generating a neural network model.
  4. 제 2 항에 있어서,3. The method of claim 2,
    상기 제 2 입력 레이어 및 상기 제 1 풀리 커넥티드 레이어는,The second input layer and the first pulley connected layer,
    제 2 풀리 커넥티드 레이어에 연결되는-상기 제 2 풀리 커넥티드 레이어는 상기 제 2 입력 레이어 및 상기 제 1 풀리 커넥티드 레이어의 상위에 위치하는 레이어임-;Connected to a second pulley connected layer, the second pulley connected layer being a layer located on top of the second input layer and the first pulley connected layer;
    뉴럴 네트워크 모델을 생성하는 방법.A method for generating a neural network model.
  5. 제 1 항에 있어서,The method according to claim 1,
    상기 제 1 입력 및 상기 제 2 입력은 서로 상이한 종류의 데이터를 포함하는,Wherein the first input and the second input comprise different types of data,
    뉴럴 네트워크 모델을 생성하는 방법.A method for generating a neural network model.
  6. 제 1 항에 있어서,The method according to claim 1,
    상기 제 2 입력은 상기 제 1 입력에 관련된 이산 데이터를 포함하는,Wherein the second input comprises discrete data related to the first input,
    뉴럴 네트워크 모델을 생성하는 방법.A method for generating a neural network model.
  7. 제 1 항에 있어서,The method according to claim 1,
    상기 뉴럴 네트워크 모델은 컨볼루션 뉴럴 네트워크인,The neural network model is a convolutional neural network,
    뉴럴 네트워크 모델을 생성하는 방법.A method for generating a neural network model.
  8. 컴퓨팅 장치에 의해 구현되는 뉴럴 네트워크 모델을 학습시키기 위한 방법에 있어서,A method for learning a neural network model implemented by a computing device,
    제 1 입력 및 제 2 입력을 포함하는 학습 데이터를 수신하는 단계;Receiving training data comprising a first input and a second input;
    제 1 입력 레이어에 상기 제 1 입력을 인가하는 단계; 및Applying the first input to a first input layer; And
    제 2 입력 레이어에 상기 제 2 입력을 인가하는 단계-상기 제 2 입력 레이어는 상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어에 포함됨-;Applying the second input to a second input layer, the second input layer being included in a hidden layer to which the output of the first input layer is applied;
    을 포함하는,/ RTI >
    뉴럴 네트워크 모델을 학습시키기 위한 방법.A method for learning neural network model.
  9. 컴퓨팅 장치로서, 13. A computing device,
    하나 이상의 프로세서; 및 One or more processors; And
    상기 하나 이상의 프로세서에서 실행가능한 명령들을 저장하는 메모리;A memory for storing instructions executable on the one or more processors;
    를 포함하고, Lt; / RTI >
    상기 하나 이상의 프로세서는, Wherein the one or more processors comprise:
    제 1 입력(First Input)이 인가되는 제 1 입력 레이어(First Input Layer)를 생성하고; 그리고Generating a first input layer to which a first input is applied; And
    상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어(Hidden Layer)를 생성하는-상기 히든 레이어는 제 2 입력(Second Input)이 인가되는 제 2 입력 레이어(Second Input Layer)를 포함함-;Generating a hidden layer to which an output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied;
    컴퓨팅 장치.Computing device.
  10. 인코딩된 명령들을 포함하는 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터 시스템의 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 하나 이상의 프로세서들로 하여금 뉴럴 네트워크 모델을 생성하기위한 동작들을 실행하도록 하며, 상기 동작들은:A computer program stored in a computer-readable storage medium including encoded instructions, the computer program being executable by one or more processors of a computer system to cause the one or more processors to generate a neural network model , Said operations comprising:
    제 1 입력이 인가되는 제 1 입력 레이어를 생성하는 동작; 및Generating a first input layer to which a first input is applied; And
    상기 제 1 입력 레이어의 출력이 인가되는 히든 레이어를 생성하는 동작-상기 히든 레이어는 제 2 입력이 인가되는 제 2 입력 레이어를 포함함-;Generating a hidden layer to which an output of the first input layer is applied, the hidden layer including a second input layer to which a second input is applied;
    을 포함하는Containing
    컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable storage medium.
PCT/KR2018/008621 2017-08-25 2018-07-30 Method for generating and learning improved neural network WO2019039758A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0107981 2017-08-25
KR20170107981 2017-08-25

Publications (1)

Publication Number Publication Date
WO2019039758A1 true WO2019039758A1 (en) 2019-02-28

Family

ID=65438959

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/008621 WO2019039758A1 (en) 2017-08-25 2018-07-30 Method for generating and learning improved neural network

Country Status (1)

Country Link
WO (1) WO2019039758A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169256A1 (en) * 2006-05-19 2010-07-01 Inha-Industry Partnership Institute Separate Learning System and Method Using Two-Layered Neural Network Having Target Values for Hidden Nodes
KR20160063965A (en) * 2014-11-27 2016-06-07 삼성전자주식회사 Method for extending structure of neural network, method of dimension reduction, and apparatus thereof
US20160162781A1 (en) * 2013-07-26 2016-06-09 Isis Innovation Ltd. Method of training a neural network
JP2017049907A (en) * 2015-09-04 2017-03-09 国立研究開発法人情報通信研究機構 Neural network, learning method therefor and computer program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169256A1 (en) * 2006-05-19 2010-07-01 Inha-Industry Partnership Institute Separate Learning System and Method Using Two-Layered Neural Network Having Target Values for Hidden Nodes
US20160162781A1 (en) * 2013-07-26 2016-06-09 Isis Innovation Ltd. Method of training a neural network
KR20160063965A (en) * 2014-11-27 2016-06-07 삼성전자주식회사 Method for extending structure of neural network, method of dimension reduction, and apparatus thereof
JP2017049907A (en) * 2015-09-04 2017-03-09 国立研究開発法人情報通信研究機構 Neural network, learning method therefor and computer program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SOO HYUN BAE: "ACOUSTIC SCENE CLASSIFICATION USING PARALLEL COMBINATION OF LSTM AND CNN", DETECTION AND CLASSIFICATION OF ACOUSTIC SCENES AND EVENTS 2016, 3 September 2016 (2016-09-03), pages 1 - 5, XP055579570, Retrieved from the Internet <URL:http://www.cs.tut.fi/sgn/arg/dcase2016/documents/challenge_technical_reports/DCASE2016_Bae_1025.pdf> *

Similar Documents

Publication Publication Date Title
KR101916347B1 (en) Deep learning based image comparison device, method and computer program stored in computer readable medium
WO2018217019A1 (en) Device for detecting variant malicious code on basis of neural network learning, method therefor, and computer-readable recording medium in which program for executing same method is recorded
WO2020005049A1 (en) Learning method for artificial neural network
WO2019039757A1 (en) Method and device for generating training data and computer program stored in computer-readable recording medium
CN110990631A (en) Video screening method and device, electronic equipment and storage medium
WO2022005091A1 (en) Method and apparatus for reading bone age
KR102078133B1 (en) Method for detecting anomaly of data
WO2019098418A1 (en) Neural network training method and device
WO2022164191A1 (en) System and method for microgenre-based hyper-personalization with multi-modal machine learning
CN109858467B (en) Face recognition method and device based on key point region feature fusion
WO2020032506A1 (en) Vision detection system and vision detection method using same
WO2021107422A1 (en) Nonintrusive load monitoring method using energy consumption data
WO2018212584A2 (en) Method and apparatus for classifying class, to which sentence belongs, using deep neural network
WO2022149696A1 (en) Classification method using deep learning model
CN114445684A (en) Method, device and equipment for training lane line segmentation model and storage medium
WO2022075678A2 (en) Apparatus and method for detecting abnormal symptoms of vehicle based on self-supervised learning by using pseudo normal data
KR20190065989A (en) Method, apparatus and computer program stored in computer readable medium for generating training data
WO2024085366A1 (en) Camera movement implementation method using virtual camera
WO2019039758A1 (en) Method for generating and learning improved neural network
KR20200019919A (en) Method for detecting anomaly of data
KR102515935B1 (en) Method of creating training data for neural network model
WO2022114600A1 (en) Medical imaging-based method for detecting white matter lesion
WO2023219237A1 (en) Artificial intelligence-based method for evaluating stand-in
WO2024029669A1 (en) Adversarial image reconstruction system and adversarial image reconstruction method
WO2023075351A1 (en) Artificial intelligence training method for industrial robot

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: 18847980

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: 18847980

Country of ref document: EP

Kind code of ref document: A1