WO2019098418A1 - 뉴럴 네트워크 학습 방법 및 디바이스 - Google Patents

뉴럴 네트워크 학습 방법 및 디바이스 Download PDF

Info

Publication number
WO2019098418A1
WO2019098418A1 PCT/KR2017/013043 KR2017013043W WO2019098418A1 WO 2019098418 A1 WO2019098418 A1 WO 2019098418A1 KR 2017013043 W KR2017013043 W KR 2017013043W WO 2019098418 A1 WO2019098418 A1 WO 2019098418A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
neural network
learning
category
network model
Prior art date
Application number
PCT/KR2017/013043
Other languages
English (en)
French (fr)
Inventor
김경수
최유경
김성진
Original Assignee
삼성전자 주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 한국과학기술원 filed Critical 삼성전자 주식회사
Priority to PCT/KR2017/013043 priority Critical patent/WO2019098418A1/ko
Priority to KR1020207013184A priority patent/KR102607208B1/ko
Priority to US16/759,878 priority patent/US11681912B2/en
Publication of WO2019098418A1 publication Critical patent/WO2019098418A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Definitions

  • the disclosed embodiment relates to a recording medium on which a program for performing a neural network learning method, a neural network learning device, and a neural network learning method is recorded.
  • AI Artificial intelligence
  • AI is a computer system that implements human-level intelligence. Unlike existing Rule-based smart systems, AI is a system in which machines learn, judge and become smart. Artificial intelligence systems are increasingly recognized and improving their understanding of user preferences as they are used, and existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
  • Artificial intelligence technology consists of element technologies that utilize deep learning and machine learning.
  • Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself.
  • Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
  • Linguistic understanding is a technology for recognizing, applying, and processing human language / characters, including natural language processing, machine translation, dialogue system, query response, speech recognition / synthesis, and the like.
  • Visual understanding is a technology for recognizing and processing objects as human vision, including object recognition, object tracking, image search, human recognition, scene understanding, spatial understanding, and image enhancement.
  • Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation.
  • Knowledge representation is a technology for automating human experience information into knowledge data, including knowledge building (data generation / classification) and knowledge management (data utilization).
  • the motion control is a technique for controlling the autonomous travel of the vehicle and the motion of the robot, and includes motion control (navigation, collision, traveling), operation control (behavior control), and the like.
  • the disclosed embodiment recognizes the categories of the remaining data sets through the learned neural network model based on some data sets of which category is specified and uses the recognition results for the learning of the neural network model so that even a small amount of data sets
  • a neural network learning method and device capable of performing learning of a network can be provided.
  • the present disclosure relates to an artificial intelligence (AI) system and its application that simulate functions such as recognition and judgment of a human brain using a machine learning algorithm such as deep learning.
  • AI artificial intelligence
  • the present disclosure relates to an artificial intelligence system and its application, in which a plurality of first images included in a specific category and a plurality of second images that do not specify a category are acquired, and a plurality of first images included in a specific category Learning of a neural network model for category recognition, recognizing at least one second image corresponding to a specific category among a plurality of second images using the learned neural network model, and recognizing at least one Based on the second image, the learned neural network model can be updated.
  • FIG. 1 is a conceptual diagram for explaining a neural network learning method according to an embodiment.
  • FIG. 2 is a flow chart illustrating a method for a device according to an embodiment to learn a neural network.
  • FIG. 3 is a diagram for explaining a method in which a device according to an embodiment performs learning of a neural network model gradually based on a category-specified image.
  • FIG. 4 is a diagram for explaining a method for a device according to an embodiment to perform learning of a neural network by additionally using user information or a user input.
  • 5 and 6 are block diagrams of a neural network learning device for class recognition according to an embodiment.
  • FIG. 7 is a diagram for explaining a processor according to an embodiment.
  • FIG. 8 is a block diagram of a data learning unit according to an embodiment.
  • FIG. 9 is a block diagram of a data recognition unit according to an embodiment.
  • a neural network learning method includes: acquiring a plurality of first images included in a specific category and a plurality of second images having no specified category; Performing learning of a neural network model for category recognition based on a plurality of first images included in a specific category; Recognizing at least one second image corresponding to a specific category among the plurality of second images using the learned neural network model; And updating the learned neural network model based on the recognized at least one second image.
  • the neural network learning method may further include comparing at least one second image recognized as corresponding to a specific category with an image stored in the previously generated verification database to verify the recognition result .
  • the step of recognizing at least one second image may include applying information on the user's preference image to the recognition result of the neural network model as a weight, Can be recognized.
  • the step of recognizing at least one second image may include receiving an input of a user for verifying a recognition result of a neural network model; And recognizing at least one second image based on the recognition result of the neural network model and the received user input.
  • a neural network learning device includes: a memory for storing one or more instructions; And at least one processor executing at least one instruction stored in the memory, wherein the at least one processor is configured to acquire a plurality of first images included in a specific category and a plurality of second images not specified with a category, Learning of a neural network model for category recognition is performed based on a plurality of first images included in the category and at least one of the plurality of second images corresponding to a specific category 2 image, and can update the learned neural network model based on the recognized at least one second image.
  • first, second, etc. may be used to describe various elements, but the elements are not limited by terms. Terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • the term " and / or " includes any combination of a plurality of related items or any of a plurality of related items.
  • part refers to a hardware component such as software, FPGA or ASIC, and " part " However, “ part “ is not meant to be limited to software or hardware. &Quot; Part " may be configured to reside on an addressable storage medium and may be configured to play back one or more processors.
  • a is intended to be broadly interpreted as encompassing any and all patentable subject matter, including components such as software components, object oriented software components, class components and task components, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.
  • components such as software components, object oriented software components, class components and task components, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.
  • the functions provided in the components and " parts " may be combined into a smaller number of components and “ parts “ or further separated into additional components and " parts ".
  • FIG. 1 is a conceptual diagram for explaining a neural network learning method according to an embodiment.
  • a neural network learning device may acquire a plurality of images 110 and 120 for learning a neural network-based recognition model for recognition of an object category.
  • a category indicates a type of an object included in an image, and various categories may exist depending on the category. For example, categories of numbers such as 0, 1, 2, 3, 4, and 5 may be categories, or animal categories such as dogs and cats. Also, according to another example, categories of things such as a chair, a desk, and a chalkboard may be categories.
  • the device may perform learning of the neural network model 130 based on a plurality of first images 110 included in a specific category among a plurality of acquired images 110 and 120. For example, the device may perform learning of the neural network model 130 based on a plurality of images identified as being included in the category of chairs.
  • the device can input a plurality of second images 120 having no specified category to the neural network model 130.
  • the neural network model 130 may be low in recognition rate as it is before learning based on a large amount of images. For example, only about 10% of the chair images included in the plurality of second images 120 having no specified category can be recognized through the neural network model 130.
  • a device may perform learning of a neural network model using at least one second image 140 classified as a positive category.
  • the device can reuse the recognition result for learning, thereby securing an additional image necessary for learning, so that the performance of the neural network model 130 can be improved.
  • the device transmits the remaining second image 150, which is not classified as a specific category, You can type in the model. Further, the device can use the recognition result to re-learn the neural network model as described above.
  • the device can use the recognition result again for learning, thereby reducing the load of learning a large amount of data for learning of the initial neural network model, and gradually improving the performance of the neural network model.
  • FIG. 2 is a flow chart illustrating a method for a device according to an embodiment to learn a neural network.
  • step S210 the device can acquire a plurality of first images included in a specific category and a plurality of second images having no specified category.
  • a device may acquire a plurality of category-specified first images from a training database of an external server or from a memory within the device.
  • the device may acquire a plurality of randomly crawled second images from a web server or the like.
  • step S220 the device can perform learning of the neural network model for category recognition based on the plurality of first images included in the specific category.
  • a device can learn a reference of a neural network model for extracting characteristic information used for recognition of a specific category, based on a plurality of first images for which a category is specified.
  • the characteristic information includes, for example, color, edge, polygon, saturation, brightness, color temperature, blur, sharpness, Contrast, and the like, but the characteristic information is not limited thereto.
  • the device may also verify the learning results of the neural network model through an image stored in a separate verification database.
  • step S230 the device can recognize at least one second image corresponding to a specific category among the plurality of second images using the learned neural network model.
  • the device can input a plurality of second images having no specified category to the neural network model.
  • a threshold to be a reference for recognizing a specific category can be set relatively high.
  • the threshold value may be determined by the experiment so that only the second image corresponding to the specific category is recognized.
  • step S240 the device can update the learned neural network model based on the recognized at least one second image.
  • the device may use at least one second image classified as being included in the same category as the plurality of first images to learn a neural network model.
  • the at least one second image is input to the neural network model as new training data so that the parameter that is the reference for extracting the characteristic information for category recognition in the neural network model can be updated.
  • the device may input a second image other than the at least one second image recognized as corresponding to a specific category among the plurality of second images to the updated neural network model.
  • the device repeatedly uses the recognition result for learning of the neural network model, whereby the performance of the neural network model can be gradually improved.
  • FIG. 3 is a diagram for explaining a method in which a device according to an embodiment performs learning of a neural network model gradually based on a category-specified image.
  • the device can acquire a plurality of first images 310 included in a specific category and a plurality of second images 330 having no specified category.
  • the device may acquire a plurality of first images classified into chairs.
  • the device may acquire a plurality of second images 330 that are not randomly categorized from a web server or the like.
  • the device can acquire the object recognition model 350 which is a neural network model capable of recognizing the object through the learning 340 of the object recognition model based on the plurality of first images.
  • the device verifies the generated object recognition model 350 based on the verification data obtained from the verification DB 320, Can be obtained.
  • the device can recognize the image included in the verification DB through the generated object recognition model 350, thereby improving the performance of the object recognition model 350.
  • the verification DB 320 may be stored in the device, or may be stored in an external server such as a Web server and an SNS server.
  • a device may perform a plurality of second image classifications 380 by inputting a plurality of second images, each of which is not specified in a category, to the object recognition model 370 having improved performance. As a result, the device can recognize at least one second image 332 corresponding to the same category as the first image of the plurality of second images.
  • the device may update the object recognition model based on the at least one recognized second image 332.
  • the device can recognize the category of the second image 334 that is not classified as being included in the specific category based on the updated object recognition model.
  • FIG. 4 is a diagram for explaining a method for a device according to an embodiment to perform learning of a neural network by additionally using user information or a user input.
  • the device may acquire a plurality of first images 410 included in a specific category and a plurality of second images 430 having no category specified.
  • the plurality of first images 410 and the plurality of second images 430 may correspond to the plurality of first images 310 and the plurality of second images 330 described above with reference to FIG. 3 .
  • the device can acquire the object recognition model 450 which is a neural network model capable of recognizing the object through the learning 440 of the object recognition model based on the plurality of first images.
  • the device verifies the generated object recognition model 450 based on the verification data obtained from the verification DB 420, Can be obtained.
  • a device may perform classification 480 of a plurality of second images by inputting a plurality of second images having no category to the object recognition model 470 having improved performance.
  • the device may utilize at least one of the user's information and user input (490) to further classify the neural network model.
  • the user information may include user's preference information and the like.
  • the user is likely to view images containing objects of his or her preferred type with more frequency.
  • the probability that an image containing the dog is present in the image acquired in the device may increase.
  • the device can perform category recognition by reflecting the user's preference on the second image, which is unclear whether or not the second image is included in the same category as the plurality of second images. For example, if the probability of a dog being a category of an object included in a predetermined second image is determined to be 0.5, if the user's preference for the dog is high, the category of the predetermined second image can be recognized as a dog.
  • this is merely an example, and the neural network learning method using the user's preference information is not limited to the above-described example.
  • the device may use the user input to recognize the categories of the plurality of second images. For example, the device may perform category recognition based on a user's input on a second image that is unclear as to whether or not the second image is included in the same category as the plurality of second images.
  • the device may display a query, a message, or the like capable of selecting a category of a predetermined second image, and may request a user input.
  • the device may determine a category for a predetermined second image by reflecting the user input when the predetermined second image is included in the same category as the first image from the user.
  • the device may update the object recognition model based on at least one recognized second image 432.
  • the device can recognize the category of the second image 434 that is not classified as being included in the specific category, based on the updated object recognition model.
  • 5 and 6 are block diagrams of a neural network learning device 500 for class recognition according to an embodiment.
  • a neural network learning device 500 may include a processor 510 and a memory 520.
  • the device 500 may include fewer or more components than the processor 510 and the memory 520, although this is only an example.
  • a device 600 may further include a communication unit 520 and an output unit 540 in addition to the processor 510 and the memory 520.
  • the device 500 may include a plurality of processors.
  • the processor 510 may include one or more cores (not shown) and a connection path (e.g., a bus, etc.) to transmit and receive signals to and / or from a graphics processing unit (not shown) .
  • a connection path e.g., a bus, etc.
  • the processor 510 may include one or more cores (not shown) and a connection path (e.g., a bus, etc.) to transmit and receive signals to and / or from a graphics processing unit (not shown) .
  • a connection path e.g., a bus, etc.
  • the processor 510 may perform operations of the device described above with reference to Figures 1-4.
  • the processor 510 may acquire a plurality of first images included in a specific category and a plurality of second images having no specified category.
  • the processor 510 can perform learning of a neural network model for category recognition based on a plurality of first images included in a specific category.
  • the processor 510 can recognize at least one second image corresponding to the specific category among the plurality of second images using the learned neural network model. In addition, the processor 510 may update the learned neural network model based on the recognized at least one second image.
  • the processor 510 can recognize the category of the second image other than the at least one second image recognized as corresponding to the specific category among the plurality of second images using the updated neural network model.
  • the processor 510 may compare the at least one second image recognized as belonging to a certain category with the image stored in the pre-generated verification database to verify the recognition result.
  • the processor 510 may recognize at least one second image by weighting information on the user's preference image to the recognition result of the neural network model. Further, according to another embodiment, the processor 510 receives input of a user for verifying the recognition result of the neural network model, and based on the recognition result of the neural network model and the received user input, Can be recognized.
  • the processor 510 may include a random access memory (RAM) (not shown) and a read-only memory (ROM) for temporarily and / or permanently storing signals (or data) , Not shown).
  • the processor 510 may be implemented as a system-on-chip (SoC) including at least one of a graphics processing unit, a RAM, and a ROM.
  • SoC system-on-chip
  • the memory 520 may store programs (one or more instructions) for processing and control of the processor 510. Programs stored in the memory 520 may be divided into a plurality of modules according to functions. According to one embodiment, the memory 520 may include a data learning unit and a data recognition unit software module, which will be described later with reference to FIG. Further, the data learning unit and the data recognition unit may independently include a learning network model or may share one learning network model.
  • the communication unit 530 may include one or more components for communicating with external servers and other external devices.
  • the communication unit 530 may receive at least one image from a web server, an SNS server, or the like.
  • the output unit 540 can output information processed by the device 500.
  • the output unit 540 may output category information of the acquired second image as a result of classifying the plurality of second images using the neural network model.
  • the device 500 may be, for example, a PC, a laptop, a mobile phone, a micro server, a GPS (global positioning system) device, a smart phone, a wearable terminal, an electronic book terminal, Mobile computing device.
  • the device 500 may include all sorts of devices with data processing capabilities.
  • FIG. 7 is a diagram for explaining a processor 510 according to an embodiment.
  • the processor 510 may include a data learning unit 710 and a data recognizing unit 720.
  • the data learning unit 710 can learn a criterion for acquiring characteristic information necessary for recognizing the category of the object from the image.
  • the data learning unit 710 may learn a criterion for acquiring characteristic information from a plurality of first images or at least one second image in which the categories are recognized.
  • the weight of at least one layer included in the data learning unit 710 can be determined.
  • the data recognition unit 720 can extract the characteristic information of each of the plurality of images or recognize the category of the object included in each of the plurality of images based on the learned criterion through the data learning unit 710.
  • At least one of the data learning unit 710 and the data recognition unit 720 may be manufactured in at least one hardware chip form and mounted on a neural network learning device.
  • at least one of the data learning unit 710 and the data recognition unit 720 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general-purpose processor Or an application processor) or a graphics-only processor (e.g., a GPU) and may be mounted on the various neural network learning devices described above.
  • AI artificial intelligence
  • a graphics-only processor e.g., a GPU
  • the data learning unit 710 and the data recognition unit 720 may be mounted on one neural network learning device, or may be mounted on separate neural network learning devices, respectively.
  • one of the data learning unit 710 and the data recognizing unit 720 may be included in the device, and the other may be included in the server.
  • the data learning unit 710 and the data recognition unit 720 may provide the model information constructed by the data learning unit 710 to the data recognition unit 720 via a wire or wireless connection, 720 may be provided to the data learning unit 710 as additional learning data.
  • At least one of the data learning unit 710 and the data recognition unit 720 may be implemented as a software module.
  • the software module may be a computer-readable, And may be stored in non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • OS operating system
  • FIG. 8 is a block diagram of a data learning unit 710 according to an embodiment.
  • a data learning unit 710 includes a data obtaining unit 810, a preprocessing unit 820, a learning data selecting unit 830, a model learning unit 840, 850).
  • the data acquisition unit 810 may acquire a plurality of first images included in a specific category as learning images.
  • the data acquiring unit 810 may acquire at least one image from an external device or server that can communicate with a neural network learning device including a neural network learning device or data learning unit 710 including a data learning unit 710, Can be obtained.
  • the data acquisition unit 810 may acquire a plurality of second images that are not specified in the category.
  • the plurality of second images may be applied as inputs to the learned neural network model based on the plurality of first images.
  • the data acquisition unit 810 may additionally acquire a verification image used for verifying the learned neural network model based on the plurality of first images.
  • the preprocessing unit 820 can pre-process the acquired image so that the acquired image can be used for learning the feature information extraction of the image or the category recognition of the object in the image.
  • the preprocessing unit 820 may process the acquired at least one image into a predetermined format so that the model learning unit 840 may use at least one image acquired for learning.
  • the learning data selection unit 830 can select an image required for learning from the preprocessed data.
  • the selected image may be provided to the model learning unit 840.
  • the learning data selection unit 830 can select an image required for learning from among the preprocessed images according to the set criteria.
  • the model learning unit 840 can learn a criterion for acquiring characteristic information or recognizing an object in an image using information from an image at a plurality of layers in a learning network model.
  • the model learning unit 840 can determine a data recognition model in which the input learning data and the basic learning data are highly relevant, have.
  • the basic learning data may be pre-classified according to the type of data, and the data recognition model may be pre-built for each data type.
  • the basic learning data may be pre-classified by various criteria such as an area where the learning data is generated, a time at which the learning data is generated, a size of the learning data, a genre of the learning data, a creator of the learning data, .
  • model learning unit 840 can learn the data generation model through reinforcement learning using feedback as to whether the category recognized by the learning is correct, for example.
  • the model learning unit 840 can store the learned data generation model.
  • the model learning unit 840 can store the learned data generation model in the memory of the neural network learning device including the data acquisition unit 810.
  • the model learning unit 840 may store the learned data generation model in a memory of a server connected to the neural network learning device via a wired or wireless network.
  • the memory in which the learned data generation model is stored may also store, for example, instructions or data associated with at least one other component of the neural network learning device.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, a middleware, an application programming interface (API) and / or an application program (or " application ").
  • the model evaluation unit 850 inputs the evaluation data to the data generation model and, if the result of generation of the additional learning data output from the evaluation data does not satisfy the predetermined criterion, the model learning unit 840 can re- have.
  • the evaluation data may be predetermined data for evaluating the data generation model.
  • the evaluation data may include a difference between the category of the recognized object and the category of the actual object based on the learning network model.
  • the model evaluating unit 750 may evaluate whether each learning network model satisfies a predetermined criterion, and determine a model satisfying a predetermined criterion as a final learning network model.
  • At least one of the data acquiring unit 810, the preprocessing unit 820, the learning data selecting unit 830, the model learning unit 840, and the model evaluating unit 850 in the data learning unit 710 includes at least one And can be mounted on a neural network learning device.
  • at least one of the data acquisition unit 810, the preprocessing unit 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 may be an artificial intelligence (AI) Or may be implemented as part of a conventional general purpose processor (e.g., a CPU or an application processor) or a graphics dedicated processor (e.g., a GPU) and loaded on the various neural network learning devices described above .
  • AI artificial intelligence
  • a conventional general purpose processor e.g., a CPU or an application processor
  • a graphics dedicated processor e.g., a GPU
  • the data acquiring unit 810, the preprocessing unit 820, the learning data selecting unit 830, the model learning unit 840 and the model evaluating unit 850 may be mounted on one neural network learning device, Or may be mounted on separate neural network learning devices, respectively.
  • some of the data acquisition unit 810, the preprocessing unit 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 are included in the neural network learning device, Some may be included in the server.
  • At least one of the data acquisition unit 810, the preprocessing unit 820, the learning data selection unit 830, the model learning unit 840, and the model evaluation unit 850 may be implemented as a software module.
  • At least one of the data acquiring unit 810, the preprocessing unit 820, the learning data selecting unit 830, the model learning unit 840 and the model evaluating unit 850 is a software module (or a program including an instruction) Module), the software module may be stored in a computer-readable, readable non-transitory computer readable media.
  • the at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS Operating System
  • some of the software modules may be provided by a predetermined application.
  • FIG. 9 is a block diagram of a data recognition unit 720 according to an embodiment.
  • a data recognition unit 720 includes a data acquisition unit 910, a preprocessing unit 920, a recognition data selection unit 930, a recognition result providing unit 940, (950).
  • the data acquisition unit 910 may acquire at least one image necessary for extracting characteristic information of an image or recognizing an object in an image
  • the preprocessor 920 may acquire at least one image for extracting characteristic information of the image, Processing the acquired image so that at least one image of the captured image can be used.
  • the preprocessing unit 920 can process the acquired image into a predetermined format so that the recognition result providing unit 940, which will be described later, can use the acquired image for extracting the characteristic information of the image or recognizing the category of the object in the image .
  • the recognition data selection unit 930 can select an image for feature extraction or category recognition from the preprocessed data. The selected data may be provided to the recognition result providing unit 840.
  • the recognition result providing unit 940 can extract the characteristic information of the image or recognize the object in the image by applying the selected image to the learning network model according to an embodiment.
  • a method of extracting characteristic information or recognizing an object by inputting at least one image to a learning network model may correspond to the method described above with reference to FIGS.
  • the recognition result providing unit 940 may provide a result of recognizing a category of an object included in at least one image.
  • the model updating unit 950 updates the parameter of the species classification network included in the learning network model or the at least one characteristic extraction layer Etc. to the model learning unit 840 described above with reference to FIG.
  • At least one of the data acquiring unit 910, the preprocessing unit 920, the recognition data selecting unit 930, the recognition result providing unit 940 and the model updating unit 950 in the data recognizing unit 720 may be at least It can be manufactured in one hardware chip form and mounted on a neural network learning device.
  • at least one of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940 and the model updating unit 950 is a dedicated hardware chip for artificial intelligence Or may be built into a variety of neural network learning devices, such as those described above, that are fabricated as part of a conventional general purpose processor (e.g., a CPU or an application processor) or a graphics dedicated processor (e.g., a GPU).
  • a conventional general purpose processor e.g., a CPU or an application processor
  • a graphics dedicated processor e.g., a GPU
  • the data obtaining unit 910, the preprocessing unit 920, the recognition data selecting unit 930, the recognition result providing unit 940, and the model updating unit 950 may be mounted on one neural network learning device, Or separate neural network learning devices, respectively.
  • some of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940, and the model updating unit 950 are included in the neural network learning device, Some of the rest can be included in the server.
  • At least one of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940, and the model updating unit 950 may be implemented as a software module.
  • At least one of the data acquisition unit 910, the preprocessing unit 920, the recognition data selection unit 930, the recognition result providing unit 940 and the model updating unit 950 may be a software module Program modules), the software modules may be stored in a computer-readable, readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • some of the at least one software module may be provided by an operating system (OS)
  • some of the software modules may be provided by a predetermined application.
  • the computer readable recording medium may be a magnetic storage medium such as a ROM, a floppy disk, a hard disk, etc., an optical reading medium such as a CD-ROM or a DVD and a carrier wave such as the Internet Lt; / RTI > transmission).

Abstract

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시는 인공지능 시스템 및 그 응용에 따라 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득하고, 특정 카테고리에 포함되는 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행하며, 학습된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식하고, 인식된 적어도 하나의 제 2 영상을 기초로, 학습된 뉴럴 네트워크 모델을 갱신할 수 있다.

Description

뉴럴 네트워크 학습 방법 및 디바이스
개시된 실시예는 뉴럴 네트워크 학습 방법, 뉴럴 네트워크 학습 디바이스 및 뉴럴 네트워크 학습 방법을 수행하는 프로그램이 기록된 기록매체에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
개시된 실시예는 카테고리가 특정된 일부 데이터 셋을 기초로 학습된 뉴럴 네트워크 모델을 통해 나머지 데이터 셋의 카테고리를 인식하고, 인식 결과를 뉴럴 네트워크 모델의 학습에 이용함으로써, 적은 양의 데이터 셋으로도 뉴럴 네트워크의 학습을 수행할 수 있는 뉴럴 네트워크 학습 방법 및 디바이스를 제공할 수 있다.
본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 특히, 본 개시는 인공지능 시스템 및 그 응용에 따라 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득하고, 특정 카테고리에 포함되는 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행하며, 학습된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식하고, 인식된 적어도 하나의 제 2 영상을 기초로, 학습된 뉴럴 네트워크 모델을 갱신할 수 있다.
도 1은 일 실시예에 따른 뉴럴 네트워크 학습 방법을 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 디바이스가 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 디바이스가 카테고리가 특정된 일부 영상을 기초로 점진적으로 뉴럴 네트워크 모델의 학습을 수행하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 디바이스가 사용자 정보 또는 사용자 입력을 추가적으로 이용하여 뉴럴 네트워크의 학습을 수행하는 방법을 설명하기 위한 도면이다.
도 5 및 도 6은 일 실시예에 따른 클래스 인식을 위한 뉴럴 네트워크 학습 디바이스의 블록도이다.
도 7은 일 실시예에 따른 프로세서를 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 데이터 학습부의 블록도이다.
도 9는 일 실시예에 따른 데이터 인식부의 블록도이다.
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득하는 단계; 특정 카테고리에 포함되는 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행하는 단계; 학습된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식하는 단계; 및 인식된 적어도 하나의 제 2 영상을 기초로, 학습된 뉴럴 네트워크 모델을 갱신하는 단계를 포함할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 갱신된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상을 제외한 다른 제 2 영상의 카테고리를 인식하는 단계를 더 포함할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법은, 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상과 기 생성된 검증 데이터베이스에 저장된 영상을 비교하여, 인식 결과를 검증하는 단계를 더 포함할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법에 있어서, 적어도 하나의 제 2 영상을 인식하는 단계는, 뉴럴 네트워크 모델의 인식 결과에 사용자의 선호 영상에 관한 정보를 가중치로 적용하여, 적어도 하나의 제 2 영상을 인식할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 방법에 있어서, 적어도 하나의 제 2 영상을 인식하는 단계는, 뉴럴 네트워크 모델의 인식 결과를 검증하는 사용자의 입력을 수신하는 단계; 및 뉴럴 네트워크 모델의 인식 결과 및 수신된 사용자 입력에 기초하여, 적어도 하나의 제 2 영상을 인식할 수 있다.
일 실시예에 따른 뉴럴 네트워크 학습 디바이스는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득하고, 특정 카테고리에 포함되는 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행하며, 학습된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식하고, 인식된 적어도 하나의 제 2 영상을 기초로, 학습된 뉴럴 네트워크 모델을 갱신할 수 있다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 특성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 일 실시예에 따른 뉴럴 네트워크 학습 방법을 설명하기 위한 개념도이다.
도 1을 참조하면, 뉴럴 네트워크 학습 디바이스(이하, 디바이스)는 객체의 카테고리 인식을 위한 뉴럴 네트워크 기반의 인식 모델을 학습시키기 위한 복수의 영상(110, 120)을 획득할 수 있다. 한편, 카테고리란 영상에 포함된 객체의 종류를 나타내는 것으로서, 범주에 따라 다양한 카테고리가 존재할 수 있다. 예를 들어, 0, 1, 2, 3, 4, 5 등의 숫자의 종류가 각각 카테고리가 될 수도 있고, 강아지, 고양이 등 동물의 종이 카테고리가 될 수도 있다. 또한, 다른 예에 따라, 의자, 책상, 칠판 등 사물의 종류가 카테고리가 될 수도 있다.
일 실시예에 따른 디바이스는 획득한 복수의 영상(110, 120) 중 특정 카테고리에 포함되는 복수의 제 1 영상(110)을 기초로 뉴럴 네트워크 모델(130)의 학습을 수행할 수 있다. 예를 들어, 디바이스는 의자라는 카테고리에 포함되는 것으로 확인된 복수의 영상을 기초로 뉴럴 네트워크 모델(130)의 학습을 수행할 수 있다.
디바이스는 학습이 완료됨에 따라, 카테고리가 특정되지 않은 다른 복수의 제 2 영상(120)을 뉴럴 네트워크 모델(130)에 입력할 수 있다. 이 때, 뉴럴 네트워크 모델(130)은 많은 양의 영상을 기초로 학습되기 전임에 따라, 인식률이 낮을 수 있다. 예를 들어, 카테고리가 특정되지 않은 복수의 제 2 영상(120)에 포함된 의자 영상의 10% 정도 만이 뉴럴 네트워크 모델(130)을 통해 인식될 수 있다.
일 실시예에 따른 디바이스는 특정 카테고리에 해당하는 것(positive)으로 분류된 적어도 하나의 제 2 영상(140)을 이용하여 뉴럴 네트워크 모델의 학습을 수행할 수 있다. 디바이스는 인식 결과를 학습에 재이용함으로써, 학습에 필요한 추가적인 영상을 확보할 수 있고, 이에 따라 뉴럴 네트워크 모델(130)의 성능 또한 향상될 수 있다.
디바이스는 특정 카테고리에 해당하는 것으로 분류된 적어도 하나의 제 2 영상(140)을 기초로 뉴럴 네트워크 모델의 학습이 완료된 경우, 특정 카테고리에 해당하는 것으로 분류되지 않은 나머지 제 2 영상(150)을 뉴럴 네트워크 모델에 입력할 수 있다. 또한, 디바이스는 인식 결과를 전술한 바와 같이, 뉴럴 네트워크 모델을 재학습하는데 이용할 수 있다.
디바이스는 인식 결과를 학습에 다시 이용함으로써, 초기 뉴럴 네트워크 모델의 학습에 많은 양의 데이터가 필요하다는 로드를 줄이고, 점진적으로 뉴럴 네트워크 모델의 성능을 향상시킬 수 있다.
도 2는 일 실시예에 따른 디바이스가 뉴럴 네트워크를 학습시키는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 디바이스는 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득할 수 있다.
일 실시예에 따른 디바이스는 외부 서버의 훈련(training) 데이터베이스 또는 디바이스 내의 메모리로부터 카테고리가 특정된 복수의 제 1 영상을 획득할 수 있다. 또한, 디바이스는 웹 서버 등으로부터 무작위로 크롤링(crawling)된 복수의 제 2 영상을 획득할 수 있다.
단계 S220에서, 디바이스는 특정 카테고리에 포함되는 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행할 수 있다.
일 실시예에 따른 디바이스는 카테고리가 특정되어 있는 복수의 제 1 영상을 기초로, 특정 카테고리의 인식을 위해 이용되는 특성 정보를 추출하기 위한 뉴럴 네트워크 모델의 기준을 학습시킬 수 있다.
여기에서, 특성 정보는, 예를 들어, 쿼리 이미지를 구성하는 색상, 엣지(edge), 폴리건(polygon), 채도(saturation), 명도(brightness), 색온도, 블러(blur), 선명도(sharpness) 및 명도비(contrast) 등을 포함할 수 있으나, 특성 정보가 이에 한정되는 것은 아니다.
또한, 디바이스는 뉴럴 네트워크 모델의 학습 결과를 별도의 검증 데이터베이스에 저장된 영상을 통해 검증할 수도 있다.
단계 S230에서, 디바이스는 학습된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식할 수 있다.
디바이스는 카테고리가 특정되지 않은 복수의 제 2 영상을 뉴럴 네트워크 모델에 입력할 수 있다. 이 때, 뉴럴 네트워크 모델의 학습에 사용된 영상의 개수가 부족함을 고려하여, 특정 카테고리를 인식하는데 기준이 되는 임계값(threshold)를 비교적 높게 설정할 수 있다. 임계값은 실험을 통해 특정 카테고리에 해당하는 제 2 영상만이 인식되는 값으로 결정될 수 있다.
단계 S240에서, 디바이스는 인식된 적어도 하나의 제 2 영상을 기초로, 학습된 뉴럴 네트워크 모델을 갱신할 수 있다.
일 실시예에 따른 디바이스는 복수의 제 1 영상과 동일한 카테고리에 포함되는 것으로 분류된 적어도 하나의 제 2 영상을 뉴럴 네트워크 모델을 학습시키는데 이용할 수 있다. 적어도 하나의 제 2 영상이 새로운 트레이닝 데이터로 뉴럴 네트워크 모델에 입력됨으로써, 뉴럴 네트워크 모델에서 카테고리 인식을 위해 특성 정보를 추출하는 기준이 되는 파라미터가 갱신될 수 있다.
또한, 디바이스는 갱신된 뉴럴 네트워크 모델에 복수의 제 2 영상 중 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상을 제외한 다른 제 2 영상을 입력할 수 있다.
전술한 바와 같이, 디바이스는 반복적으로 인식 결과를 뉴럴 네트워크 모델의 학습에 이용함으로써, 뉴럴 네트워크 모델의 성능을 점진적으로 향상시킬 수 있다.
도 3은 일 실시예에 따른 디바이스가 카테고리가 특정된 일부 영상을 기초로 점진적으로 뉴럴 네트워크 모델의 학습을 수행하는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 디바이스는 특정 카테고리에 포함되는 복수의 제 1 영상(310) 및 카테고리가 특정되지 않은 복수의 제 2 영상(330)을 획득할 수 있다. 예를 들어, 디바이스는 의자로 카테고리가 분류된 복수의 제 1 영상을 획득할 수 있다. 또한, 디바이스는 웹 서버 등으로부터 무작위로 카테고리가 특정되지 않은 복수의 제 2 영상(330)을 획득할 수 있다.
디바이스는 복수의 제 1 영상을 기초로 객체 인식 모델의 학습(340)을 통해, 객체를 인식할 수 있는 뉴럴 네트워크 모델인 객체 인식 모델(350)을 획득할 수 있다. 디바이스는 객체 인식 모델(350)의 성능 향상을 위해, 검증 DB(320)로부터 획득된 검증 데이터를 기초로, 생성된 객체 인식 모델(350)을 검증하여, 성능이 향상된 객체 인식 모델(370)을 획득할 수 있다. 예를 들어, 디바이스는 검증 DB에 포함된 영상을 생성된 객체 인식 모델(350)을 통해 인식함으로써, 객체 인식 모델(350)의 성능을 향상시킬 수 있다. 여기에서, 검증 DB(320)는 디바이스 내에 저장되어 있을 수도 있고, 웹 서버 및 SNS 서버 등 외부의 서버 내에 저장되어 있을 수도 있다.
일 실시예에 따른 디바이스는 카테고리가 특정되지 않은 복수의 제 2 영상을 성능이 향상된 객체 인식 모델(370)에 입력하여, 복수의 제 2 영상의 분류(380)를 수행할 수 있다. 그 결과, 디바이스는 복수의 제 2 영상 중 제 1 영상과 동일한 카테고리에 해당하는 적어도 하나의 제 2 영상(332)을 인식할 수 있다.
디바이스는 인식된 적어도 하나의 제 2 영상(332)을 기초로 객체 인식 모델을 갱신할 수 있다. 또한, 디바이스는 갱신된 객체 인식 모델을 기초로 특정 카테고리에 포함되는 것으로 분류되지 않은 제 2 영상(334)의 카테고리를 인식할 수 있다.
도 4는 일 실시예에 따른 디바이스가 사용자 정보 또는 사용자 입력을 추가적으로 이용하여 뉴럴 네트워크의 학습을 수행하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 디바이스는 특정 카테고리에 포함되는 복수의 제 1 영상(410) 및 카테고리가 특정되지 않은 복수의 제 2 영상(430)을 획득할 수 있다. 여기에서, 복수의 제 1 영상(410) 및 복수의 제 2 영상(430)은 도 3을 참조하여 전술한 복수의 제 1 영상(310) 및 복수의 제 2 영상(330)과 대응될 수 있다.
디바이스는 복수의 제 1 영상을 기초로 객체 인식 모델의 학습(440)을 통해, 객체를 인식할 수 있는 뉴럴 네트워크 모델인 객체 인식 모델(450)을 획득할 수 있다. 디바이스는 객체 인식 모델(450)의 성능 향상을 위해, 검증 DB(420)로부터 획득된 검증 데이터를 기초로, 생성된 객체 인식 모델(450)을 검증하여, 성능이 향상된 객체 인식 모델(470)을 획득할 수 있다.
일 실시예에 따른 디바이스는 카테고리가 특정되지 않은 복수의 제 2 영상을 성능이 향상된 객체 인식 모델(470)에 입력하여, 복수의 제 2 영상의 분류(480)를 수행할 수 있다.
한편, 카테고리가 특정된 복수의 제 1 영상 만으로 뉴럴 네트워크 모델의 학습이 수행됨에 따라, 뉴럴 네트워크 모델의 분류 결과 이외에 추가적인 정보를 이용하여 뉴럴 네트워크 모델의 분류 결과의 정확도를 향상시킬 수도 있다. 일 실시예에 따라, 디바이스는 사용자의 정보 및 사용자 입력 중 적어도 하나(490)를 추가적으로 뉴럴 네트워크 모델의 분류에 이용할 수 있다. 여기에서, 사용자의 정보는 사용자의 선호도 정보 등이 포함될 수 있다.
일반적으로, 사용자는 자신이 선호하는 종류의 객체가 포함된 영상을 더 많은 빈도수로 시청할 가능성이 있다. 예를 들어, 강아지를 좋아하는 사용자의 경우, 디바이스에 획득되는 영상에는 강아지가 포함된 영상이 존재할 확률이 높아질 수 있다. 이에 따라, 디바이스는 복수의 제 2 영상의 분류 결과, 복수의 제 1 영상과 동일한 카테고리에 포함되는지 여부가 불명확한 제 2 영상에 대해 사용자의 선호도를 반영하여 카테고리 인식을 수행할 수 있다. 일 예로, 소정의 제 2 영상에 포함된 객체의 카테고리가 강아지일 확률이 0.5로 결정된 경우, 강아지에 대한 사용자의 선호도가 높다면, 소정의 제 2 영상의 카테고리를 강아지로 인식할 수 있다. 다만, 이는 일 예일 뿐, 사용자의 선호도 정보를 이용한 뉴럴 네트워크 학습 방법이 전술한 예에 한정되는 것은 아니다.
다른 실시예에 따라, 디바이스는 사용자 입력을 복수의 제 2 영상의 카테고리를 인식하는데 이용할 수도 있다. 예를 들어, 디바이스는 복수의 제 2 영상의 분류 결과, 복수의 제 1 영상과 동일한 카테고리에 포함되는지 여부가 불명확한 제 2 영상에 대해 사용자의 입력을 기초로 카테고리 인식을 수행할 수 있다. 디바이스는 소정의 제 2 영상의 카테고리를 선택할 수 있는 쿼리 또는 메시지 등을 표시하여, 사용자 입력을 요청할 수 있다. 디바이스는 사용자로부터 소정의 제 2 영상이 제 1 영상과 동일한 카테고리에 포함되는 것으로 사용자 입력을 수신한 경우, 이를 반영하여 소정의 제 2 영상에 대한 카테고리를 결정할 수 있다.
디바이스는 인식된 적어도 하나의 제 2 영상(432)을 기초로 객체 인식 모델을 갱신할 수 있다. 또한, 디바이스는 갱신된 객체 인식 모델을 기초로 특정 카테고리에 포함되는 것으로 분류되지 않은 제 2 영상(434)의 카테고리를 인식할 수 있다.
도 5 및 도 6은 일 실시예에 따른 클래스 인식을 위한 뉴럴 네트워크 학습 디바이스(500)의 블록도이다.
도 5를 참조하면, 뉴럴 네트워크 학습 디바이스(500, 이하, 디바이스)는 프로세서(510) 및 메모리(520)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 디바이스(500)는 프로세서(510) 및 메모리(520) 보다 더 적거나 더 많은 구성 요소를 포함할 수 있다. 예를 들어, 도 6을 참조하면, 다른 실시예에 따른 디바이스(600)는 프로세서(510) 및 메모리(520) 이외에 통신부(520) 및 출력부(540)를 더 포함할 수 있다. 또한, 다른 예에 따라, 디바이스(500)는 복수의 프로세서들을 포함할 수도 있다.
프로세서(510)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
프로세서(510)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시예에 따라 프로세서(510)는 도 1 내지 도 4를 참고하여 전술한 디바이스의 동작을 수행할 수 있다.
예를 들어, 프로세서(510)는 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득할 수 있다. 또한, 프로세서(510)는 특정 카테고리에 포함되는 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행할 수 있다.
프로세서(510)는 학습된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 상기 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식할 수 있다. 또한, 프로세서(510)는 인식된 적어도 하나의 제 2 영상을 기초로, 학습된 뉴럴 네트워크 모델을 갱신할 수 있다.
프로세서(510)는 갱신된 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상 중 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상을 제외한 다른 제 2 영상의 카테고리를 인식할 수 있다.
일 실시예에 따라, 프로세서(510)는 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상과 기 생성된 검증 데이터베이스에 저장된 영상을 비교하여, 인식 결과를 검증할 수도 있다.
또한, 일 실시예에 따른 프로세서(510)는 뉴럴 네트워크 모델의 인식 결과에 사용자의 선호 영상에 관한 정보를 가중치로 적용하여, 적어도 하나의 제 2 영상을 인식할 수 있다. 또한, 다른 실시예에 따라, 프로세서(510)는 뉴럴 네트워크 모델의 인식 결과를 검증하는 사용자의 입력을 수신하고, 뉴럴 네트워크 모델의 인식 결과 및 수신된 사용자 입력에 기초하여, 적어도 하나의 제 2 영상을 인식할 수 있다.
한편, 프로세서(510)는 프로세서(510) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(510)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(520)는 프로세서(510)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(520)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다. 일 실시예에 따라 메모리(520)는 도 7을 참고하여 후술할 데이터 학습부 및 데이터 인식부가 소프트웨어 모듈로 구성될 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 각각 독립적으로 학습 네트워크 모델을 포함하거나, 하나의 학습 네트워크 모델을 공유할 수 있다.
통신부(530)는 외부 서버 및 기타 외부 장치와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(530)는 웹 서버 또는 SNS 서버 등으로부터 적어도 하나의 영상을 수신할 수 있다.
출력부(540)는 디바이스(500)에서 처리되는 정보를 출력할 수 있다. 예를 들어, 출력부(540)는 뉴럴 네트워크 모델을 이용하여, 복수의 제 2 영상을 분류한 결과, 획득한 제 2 영상의 카테고리 정보 등을 출력할 수 있다.
한편, 디바이스(500)는 예를 들어, PC, 랩톱, 휴대폰, 마이크로 서버, GPS(global positioning system) 장치, 스마트 폰, 웨어러블 단말기, 전자책 단말기, 가전기기, 자동차 내의 전자 장치 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 그러나, 이에 제한되지 않으며, 디바이스(500)는 데이터 프로세싱 기능을 구비한 모든 종류의 기기를 포함할 수 있다.
도 7은 일 실시예에 따른 프로세서(510)를 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에 따른 프로세서(510)는 데이터 학습부(710) 및 데이터 인식부(720)를 포함할 수 있다.
데이터 학습부(710)는 영상으로부터 객체의 카테고리를 인식하는데 필요한 특성 정보를 획득하기 위한 기준을 학습할 수 있다. 예를 들어, 데이터 학습부(710)는 복수의 제 1 영상 또는 카테고리가 인식된 적어도 하나의 제 2 영상으로부터 특성 정보를 획득하기 위한 기준을 학습할 수 있다. 여기에서, 학습된 기준에 따라, 데이터 학습부(710)에 포함된 적어도 하나의 레이어의 가중치가 결정될 수 있다.
데이터 인식부(720)는 데이터 학습부(710)를 통해 학습된 기준에 기초하여, 복수의 영상 각각의 특성 정보를 추출하거나, 복수의 영상 각각에 포함된 객체의 카테고리를 인식할 수 있다.
데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 디바이스에 탑재될 수 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있다.
이 경우, 데이터 학습부(710) 및 데이터 인식부(720)는 하나의 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 디바이스에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(710) 및 데이터 인식부(720) 중 하나는 디바이스에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(710) 및 데이터 인식부(720)는 유선 또는 무선으로 통하여, 데이터 학습부(710)가 구축한 모델 정보를 데이터 인식부(720)로 제공할 수도 있고, 데이터 인식부(720)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(710)로 제공될 수도 있다.
한편, 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(710) 및 데이터 인식부(720) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
도 8은 일 실시예에 따른 데이터 학습부(710)의 블록도이다.
도 8을 참조하면, 일부 실시예에 따른 데이터 학습부(710)는 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850)를 포함할 수 있다. 다만, 이는 일 실시예일 뿐, 전술한 구성 들 보다 적은 구성 요소로 데이터 학습부(710)가 구성되거나, 전술한 구성들 이외에 다른 구성 요소가 추가적으로 데이터 학습부(710)에 포함될 수 있다.
데이터 획득부(810)는 특정 카테고리에 포함되는 복수의 제 1 영상을 학습 영상으로 획득할 수 있다. 일 예로, 데이터 획득부(810)는 데이터 학습부(710)를 포함하는 뉴럴 네트워크 학습 디바이스 또는 데이터 학습부(710)를 포함하는 뉴럴 네트워크 학습 디바이스와 통신 가능한 외부의 디바이스 또는 서버로부터 적어도 하나의 영상을 획득할 수 있다.
또한, 데이터 획득부(810)는 카테고리가 특정되지 않은 복수의 제 2 영상을 획득할 수 있다. 복수의 제 2 영상은 전술한 복수의 제 1 영상을 기초로 학습된 뉴럴 네트워크 모델에 입력으로 적용될 수 있다.
또한, 데이터 획득부(810)는 복수의 제 1 영상을 기초로 학습된 뉴럴 네트워크 모델을 검증하는데 이용되는 검증용 영상을 추가적으로 획득할 수도 있다.
전처리부(820)는 영상의 특성 정보 추출 또는 영상 내의 객체의 카테고리 인식을 위한 학습에 획득된 영상이 이용될 수 있도록, 획득된 영상을 전처리할 수 있다. 전처리부(820)는 후술할 모델 학습부(840)가 학습을 위하여 획득된 적어도 하나의 영상을 이용할 수 있도록, 획득된 적어도 하나의 영상을 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(830)는 전처리된 데이터 중에서 학습에 필요한 영상을 선택할 수 있다. 선택된 영상은 모델 학습부(840)에 제공될 수 있다. 학습 데이터 선택부(830)는 설정된 기준에 따라, 전처리된 영상 중에서 학습에 필요한 영상을 선택할 수 있다.
모델 학습부(840)는 학습 네트워크 모델 내의 복수의 레이어에서 영상으로부터 어떠한 정보를 이용하여, 특성 정보를 획득하거나, 영상 내의 객체를 인식하는지에 대한 기준을 학습할 수 있다.
다양한 실시예에 따르면, 모델 학습부(840)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 객체의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(840)는, 예를 들어, 학습에 따라 인식된 카테고리가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 생성 모델을 학습시킬 수 있다.
또한, 데이터 생성 모델이 학습되면, 모델 학습부(840)는 학습된 데이터 생성 모델을 저장할 수 있다. 이 경우, 모델 학습부(840)는 학습된 데이터 생성 모델을 데이터 획득부(810)를 포함하는 뉴럴 네트워크 학습 디바이스의 메모리에 저장할 수 있다. 또는, 모델 학습부(840)는 학습된 데이터 생성 모델을 뉴럴 네트워크 학습 디바이스와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 생성 모델이 저장되는 메모리는, 예를 들면, 뉴럴 네트워크 학습 디바이스의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 애플리케이션 프로그래밍 인터페이스(API) 및/또는 애플리케이션 프로그램(또는 "애플리케이션") 등을 포함할 수 있다.
모델 평가부(850)는 데이터 생성 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 추가 학습 데이터의 생성 결과, 소정 기준을 만족하지 못하는 경우, 모델 학습부(840)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 생성 모델을 평가하기 위한 기 설정된 데이터일 수 있다. 여기에서, 평가 데이터는 학습 네트워크 모델을 기반으로 인식된 객체의 카테고리와 실제 객체의 카테고리 간의 차이 등을 포함할 수 있다.
한편, 학습 네트워크 모델이 복수 개 존재하는 경우, 모델 평가부(750)는 각각의 학습 네트워크 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 학습 네트워크 모델로서 결정할 수 있다.
한편, 데이터 학습부(710) 내의 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 디바이스에 탑재될 수 있다. 예를 들어, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 디바이스 에 탑재될 수도 있다.
또한, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850)는 하나의 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 일부는 뉴럴 네트워크 학습 디바이스에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(810), 전처리부(820), 학습 데이터 선택부(830), 모델 학습부(840) 및 모델 평가부(850) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9는 일 실시예에 따른 데이터 인식부(720)의 블록도이다.
도 9를 참조하면, 일부 실시예에 따른 데이터 인식부(720)는 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)를 포함할 수 있다.
데이터 획득부(910)는 영상의 특성 정보 추출 또는 영상 내의 객체 인식에 필요한 적어도 하나의 영상을 획득할 수 있으며, 전처리부(920)는 영상의 특성 정보 추출 또는 영상 내의 객체의 카테고리 인식을 위해 획득된 적어도 하나의 영상이 이용될 수 있도록, 획득된 영상을 전처리할 수 있다. 전처리부(920)는 후술할 인식 결과 제공부(940)가 영상의 특성 정보 추출 또는 영상 내의 객체의 카테고리 인식을 위하여 획득된 영상을 이용할 수 있도록, 획득된 영상을 기 설정된 포맷으로 가공할 수 있다. 인식 데이터 선택부(930)는 전처리된 데이터 중에서 특성 추출 또는 카테고리 인식에 필요한 영상을 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(840)에게 제공될 수 있다.
인식 결과 제공부(940)는 선택된 영상을 일 실시예에 따른 학습 네트워크 모델에 적용하여 영상의 특성 정보를 추출하거나, 영상 내의 객체를 인식할 수 있다. 학습 네트워크 모델에 적어도 하나의 영상을 입력하여 특성 정보를 추출하거나 객체를 인식하는 방법은 도 1 내지 4을 참고하여 전술한 방법과 대응될 수 있다.
인식 결과 제공부(940)는 적어도 하나의 영상 내에 포함된 객체의 카테고리를 인식한 결과를 제공할 수 있다.
모델 갱신부(950)는 인식 결과 제공부(940)에 의해 제공되는 영상 내의 객체의 카테고리 인식 결과에 대한 평가에 기초하여, 학습 네트워크 모델에 포함된 종분류 네트워크 또는 적어도 하나의 특성 추출 레이어의 파라미터 등이 갱신되도록 평가에 대한 정보를 도 8을 참고하여 전술한 모델 학습부(840)에게 제공할 수 있다.
한편, 데이터 인식부(720) 내의 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 뉴럴 네트워크 학습 디바이스에 탑재될 수 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 인공 지능을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950)는 하나의 뉴럴 네트워크 학습 디바이스에 탑재될 수도 있으며, 또는 별개의 뉴럴 네트워크 학습 디바이스들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 일부는 뉴럴 네트워크 학습 디바이스에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(910), 전처리부(920), 인식 데이터 선택부(930), 인식 결과 제공부(940) 및 모델 갱신부(950) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (11)

  1. 특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득하는 단계;
    상기 특정 카테고리에 포함되는 상기 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행하는 단계;
    상기 학습된 뉴럴 네트워크 모델을 이용하여, 상기 복수의 제 2 영상 중 상기 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식하는 단계; 및
    상기 인식된 적어도 하나의 제 2 영상을 기초로, 상기 학습된 뉴럴 네트워크 모델을 갱신하는 단계를 포함하는, 뉴럴 네트워크 학습 방법.
  2. 제 1 항에 있어서,
    상기 갱신된 뉴럴 네트워크 모델을 이용하여, 상기 복수의 제 2 영상 중 상기 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상을 제외한 다른 제 2 영상의 카테고리를 인식하는 단계를 더 포함하는, 뉴럴 네트워크 학습 방법.
  3. 제 1 항에 있어서,
    상기 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상과 기 생성된 검증 데이터베이스에 저장된 영상을 비교하여, 상기 인식 결과를 검증하는 단계를 더 포함하는, 뉴럴 네트워크 학습 방법.
  4. 제 1 항에 있어서, 상기 적어도 하나의 제 2 영상을 인식하는 단계는,
    상기 뉴럴 네트워크 모델의 인식 결과에 사용자의 선호 영상에 관한 정보를 가중치로 적용하여, 상기 적어도 하나의 제 2 영상을 인식하는, 뉴럴 네트워크 학습 방법.
  5. 제 1 항에 있어서, 상기 적어도 하나의 제 2 영상을 인식하는 단계는,
    상기 뉴럴 네트워크 모델의 인식 결과를 검증하는 사용자의 입력을 수신하는 단계; 및
    상기 뉴럴 네트워크 모델의 인식 결과 및 상기 수신된 사용자 입력에 기초하여, 상기 적어도 하나의 제 2 영상을 인식하는, 뉴럴 네트워크 학습 방법.
  6. 하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    특정 카테고리에 포함되는 복수의 제 1 영상 및 카테고리가 특정되지 않은 복수의 제 2 영상을 획득하고,
    상기 특정 카테고리에 포함되는 상기 복수의 제 1 영상을 기초로, 카테고리 인식을 위한 뉴럴 네트워크 모델의 학습을 수행하며,
    상기 학습된 뉴럴 네트워크 모델을 이용하여, 상기 복수의 제 2 영상 중 상기 특정 카테고리에 해당하는 적어도 하나의 제 2 영상을 인식하고,
    상기 인식된 적어도 하나의 제 2 영상을 기초로, 상기 학습된 뉴럴 네트워크 모델을 갱신하는, 뉴럴 네트워크 학습 디바이스.
  7. 제 6 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 갱신된 뉴럴 네트워크 모델을 이용하여, 상기 복수의 제 2 영상 중 상기 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상을 제외한 다른 제 2 영상의 카테고리를 인식하는, 뉴럴 네트워크 학습 디바이스.
  8. 제 6 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 특정 카테고리에 해당하는 것으로 인식된 적어도 하나의 제 2 영상과 기 생성된 검증 데이터베이스에 저장된 영상을 비교하여, 상기 인식 결과를 검증하는, 뉴럴 네트워크 학습 디바이스.
  9. 제 6항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 뉴럴 네트워크 모델의 인식 결과에 사용자의 선호 영상에 관한 정보를 가중치로 적용하여, 상기 적어도 하나의 제 2 영상을 인식하는, 뉴럴 네트워크 학습 디바이스.
  10. 제 6 항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 뉴럴 네트워크 모델의 인식 결과를 검증하는 사용자의 입력을 수신하고,
    상기 뉴럴 네트워크 모델의 인식 결과 및 상기 수신된 사용자 입력에 기초하여, 상기 적어도 하나의 제 2 영상을 인식하는, 뉴럴 네트워크 학습 디바이스.
  11. 제 1항 내지 제 5항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2017/013043 2017-11-16 2017-11-16 뉴럴 네트워크 학습 방법 및 디바이스 WO2019098418A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2017/013043 WO2019098418A1 (ko) 2017-11-16 2017-11-16 뉴럴 네트워크 학습 방법 및 디바이스
KR1020207013184A KR102607208B1 (ko) 2017-11-16 2017-11-16 뉴럴 네트워크 학습 방법 및 디바이스
US16/759,878 US11681912B2 (en) 2017-11-16 2017-11-16 Neural network training method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/013043 WO2019098418A1 (ko) 2017-11-16 2017-11-16 뉴럴 네트워크 학습 방법 및 디바이스

Publications (1)

Publication Number Publication Date
WO2019098418A1 true WO2019098418A1 (ko) 2019-05-23

Family

ID=66538681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013043 WO2019098418A1 (ko) 2017-11-16 2017-11-16 뉴럴 네트워크 학습 방법 및 디바이스

Country Status (3)

Country Link
US (1) US11681912B2 (ko)
KR (1) KR102607208B1 (ko)
WO (1) WO2019098418A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027052A1 (zh) * 2019-08-14 2021-02-18 南京大学 面向神经网络模型的基于层间剖析的输入实例验证方法
CN112784912A (zh) * 2021-01-29 2021-05-11 北京百度网讯科技有限公司 图像识别方法及装置、神经网络模型的训练方法及装置
US11682213B2 (en) 2020-04-21 2023-06-20 Electronics And Telecommunications Research Institute Method and device for training image analysis neural network model and intelligent image capturing apparatus employing the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6806107B2 (ja) * 2018-03-20 2021-01-06 日本電気株式会社 障害物認識支援装置、障害物認識支援方法、プログラム
US20220237414A1 (en) * 2021-01-26 2022-07-28 Nvidia Corporation Confidence generation using a neural network
KR102437309B1 (ko) * 2021-02-24 2022-08-30 주식회사 스톡폴리오 딥러닝을 이용한 영상 카테고리 분류 장치 및 그 방법
TWI805485B (zh) * 2021-12-20 2023-06-11 財團法人工業技術研究院 影像辨識的方法及其電子裝置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070079211A (ko) * 2006-02-01 2007-08-06 삼성전자주식회사 멀티미디어 컨텐츠 추천 장치 및 방법
US20100217589A1 (en) * 2009-02-20 2010-08-26 Nuance Communications, Inc. Method for Automated Training of a Plurality of Artificial Neural Networks
KR20160131071A (ko) * 2014-03-06 2016-11-15 프로그레스, 인코포레이티드 신경망 및 신경망 트레이닝의 방법
KR20160143512A (ko) * 2015-06-04 2016-12-14 더 보잉 컴파니 머신 러닝을 위한 진보된 분석 기반시설
KR20160144467A (ko) * 2014-04-11 2016-12-16 구글 인코포레이티드 컨볼루션 신경망들의 트레이닝을 병렬화

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711662B2 (en) 2003-01-15 2010-05-04 Bracco Imaging S.P.A. System and method for optimization of a database for the training and testing of prediction algorithms
US7362892B2 (en) * 2003-07-02 2008-04-22 Lockheed Martin Corporation Self-optimizing classifier
WO2009032220A1 (en) * 2007-08-31 2009-03-12 Saudi Arabian Oil Company Artificial neural network models for determining relative permeability of hydrocarbon reservoirs
JP6164639B2 (ja) * 2013-05-23 2017-07-19 国立研究開発法人情報通信研究機構 ディープ・ニューラルネットワークの学習方法、及びコンピュータプログラム
US10387773B2 (en) * 2014-10-27 2019-08-20 Ebay Inc. Hierarchical deep convolutional neural network for image classification
US10354199B2 (en) * 2015-12-07 2019-07-16 Xerox Corporation Transductive adaptation of classifiers without source data
US10083369B2 (en) * 2016-07-01 2018-09-25 Ricoh Company, Ltd. Active view planning by deep learning
US10192415B2 (en) * 2016-07-11 2019-01-29 Google Llc Methods and systems for providing intelligent alerts for events
US10664157B2 (en) * 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US10242443B2 (en) * 2016-11-23 2019-03-26 General Electric Company Deep learning medical systems and methods for medical procedures
US9891884B1 (en) * 2017-01-27 2018-02-13 International Business Machines Corporation Augmented reality enabled response modification
US20180374105A1 (en) * 2017-05-26 2018-12-27 Get Attached, Inc. Leveraging an intermediate machine learning analysis
US10019654B1 (en) * 2017-06-28 2018-07-10 Accenture Global Solutions Limited Image object recognition
US20190095946A1 (en) * 2017-09-25 2019-03-28 Get Attached, Inc. Automatically analyzing media using a machine learning model trained on user engagement information
US20190122073A1 (en) * 2017-10-23 2019-04-25 The Charles Stark Draper Laboratory, Inc. System and method for quantifying uncertainty in reasoning about 2d and 3d spatial features with a computer machine learning architecture
EP3704567A4 (en) * 2017-11-02 2021-06-30 Airworks Solutions, Inc. METHOD AND DEVICE FOR THE AUTOMATIC DEFINITION OF COMPUTER-AIDED DESIGN FILES USING MACHINE LEARNING, IMAGE ANALYSIS AND / OR COMPUTER VIEW
US10776662B2 (en) * 2017-11-09 2020-09-15 Disney Enterprises, Inc. Weakly-supervised spatial context networks to recognize features within an image

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070079211A (ko) * 2006-02-01 2007-08-06 삼성전자주식회사 멀티미디어 컨텐츠 추천 장치 및 방법
US20100217589A1 (en) * 2009-02-20 2010-08-26 Nuance Communications, Inc. Method for Automated Training of a Plurality of Artificial Neural Networks
KR20160131071A (ko) * 2014-03-06 2016-11-15 프로그레스, 인코포레이티드 신경망 및 신경망 트레이닝의 방법
KR20160144467A (ko) * 2014-04-11 2016-12-16 구글 인코포레이티드 컨볼루션 신경망들의 트레이닝을 병렬화
KR20160143512A (ko) * 2015-06-04 2016-12-14 더 보잉 컴파니 머신 러닝을 위한 진보된 분석 기반시설

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027052A1 (zh) * 2019-08-14 2021-02-18 南京大学 面向神经网络模型的基于层间剖析的输入实例验证方法
US11682213B2 (en) 2020-04-21 2023-06-20 Electronics And Telecommunications Research Institute Method and device for training image analysis neural network model and intelligent image capturing apparatus employing the same
CN112784912A (zh) * 2021-01-29 2021-05-11 北京百度网讯科技有限公司 图像识别方法及装置、神经网络模型的训练方法及装置

Also Published As

Publication number Publication date
US11681912B2 (en) 2023-06-20
KR20200074958A (ko) 2020-06-25
KR102607208B1 (ko) 2023-11-28
US20210182664A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
WO2019098418A1 (ko) 뉴럴 네트워크 학습 방법 및 디바이스
WO2019050247A2 (ko) 클래스 인식을 위한 뉴럴 네트워크 학습 방법 및 디바이스
WO2018212494A1 (ko) 객체를 식별하는 방법 및 디바이스
WO2019098414A1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
WO2019098449A1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
WO2019031714A1 (ko) 객체를 인식하는 방법 및 장치
KR20190056720A (ko) 뉴럴 네트워크 학습 방법 및 디바이스
WO2019050297A1 (ko) 뉴럴 네트워크 학습 방법 및 장치
WO2020032467A1 (ko) 인공지능 기반 질의응답 도출방법, 장치 및 프로그램
CN110147846A (zh) 视频分割方法、装置、设备及存储介质
WO2022164191A1 (en) System and method for microgenre-based hyper-personalization with multi-modal machine learning
WO2020022669A1 (ko) 인공지능 과제매칭 방법, 장치 및 프로그램
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
CN111797870A (zh) 算法模型的优化方法、装置、存储介质及电子设备
US20200202068A1 (en) Computing apparatus and information input method of the computing apparatus
WO2020101196A1 (ko) 인공지능 기반의 모듈 식별 및 어시스턴트 시스템
WO2019039659A1 (ko) 감성 기반의 사용자 관리 방법 및 이를 수행하는 장치들
WO2021085785A1 (en) Electronic apparatus and method for controlling thereof
CN112364912A (zh) 信息分类方法、装置、设备及存储介质
CN116956117A (zh) 一种标签识别的方法、装置、设备、存储介质及程序产品
CN110852082A (zh) 同义词的确定方法及装置
WO2023033194A1 (ko) 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템
CN112364946B (zh) 图像确定模型的训练方法、图像确定的方法、装置和设备
WO2021045434A1 (ko) 전자 장치 및 이의 제어 방법
WO2019059460A1 (ko) 영상 처리 장치 및 방법

Legal Events

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

Ref document number: 17932561

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20207013184

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17932561

Country of ref document: EP

Kind code of ref document: A1