WO2018226014A1 - Electronic device and method for controlling same - Google Patents
Electronic device and method for controlling same Download PDFInfo
- Publication number
- WO2018226014A1 WO2018226014A1 PCT/KR2018/006400 KR2018006400W WO2018226014A1 WO 2018226014 A1 WO2018226014 A1 WO 2018226014A1 KR 2018006400 W KR2018006400 W KR 2018006400W WO 2018226014 A1 WO2018226014 A1 WO 2018226014A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- filter
- electronic device
- pattern
- main pattern
- optimization data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- the present invention relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method for reducing the amount of computation required in the process of performing the learning by the neural network.
- Machine learning a field of artificial intelligence, refers to a technology for researching and building a system and algorithms for predicting the future and improving its performance by collecting and analyzing large-scale big data.
- Neural networks are algorithms in which the active function determines the final output against a specific boundary for a sum multiplied by weights of a plurality of inputs, based on the intention to actively mimic the function of the human brain.
- Consists of Typical examples include a convolutional neural network (CNN), which is frequently used for image recognition, and a recurrent neural network (RNN), which is widely used for speech recognition.
- CNN convolutional neural network
- RNN recurrent neural network
- the present invention has been made to solve the above-described problem, and an object of the present invention is to provide an electronic device and a control method thereof for improving the computation speed and the memory usage in the neural network computation process.
- an electronic device may include input data of the neural network for each filter of a main pattern selected from a plurality of filters generated by a memory and learning by a neural network. And a processor configured to identify operation instructions for filtering and to store the identified operation instructions in the memory.
- the processor may perform the filtering operation by the filter of the main pattern by using the stored operation instruction.
- the filter of the main pattern may be a filter selected in the generated plurality of filters based on the statistical weight of the calculation amount of each pattern for each pattern in which the elements are disposed.
- the processor may select the main pattern based on a frequency for each pattern in which elements are arranged in the generated plurality of filters.
- the electronic device may further include a communication unit, and the processor may transmit the operation command to another electronic device through the communication unit, and the other electronic device may use the operation command to filter the main pattern. Filtering operation can be performed.
- the processor may identify the optimization data in which zero elements are removed from the filter of the selected main pattern and the operation instructions corresponding to the optimization data, and store the checked optimization data and the operation instructions in the memory. have.
- the processor may perform the filtering operation by the filter of the main pattern by using the stored optimization data and operation instructions corresponding to the identification information included in the optimization data.
- the processor transmits the optimization data and the operation command to another electronic device through the communication unit, and the other electronic device uses the operation command corresponding to the received optimization data and the identification information included in the optimization data.
- the filtering operation by the filter of the main pattern can be performed.
- control method of the electronic device checks the operation command for filtering the input data of the neural network for each filter of the main pattern selected from a plurality of filters generated by learning by the neural network And storing the identified operation instruction.
- control method may further include performing a filtering operation by a filter of the main pattern by using the stored operation command.
- the filter of the main pattern may be a filter selected in the generated plurality of filters based on the statistical weight of the calculation amount of each pattern for each pattern in which the elements are disposed.
- the determining may include selecting the main pattern based on a frequency for each pattern in which the elements are arranged in the generated plurality of filters.
- the control method may further include transmitting the stored operation command to another electronic device, and the other electronic device may perform a filtering operation by the filter of the main pattern using the operation command.
- the checking may include identifying the optimized data in which zero elements are removed from the filter of the selected main pattern and the operation instruction corresponding to the optimized data, and storing the optimized data and Operation instructions can be stored.
- the control method may further include performing a filtering operation by the filter of the main pattern by using the stored optimization data and an operation command included in the optimization data.
- the control method may further include transmitting the stored optimization data and a calculation command to another electronic device, wherein the other electronic device uses a calculation command corresponding to the optimization data and identification information included in the optimization data.
- the filtering operation by the filter of the main pattern can be performed.
- the computation speed and the computation amount may be greatly reduced, and the memory usage may also be reduced as compared to the conventional art.
- FIGS. 1A and 1B are block diagrams schematically illustrating a configuration of an electronic device according to different embodiments of the present disclosure
- FIG. 2 is a diagram illustrating a general CNN operation process of performing a classification operation by applying a plurality of filters to input data according to an embodiment of the present invention
- 3A and 3B are views for explaining filters of a main pattern according to an embodiment of the present invention.
- FIG. 4 is a diagram illustrating a structure of optimization data for a filter having an A pattern, which is one of main patterns, according to an embodiment of the present invention
- FIG. 5 is a block diagram schematically illustrating a configuration of another electronic device according to an embodiment of the present disclosure.
- FIG. 6 is a diagram illustrating a machine learning system for receiving a calculation command for a main filter from a server and performing a convolution operation using the same according to an embodiment of the present invention
- FIGS. 7A and 7B are diagrams for describing a method of learning various types of input images and recognizing the input image using the learned data according to one embodiment of the present invention
- FIG. 8 is a flowchart illustrating a method of performing learning by a neural network according to an embodiment of the present invention.
- ordinal numbers such as “first” and “second” may be used to distinguish between components. These ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the terms should not be construed as limited by the use of these ordinal numbers. For example, the components combined with these ordinal numbers should not be construed as limiting the order of use or arrangement of the components. If necessary, the ordinal numbers may be used interchangeably.
- modules are terms for referring to a component that performs at least one function or operation, and such components are referred to as hardware or software. It may be implemented or in a combination of hardware and software.
- a plurality of "modules”, “units”, “parts”, etc. are integrated into at least one module or chip, except that each needs to be implemented as a specific specific hardware, at least one processor It may be implemented as (not shown).
- a part when a part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium.
- the meaning that a part includes a certain component means that it may further include other components, without excluding other components, unless specifically stated otherwise.
- FIGS. 1A and 1B are block diagrams schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
- an electronic device 100 performing learning by a neural network includes a memory 110 and a processor 120.
- the memory 110 is configured to store training data by a neural network.
- the training data may include a plurality of filters generated by learning by the neural network.
- the memory 110 may store data in which preprocessing has been performed on the generated plurality of filters, which will be described later.
- the memory 110 may be implemented as a memory of various formats such as a hard disk drive (HDD), a solid state drive (SSD), a DRAM memory, an SRAM memory, an FRAM memory, or a flash memory.
- HDD hard disk drive
- SSD solid state drive
- DRAM dynamic random access memory
- SRAM static random access memory
- FRAM Fidel random access memory
- flash memory any type of non-volatile memory
- the processor 120 is a component that controls the overall operation of the electronic device 100.
- the processor 120 performs preprocessing on the filters of the main pattern selected from the plurality of filters generated by the learning of the neural network.
- the filter is defined as a matrix of weights as a mask having weights. Filters are also known as windows or kernels.
- the weights constituting the matrix in the filter are composed of zero elements that can be approximated to zero (zero value) or zero, and zero elements having a constant value between 0 and 1, and may have various patterns according to their function.
- the processor 120 may apply a filter having a weight to an input image, and apply the weight of the image and the filter.
- a feature map may be extracted by determining a sum (convolution operation) for each multiplied value as a pixel value of the output image.
- a plurality of input images may be extracted through multiple filters, and a plurality of feature maps may be extracted according to the number of filters.
- Such a convolutional image may be repeated by multiple layers.
- the filters learned according to the learning target of the CNN are different, and the pattern of the selected filters is also changed. That is, the filter to be learned and the filter to be selected vary depending on what the CNN is learning from, cats, puppies, pigs, and cows.
- the processor 120 may determine which type of feature the input original data has by applying a CNN by combining multiple filters that may extract different features.
- the filter of the main pattern is a filter in which non-zero elements are arranged in the main pattern among the plurality of trained filters.
- the filter refers to a filter having a pattern that occupies a frequency more than a predetermined ratio among the filters. This will be described in detail with reference to FIGS. 3A and 3B.
- the preprocessing performed by the processor 120 includes a step of identifying each operation instruction for filtering the input data of the neural network using the filter of the selected main pattern for each filter of the selected main pattern.
- the operation instruction is a command that replaces a convolution operation for filtering input data of the neural network, and may be compiled and identified.
- the confirmed operation instruction may be stored in the memory 110.
- the processor 120 may perform the filtering operation by the filter of the main pattern according to the stored operation instruction.
- the processor 120 may further include an operation module (not shown) for performing a filtering operation.
- the electronic device 100 ′ may further include a communication unit 130, as shown in FIG. 1B, and the processor 120 may enter an operation instruction through the communication unit 130. May transmit to the device 200.
- the other electronic device 200 may include a calculation module, and may perform a filtering operation by a filter of a main pattern using an operation command.
- the communication unit 130 may include Global System for Mobile Communication (GSM), Code Division Multi Access (CDMA), Code Division Multi Access 2000 (CDMA2000), Enhanced Voice-Data Optimized or Enhanced Voice-Data Only (EV-DO), and WCMA ( Other electronic devices in a mobile communication network constructed in accordance with Wideband CDMA (HDSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), etc. 200) can transmit and receive wireless signals.
- GSM Global System for Mobile Communication
- CDMA Code Division Multi Access
- CDMA2000 Code Division Multi Access 2000
- EV-DO Enhanced Voice-Data Optimized or Enhanced Voice-Data Only
- WCMA Other electronic devices in a mobile communication network constructed in accordance with Wideband CDMA (HDSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), Long Term Evolution-Adv
- the communication unit 130 may support Wi-Fi, Bluetooth, Bluetooth, and Wi-Fi Direct, and includes an Ethernet terminal for connection to a wired network. can do.
- the communication unit 130 may transmit a calculation command to the other electronic device 200 by wire, and in this case, may include a connector for wired connection with the other electronic device 200.
- the processor 120 may obtain optimization data from which zero elements are removed from the filter of the selected main pattern, and check an operation instruction for performing a filtering operation according to the obtained optimization data.
- the processor 120 removes zero elements from the filter of the selected main pattern, and generates optimization data for the filter of the main pattern, which is composed of non-zero elements and identification information for identifying the pattern. Can be generated.
- the optimization data has a data structure in which the identification information and the thesis elements are arranged in a line.
- the operation command is an operation module for filtering input data of the neural network, and is a command for causing a specific operation element among a plurality of operation elements included in the operation module to perform a specific operation.
- the plurality of computing elements may be arranged in a predetermined structure to constitute a computing module.
- the operation module may be included in another electronic device 200 that communicates with the electronic device 100 ′, and the electronic device 100 ′ may calculate optimization data and operation instructions stored in the memory 110. It can transmit to another electronic device 100 '.
- the other electronic device 200 may perform the filtering operation of the neural network by the filter of the main pattern by using the optimization data and the operation command received from the electronic device 100 '.
- the processor 120 may store optimization data and arithmetic instructions corresponding to the filter of the main pattern in the memory 110 for each type of the main pattern.
- FIG. 2 illustrates a general CNN calculation process of performing a classification operation by applying a plurality of filters to input data according to an embodiment of the present invention.
- a plurality of filters 22-1 to 22-n may be applied to the input image 21 of the CNN.
- the filters 22-1 to 22-n are different depending on the type of CNN, but generally, 64 to 512 types of filters may be configured.
- the input image 21 may be divided into a plurality of images before being input to the CNN.
- the input image 21 may have a certain depth for expressing the color, and may be composed of three pieces of data represented by, for example, R (red), G (green), and B (blue). have.
- CNN basically has a structure in which a convolutional layer and a pooling layer are repeated.
- a convolutional layer a plurality of feature maps 23-1 to 23-n for the input image 21 are generated based on the number of filters 22-1 to 22-n to be applied.
- a plurality of feature maps are sampled in the pooling layer.
- a plurality of feature maps 24-1 to 24-n having a reduced size may be generated.
- the input image 21 is classified as a specific object by a fully connected layer. 2 shows an example in which the input image 21 is classified as "cat".
- 3A and 3B are diagrams for describing filters of a main pattern according to an embodiment of the present invention.
- a zero element that can be approximated to a zero value or zero value, and a non-zero non-zero non-zero constant element having a constant value between 0 and 1 are arranged based on a form.
- a filter with a certain pattern is used.
- a filter that is used at a particularly high frequency that is, a filter having a main pattern.
- a filter having such a main pattern is widely used regardless of a neural network type, and an image having a high probability can be classified using a filter having such a main pattern. Since the calculation amount for the filter having such a main pattern occupies a statistically high calculation ratio among the total calculation amounts of the neural network, the processing efficiency can be improved by performing preprocessing on the main filters.
- the processor 120 may select a main pattern based on a frequency for each pattern in which elements are disposed in a plurality of filters generated by learning by the neural network. That is, a predetermined number of patterns may be selected as the main pattern in order of a pattern having a relatively high frequency of appearance among the patterns of the plurality of generated filters. In addition, a pattern having a frequency of more than a predetermined number of times among each pattern of the generated plurality of filters may be selected as the main pattern.
- the filter of the main pattern may be selected based on the statistical weight of the calculation amount occupied by each pattern for each pattern in which elements are arranged in the plurality of filters generated by learning by the neural network. That is, a filter having a predetermined number of different main patterns may be selected according to the order in which the ratio of the calculation amount to the total calculation amount required for the processing of the input data is high, wherein the sum of the calculation amounts exceeds a certain ratio or more. Can be selected.
- VGG16 a type of neural network
- the processor 120 may select a filter of 20 patterns that occupy 60% of the computation amount as a filter to perform preprocessing.
- ResNet another kind of neural network
- the processor 120 may select a filter of 20 patterns that occupy 40% of the computation amount as a filter to perform preprocessing.
- the present invention when a filter having a main pattern is applied to the input data, by storing in advance the operation instruction corresponding to the filtering of the input data by the applied filter, according to the convolution operation of the filter of the main pattern The purpose is to reduce the amount of computation.
- the position of the element in the two-dimensional plane (x, y) of the filter has a predetermined pattern, but the target of the pre-processing in 'pattern' unit, not 'filter' unit Can be extended
- the operation instruction for the area in which the main pattern exists may be stored in advance.
- an operation is performed on an area in which a main pattern exists by using a pre-stored operation instruction, and a filtering operation by a conventional convolution is performed on the remaining areas other than the area in which the main pattern exists. It can be included in the technical idea of.
- the operation instruction for the region in which the main pattern exists may be stored in advance.
- FIG. 4 illustrates a structure of optimization data for a filter having an A pattern, which is one of main patterns.
- the A filter applied to the input data may have a data array structure in which a zero element and a zero element included in the A filter are arranged in series.
- the optimization data of the A filter proposed in the present invention includes a tag indicating that the applied filter is an A pattern in the first field area of the data array, and the remaining field areas are A filter. Has the structure of only elements.
- the tag functions as identification information for identifying the A pattern.
- the optimization data is a structure in which all zero elements are removed from the existing data array structure and only a tag indicating a type of a pattern is added.
- FIG. 5 is a block diagram schematically illustrating a configuration of another electronic device according to an embodiment of the present disclosure.
- the other electronic device 200 is configured to apply the training data received from the electronic device 100 'to the CNN to generate output data that is determined or predicted from the input data.
- the electronic device 100 ' will be referred to as a first electronic device and another electronic device 200 as a second electronic device.
- the second electronic device 200 includes a communication unit 210, a calculation module 220, a memory 230, and a processor 240.
- the communication unit 210 is configured to communicate with the first electronic device 100 ′ that performs learning by the neural network.
- the second electronic device 200 may receive an operation command of a filter selected by the first electronic device 100 ′ from the first electronic device 100 through the communication unit 210.
- the second electronic device 200 may receive an operation command corresponding to the optimization data and the optimization data of the selected filter from the first electronic device 100 ′.
- the communication unit 210 may receive the updated operation command whenever the operation command is updated according to the learning of the first electronic device 100 ′.
- the communication unit 210 of the second electronic device 200 updates the optimization data of the main filter and the operation command corresponding to the optimization data according to the learning of the first electronic device 100 ′. It may receive updated optimization data and operation instructions.
- the communication unit 210 may include Global System for Mobile Communication (GSM), Code Division Multi Access (CDMA), Code Division Multi Access 2000 (CDMA2000), Enhanced Voice-Data Optimized or Enhanced Voice-Data Only (EV-DO), and WCMA (The first electronic device in a mobile communication network established in accordance with Wideband CDMA, High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), etc.
- the wireless signal may be transmitted and received at 100 '.
- the communication unit 210 may support Wi-Fi, Bluetooth, Bluetooth, and Wi-Fi Direct.
- the calculation module 220 includes a plurality of processing elements (PEs) arranged in a predetermined structure, and is configured to perform calculation by sharing data between adjacent calculation elements.
- the PE may be arranged in a structure of various types of networks, such as a mesh topology network and a tree topology network.
- the memory 230 is a component that stores data in which preprocessing has been performed on filters of a main pattern.
- the memory 230 stores optimization data for the filter of the main pattern and an operation command corresponding to the optimization data, received from the first electronic device 100 ′.
- the memory 230 may be implemented as a memory of various formats such as a hard disk drive (HDD), a solid state drive (SSD), a DRAM memory, an SRAM memory, an FRAM memory, or a flash memory.
- HDD hard disk drive
- SSD solid state drive
- DRAM dynamic random access memory
- SRAM static random access memory
- FRAM Fidel random access memory
- flash memory any type of non-volatile memory
- the processor 240 is a component that controls the overall operation of the second electronic device 200.
- the processor 240 receives a filter of a main pattern among a plurality of filters generated by learning of a neural network from the first electronic device 100 ′, and calculates an operation command corresponding to the main pattern, that is, a filter of the main pattern.
- the communicator 230 may control the communicator 230 to receive an operation command for filtering input data of the neural network.
- the processor 240 stores the received acid instruction in the memory 230.
- the filter of the main pattern is preprocessed into the optimization data in the first electronic device 100 'and receives an operation command corresponding to the optimization data and the optimization data from the first electronic device 100', the optimization data and the optimization data.
- the operation instruction corresponding to the is stored in the memory 230.
- the processor 240 may identify the operation command corresponding to the main pattern to be applied among the operation instructions stored in the memory 230.
- the processor 240 derives an operation value based on the input data and the preprocessed optimization data according to the confirmed operation instruction.
- the processor 240 controls the operation module 220 to acquire an operation instruction corresponding to the identification information from the memory and perform a filtering operation according to the acquired operation instruction, based on the identification information included in the optimization data. can do.
- the processor 240 may obtain an operation command corresponding to the identification information included in the optimization data from the memory 230 and control the operation module 220 to perform a filtering operation according to the obtained operation command.
- the derived arithmetic value will generally be the same as the arithmetic value whose input data is filtered based on the convolution arithmetic by a filter of a preset pattern.
- FIG. 6 illustrates a machine learning system that receives an operation command for a main filter from a first electronic device and performs a convolution operation using the same, according to an embodiment of the present disclosure.
- the first electronic device 100 ′ performing the learning by the neural network is a server, and the second electronic device 200 performing a filtering operation on the input data using the data learned by the first electronic device.
- a filter composed of a main pattern is called a main filter.
- the server 100 ′ is configured to perform preprocessing on the main filter, and generates optimization data and operation instructions corresponding to the main filter.
- the server 100 ′ includes a memory 110, a processor 120, and a communication unit 130.
- the processor 120 learns a plurality of filters applied to the neural network, selects a main filter among the learned plurality of filters, and stores the selected filter in the memory 110.
- the processor 120 may select at least one filter having a predetermined pattern as the main filter in order of the frequency of the pattern among the learned filters. For example, as shown in FIG. 6, the processor 120 may store the first data to the third data learned for the first to third filters, which are main filters, in the memory 110.
- the processor 120 may generate first to third optimized data, respectively, in which the first to third filters are optimized using a data analysis software tool.
- the first to third optimization data each include a tag indicating a pattern type of the first to third filters determined according to the arrangement pattern of the zero elements included in each of the first to third filters.
- the first to third optimization data may be data from which zero elements included in the filter are removed.
- the number of bits occupied by the first to third optimization data may be smaller than that of the original learned data. That is, in this case, since the first to third optimization data only include tags indicating the pattern type of the element and the filter, the number of bits occupied in comparison with the original learned data occupying a certain number of bits, regardless of the type of filter. Can be saved.
- the number of bits representing the optimization data may be differently determined depending on the value of the element.
- the nonzero elements at positions '1', '4', and '7' in the first optimization data may be represented by 8 bits, which are the optimal number of bits for representing each element.
- the zero elements at positions '1' and '9' in the second optimization data may be represented by 16 bits, which is an optimal number of bits for representing each zero element.
- the processor 120 may generate first to third operation instructions, which are operation instructions for the first to third filters, based on the first to third optimization data.
- the operation command is a command for causing the operation element determined according to the main pattern among the plurality of operation elements included in the operation module 220 included in the user device 200 to perform the operation determined according to the main pattern.
- the first to third operation instructions may be determined according to the pattern type of the first to third filters.
- the processor 120 may transmit the first to third optimization data and the first to third operation instructions to the user device 200 through the communication unit 130.
- the user device 200 may receive first to third optimization data and first to third operation instructions through a communication unit.
- the processor 240 may store the received first to third optimization data and the first to third operation instructions in the memory 230.
- the first to third optimization data and the first to third operation instructions may be separately stored in different areas (data memory, operation instruction memory) of the memory 230.
- the first to third optimization data stored in the memory 230 are input to the calculation module 220, and the calculation module 220 applies the first to third optimization data to the input image, respectively.
- An operation according to the third operation instruction may be performed.
- the processor 240 performs a filtering operation by convolution by using a calculation element determined by the first to third calculation instructions for each of the first to third optimization data among the plurality of calculation elements included in the calculation module 220. Do this.
- the processor 240 may receive the updated first to third optimization data from the server 100' and perform an update.
- the processor 240 may receive the optimization data and the operation instruction for the changed main filter and perform an update.
- FIGS. 7A and 7B are diagrams for describing a method of learning various types of input images and recognizing the input image using the learned data, according to an exemplary embodiment.
- the processor 240 of the second electronic device 200 may control the operation module 220 to perform an operation according to the CNN algorithm for image recognition, and may include “cat” and “squirrel”. Recognition of various animal images such as ",” deer “,” dog “can be performed.
- the optimization data learned about the main pattern may be stored in advance in the memory 230 of the second electronic device 200.
- the optimization data may include, for example, respective data for the tag and the topic element indicating the type of the main pattern of the filter, each consisting of an A pattern, a B pattern and a C pattern.
- the memory 230 may store operation instructions corresponding to tags representing the A pattern, the B pattern, and the C pattern type, respectively.
- the calculation module 220 When the image data is input to the calculation module 220, filters of various patterns are applied to the image data. With respect to the filter of the main pattern, the calculation module 220 performs a calculation using the learned optimization data and calculation instructions. Done.
- the processor 240 selects a filter of at least one A pattern from among the plurality of learned filters used for filtering the image data, and applies the preprocessing data for the filter of the A pattern when applying the filter of the selected A pattern to the image data. Use That is, when the filter of the A pattern is applied to the image data, the processor 240 inputs a logical element included in the optimization data corresponding to the filter of the A pattern to the calculation module 110.
- the processor 240 may extract an operation instruction corresponding to the A pattern from the memory 230 based on a tag indicating the type of the A pattern.
- the processor 240 may input the extracted operation command to the operation module 220 to control the filtering operation by the filter including the A pattern to be performed.
- the processor 240 may rearrange a plurality of filters (learned data) to be sequentially applied to the calculation module 220 for each filter of a main pattern. Specifically, referring to FIG. 7B, the processor 240 selects the filters 71 of the plurality of A patterns from the plurality of filters generated by the learning. Since the result of performing the filtering operation is not influenced by the order of the filters due to the characteristics of the convolution operation, the processor 240 may apply the plurality of filters such that the selected plurality of A filters 71 are preferentially applied to the calculation module 220. Can be rearranged.
- the processor 240 acquires the operation instruction corresponding to the A pattern from the memory 230 only once, and collectively performs the filtering operation by the filter 71 of the plurality of A patterns of the same pattern by using the acquired operation instruction. Can be handled as In this manner, the processor 240 selects and rearranges each of the plurality of B-pattern filters 72 and the C-pattern filter 73 for each of the same patterns among the plurality of filters sequentially applied to the filtering of the input data, and B Only one operation instruction corresponding to the filter 72 of the pattern 72 and the filter 73 of the C pattern is obtained once, and the filtering operations of the filter 72 of the B pattern and the filter 73 of the C pattern are collectively processed. can do.
- the processor 240 may reduce the load and the decrease in the operation speed caused by repeatedly loading the operation instruction from the memory 230.
- FIG. 8 is a flowchart illustrating a control method of a first electronic device according to an embodiment of the present disclosure.
- an operation instruction for filtering input data of a neural network is checked for each filter of a main pattern selected from a plurality of filters generated by learning by the neural network (S1110).
- the filter of the main pattern may be a filter selected based on the statistical weight of the calculation amount of each pattern for each of the patterns in which the elements are arranged in the generated plurality of filters.
- the main pattern may be selected based on the frequency for each pattern in which the elements are arranged in a topic.
- the plurality of filters generated by the learning may be different depending on the learning target of the neural network.
- an operation command for filtering the input data of the neural network is checked for each filter of the selected main pattern (S820).
- the optimization data in which zero elements are removed from the filter of the selected main pattern and the operation instruction corresponding to the optimization data may be checked.
- the filtering operation by the filter of the main pattern may be performed according to the stored operation command.
- the stored operation command may be transmitted to the second electronic device.
- the second electronic device may filter input data of the neural network by using an operation command.
- the neural network learning method may be implemented as a program and stored in various recording media. That is, a computer program processed by various processors and capable of executing the various display methods described above may be used in a state stored in a recording medium.
- the method may further include verifying an operation command for filtering input data of the neural network for each filter of a main pattern selected from a plurality of filters generated by learning by the neural network, and storing the identified operation command.
- a non-transitory computer readable medium in which a program is stored may be provided.
- Non-transitory readable medium A medium that stores data for a short time, such as registers, caches, memories, etc., but semi-permanently, and means a medium that can be read by a device.
- the various applications or programs described above may be stored and provided in a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk USB, a memory card, a ROM, or the like.
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
Description
본 발명은 전자 장치 및 그 제어 방법에 관한 것으로, 보다 상세하게는 뉴럴 네트워크에 의한 학습을 수행하는 과정에서 요구되는 연산량을 감소시키기 위한 전자 장치 및 그 제어 방법에 관한 것이다.The present invention relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method for reducing the amount of computation required in the process of performing the learning by the neural network.
인공지능의 한 분야인 머신 러닝(machine learning)은 대규모의 빅데이터를 수집 및 분석하여 미래를 예측하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술을 의미한다.Machine learning, a field of artificial intelligence, refers to a technology for researching and building a system and algorithms for predicting the future and improving its performance by collecting and analyzing large-scale big data.
최근, 하드웨어 기술의 발전에 힘입어 빅데이터의 수집과 저장이 가능해지고, 이를 분석하는 컴퓨터 능력과 기술이 정교해지고 빨라짐에 따라, 인간처럼 사물을 인식하고 정보를 이해할 수 있는 알고리즘인 머신러닝에 대한 연구가 활발히 진행되고 있다. 특히, 머신 러닝 기술분야에서도 뉴럴 네트워크(neural network)를 이용한 자율학습 방식의 딥 러닝에 대한 연구가 활발하다.Recently, with the development of hardware technology, it is possible to collect and store big data, and as computer skills and technology for analyzing it become more sophisticated and faster, it is possible to learn about machine learning, an algorithm that can recognize things and understand information like humans. Research is actively underway. In particular, in the field of machine learning technology, research on deep learning of self-learning method using neural network is active.
뉴럴 네트워크는 인간의 뇌의 기능을 적극적으로 모방하려는 의도에 기초하여, 복수의 입력에 가중치를 곱한 총합에 대하여 활성 함수가 특정 경계값과 비교하여 최종 출력을 결정하는 알고리즘으로, 일반적으로 복수의 레이어로 구성되어 있다. 이미지 인식에 많이 이용되는 컨볼루셔널 뉴럴 네트워크(Convolutional Neural Network, 이하 CNN), 음성 인식에 많이 이용되는 리커런트 뉴럴 네트워크(Recurrent Neural Network, 이하 RNN) 등이 대표적이다.Neural networks are algorithms in which the active function determines the final output against a specific boundary for a sum multiplied by weights of a plurality of inputs, based on the intention to actively mimic the function of the human brain. Consists of Typical examples include a convolutional neural network (CNN), which is frequently used for image recognition, and a recurrent neural network (RNN), which is widely used for speech recognition.
그러나, 기존의 CNN에서는 기본적으로 콘볼루션에 의한 필터링 연산이 수행되므로, 복수 개의 필터가 입력 데이터에 적용됨에 따라 많은 연산이 필요하다. 즉, 피쳐맵 생성을 위한 콘볼루션 연산의 반복에 따라, 수없이 많은 연산량과 대용량의 뉴럴 네트워크 파라미터가 요구되므로 이는 곧, 연산 속도의 저하와 메모리 사용의 비효율성의 문제로 귀결되었다.However, in the conventional CNN, since a filtering operation by convolution is basically performed, many operations are required as a plurality of filters are applied to the input data. In other words, the repetition of convolution operations for generating feature maps requires a great deal of computation and large neural network parameters, which results in a problem of reduced computation speed and inefficiency of memory usage.
따라서, 머신러닝에 있어서, 이러한 연산의 부담을 감소시키기 위한 방안이 요구되고 있다.Therefore, in machine learning, there is a demand for a method for reducing the burden of these operations.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 뉴럴네트워크의 연산 과정에 있어서, 연산속도 및 메모리의 사용량을 개선시키기 위한 전자 장치 및 그 제어 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and an object of the present invention is to provide an electronic device and a control method thereof for improving the computation speed and the memory usage in the neural network computation process.
상술한 문제점을 해결하기 위한 본 발명의 일 실시 예에 따른, 전자 장치는 메모리 및, 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터에서 선정된 주요 패턴의 필터 별로, 상기 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 확인하고, 상기 확인된 연산 명령어를 상기 메모리에 저장하는 프로세서를 포함한다.According to an embodiment of the present disclosure, an electronic device may include input data of the neural network for each filter of a main pattern selected from a plurality of filters generated by a memory and learning by a neural network. And a processor configured to identify operation instructions for filtering and to store the identified operation instructions in the memory.
이때, 프로세서는 상기 저장된 연산 명령어를 이용하여, 상기 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.In this case, the processor may perform the filtering operation by the filter of the main pattern by using the stored operation instruction.
또한, 상기 주요 패턴의 필터는 상기 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별로 각 패턴이 차지하는 연산량의 통계적인 비중에 기초하여 선정된 필터일 수 있다.The filter of the main pattern may be a filter selected in the generated plurality of filters based on the statistical weight of the calculation amount of each pattern for each pattern in which the elements are disposed.
또한, 상기 프로세서는 상기 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별 빈도에 기초하여 상기 주요 패턴을 선정할 수 있다.The processor may select the main pattern based on a frequency for each pattern in which elements are arranged in the generated plurality of filters.
또한, 상기 전자 장치는 통신부를 더 포함하고, 상기 프로세서는, 상기 통신부를 통해, 상기 연산 명령어를 타 전자 장치로 전송하며, 상기 타 전자 장치는, 상기 연산 명령어를 이용하여 상기 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.The electronic device may further include a communication unit, and the processor may transmit the operation command to another electronic device through the communication unit, and the other electronic device may use the operation command to filter the main pattern. Filtering operation can be performed.
또한, 상기 프로세서는 상기 선정된 주요 패턴의 필터에서 제로(zero) 엘리먼트가 제거된 최적화 데이터 및 상기 최적화 데이터에 대응되는 연산 명령어를 확인하고, 상기 확인된 최적화 데이터 및 연산 명령어를 상기 메모리에 저장할 수 있다.The processor may identify the optimization data in which zero elements are removed from the filter of the selected main pattern and the operation instructions corresponding to the optimization data, and store the checked optimization data and the operation instructions in the memory. have.
또한, 상기 프로세서는 상기 저장된 최적화 데이터 및 상기 최적화 데이터에 포함된 식별 정보에 대응되는 연산 명령어를 이용하여, 상기 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.The processor may perform the filtering operation by the filter of the main pattern by using the stored optimization data and operation instructions corresponding to the identification information included in the optimization data.
또한, 상기 프로세서는 상기 통신부를 통해, 상기 최적화 데이터 및 연산 명령어를 타 전자 장치로 전송하며, 상기 타 전자 장치는 상기 수신된 최적화 데이터 및 상기 최적화 데이터에 포함된 식별 정보에 대응되는 연산 명령어를 이용하여, 상기 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.Also, the processor transmits the optimization data and the operation command to another electronic device through the communication unit, and the other electronic device uses the operation command corresponding to the received optimization data and the identification information included in the optimization data. Thus, the filtering operation by the filter of the main pattern can be performed.
한편, 본 발명의 일 실시 예에 따른 전자 장치의 제어 방법은 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터에서 선정된 주요 패턴의 필터 별로 상기 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 확인하는 단계 및 상기 확인된 연산 명령어를 저장하는 단계를 포함한다.On the other hand, the control method of the electronic device according to an embodiment of the present invention checks the operation command for filtering the input data of the neural network for each filter of the main pattern selected from a plurality of filters generated by learning by the neural network And storing the identified operation instruction.
이때, 상기 제어 방법은 상기 저장된 연산 명령어를 이용하여, 상기 주요 패턴의 필터에 의한 필터링 연산을 수행하는 단계를 더 포함할 수 있다.In this case, the control method may further include performing a filtering operation by a filter of the main pattern by using the stored operation command.
또한, 상기 주요 패턴의 필터는 상기 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별로 각 패턴이 차지하는 연산량의 통계적인 비중에 기초하여 선정된 필터일 수 있다.The filter of the main pattern may be a filter selected in the generated plurality of filters based on the statistical weight of the calculation amount of each pattern for each pattern in which the elements are disposed.
또한, 상기 확인하는 단계는 상기 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별 빈도에 기초하여 상기 주요 패턴을 선정할 수 있다.The determining may include selecting the main pattern based on a frequency for each pattern in which the elements are arranged in the generated plurality of filters.
또한, 상기 제어 방법은 상기 저장된 연산 명령어를 타 전자 장치로 전송하는 단계를 더 포함하고, 상기 타 전자 장치는 상기 연산 명령어를 이용하여 상기 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.The control method may further include transmitting the stored operation command to another electronic device, and the other electronic device may perform a filtering operation by the filter of the main pattern using the operation command.
또한, 상기 확인하는 단계는 상기 선정된 주요 패턴의 필터에서 제로(zero) 엘리먼트가 제거된 최적화 데이터 및 상기 최적화 데이터에 대응되는 연산 명령어를 확인하고, 상기 저장하는 단계는, 상기 확인된 최적화 데이터 및 연산 명령어를 저장할 수 있다.The checking may include identifying the optimized data in which zero elements are removed from the filter of the selected main pattern and the operation instruction corresponding to the optimized data, and storing the optimized data and Operation instructions can be stored.
또한, 상기 제어 방법은 상기 저장된 최적화 데이터 및 상기 최적화 데이터에 포함된 연산 명령어를 이용하여, 상기 주요 패턴의 필터에 의한 필터링 연산을 수행하는 단계를 더 포함할 수 있다.The control method may further include performing a filtering operation by the filter of the main pattern by using the stored optimization data and an operation command included in the optimization data.
또한, 상기 제어 방법은 상기 저장된 최적화 데이터 및 연산 명령어를 타 전자 장치로 전송하는 단계를 더 포함하고, 상기 타 전자 장치는 상기 최적화 데이터 및 상기 최적화 데이터에 포함된 식별 정보에 대응되는 연산 명령어를 이용하여, 상기 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.The control method may further include transmitting the stored optimization data and a calculation command to another electronic device, wherein the other electronic device uses a calculation command corresponding to the optimization data and identification information included in the optimization data. Thus, the filtering operation by the filter of the main pattern can be performed.
상술한 본 발명의 다양한 실시 예에 따르면, 머신 러닝에 필요한 연산에 있어서, 연산 속도 및 연산량을 크게 감소시킬 수 있으며, 메모리 사용량 또한 기존에 비해 감소시킬 수 있는 효과가 있다.According to various embodiments of the present disclosure, in the computation required for machine learning, the computation speed and the computation amount may be greatly reduced, and the memory usage may also be reduced as compared to the conventional art.
도 1a 및 1b는 본 발명의 서로 다른 실시 예에 따른, 전자 장치의 구성을 간략히 도시한 블록도,1A and 1B are block diagrams schematically illustrating a configuration of an electronic device according to different embodiments of the present disclosure;
도 2는 본 발명의 일 실시 예에 따른, 입력 데이터에 복수의 필터를 적용하여 분류 동작을 수행하는 일반적인 CNN의 연산 과정을 도시한 도면,2 is a diagram illustrating a general CNN operation process of performing a classification operation by applying a plurality of filters to input data according to an embodiment of the present invention;
도 3a 및 3b는 본 발명의 일 실시 예에 따른, 주요 패턴의 필터들을 설명하기 위한 도면,3A and 3B are views for explaining filters of a main pattern according to an embodiment of the present invention;
도 4는 본 발명의 일 실시 예에 따른, 주요 패턴 중 하나인 A 패턴을 가지는 필터에 대한 최적화 데이터의 구조를 도시한 도면,4 is a diagram illustrating a structure of optimization data for a filter having an A pattern, which is one of main patterns, according to an embodiment of the present invention;
도 5는 본 발명의 일 실시 예에 따른, 타 전자 장치의 구성을 간략히 도시한 블록도,5 is a block diagram schematically illustrating a configuration of another electronic device according to an embodiment of the present disclosure;
도 6은 본 발명의 일 실시 예에 따른, 서버로부터 주요 필터에 대한 연산 명령어를 수신하고, 이를 이용하여 콘볼루션 연산을 수행하는 머신 러닝 시스템을 나타낸 도면,6 is a diagram illustrating a machine learning system for receiving a calculation command for a main filter from a server and performing a convolution operation using the same according to an embodiment of the present invention;
도 7a 및 7b는 본 발명의 일 실시 예에 따른, 여러 가지 종류의 입력 이미지를 학습하고, 학습된 데이터를 이용하여 입력 이미지를 인식하는 방법을 설명하기 위한 도면,7A and 7B are diagrams for describing a method of learning various types of input images and recognizing the input image using the learned data according to one embodiment of the present invention;
도 8은 본 발명의 일 실시 예에 따른, 뉴럴 네트워크에 의한 학습을 수행하는 방법을 설명하기 위한 흐름도이다.8 is a flowchart illustrating a method of performing learning by a neural network according to an embodiment of the present invention.
--
본 발명에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Before describing this invention concretely, the description method of this specification and drawing is demonstrated.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어일 수 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.First, terms used in the present specification and claims are selected from general terms in consideration of functions in various embodiments of the present invention. However, these terms may vary depending on the intention of a person skilled in the art, legal or technical interpretation, and the emergence of new technology. In addition, some terms may be arbitrarily selected by the applicant. Such terms may be interpreted in the meanings defined herein, and may be interpreted based on the general contents of the present specification and common technical knowledge in the art without specific term definitions.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조 번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명하도록 한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성 요소를 모두 도시하고 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.In addition, the same reference numerals or symbols described in each drawing attached to the present specification represent parts or components that perform substantially the same function. For convenience of explanation and understanding, different embodiments will be described using the same reference numerals or symbols. That is, although all the components having the same reference numerals are shown in the plurality of drawings, the plurality of drawings does not mean an embodiment.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 “제1”, “제2” 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성 요소들을 서로 구별하기 위하여 사용하는 것이며, 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안될 것이다. 일 예로, 이러한 서수와 결합된 구성 요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한 해석되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.In addition, in the present specification and claims, terms including ordinal numbers such as “first” and “second” may be used to distinguish between components. These ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the terms should not be construed as limited by the use of these ordinal numbers. For example, the components combined with these ordinal numbers should not be construed as limiting the order of use or arrangement of the components. If necessary, the ordinal numbers may be used interchangeably.
본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, “포함하다” 또는 “구성하다” 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.As used herein, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise. In this application, the terms “comprise” or “comprise” are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described on the specification, one or more other It is to be understood that the present invention does not exclude the possibility of the presence or the addition of features, numbers, steps, operations, components, components, or a combination thereof.
본 발명의 실시 예에서 “모듈”, “유닛”, “부(Part)” 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성 요소를 지칭하기 위한 용어이며, 이러한 구성 요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수도 있다. 또한, 복수의 “모듈”, “유닛”, “부(part)” 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.In an embodiment of the present invention, terms such as “module”, “unit”, “part”, etc. are terms for referring to a component that performs at least one function or operation, and such components are referred to as hardware or software. It may be implemented or in a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except that each needs to be implemented as a specific specific hardware, at least one processor It may be implemented as (not shown).
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.In addition, in an embodiment of the present invention, when a part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium. In addition, the meaning that a part includes a certain component means that it may further include other components, without excluding other components, unless specifically stated otherwise.
이하, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
*도 1a 및 1b는 본 발명의 일 실시 예에 따른, 전자 장치의 구성을 간략히 도시한 블록도이다.1A and 1B are block diagrams schematically illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
도 1a를 참조하면, 뉴럴 네트워크(neural network)에 의한 학습을 수행하는 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.Referring to FIG. 1A, an
메모리(110)는 뉴럴 네트워크에 의한 학습 데이터를 저장하는 구성이다. 여기서, 학습 데이터는 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터를 포함할 수 있다. 이때, 메모리(110)는 생성된 복수의 필터에 대하여 전처리가 수행된 데이터를 저장할 수 있으며, 이에 대하여는 후술하도록 한다.The
메모리(110)는 HDD(Hard Disk Drive), SSD(Solid State Drive), DRAM 메모리, SRAM 메모리, FRAM 메모리 또는 플래시 메모리 등 다양한 포맷의 메모리로 구현될 수 있다.The
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어하는 구성이다. 프로세서(120)는 뉴럴 네트워크의 학습에 의해 생성된 복수의 필터에서 선정된 주요 패턴의 필터에 대하여 전처리를 수행한다.The
여기서, 필터는 가중치를 갖는 마스크로서 가중치의 행렬로 정의된다. 필터는 윈도우(windows) 또는 커널(kernel)이라고도 한다. 필터에서 행렬을 구성하는 가중치는 0(zero value) 또는 0으로 근사될 수 있는 제로 엘리먼트 및 0과 1 사이의 일정한 값을 갖는 논제로 엘리먼트로 구성되며, 그 기능에 따라 다양한 패턴을 가질 수 있다.Here, the filter is defined as a matrix of weights as a mask having weights. Filters are also known as windows or kernels. The weights constituting the matrix in the filter are composed of zero elements that can be approximated to zero (zero value) or zero, and zero elements having a constant value between 0 and 1, and may have various patterns according to their function.
뉴럴 네트워크가 이미지를 인식하기 위한 콘볼루션 뉴럴 네트워크(Convolution Neural Network, 이하 CNN)로 구현되는 경우를 예로 들면, 프로세서(120)는 가중치를 갖는 필터를 입력되는 영상에 씌우고, 영상과 필터의 가중치를 각각 곱한 값에 대한 합(콘볼루션 연산)을 출력영상의 픽셀값으로 결정하여 피쳐맵(feature map)을 추출할 수 있다. 입력 영상은 강인한 특징을 추출하기 위해 다중 필터를 통해 복수 개로 추출될 수 있으며, 필터의 개수에 따라 복수 개의 피쳐 맵이 추출될 수 있다. 이와 같은 콘볼루션 영상은 다중 레이어에 의해 반복될 수 있다. 이때, CNN의 학습 대상에 따라 학습되는 필터들이 달라지며, 선정되는 필터들의 패턴 또한 달라지게 된다. 즉, CNN의 학습 대상이 고양이, 강아지, 돼지, 소 등 무엇인지에 따라, 학습되는 필터 및 선정되는 필터가 달라진다. For example, when the neural network is implemented as a convolutional neural network (CNN) for recognizing an image, the
이와 같이 프로세서(120)는 각기 다른 특징을 추출할 수 있는 다중 필터를 조합하여 CNN에 적용함으로써, 입력되는 원본 데이터가 어떤 형태의 특징을 가지고 있는지 판단할 수 있다.In this way, the
한편, 주요 패턴의 필터는 학습된 복수의 필터 중 논제로(non-zero) 엘리먼트가 주요한 패턴으로 배치된 필터로서, 필터링 연산 과정에서 기설정된 비율 이상의 연산량을 차지하는 패턴으로 이루어진 필터 또는 학습된 복수의 필터 중 기설정된 비율 이상의 빈도를 차지하는 패턴으로 이루어진 필터를 의미한다. 이에 대하여는 도 3a 및 3b를 참조하여 구체적으로 설명하도록 한다.On the other hand, the filter of the main pattern is a filter in which non-zero elements are arranged in the main pattern among the plurality of trained filters. The filter refers to a filter having a pattern that occupies a frequency more than a predetermined ratio among the filters. This will be described in detail with reference to FIGS. 3A and 3B.
한편, 프로세서(120)가 수행하는 전처리는 선정된 주요 패턴의 필터 별로, 선정된 주요 패턴의 필터를 이용하여 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 각각 확인하는 과정을 포함한다. 연산 명령어는 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 콘볼루션 연산을 대체하는 명령어로서, 컴파일링되어 식별될 수 있다. 확인된 연산 명령어는 메모리(110)에 저장될 수 있다.On the other hand, the preprocessing performed by the
프로세서(120)는 저장된 연산 명령어에 따라, 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다. 이를 위하여, 일 실시 예에 따른 프로세서(120)는 필터링 연산을 수행하기 위한 연산 모듈(미도시)을 더 포함할 수 있다.The
또한, 다른 실시 예에 따른 전자 장치(100’)는 도 1b에 도시된 바와 같이, 통신부(130)를 더 포함할 수 있고, 프로세서(120)는 통신부(130)를 통해, 연산 명령어를 타 전자 장치(200)로 전송할 수 있다. 타 전자 장치(200)는 연산 모듈을 포함하며, 연산 명령어를 이용하여 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.In addition, the
통신부(130)는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등에 따라 구축된 이동 통신망에서 타 전자 장치(200)와 무선 신호를 송수신할 수 있다.The
또한, 통신부(130)는 와이파이(Wi-Fi), 블루투스(Blue-tooth), 와이파이 다이렉트(Wi-Fi Direct) 등을 지원할 수 있으며, 유선 네트워크와의 접속을 위해 이더넷(Ethernet) 단자 등을 포함할 수 있다.In addition, the
또한, 통신부(130)는 타 전자 장치(200)와 유선으로 연산 명령어를 전송할 수도 있으며, 이 경우, 타 전자 장치(200)와 유선으로 연결되기 위한 커넥터를 포함할 수 있다.In addition, the
한편, 프로세서(120)는 선정된 주요 패턴의 필터에서 제로(zero) 엘리먼트가 제거된 최적화 데이터를 획득하고, 획득한 최적화 데이터에 따라 필터링 연산을 수행하기 위한 연산 명령어를 확인할 수 있다. 프로세서(120)는 선정된 주요 패턴의 필터에서 제로(zero) 엘리먼트를 제거하고, 논제로(non-zero) 엘리먼트 및 패턴을 식별할 수 있는 식별 정보로 이루어진, 주요 패턴의 필터에 대한 최적화 데이터를 생성할 수 있다. 이때, 최적화 데이터는 식별 정보 및 논제로 엘리먼트가 일렬로 배열된 데이터 구조를 가진다.Meanwhile, the
또한, 연산 명령어는 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 모듈에 있어서, 연산 모듈에 포함된 복수의 연산 소자 중 특정 연산 소자가 특정 연산을 수행하도록 하는 명령어이다. 복수의 연산 소자는 기 설정된 구조로 배열되어 연산 모듈을 구성할 수 있다.In addition, the operation command is an operation module for filtering input data of the neural network, and is a command for causing a specific operation element among a plurality of operation elements included in the operation module to perform a specific operation. The plurality of computing elements may be arranged in a predetermined structure to constitute a computing module.
이러한 연산 모듈은 상술한 바와 같이, 전자 장치(100’)와 통신을 수행하는 타 전자 장치(200)에 포함될 수 있고, 전자 장치(100’)는 메모리(110)에 저장된 최적화 데이터 및 연산 명령어를 타 전자 장치(100’)로 전송할 수 있다. 타 전자 장치(200)는 전자 장치(100’)로부터 수신된 최적화 데이터 및 연산 명령어를 이용하여, 주요 패턴의 필터에 의한 뉴럴 네트워크의 필터링 연산을 수행할 수 있다.As described above, the operation module may be included in another
한편, 프로세서(120)는 주요 패턴의 유형별로, 주요 패턴의 필터에 대응되는 최적화 데이터 및 연산 명령어를 메모리(110)에 각각 저장할 수 있다.Meanwhile, the
도 2는 본 발명의 일 실시 예에 따른, 입력 데이터에 복수의 필터를 적용하여 분류 동작을 수행하는 일반적인 CNN의 연산 과정을 도시한 것이다.FIG. 2 illustrates a general CNN calculation process of performing a classification operation by applying a plurality of filters to input data according to an embodiment of the present invention.
도 2에 도시된 바와 같이, CNN의 입력 이미지(21)에 복수 개의 필터(22-1 ~ 22-n)가 적용될 수 있다. 이때, 필터(22-1 ~ 22-n)는 CNN의 종류에 따라 차이는 있으나, 일반적으로 64개 내지 512개 종류의 필터로 구성될 수 있다. 한편, 입력 이미지(21)는 CNN에 입력되기 전에 복수 개의 이미지로 분할되어 입력될 수도 있다.As shown in FIG. 2, a plurality of filters 22-1 to 22-n may be applied to the
여기서, 입력 이미지(21)는 색상을 표현하기 위한 일정한 뎁스(depth)를 가질 수 있으며, 예를 들어 R(red), G(green), B(blue)로 표현되는 3개의 데이터로 구성될 수 있다.Here, the
CNN은 기본적으로 콘볼루셔널 레이어(convolutional layer)와 풀링 레이어(pooling layer)가 반복되는 구조를 가진다. 콘볼루셔널 레이어에서는, 적용되는 필터(22-1 ~ 22-n)의 개수에 기초하여, 입력 이미지(21)에 대한 복수 개의 피쳐맵(23-1 ~ 23-n)이 생성되며, 생성된 복수 개의 피쳐맵은 풀링 레이어에서 샘플링된다. 이러한 과정이 반복됨에 따라 크기가 감소된 복수 개의 피쳐맵(24-1 ~ 24-n)이 생성될 수 있다. 최종적으로는 풀리 커넥티드 레이어(fully connected layer)에 의해 입력 이미지(21)가 특정 대상으로 분류되게 된다. 도 2는 입력 이미지(21)가 "고양이(cat)"으로 분류된 예를 나타낸 것이다.CNN basically has a structure in which a convolutional layer and a pooling layer are repeated. In the convolutional layer, a plurality of feature maps 23-1 to 23-n for the
도 3a 및 3b는 본 발명의 일 실시 예에 따른, 주요 패턴의 필터들을 설명하기 위한 도면이다.3A and 3B are diagrams for describing filters of a main pattern according to an embodiment of the present invention.
도 3a에 도시된 바와 같이, 뉴럴 네트워크에서는 제로값(zero value) 또는 제로값으로 근사될 수 있는 제로 엘리먼트 및 제로값이 아닌 0과 1사이의 일정한 값을 갖는 논제로 엘리먼트가 배치된 형태에 기반한 일정한 패턴을 가지는 필터가 사용된다.As shown in FIG. 3A, in a neural network, a zero element that can be approximated to a zero value or zero value, and a non-zero non-zero non-zero constant element having a constant value between 0 and 1 are arranged based on a form. A filter with a certain pattern is used.
이때, 도 3b에 도시된 바와 같이, 뉴럴 네트워크에서 사용되는 필터 중 특별히 큰 빈도수로 사용되는 패턴, 즉 주요 패턴을 가지는 필터가 존재한다. 이러한 주요 패턴을 가지는 필터는 뉴럴 네트워크의 종류를 막론하고 널리 사용되며, 이러한 주요 패턴을 가지는 필터를 이용하여 일정하게 높은 확률로 이미지를 분류할 수 있다. 이러한 주요 패턴을 가지는 필터에 대한 연산량은 뉴럴 네트워크의 전체 연산량 중 통계적으로 높은 연산 비중을 차지하기 때문에, 이러한 주요 필터들에 대해 전처리를 수행하여 연산 효율을 높일 수 있다.At this time, as shown in Figure 3b, among the filters used in the neural network, there is a filter that is used at a particularly high frequency, that is, a filter having a main pattern. A filter having such a main pattern is widely used regardless of a neural network type, and an image having a high probability can be classified using a filter having such a main pattern. Since the calculation amount for the filter having such a main pattern occupies a statistically high calculation ratio among the total calculation amounts of the neural network, the processing efficiency can be improved by performing preprocessing on the main filters.
프로세서(120)는 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별 빈도에 기초하여 주요 패턴을 선정할 수 있다. 즉, 생성된 복수의 필터의 각 패턴 중에서 출현하는 빈도가 상대적으로 높은 패턴의 순으로 기설정된 개수의 패턴이 주요 패턴으로 선정될 수 있다. 또한, 생성된 복수의 필터의 각 패턴 중에서 출현하는 빈도가 기설정된 횟수 이상인 패턴이 주요 패턴으로 선정될 수도 있다.The
한편, 주요 패턴의 필터는 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별로 각 패턴이 차지하는 연산량의 통계적인 비중에 기초하여 선정될 수도 있다. 즉, 입력 데이터의 처리에 필요한 전체 연산량 중 차지하는 연산량의 비율이 높은 순서에 따라 기 설정된 개수의 서로 다른 주요 패턴을 가지는 필터가 선정될 수 있으며, 이때, 연산량의 합이 일정한 비율 이상을 넘는 특정 개수의 필터가 선정될 수 있다.On the other hand, the filter of the main pattern may be selected based on the statistical weight of the calculation amount occupied by each pattern for each pattern in which elements are arranged in the plurality of filters generated by learning by the neural network. That is, a filter having a predetermined number of different main patterns may be selected according to the order in which the ratio of the calculation amount to the total calculation amount required for the processing of the input data is high, wherein the sum of the calculation amounts exceeds a certain ratio or more. Can be selected.
예를 들어, 뉴럴 네트워크의 한 종류인 VGG16의 경우 인식 객체수를 10개라고 가정하면, VGG16에서 사용되는 215개 패턴의 필터 중 20개 패턴의 필터가 입력 데이터에 적용되는 데에 필요한 연산량이 전체 연산량의 60%를 차지한다. 이때, 프로세서(120)는 60%의 연산량을 차지하는 20개 패턴의 필터를 전처리를 수행할 필터로 선정할 수 있다. 또한, 뉴럴 네트워크의 다른 종류인 ResNet의 경우 인식 객체수를 80개라고 가정하면, ResNet에서 사용되는 277개 패턴의 필터 중 20개 패턴의 필터가 입력 데이터에 적용되는 데에 필요한 연산량이 전체 연산량의 40%를 차지한다. 이때, 프로세서(120)는 40%의 연산량을 차지하는 20개 패턴의 필터를 전처리를 수행할 필터로 선정할 수 있다.For example, in the case of VGG16, a type of neural network, if the number of recognition objects is 10, 20 of the 215 patterns of filters used in VGG16 are required to apply the amount of computation required to apply the filter to the input data. It takes up 60% of the amount of computation. In this case, the
즉, 뉴럴 네트워크에서 사용되는 필터의 종류가 몇백 개라고 하더라도, 그 중에서 기 설정된 임계 비율의 연산량을 차지하는 패턴은 몇십 개 남짓이라고 할 수 있다. 본 발명은 이러한 경향에 착안하여, 주요 패턴을 가지는 필터가 입력 데이터에 적용될 때, 적용되는 필터에 의한 입력 데이터의 필터링에 대응되는 연산 명령어를 미리 저장함으로써, 주요 패턴의 필터의 콘볼루션 연산에 따른 연산량을 감소시키는 것을 목적으로 한다.In other words, even if there are several hundred types of filters used in the neural network, there are only a few dozen patterns that occupy a predetermined threshold ratio. In view of this trend, the present invention, when a filter having a main pattern is applied to the input data, by storing in advance the operation instruction corresponding to the filtering of the input data by the applied filter, according to the convolution operation of the filter of the main pattern The purpose is to reduce the amount of computation.
한편, 상술한 실시 예들에서는 필터의 2차원 면(x, y)에서의 논제로 엘리먼트의 위치가 기설정된 패턴을 가지는 경우를 상정하였으나, 전처리의 대상을 '필터' 단위가 아닌 '패턴' 단위로 확장시킬 수 있다. 이 경우, 필터의 일 영역에 논제로 엘리먼트의 주요 패턴이 존재하는 경우, 주요 패턴이 존재하는 영역에 대한 연산 명령어를 미리 저장할 수 있다. 이 경우, 주요 패턴이 존재하는 영역에 대하여는 기 저장된 연산 명령어를 이용하여 연산이 수행되고, 주요 패턴이 존재하는 영역 외 나머지 영역은 종래의 콘볼루션에 의한 필터링 연산을 수행되는 실시 예 또한, 본 발명의 기술적 사상에 포함시킬 수 있다. 또한, 필터의 뎁스(z) 방향으로 논제로 엘리먼트의 주요 패턴이 존재하는 경우에도, 주요 패턴이 존재하는 영역에 대한 연산 명령어를 미리 저장할 수 있다.On the other hand, in the above-described embodiments it is assumed that the position of the element in the two-dimensional plane (x, y) of the filter has a predetermined pattern, but the target of the pre-processing in 'pattern' unit, not 'filter' unit Can be extended In this case, when a main pattern of an element exists in one area of the filter, the operation instruction for the area in which the main pattern exists may be stored in advance. In this case, an operation is performed on an area in which a main pattern exists by using a pre-stored operation instruction, and a filtering operation by a conventional convolution is performed on the remaining areas other than the area in which the main pattern exists. It can be included in the technical idea of. In addition, even when the main pattern of the element exists in the depth (z) direction of the filter, the operation instruction for the region in which the main pattern exists may be stored in advance.
도 4는 주요 패턴 중 하나인 A 패턴을 가지는 필터에 대한 최적화 데이터의 구조를 도시한 것이다.4 illustrates a structure of optimization data for a filter having an A pattern, which is one of main patterns.
복수의 패턴을 가지는 필터들(41-1 ~ 41-n) 중 주요 패턴인 A 패턴을 가지는 필터(이하, A 필터)를 이용하여 뉴럴 네트워크의 입력 데이터를 필터링하는 경우, 도 4의 (a)에 도시된 바와 같이 입력 데이터에 적용되는 A 필터는 A 필터에 포함된 논제로 엘리먼트 및 제로 엘리먼트가 직렬로 배치된 형태인 데이터 어레이(array) 구조를 가질 수 있다.When input data of the neural network is filtered using a filter having a pattern A (hereinafter, A filter) among the filters 41-1 to 41-n having a plurality of patterns, FIG. As shown in FIG. 2, the A filter applied to the input data may have a data array structure in which a zero element and a zero element included in the A filter are arranged in series.
본 발명에서 제안하는 A 필터의 최적화 데이터는 도 4의 (b)에 도시된 바와 같이, 적용되는 필터가 A 패턴임을 나타내는 태그가 데이터 어레이 중 첫 번째 필드 영역에 포함되고, 나머지 필드 영역은 A 필터의 논제로 엘리먼트만으로 이루어진 구조를 가진다. 여기서 태그는, A 패턴을 식별하기 위한 식별 정보로 기능한다. 결론적으로, 최적화 데이터는 기존의 데이터 어레이 구조에서 제로 엘리먼트가 모두 제거되고, 패턴의 유형을 나타내는 태그만이 추가된 구조이다.As shown in (b) of FIG. 4, the optimization data of the A filter proposed in the present invention includes a tag indicating that the applied filter is an A pattern in the first field area of the data array, and the remaining field areas are A filter. Has the structure of only elements. The tag functions as identification information for identifying the A pattern. In conclusion, the optimization data is a structure in which all zero elements are removed from the existing data array structure and only a tag indicating a type of a pattern is added.
도 5는 본 발명의 일 실시 예에 따른 타 전자 장치의 구성을 간략히 도시한 블록도이다.5 is a block diagram schematically illustrating a configuration of another electronic device according to an embodiment of the present disclosure.
타 전자 장치(200)는 전자 장치(100’)로부터 수신된 학습 데이터를 CNN에 적용하여 입력 데이터로부터 판단 또는 예측된 결과를 출력 데이터로 생성하기 위한 구성이다. 이하에서는, 편의상 전자 장치(100’)를 제1 전자 장치, 타 전자 장치(200)를 제2 전자 장치로 호칭하도록 한다.The other
도 5를 참조하면, 제2 전자 장치(200)는 통신부(210), 연산 모듈(220), 메모리(230) 및 프로세서(240)를 포함한다.Referring to FIG. 5, the second
통신부(210)는 뉴럴 네트워크에 의한 학습을 수행하는 제1 전자 장치(100’)와 통신을 수행하는 구성이다. 제2 전자 장치(200)는 통신부(210)를 통해 제1 전자 장치(100)로부터, 제1 전자 장치(100’)에서 선정된 필터의 연산 명령어를 수신할 수 있다.The
또한, 다른 실시 예에 따른 제2 전자 장치(200)는 제1 전자 장치(100’)로부터, 선정된 필터의 최적화 데이터 및 최적화 데이터에 대응되는 연산 명령어를 수신할 수도 있다. 또한, 통신부(210)는 제1 전자 장치(100’)의 학습에 따라 연산 명령어가 업데이트될 때마다, 업데이트된 연산 명령어를 수신할 수 있다.Also, the second
또한, 다른 실시 예에 따른 제2 전자 장치(200)의 통신부(210)는 제1 전자 장치(100’)의 학습에 따라 주요 필터의 최적화 데이터 및 최적화 데이터에 대응되는 연산 명령어가 업데이트될 때마다, 업데이트된 최적화 데이터 및 연산 명령어를 수신할 수 있다.In addition, whenever the
통신부(210)는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등에 따라 구축된 이동 통신망에서 제1 전자 장치(100’)와 무선 신호를 송수신할 수 있다.The
또한, 통신부(210)는 와이파이(Wi-Fi), 블루투스(Blue-tooth), 와이파이 다이렉트(Wi-Fi Direct) 등을 지원할 수 있다.In addition, the
연산 모듈(220)은 기 설정된 구조로 배열된 복수의 연산 소자(Processing Element, 이하 PE)를 포함하며, 서로 인접하는 연산 소자 간에 데이터를 공유하여 연산을 수행하는 구성이다. 예를 들어, PE는 메쉬 토폴로지 네트워크(mesh topology network), 트리 토폴로지 네트워크(tree topology network) 등 다양한 형태의 네트워크의 구조로 배열될 수 있다. 메모리(230)는 주요 패턴의 필터에 대하여 전처리가 수행된 데이터를 저장하는 구성이다. 구체적으로, 메모리(230)는 제1 전자 장치(100’)로부터 수신된, 주요 패턴의 필터에 대한 최적화 데이터 및 최적화 데이터에 대응되는 연산 명령어를 저장한다.The
메모리(230)는 HDD(Hard Disk Drive), SSD(Solid State Drive), DRAM 메모리, SRAM 메모리, FRAM 메모리 또는 플래시 메모리 등 다양한 포맷의 메모리로 구현될 수 있다.The
프로세서(240)는 제2 전자 장치(200)의 전반적인 동작을 제어하는 구성이다. 구체적으로 프로세서(240)는 제1 전자 장치(100’)로부터, 뉴럴 네트워크의 학습에 의해 생성된 복수의 필터 중 주요 패턴의 필터를 수신하고, 주요 패턴에 대응되는 연산 명령어 즉, 주요 패턴의 필터에 의해 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 수신하도록 통신부(230)를 제어할 수 있다. 프로세서(240)는 수신된 산 명령어를 메모리(230)에 저장한다. 제1 전자 장치(100’)에서 주요 패턴의 필터가 최적화 데이터로 전처리되고, 제1 전자 장치(100’)로부터 최적화 데이터 및 최적화 데이터에 대응되는 연산 명령어를 수신하는 경우에는, 최적화 데이터 및 최적화 데이터에 대응되는 연산 명령어를 메모리(230)에 저장한다.The
한편, 프로세서(240)는 복수의 필터 중 주요 패턴의 필터가 입력 데이터에 적용될 때, 메모리(230)에 저장된 연산 명령어 중, 적용되는 주요 패턴에 대응되는 연산 명령어를 확인할 수 있다.Meanwhile, when the filter of the main pattern among the plurality of filters is applied to the input data, the
프로세서(240)는 확인된 연산 명령어에 따라서, 입력 데이터 및 전처리된 최적화 데이터에 기초한 연산 값을 도출한다. 구체적으로, 프로세서(240)는 최적화 데이터에 포함된 식별 정보에 기초하여, 식별 정보에 대응되는 연산 명령어를 메모리로부터 획득하고, 획득한 연산 명령어에 따라 필터링 연산을 수행하도록 연산 모듈(220)을 제어할 수 있다.The
이때, 프로세서(240)는 최적화 데이터에 포함된 식별 정보에 대응되는 연산 명령어를 메모리(230)로부터 획득하고, 획득한 연산 명령어에 따라 필터링 연산을 수행하도록 연산 모듈(220)을 제어할 수 있다. 도출된 연산 값은 일반적으로 입력 데이터가 기 설정된 패턴의 필터에 의해 콘볼루션 연산에 기초하여 필터링되는 연산 값과 동일한 값이 될 것이다.In this case, the
도 6은 본 발명의 일 실시 예에 따른, 제1 전자 장치로부터 주요 필터에 대한 연산 명령어를 수신하고, 이를 이용하여 콘볼루션 연산을 수행하는 머신 러닝 시스템을 나타낸 것이다. 도 6에서, 뉴럴 네트워크에 의한 학습을 수행하는 제1 전자 장치(100’)가 서버로, 제1 전자 장치에서 학습된 데이터를 이용하여 입력 데이터에 대한 필터링 연산을 수행하는 제2 전자 장치(200)가 사용자 디바이스로 구현되는 실시 예를 도시하였다. 또한, 도 6에서는 편의상 주요 패턴으로 구성된 필터를 주요 필터라고 명명하였다.FIG. 6 illustrates a machine learning system that receives an operation command for a main filter from a first electronic device and performs a convolution operation using the same, according to an embodiment of the present disclosure. In FIG. 6, the first
서버(100’)는 주요 필터에 대한 전처리를 수행하는 구성으로, 주요 필터에 대응되는 최적화 데이터 및 연산 명령어를 생성한다.The
도 6에 도시된 바와 같이, 서버(100’)는 메모리(110), 프로세서(120) 및 통신부(130)를 포함한다. 프로세서(120)는 뉴럴 네트워크에 적용되는 복수의 필터를 학습하고, 학습된 복수의 필터 중 주요 필터를 선정하여 메모리(110)에 저장한다. 프로세서(120)는 학습된 필터 중 패턴의 빈도수가 높은 순으로 적어도 하나의 기 설정된 패턴의 필터를 주요 필터로 선정할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 프로세서(120)는 주요 필터인 제1 내지 제3 필터에 대해 학습된 제1 데이터 내지 제3 데이터를 메모리(110)에 저장할 수 있다.As shown in FIG. 6, the
도 6을 참조하면, 프로세서(120)는 데이터 분석 소프트웨어 툴을 이용하여 제1 내지 제3 필터가 최적화된 제1 내지 제3 최적화 데이터를 각각 생성할 수 있다. 제1 내지 제3 최적화 데이터는, 제1 내지 제3 필터 각각에 포함된 논제로 엘리먼트의 배열 패턴에 따라 결정된 제1 내지 제3 필터의 패턴 유형을 나타내는 태그를 각각 포함한다. Referring to FIG. 6, the
한편, 제1 내지 제3 최적화 데이터는 필터에 포함된 제로 엘리먼트가 제거된 데이터일 수도 있다. 이 경우, 제1 내지 제3 최적화 데이터는 원래의 학습된 데이터에 비해, 차지하는 비트수가 작을 수 있다. 즉, 이 경우 제1 내지 제3 최적화 데이터는 논제로 엘리먼트 및 필터의 패턴 유형을 나타내는 태그만을 포함할 뿐이므로, 필터의 종류에 관계 없이 일정한 비트수를 차지하는 원래의 학습된 데이터에 비해 차지하는 비트수가 절약될 수 있다. 이때, 최적화 데이터를 표현하는 비트수는 논제로 엘리먼트의 값에 따라 다르게 결정될 수 있다. 예를 들어, 제1 최적화 데이터에서 ‘1’, ‘4’ 및 ‘7’ 위치의 논제로 엘리먼트는 각 논제로 엘리먼트를 표현하기 위한 최적의 비트수인 8비트로 각각 표현될 수 있다. 반면, 제2 최적화 데이터에서 ‘1’ 및 ‘9’ 위치의 논제로 엘리먼트는 각 논제로 엘리먼트를 표현하기 위한 최적의 비트수인 16비트로 각각 표현될 수 있다.Meanwhile, the first to third optimization data may be data from which zero elements included in the filter are removed. In this case, the number of bits occupied by the first to third optimization data may be smaller than that of the original learned data. That is, in this case, since the first to third optimization data only include tags indicating the pattern type of the element and the filter, the number of bits occupied in comparison with the original learned data occupying a certain number of bits, regardless of the type of filter. Can be saved. In this case, the number of bits representing the optimization data may be differently determined depending on the value of the element. For example, the nonzero elements at positions '1', '4', and '7' in the first optimization data may be represented by 8 bits, which are the optimal number of bits for representing each element. On the other hand, the zero elements at positions '1' and '9' in the second optimization data may be represented by 16 bits, which is an optimal number of bits for representing each zero element.
한편, 프로세서(120)는 제1 내지 제3 최적화 데이터를 기반으로, 제1 내지 제3 필터들에 대한 연산 명령어인 제1 내지 제3 연산 명령어를 각각 생성할 수 있다. 이때, 연산 명령어는 사용자 디바이스(200)에 포함된 연산 모듈(220)에 포함된 복수의 연산 소자 중 주요 패턴에 따라 결정되는 연산 소자가 주요 패턴에 따라 결정되는 연산을 수행하도록 하는 명령어이다. 제1 내지 제3 연산 명령어는 제1 내지 제3 필터의 패턴 유형에 따라 결정될 수 있다.Meanwhile, the
프로세서(120)는 통신부(130)를 통해, 제1 내지 제3 최적화 데이터 및 제1 내지 제3 연산 명령어를 사용자 디바이스(200)로 전송할 수 있다.The
도 6을 참조하면, 사용자 디바이스(200)는 통신부를 통해, 제1 내지 3 최적화 데이터 및 제1 내지 제3 연산 명령어를 수신할 수 있다. 프로세서(240)는 수신된 제1 내지 제3 최적화 데이터 및 제1 내지 제 3 연산 명령어를 메모리(230)에 저장할 수 있다. 이때, 제1 내지 제3 최적화 데이터 및 제1 내지 제3 연산 명령어는 메모리(230)의 서로 다른 영역(데이터 메모리, 연산 명령어 메모리)에 구분되어 저장될 수 있다.Referring to FIG. 6, the
메모리(230)에 저장된 제1 내지 제3 최적화 데이터는 연산 모듈(220)에 입력되며, 연산 모듈(220)은 입력된 제1 내지 제3 최적화 데이터를 입력 이미지에 적용할 때에, 각각 제1 내지 제3 연산 명령어에 따른 연산을 수행할 수 있다. 프로세서(240)는 연산 모듈(220)에 포함된 복수의 연산 소자들 중 제1 내지 제3 최적화 데이터 각각에 대하여 제1 내지 제3 연산 명령어에 의해 정해진 연산 소자를 이용하여 콘볼루션에 의한 필터링 연산을 수행한다.The first to third optimization data stored in the
한편, 프로세서(240)는 서버(100’)에 저장된 제1 내지 3 최적화 데이터가 변경될 때마다, 서버(100’)로부터 변경된 제1 내지 3 최적화 데이터를 수신하여 업데이트를 수행할 수 있다. 또한, 서버(100’)에서 선정한 주요 필터가 변경되는 경우, 프로세서(240)는 변경된 주요 필터에 대한 최적화 데이터 및 연산 명령어를 수신하여 업데이트를 수행할 수 있다.Meanwhile, whenever the first to third optimization data stored in the server 100 'is changed, the
도 7a 및 7b는 본 발명의 일 실시 예에 따른, 여러 가지 종류의 입력 이미지를 학습하고, 학습된 데이터를 이용하여 입력 이미지를 인식하는 방법을 설명하기 위한 도면이다.7A and 7B are diagrams for describing a method of learning various types of input images and recognizing the input image using the learned data, according to an exemplary embodiment.
도 7a에 도시된 바에 따르면, 제2 전자 장치(200)의 프로세서(240)는 이미지 인식을 위한 CNN 알고리즘에 따른 연산을 수행하도록 연산 모듈(220)을 제어할 수 있으며, "고양이", "다람쥐", "사슴", "강아지" 등 다양한 동물 이미지에 대한 인식을 수행할 수 있다.As shown in FIG. 7A, the
이때, 제2 전자 장치(200)의 메모리(230)에는 주요 패턴에 대하여 학습된 최적화 데이터가 미리 저장되어 있을 수 있다. 최적화 데이터는, 예를 들어, 각각 A 패턴, B 패턴 및 C 패턴으로 구성되는 필터의 주요 패턴의 유형을 나타내는 태그 및 논제로 엘리먼트에 대한 각각의 데이터를 포함할 수 있다. 또한, 메모리(230)는 A 패턴, B 패턴 및 C 패턴 유형을 나타내는 태그에 각각 대응되는 연산 명령어를 저장할 수 있다.In this case, the optimization data learned about the main pattern may be stored in advance in the
이미지 데이터가 연산 모듈(220)에 입력되면, 다양한 패턴의 필터가 이미지 데이터에 적용되게 되는데, 주요 패턴의 필터에 대하여는, 연산 모듈(220)이 학습된 최적화 데이터 및 연산 명령어를 이용하여 연산을 수행하게 된다. 프로세서(240)는 이미지 데이터의 필터링에 이용되는 복수의 학습된 필터 중에서 적어도 하나의 A 패턴의 필터를 선별하고, 선별된 A 패턴의 필터를 이미지 데이터에 적용할 때에 A 패턴의 필터에 대한 전처리 데이터를 이용한다. 즉, 프로세서(240)는 A 패턴의 필터가 이미지 데이터에 적용될 때에, A 패턴의 필터에 대응되는 최적화 데이터에 포함된 논제로 엘리먼트를 연산 모듈(110)에 입력한다. 이때, 프로세서(240)는 A 패턴의 유형을 나타내는 태그에 기초하여, A 패턴에 대응되는 연산 명령어를 메모리(230)로부터 추출할 수 있다. 프로세서(240)는 추출된 연산 명령어를 연산 모듈(220)에 입력하여, A 패턴을 포함하는 필터에 의한 필터링 연산이 수행되도록 제어할 수 있다. When the image data is input to the
이때, 프로세서(240)는 도 7a에 도시된 바와 같이, 연산 모듈(220)에 순차적으로 적용될 복수의 필터(학습된 데이터)를 주요 패턴의 필터별로 재배치할 수 있다. 구체적으로, 도 7b를 참조하면, 프로세서(240)는 학습에 의해 생성된 복수의 필터 중에서 복수의 A 패턴의 필터(71)를 선별한다. 콘볼루션 연산의 특성상 필터링 연산이 수행된 결과 값은 필터의 순서에 영향을 받지 않으므로, 프로세서(240)는 선별된 복수의 A 필터(71)가 우선적으로 연산 모듈(220)에 적용되도록 복수의 필터를 재배치할 수 있다. 즉, 프로세서(240)는 A 패턴에 대응되는 연산 명령어를 메모리(230)로부터 1회만 획득하고, 획득한 연산 명령어를 이용하여 같은 패턴의 복수의 A 패턴의 필터(71)에 의한 필터링 연산을 일괄적으로 처리할 수 있다. 이러한 방식으로, 프로세서(240)는 입력 데이터의 필터링에 순차적으로 적용되는 복수의 필터 중에서 동일한 패턴 별로 복수의 B 패턴의 필터(72) 및 C 패턴의 필터(73)를 각각 선별하여 재배치하고, B 패턴의 필터(72) 및 C 패턴의 필터(73)에 대응되는 연산 명령어를 각각 1회씩만 획득하여 B 패턴의 필터(72) 및 C 패턴의 필터(73)에 의한 필터링 연산을 일괄적으로 처리할 수 있다.In this case, as illustrated in FIG. 7A, the
이에 따라, 프로세서(240)는 연산 명령어를 메모리(230)로부터 반복적으로 로드(load)함에 따른 부하 및 연산속도 저하를 감소시킬 수 있다.Accordingly, the
도 8은 본 발명의 일 실시 예에 따른, 제1 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.8 is a flowchart illustrating a control method of a first electronic device according to an embodiment of the present disclosure.
먼저, 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터에서 선정된 주요 패턴의 필터 별로 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 확인한다(S1110). 이때, 주요 패턴의 필터는 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별로 각 패턴이 차지하는 연산량의 통계적인 비중에 기초하여 선정된 필터일 수 있다. 또는, 생성된 복수의 필터에 있어서, 논제로 엘리먼트가 배치되는 패턴 별 빈도에 기초하여 주요 패턴을 선정할 수 있다. 이때, 학습에 의해 생성되는 복수의 필터는 뉴럴 네트워크의 학습 대상에 따라 서로 다를 수 있다.First, an operation instruction for filtering input data of a neural network is checked for each filter of a main pattern selected from a plurality of filters generated by learning by the neural network (S1110). In this case, the filter of the main pattern may be a filter selected based on the statistical weight of the calculation amount of each pattern for each of the patterns in which the elements are arranged in the generated plurality of filters. Alternatively, in the generated plurality of filters, the main pattern may be selected based on the frequency for each pattern in which the elements are arranged in a topic. In this case, the plurality of filters generated by the learning may be different depending on the learning target of the neural network.
이후, 선정된 주요 패턴의 필터 별로 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 확인한다(S820). 이때, 선정된 주요 패턴의 필터에서 제로 엘리먼트가 제거된 최적화 데이터 및 최적화 데이터에 대응되는 연산 명령어를 확인할 수 있다.Thereafter, an operation command for filtering the input data of the neural network is checked for each filter of the selected main pattern (S820). In this case, the optimization data in which zero elements are removed from the filter of the selected main pattern and the operation instruction corresponding to the optimization data may be checked.
이후, 확인된 연산 명령어를 저장한다(S830).Thereafter, the checked operation instruction is stored (S830).
일 실시 예에서, 저장된 연산 명령어에 따라, 주요 패턴의 필터에 의한 필터링 연산을 수행할 수 있다.According to an embodiment of the present disclosure, the filtering operation by the filter of the main pattern may be performed according to the stored operation command.
또한, 다른 실시 예에서, 저장된 연산 명령어를 제2 전자 장치로 전송할 수 있다. 이때, 제2 전자 장치는 연산 명령어를 이용하여 뉴럴 네트워크의 입력 데이터를 필터링할 수 있다.Also, in another embodiment, the stored operation command may be transmitted to the second electronic device. In this case, the second electronic device may filter input data of the neural network by using an operation command.
상술한 바와 같이, 주요한 연산량을 차지하는 주요 패턴의 필터에 대하여 전처리를 미리 수행함으로써, 메모리의 부담이 낮아지고, 연산 효율이 높아지게 된다.As described above, by performing the preprocessing on the filter of the main pattern which occupies the main operation amount in advance, the burden on the memory is lowered and the operation efficiency is increased.
상술한 다양한 실시 예에 따른 뉴럴 네트워크에 의한 학습 방법은 프로그램으로 구현되어 다양한 기록 매체에 저장될 수 있다. 즉, 각종 프로세서에 의해 처리되어 상술한 다양한 디스플레이 방법을 실행할 수 있는 컴퓨터 프로그램이 기록 매체에 저장된 상태로 사용될 수도 있다. 일 예로, 뉴럴 네트워크에 의한 학습에 따라 생성된 복수의 필터에서 선정된 주요 패턴의 필터 별로 뉴럴 네트워크의 입력 데이터를 필터링하기 위한 연산 명령어를 확인하는 단계, 확인된 연산 명령어를 저장하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.The neural network learning method according to the above-described various embodiments may be implemented as a program and stored in various recording media. That is, a computer program processed by various processors and capable of executing the various display methods described above may be used in a state stored in a recording medium. For example, the method may further include verifying an operation command for filtering input data of the neural network for each filter of a main pattern selected from a plurality of filters generated by learning by the neural network, and storing the identified operation command. A non-transitory computer readable medium in which a program is stored may be provided.
비일시적 판독 가능 매체한 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크 USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.Non-transitory readable medium A medium that stores data for a short time, such as registers, caches, memories, etc., but semi-permanently, and means a medium that can be read by a device. Specifically, the various applications or programs described above may be stored and provided in a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk USB, a memory card, a ROM, or the like.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the above has been shown and described with respect to preferred embodiments of the invention, the invention is not limited to the specific embodiments described above, it is usually in the technical field to which the invention belongs without departing from the spirit of the invention claimed in the claims. Various modifications may be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.
--
--
Claims (15)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/617,967 US11450086B2 (en) | 2017-06-07 | 2018-06-05 | Electronic device and method for controlling same |
| CN201880034791.6A CN110678883B (en) | 2017-06-07 | 2018-06-05 | Electronic device and method for controlling the same |
| EP18812967.0A EP3582152B1 (en) | 2017-06-07 | 2018-06-05 | Electronic device and method for controlling same |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762516389P | 2017-06-07 | 2017-06-07 | |
| US62/516,389 | 2017-06-07 | ||
| KR10-2017-0144071 | 2017-10-31 | ||
| KR1020170144071A KR102548718B1 (en) | 2017-06-07 | 2017-10-31 | Electronic apparatus and control method thereof |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018226014A1 true WO2018226014A1 (en) | 2018-12-13 |
Family
ID=64566640
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2018/006400 Ceased WO2018226014A1 (en) | 2017-06-07 | 2018-06-05 | Electronic device and method for controlling same |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018226014A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110687796A (en) * | 2019-11-05 | 2020-01-14 | 青岛大学 | A Neural Network-Based Adaptive Finite-Time Command Filtering Backstep Control Method |
| CN111881705A (en) * | 2019-09-29 | 2020-11-03 | 深圳数字生命研究院 | Data processing, training, identification method, device and storage medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7359576B1 (en) * | 2004-02-27 | 2008-04-15 | Adobe Systems Incorporated | Using difference kernels for image filtering |
| US20100166315A1 (en) * | 2008-12-26 | 2010-07-01 | Paquier Williams J F | Method and apparatus for creating a pattern recognizer |
| KR20160034814A (en) * | 2014-09-22 | 2016-03-30 | 삼성전자주식회사 | Client device with neural network and system including the same |
| KR20160142791A (en) * | 2015-06-03 | 2016-12-13 | 삼성전자주식회사 | Method and apparatus for implementing neural network |
| KR20170005562A (en) * | 2015-07-06 | 2017-01-16 | 삼성전자주식회사 | Device and method to process data in parallel |
-
2018
- 2018-06-05 WO PCT/KR2018/006400 patent/WO2018226014A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7359576B1 (en) * | 2004-02-27 | 2008-04-15 | Adobe Systems Incorporated | Using difference kernels for image filtering |
| US20100166315A1 (en) * | 2008-12-26 | 2010-07-01 | Paquier Williams J F | Method and apparatus for creating a pattern recognizer |
| KR20160034814A (en) * | 2014-09-22 | 2016-03-30 | 삼성전자주식회사 | Client device with neural network and system including the same |
| KR20160142791A (en) * | 2015-06-03 | 2016-12-13 | 삼성전자주식회사 | Method and apparatus for implementing neural network |
| KR20170005562A (en) * | 2015-07-06 | 2017-01-16 | 삼성전자주식회사 | Device and method to process data in parallel |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3582152A4 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111881705A (en) * | 2019-09-29 | 2020-11-03 | 深圳数字生命研究院 | Data processing, training, identification method, device and storage medium |
| CN111881705B (en) * | 2019-09-29 | 2023-12-12 | 深圳数字生命研究院 | Data processing, training and identifying method, device and storage medium |
| CN110687796A (en) * | 2019-11-05 | 2020-01-14 | 青岛大学 | A Neural Network-Based Adaptive Finite-Time Command Filtering Backstep Control Method |
| CN110687796B (en) * | 2019-11-05 | 2022-03-18 | 青岛大学 | A Neural Network-Based Adaptive Finite-Time Command Filtering Backstep Control Method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018230832A1 (en) | Image processing apparatus and method using multi-channel feature map | |
| WO2020246834A1 (en) | Method for recognizing object in image | |
| WO2019098538A1 (en) | Device and method for processing convolution operation using kernel | |
| WO2020111754A2 (en) | Method for providing diagnostic system using semi-supervised learning, and diagnostic system using same | |
| WO2021118039A1 (en) | Deep learning-based method for filtering similar images, and apparatus using same | |
| WO2021125619A1 (en) | Method for inspecting labeling on bounding box by using deep learning model and apparatus using same | |
| CN112132278A (en) | Model compression method and device, computer equipment and storage medium | |
| WO2019098418A1 (en) | Neural network training method and device | |
| WO2019235828A1 (en) | Two-face disease diagnosis system and method thereof | |
| WO2023282569A1 (en) | Method and electronic device for generating optimal neural network (nn) model | |
| WO2018226014A1 (en) | Electronic device and method for controlling same | |
| WO2021118041A1 (en) | Method for distributing labeling work according to difficulty thereof and apparatus using same | |
| WO2022231200A1 (en) | Training method for training artificial neural network for determining breast cancer lesion area, and computing system performing same | |
| Liu et al. | Poultry disease identification based on light weight deep neural networks | |
| CN114124447A (en) | Intrusion detection method and device based on Modbus data packet recombination | |
| US12462033B1 (en) | Operation method of electronic apparatus for performing large language model based analysis inference for malicious script action | |
| WO2023063693A1 (en) | Image learning device and method robust to adversarial image attack | |
| EP3582152B1 (en) | Electronic device and method for controlling same | |
| WO2021125539A1 (en) | Device, method, and computer program for classifying objects included in image | |
| WO2023106870A1 (en) | Re-structuralized convolutional neural network system using cmp and operation method thereof | |
| WO2022019355A1 (en) | Disease diagnosis method using neural network trained by using multi-phase biometric image, and disease diagnosis system performing same | |
| WO2022139200A1 (en) | Same object identification device and identification method, based on skeleton analysis of continuous image frames | |
| WO2019039758A1 (en) | Method for generating and learning improved neural network | |
| WO2021117921A1 (en) | Method for evaluating inference classification performance of each layer of artificial intelligence model including multiple layers, and evaluation device therefor | |
| CN116151352B (en) | Convolutional neural network diagnosis method based on brain information path integration mechanism |
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: 18812967 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2018812967 Country of ref document: EP Effective date: 20190909 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |