WO2018154360A1 - 学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステム - Google Patents
学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステム Download PDFInfo
- Publication number
- WO2018154360A1 WO2018154360A1 PCT/IB2017/051078 IB2017051078W WO2018154360A1 WO 2018154360 A1 WO2018154360 A1 WO 2018154360A1 IB 2017051078 W IB2017051078 W IB 2017051078W WO 2018154360 A1 WO2018154360 A1 WO 2018154360A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- learning
- information
- target
- data
- learning data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/2163—Partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/24765—Rule-based classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7747—Organisation of the process, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Definitions
- the present invention relates to the deep learning field, and more specifically to a processing method, system, program and storage medium for generating learning data, and a method and system for generating learning data.
- AI artificial intelligence
- deep learning deep learning
- the machine can acquire the ability to learn by itself and classify the analysis target.
- the capabilities that machines can acquire as learning results will become increasingly widespread.
- the learning method of the deep learning technology is not easy to understand and use for general users.
- what kind of data is necessary for acquiring skills depends on the learning method, the learning target, the difficulty of the learning target, etc. It is difficult to understand and use.
- Deep learning requires learning based on a large amount of data. In general, when the amount of data used for learning is small, the range in which the acquired ability can be handled becomes narrow. However, since deep learning requires a lot of time and system resources, it is problematic to increase the data too much. Therefore, it is difficult for general users to know what learning data is prepared and to what extent the desired ability can be acquired, and it takes time to prepare learning data.
- An object of the present invention is to provide a method, a system, a database, a program, and a storage medium that can automatically or semi-automatically provide learning data.
- the step of identifying requirement information for generating learning data based on request information for requesting learning, and the requirement information to an apparatus for generating the learning data And a step of transmitting is provided.
- the request information may include information on a learning target that is a target on which learning based on the learning data is performed, and information on a learning target that indicates a processing capability for the learning target that needs to be acquired.
- the step of specifying the requirement information for generating the learning data is based on the step of acquiring the learning target information included in the request information, and the learning target information. And specifying at least one of the type and number of learning data.
- the step of specifying the requirement information for generating the learning data includes the step of acquiring the learning target information included in the request information, and the requirement corresponding to the learning target information Identifying the information.
- the step of specifying the requirement information for generating the learning data includes a step of acquiring information related to at least one state of the learning target, and a requirement corresponding to each state of the learning target Specifying information or specifying requirement information corresponding to the state conversion of the learning target may be included.
- the step of identifying the requirement information for generating the learning data includes, based on the request information, with respect to the learning data, format information of the learning data, breakdown information of the learning data, a range of the learning data Specifying data information including at least one of information, pre-processing method information of the learning data, acquisition means information of the learning data, and identification information of the learning data.
- the step of specifying the requirement information for generating the learning data includes: Based on the request information, target information including at least one of the type of the learning target, the state of the learning target, the state control information of the learning target, and the state control program of the learning target is specified for the learning target. A step of performing.
- the step of specifying the requirement information for generating the learning data includes: Based on the request information, with respect to the operation target that performs data acquisition and / or operation on the learning target, the type of the operation target, the hardware configuration of the operation target, the control data of the operation target, and the control of the operation target A step of specifying setting information including at least one of the programs may be included.
- the step of specifying the requirement information for generating the learning data is based on the request information, acquiring the requirement information from a database, or based on the request information, Generating the requirement information.
- the processing method may further include a step of storing a correspondence relationship between at least a part of the request information and the requirement information after specifying the requirement information.
- the processing method may further include a step of acquiring the learning data obtained by performing learning based on the requirement information from the device. Furthermore, the processing method includes a step of obtaining a learning result obtained by learning using the request information and the learning data, and a step of transmitting the learning result to a device that performs target analysis based on the learning result. Further, it may be included. According to another embodiment of the present invention, receiving request information for requesting learning, transmitting the request information to an apparatus that provides requirement information for generating learning data, A method of generating learning data is provided that can include receiving the requirement information from the device and generating the learning data based on the requirement information.
- the request information may include information on a learning target that is a target on which learning based on the learning data is performed, and information on a learning target that indicates a processing capability for the learning target that needs to be acquired.
- the step of generating the learning data based on the requirement information further specifies at least one of a type and a number of the learning data based on the requirement information corresponding to the learning target information. And generating the type and / or the number of data as at least a part of the learning data.
- the step of generating the learning data based on the requirement information may further include acquiring data and / or data for the learning target and / or the learning target based on the requirement information corresponding to the learning target information.
- the method may include a step of configuring an operation target to be operated, and a step of generating data based on the configuration to be at least part of the learning data.
- the step of generating the learning data based on the requirement information further includes the step of setting the state of the learning target based on the requirement information corresponding to information related to at least one state of the learning target. And generating at least a part of the learning data for the learning target for each state.
- the step of generating the learning data based on the requirement information may further include a step of storing the generated data in association with teacher data reflecting the processing capability.
- the method may further include a step of receiving a learning result obtained by performing learning based on the learning data, and a step of performing object analysis using the learning result.
- a requirement information specifying unit for specifying requirement information for generating learning data based on request information for requesting learning, the requirement information, and the learning data
- a learning data transmitting unit that transmits the learning data to a device for generating learning data.
- the request information may include information on a learning target that is a target on which learning based on the learning data is performed, and information on a learning target that indicates a processing capability for the learning target that needs to be acquired.
- the requirement information specifying unit further acquires the learning target information included in the request information, and based on the learning target information, at least one of a type and a number of the learning data Is identified. In the above system, the requirement information specifying unit further acquires the learning target information included in the request information, and specifies the requirement information corresponding to the learning target information. In the above system, the requirement information specifying unit further acquires information on at least one state of the learning target, and specifies the requirement information corresponding to each state of the learning target, or the state of the learning target Identify requirement information corresponding to the transformation.
- the requirement information specifying unit relates to the learning data based on the request information, the learning data format information, the learning data breakdown information, the learning data range information, and the learning data pre-processing method information. And data information including at least one of the learning data acquisition means information and the learning data identification information. Further, the requirement information specifying unit is configured to determine the type of the learning target, the state of the learning target, the state control information of the learning target, and the state control program of the learning target based on the request information. Target information including at least one of them is specified.
- the requirement information specifying unit relates to the operation target for performing data acquisition and / or operation on the learning target based on the request information, the type of the operation target, the hardware configuration of the operation target, the operation target Setting information including at least one of control data and the control program to be operated is specified.
- the requirement information specifying unit further acquires the requirement information from a database based on the request information, or generates the requirement information based on the request information.
- the system may further include a storage unit that stores a correspondence relationship between at least part of the request information and the requirement information.
- the system may further include a learning data acquisition unit that acquires the learning data obtained by performing learning based on the requirement information from the device.
- a request information receiving unit that receives request information for requesting learning and the request information are transmitted to an apparatus that provides requirement information for generating learning data.
- a system that generates learning data comprising: a request information transmitting unit; a requirement information receiving unit that receives the requirement information from the device; and a learning data generation unit that generates the learning data based on the requirement information Is provided.
- the request information includes information on a learning target that is a target on which learning based on the learning data is performed, and information on a learning target that indicates a processing capability for the learning target that needs to be acquired.
- the learning data generation unit further specifies at least one of a type and a number of the learning data based on the requirement information corresponding to the learning target information, and the type and / or The number of data is generated and used as at least part of the learning data.
- the learning data generation unit may further select an operation target for performing data acquisition and / or operation on the learning target and / or the learning target based on the requirement information corresponding to the information on the learning target. And generating data based on the configuration as at least part of the learning data.
- the learning data generation unit further sets the learning target state based on the requirement information corresponding to information on at least one state of the learning target, and the learning target for each state Can be generated and used as at least part of the learning data.
- the system may further include a learning data storage unit that stores the generated data in association with teacher data that reflects the processing capability.
- the system further includes a learning result receiving unit that receives a learning result obtained by performing learning based on the learning data, and a learning result using unit that performs target analysis using the learning result. Also good.
- a storage device for storing a program and a processor can be provided. The processor is based on request information for requesting learning based on the program.
- a server for performing an operation for identifying requirement information for generating learning data and transmitting the requirement information to an apparatus for generating the learning data.
- the step of identifying requirement information for generating learning data based on request information for requesting a processor to learn, and the requirement information, the learning data And a step of transmitting to the device for generating the program.
- the step of identifying requirement information for generating learning data based on request information for requesting learning, and generating the learning data from the requirement information And a storage medium capable of storing a program for realizing the step of transmitting to the apparatus.
- the generation of learning data can be automated / semi-automated by specifying the requirement information.
- the learning client can create necessary learning data without understanding the details of the learning method.
- the burden on the learning client is greatly reduced.
- it is possible to avoid the addition of learning due to lack of learning so the communication load between the client and the server, for example, and the processing load of the server, for example, are reduced, and the server resource and processing Save time.
- FIG. 1 is a diagram illustrating the structure of a learning request system and a learning service providing system according to an exemplary embodiment of the present invention.
- FIG. 3 is a diagram illustrating an interaction between a learning request system and a learning service providing system according to an exemplary embodiment of the present invention. It is a figure which shows the interaction between the functional module of the learning data generation system by the illustrative embodiment of this invention, and the other apparatus in a learning request system.
- FIG. 3 is a block diagram illustrating functional modules of a learning device according to an exemplary embodiment of the present invention. It is a block diagram which shows the functional module of the learning database apparatus by one exemplary embodiment of this invention. It is a block diagram which shows the functional module of the object operating device by one exemplary embodiment of this invention.
- 6 is a flowchart illustrating a method for generating request information implemented in a learning request system according to an exemplary embodiment of the present invention. 6 is a flowchart illustrating a processing method for generating learning data realized by a learning service providing system according to an exemplary embodiment of the present invention.
- FIG. 3 is a block diagram illustrating functional modules of a learning device according to an exemplary embodiment of the present invention. It is a block diagram which shows the functional module of the learning database apparatus by one exemplary embodiment of this invention. It is a block diagram which shows the functional module of the object operating device by one exemplary embodiment of this invention.
- 6 is a flowchart illustrating a method for generating request information implemented in
- FIG. 6 is a diagram illustrating a logical configuration of requirement information for generating learning data according to an exemplary embodiment of the present invention.
- 3 is a flowchart illustrating a method for generating learning data implemented in a learning request system according to an exemplary embodiment of the present invention.
- 3 is a flowchart illustrating a method for generating a learning result realized by a learning service providing system according to an exemplary embodiment of the present invention. It is a functional block diagram which shows the example 1 of application using the processing method for producing
- 12 is a flowchart illustrating a method for generating learning data in Application Example 1; It is a figure which shows the determination of the non-defective product / defective product using the learning result in the application example 1. It is a figure which shows the deep learning used for determination of the non-defective product / defective product shown in FIG. 27 is a flowchart showing a non-defective / defective product determination method shown in FIG. 26.
- 10 is a flowchart illustrating a method for generating learning data in an application example 2; 12 is a flowchart illustrating a method for generating learning data in an application example 3.
- FIG. 1 is a diagram illustrating the structure of a learning request system 100 and a learning service providing system 200 according to an exemplary embodiment of the present invention. As shown in FIG.
- a learning request system 100 includes a learning request device 110, a learning data generation system 120, a learning result utilization device 130, a learning data acquisition device 140, Can be provided.
- the learning request apparatus 110 can be used as an interface with the user in the learning request system 100, and receives request information for requesting learning from the user.
- the learning request device 110 can also be used as an interface with the learning service providing system 200 in the learning request system 100, and transmits the received request information to the learning service providing system 200 and provides the learning service.
- the requirement information for generating the learning data generated based on the request information is received from the system 200.
- the learning data generation system 120 generates learning data based on the requirement information.
- the learning result utilization apparatus 130 performs operation / analysis / inspection and the like on the target using the learning result obtained by learning using the learning data.
- the learning data acquisition device 140 acquires and stores learning data.
- the “subject” as used in the present invention can include a variety of subjects that are noticed in order to achieve the object of the present invention.
- an object on which learning based on learning data is performed A certain learning target and an operation target for performing operations / settings on the learning target may be included.
- the object for example, when determining a non-defective product / defective product of a confectionery in a production line of a food processing factory, the object can include a confectionery as a learning object and a camera that photographs the confectionery as an operation object.
- the target when performing automatic classification of files in a computer system, includes a file as a learning target and a program that determines a file as an operation target and extracts features. Can do.
- the learning service providing system 200 can include a learning request receiving device 210, a learning device 220, and a learning database device 230.
- the learning request reception device 210 is used as an interface with the learning request system 100 in the learning service providing system 200, receives user request information from the learning request device 110, and is generated based on the request information.
- the requirement information for generating learning data is transmitted to the learning request apparatus 110.
- the learning device 220 performs learning using the learning data, and transmits a learning result obtained by learning to the learning request receiving device 210.
- the learning database device 230 stores learning data, request information for a user to request learning, use history of learning results, requirement information for generating learning data, a learning program, and the like.
- the learning request system 100 and the learning service providing system 200 communicate using the Internet 310, but the present invention is not limited to this.
- the learning request system 100 and the learning service providing system 200 can transmit / receive information via various communication methods, for example, an intranet, a local area network, a mobile communication network, and combinations thereof. These may be in the same device.
- FIG. 2 is a diagram illustrating an interaction between the learning request system 100 and the learning service providing system 200 according to an exemplary embodiment of the present invention. Referring to FIG.
- learning request device 110 receives request information for requesting learning from a learning requester, and transmits the request information to learning request reception device 210 via Internet 310.
- the learning request reception apparatus 210 receives the request information and notifies the learning apparatus of the received request information. Then, the learning request reception device 210 transmits the requirement information for generating the learning data specified based on the request information to the learning request device 110.
- the learning request apparatus 110 transmits the requirement information for generating the received learning data to the learning data generation system 120.
- the learning data generation system 120 generates learning data based on the requirement information for generating the learning data.
- the learning data is transmitted to the learning device 220 via the Internet 310.
- the learning device 220 receives the learning data, performs learning based on the previously received request information for requesting learning and the learning data, generates a learning result, and the learning result can be copied It can be converted into data and converted into data.
- the learning result converted into data is sent to the learning request apparatus 110 via the Internet 310.
- the learning request apparatus 110 transmits the learning result converted into data to the learning result utilization apparatus 120.
- the learning result utilization apparatus 120 acquires a new ability using the learning result, and performs a process corresponding to the processing target by exhibiting the ability.
- the learning service providing system 200 specifies requirement information for generating learning data based on request information for requesting learning, and learns the requirement information. It can be transmitted to the learning data generation system 120 in the request system 100.
- learning data generation can be automated / semi-automated by specifying requirement information.
- a user who requests learning does not need to manually input various data necessary for acquisition of learning data, and does not need to manually operate / set an operation device / operation program for acquiring learning data. Therefore, the operation can be simplified and the occurrence of errors can be avoided.
- the learning service providing system 200 may be realized by a remote server or a cloud, and can reduce the calculation load on the local device, save calculation resources, and reduce calculation time.
- the “request information” in the present invention can include various information for requesting learning, and in one selectable embodiment, for example, information on a learning target that is a target on which learning based on learning data is performed.
- the learning target may include confectionery, and the learning target is determining whether the confectionery good / defective product is in the inspection device on the production line. It may be to acquire the ability to do.
- the request information may include various other information as long as the object of the present invention can be achieved.
- the request information may include information about the user. By setting the contents of the request information, the user can clearly understand the contents to be provided without knowing the machine learning method, improve the usability of the system, and reduce the burden on the user. be able to. FIG.
- FIG. 3 is a diagram illustrating an interaction between a functional module of the learning data generation system 120 and other components in the learning request system 100 according to an exemplary embodiment of the present invention.
- a part indicated by a broken line box represents the learning data generation system 120.
- the learning data generation system 120 generates learning data based on requirement information for generating learning data.
- the learning data generation system 120 includes a learning data generation management device 121, a learning data storage unit 122, a target information input unit 123, and a target operation unit 124.
- the learning data generation management device 121 manages operations of the learning data storage unit 122, the target information input unit 123, and the target operation unit 124 based on the requirement information for generating learning data.
- the learning data storage unit 122 stores learning data generated based on the requirement information.
- the target information input unit 123 provides corresponding target information to the learning data generation management device 121 based on a command from the learning data generation management device 121.
- the target operation unit 124 provides an external target operation device 410 with a command for operating the target based on a command from the learning data generation management device 121.
- FIG. 3 shows that the learning data generation system 120 communicates with the outside via the local area network 320, as an option, the learning data generation system 120 can be used in various other communication methods, for example, Information may be transmitted / received via the Internet, an intranet, a mobile communication network, and combinations thereof. As illustrated in FIG.
- the learning data generation system 120 receives requirement information for generating learning data from the outside, and the requirement information is provided to the learning data generation management device 121.
- the learning data generation management device 121 generates a command for operating the target based on the requirement information, and transmits the command to the target operation unit 124.
- the target operation unit 124 transmits the command to the target operation device 410 via the wireless local area network in an appropriate data format.
- the target operation device 410 operates the target and causes the target to perform various operations for generating learning data, thereby realizing various states of the target.
- the learning data acquisition device 140 acquires learning data by performing data acquisition / operation / analysis in each state.
- the learning data is stored in the learning data storage unit 122 while being transmitted to the learning data generation system 120 via the local area network 320.
- the target information can be stored in association with the learning data or can be a part of the learning data.
- the learning data generation system 120 may further include an input / output unit 125 used as the Internet for performing communication with the outside.
- the input / output unit 125 can communicate with the outside by various communication methods such as an intranet, a wired / wireless local area network, a mobile communication network, and combinations thereof.
- FIG. 3 shows an example in which the input / output unit 125 communicates with the target operating device 410 via a wireless local area network.
- the learning data generation management device 121 and the learning data storage unit 122 may be implemented using a PC 600 described later or a general-purpose PC having a hardware structure and configuration similar to those of the PC 600 described later.
- the learning data generation management device 121 and the learning data storage unit 122 can be implemented using a CPU 610 and a storage unit 640 of the PC 600 described later, respectively.
- the learning data generation management device 121 and the learning data storage unit 122 are integrated together with the learning result utilization device 130 or the learning data acquisition device 140, or are integrated into the learning result utilization device 130 or the learning data acquisition device 140. May be.
- FIG. 3 shows that learning data is acquired from the target by the learning data acquisition device 140, but alternatively, learning data may be acquired from the target by the learning result utilization device 130. Since the learning result utilization device 130 has a function of acquiring information related to an object that is necessary when using the learning result, the learning result utilization device 130 can also be used for inputting learning data.
- the learning request system 100 may include the learning result utilization device 130 without the learning data acquisition device 140 as long as both the learning data acquisition device 140 and the learning result utilization device 130 can be provided. it can.
- the learning result utilization device 130 has a function of operating / analyzing / inspecting a target using the learning result, in addition to a function of acquiring information related to the target necessary when using the learning result. Therefore, the learning request system 100 includes the learning data acquisition device 140 instead of the learning result utilization device 130 when it is not necessary to provide a function of performing the operation / analysis / inspection on the target using the learning result. May be configured.
- FIG. 4 is a diagram illustrating an operation example of the learning data generation system 120 according to an exemplary embodiment of the present invention. As shown in FIG.
- the learning data generation management device 121 receives requirement information for generating learning data, generates a command requesting input of target information based on the requirement information, and inputs target information To the unit 123.
- the target information input unit 123 searches or generates corresponding target information based on the received command, and transmits the searched or generated target information to the learning data generation management device 121.
- the learning data generation management device 121 sends a command for operating the target to the target operation unit 124 based on the requirement information and target information for generating learning data.
- the target operation unit communicates with the target operation device 410 outside the learning data generation system 120. Thereby, the target operating device 410 operates the target.
- each state of the learning target necessary for acquiring the learning data can be acquired.
- the learning data acquisition device 140 (not shown) or the learning result utilization device 130 (not shown) performs the operation / analysis / inspection of the object and the like for the target under each state to generate the first learning data.
- the first learning data can be stored in the learning data storage unit 122 (not shown).
- the first learning data mentioned here may be learning data alone or may be a part of the learning data.
- the first learning data and the first learning data can be stored in the learning data storage unit 122 in association with teacher data, information used for later learning, and the like.
- the learning data storage unit 122 Only the relationship between the learning data and the teacher data, information used for subsequent learning, and the like may be stored in the learning data storage unit 122.
- the stored learning data can be converted into a form usable by the learning device 220 and output to the learning device 220.
- the learning data for performing learning includes at least data input to the neural network during learning.
- the learning data can include teacher data in addition to the initial learning data.
- the teacher data can be data reflecting the processing capability for the learning target, and corresponds to the processing capability (learning target) for the learning target. When learning that requires a teacher is performed, teacher data is required for each data used for learning.
- a non-defective product / defective product of a confectionery in a production line of a food processing factory learning is performed to identify a non-defective product / defective product using an image taken by a camera.
- a large number of image data (for example, 100,000 images) photographed by the camera constitutes a part of the learning data, while teacher information indicating whether each image data is a good product or a defective product is required.
- teacher information indicating which rank each image data corresponding to the non-defective product is required.
- the teacher data may be part of the learning data, or may be stored in association with the learning data independently of the learning data.
- an input of a device that performs learning using the learning data is input. It can be simplified.
- These data stored in association with each other can be used for later similar learning, thereby reducing the calculation load of the system.
- the learning data can include other data used for learning in addition to the initial learning data and the teacher data.
- data that can be included in the learning data will be described.
- Information on learning requests For example, information on the client, content of ability to acquire, learning target, content of input data (data type, data attribute, type of sensor used, etc.), target level of learning
- the content of the learning request can be confirmed without referring to other data at the time of learning, so that the independence of the learning operation is improved and the system configuration is simplified.
- ⁇ Identification information of learning data By including the learning data identification information in the learning data, the learning data to be used can be identified from the other learning data.
- Classification information of learning data Can include classification information set according to various learning By including the classification information of the learning data in the learning data, it is possible to determine which learning data the learning data is used for.
- Learning data attribute information creation date, data name, size, file format, etc. By including the attribute information of the learning data in the learning data, it is possible to perform learning after checking the attribute of the learning data at the time of learning, and avoid the occurrence of errors.
- Learning data explanation information for example, comments on image data, sensor log information, etc. By including the description information of the learning data in the learning data, it can be used for learning teacher data and text-based learning.
- ⁇ Learning data rights information owner, copyright information, etc. By including the rights information of the learning data in the learning data, it is possible to perform learning after checking the rights relationship at the time of learning, and avoid the occurrence of pirated editions.
- Value information of learning data information on trading consideration, value level, expectant information By including the value information of the learning data in the learning data, the value of the learning data can be evaluated.
- Information about learning data generation device For example, identification information of learning data generation device, attribute information of learning data generation device (manufacturer name, model, serial number, etc.), information about learning data generation method (type, attribute, etc.), learning Data generation device performance information (measurement accuracy, etc.), learning data generation device setting information (operation mode, etc.)
- identification information of learning data generation device For example, identification information of learning data generation device, attribute information of learning data generation device (manufacturer name, model, serial number, etc.), information about learning data generation method (type, attribute, etc.), learning Data generation device performance information (measurement accuracy, etc.), learning data generation device setting information (operation mode, etc.)
- Control target information For example, control target identification information, control target attribute information (manufacturer name, model, serial number, etc.), control target performance information (function, capability level, etc.), control target setting information (operation) Mode)
- control target identification information For example, control target identification information, control target attribute information (manufacturer name, model, serial number, etc.), control target performance information (function, capability level, etc.), control target setting information (operation) Mode)
- the learning data generation management device 121 includes a learning data generation management unit 1211, a learning data acquisition device setting unit 1212, a target operating device setting unit 1213, a learning data acquisition requirement information storage unit 1214, A communication unit 1215.
- the learning data generation management unit 1211 integrally controls operations of the learning data acquisition device setting unit 1212, the target operation device setting unit 1213, the learning data acquisition requirement information storage unit 1214, and the communication unit 1215.
- the learning data acquisition device setting unit 1212 performs operation settings for the learning data acquisition device 140.
- the target operation device setting unit 1213 performs operation settings for the target operation device 410.
- the learning data acquisition requirement information storage unit 1214 stores requirement information for generating the received learning data.
- the communication unit 1215 performs communication with the outside.
- FIG. 6 is a diagram illustrating an example of a personal computer (PC) 600 that implements part of the hardware structure of the learning request system 100 and the learning service providing system 200 according to an exemplary embodiment of the present invention.
- the PC 600 includes a CPU 610 that performs integrated control, a read-only memory (ROM) 620 that stores system software, and a random access memory (Random) that stores written / read data.
- ROM read-only memory
- RAM random access memory
- storage unit 640 that stores various programs and data
- input / output unit 650 that is an input / output interface
- communication unit 660 that realizes a communication function.
- CPU 610 may be replaced by a processor such as a microprocessor MCU or a field programmable gate array FPGA.
- the input / output unit 650 includes an input / output interface (I / O interface), a universal serial bus (USB) interface (may be included as one of the ports of the I / O interface), a network interface, and the like. Interface can be included.
- I / O interface input / output interface
- USB universal serial bus
- Interface can be included.
- FIG. 6 is merely conceptual, and those skilled in the art can understand that the hardware structures of the learning request system 100 and the learning service providing system 200 are not limited.
- the PC 600 may include more or fewer components than those shown in FIG. 6, or may have a different configuration than that shown in FIG.
- the CPU 610 may include one or more processors, and the one or more processors and / or other data processing circuits are generally referred to herein as “data processing circuits”. Call.
- the data processing circuit may be expressed in part or in whole by software, hardware, firmware, or any other combination.
- the data processing circuit may be an individually independent processing module, or all or a part thereof may be combined with any one of the other components in the PC 600.
- the storage unit 640 can store software programs and modules of application software, and the CPU 610 is like a program command / data storage device corresponding to the method for generating learning data described later in the present invention. By executing the software programs and modules stored in the storage unit 640, a method for generating the learning data is realized.
- the storage unit 640 may include non-volatile memory, for example, one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
- the storage unit 640 may further include a memory arranged at a distance from the CPU 610, and these remote memories may be connected to the PC 600 via a network.
- the network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
- the communication unit 660 receives or transmits data via the network. Specific examples of the network may include a wireless network provided by a communication carrier of the PC 600.
- the communication unit 660 includes a network interface controller (NIC) that can communicate with the Internet by connecting to another network via a base station.
- the communication unit 660 may be a radio frequency (RF) module that communicates with the Internet wirelessly.
- the learning request apparatus 110 can include a PC 1101 and a user input unit 1102.
- the PC 1101 may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, may have more or less configuration equipment than the configuration equipment of the PC 600, or It may have a different configuration.
- the user input unit 1102 can include a monitor 1104, a keyboard 1105, and a mouse 1106. Alternatively or additionally, the user input unit 1102 may further include an input device such as a camera or a scanner.
- the learning request apparatus 110 has functions as an interface between the learning request system 100 and the user and as an interface between the learning request system 100 and the learning service providing system 200.
- the user inputs request information for requesting learning to the PC 1101 by operating the user input unit 1102.
- the PC 1101 processes the request information based on the stored software program, generates data in a format that can be understood by the learning request receiving apparatus 210, and transmits the data to the learning request receiving apparatus 210 via the Internet 310. .
- the PC 1101 further receives requirement information for generating learning data from the learning request receiving apparatus 210 via the Internet 310.
- FIG. 8 is a diagram illustrating an example of a hardware structure of a learning result utilization device according to an exemplary embodiment of the present invention.
- the learning result utilization device 130 can include a PC 1301, a user input unit 1302, and a learning data input unit 1303.
- the PC 1301 may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, may have more or less configuration equipment than the configuration equipment of the PC 600, or It may have a different configuration.
- the user input unit 1302 can include a monitor 1304, a keyboard 1305, and / or a mouse 1306. Alternatively or additionally, the user input unit 1302 may further include an input device such as a camera or a scanner.
- the learning data input unit 1303 acquires target information regarding the target, which may be input data of the neural network.
- the learning data input unit 1303 may be a device such as a camera, a sensor, a network terminal, a self-propelled robot, or any other input device that can input target information.
- the PC 1301 and the learning data input unit 1303 are two components that are independent of each other, and both communicate with each other by wire / wireless, and the PC 1301 is a general-purpose PC. Good.
- the PC 1301 and the learning data input unit 1303 may be integrated as an embedded device.
- FIG. 8B shows another example of the hardware structure of the learning result utilization apparatus. Unlike FIG. 8A, in FIG. 8B, the learning result utilization apparatus 130 ′ can include a PC 1301 ′ and a learning data input unit 1303 ′.
- the PC 1301 ′ which is an embedded PC, may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, or may have more or less configuration equipment than the configuration equipment of the PC 600. Or you may have a structure different from the structure of PC600.
- the PC 1301 ′ further includes an input device such as an integrated monitor, keyboard, mouse, camera, or scanner.
- the learning data input unit 1303 ′ may have a function and configuration similar to or similar to the function and configuration of the learning data input unit 1303. Similar to the learning result utilization devices 130 and 130 ′, the learning data acquisition device 140 also has a function of acquiring learning data for a target. For this reason, the learning data acquisition device 140 may have a hardware structure similar to or similar to the learning result utilization device 130.
- the learning data acquisition device 140 can have a hardware structure as shown in FIGS. 8A and 8B.
- FIG. 9 is a diagram illustrating an example of a hardware structure of a learning data acquisition apparatus according to an exemplary embodiment of the present invention.
- the learning data acquisition device 140 can include a PC 1401 and a learning data input unit 1403.
- the PC 1401 may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, may have more or less configuration equipment than the configuration equipment of the PC 600, or It may have a different configuration.
- the PC 1401 communicates with the outside via the local area network 320.
- the learning data input unit 1403 acquires target information related to the target, which may be input data of the neural network.
- the learning data input unit 1403 may have a function and configuration similar to or similar to the function and configuration of the learning data input unit 1303.
- FIG. 9B shows another example of the hardware structure of the learning data acquisition apparatus.
- the learning data acquisition device 140 ′ can include a PC 1401 ′ and a learning data input unit 1403 ′.
- the PC 1401 ′ which is an embedded PC, may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, or may have more or less configuration equipment than the configuration equipment of the PC 600. Or you may have a structure different from the structure of PC600.
- the PC 1401 ′ further includes an input device such as an integrated monitor, keyboard, mouse, camera, or scanner.
- the learning data input unit 1403 ′ may have a function and configuration similar to or similar to the function and configuration of the learning data input unit 1403.
- the PC 1401 and PC 1401 ′ communicate with the outside via the local area network 320.
- the present invention is not limited to this, and the PC 1401 and PC 1401 ′ are respectively connected to the Internet. Communication with the outside may be performed via an intranet, a mobile communication network, or a combination thereof.
- FIG. 10 is a diagram illustrating an example of a hardware structure of a learning service providing system according to an exemplary embodiment of the present invention.
- FIG. 10A shows an example of a simple configuration of the hardware structure of the learning service providing system. As shown in FIG.
- the learning service providing system 200 can include a PC 2001.
- the PC 2001 may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, may have more or less configuration equipment than the configuration equipment of the PC 600, or It may have a different configuration.
- the PC 2001 communicates with the outside via the Internet 310.
- FIG. 10B shows an example of the hardware structure of the learning service providing system based on the data center.
- the learning service providing system 200 ′ can include a plurality of server racks 2002.
- the plurality of server racks 2002 constitute a distributed server system and realize the function of the learning service providing system 200 ′.
- the software program and data of the learning service providing system 200 ′ are not arranged in a single server rack 2002 but can be distributed in a plurality of server racks 2002, and each server rack 2002 is connected via the local area network 320. Communication with the outside can be performed. Further, each server rack 2002 may communicate with the outside via the Internet 310 by being connected to the external network connection device 340.
- a distributed server system including an existing server rack can be used as a hardware structure for realizing the learning service providing system 200 ′.
- the learning service providing system 200 ′ is realized by a distributed server system, when performing deep learning, the processing contents are often repeated in the same manner. Therefore, by executing the program in a plurality of server racks 2002 and performing calculations, Processing time can be shortened and processing complexity can be simplified.
- the learning service providing system 200 ′′ can include a plurality of blade servers 2003.
- the plurality of blade servers 2003 constitute a distributed server system, and the learning service providing system 200. Realize the function.
- the software program and data of the learning service providing system 200 ′′ are not arranged in the single blade server 2003 but can be distributed to a plurality of blade servers 2003, and the function of each component of the learning service providing system 200 ′′ is achieved. It can be realized by any different blade server 2003.
- Some of the plurality of blade servers 2003 can operate as one blade server unit (as indicated by the dashed box in the figure). Each blade server 2003 can communicate via the local area network 320.
- each blade server 2003 may communicate with the outside via the Internet 310 by being connected to an external network connection device 340 (not shown).
- a distributed server system including an existing blade server can be used as a hardware structure that implements the learning service providing system 200 ′′. In this case, similar to the example shown in FIG.
- the system 200 "can also achieve technical effects that reduce processing time and simplify processing complexity.
- FIG. 11 is a diagram illustrating an example of a hardware structure of the target operation device 410 according to an exemplary embodiment of the present invention.
- the target operating device 410 may be a device that operates a target and causes the target to have a predetermined state in order to generate learning data.
- the learning data generation system 120 can control the target operating device 410 according to information such as the type of the target operating device 410 and the control method.
- FIG. 11A shows an example of the hardware structure of the target operating device configured with a PC.
- the target operating device 410 can include a PC 4101 and an actuator 4102.
- the PC 4101 issues an operation command to the actuator 4102 based on a command for operating the target received from the target operation unit 124 of the learning data generation system 120.
- the PC 4101 may have the same configuration equipment and configuration as the configuration equipment and configuration of the PC 600, may have more or less configuration equipment than the configuration equipment of the PC 600, or fulfills this function. If it is a configuration, it may have a configuration different from that of the PC 600.
- the actuator 4102 operates a target based on the operation command and acquires a corresponding target state.
- the target operating device 410 can communicate with the outside (for example, the learning data generation system 120) via the local area network 320. For example, when determining whether the confectionery is good or defective on the production line of the food processing factory, the target operation device 410 operates the posture of one or a plurality of cameras via the actuator 4102 and places the confectionery to be photographed by the camera. A predetermined posture change can be performed on the mounting table. Then, the target operating device 410 is controlled by the PC 4101 and can operate the one or more cameras and the mounting table at a predetermined timing.
- FIG. 11B shows another example of the hardware structure of the target operating device. As illustrated in FIG. 11B, the target operation device 410 ′ can include a target control device 4103.
- the target control device 4103 performs analysis / control on the target.
- control parameters, control data, control programs, and the like for controlling the target control device 4103 can be included in the requirement information for generating learning data in advance, whereby the learning data generation system 120 can Based on the information, the target control device 4103 can be used to automatically change the state of the target and acquire learning data.
- the target operation device 410 ′ can communicate with the outside (for example, the learning data generation system 120) via the wireless local area network 330.
- part or all of the target control device 4103 may be included in the learning data generation system 120.
- a game rule and a game program can be included in the requirement information for generating learning data.
- the target control device 4103 can control the change of the board or shogi board for each stage based on the requirement information.
- FIG. 11C shows a further example of the hardware structure of the target operating device.
- the target operating device 410 ′′ can include a robot 4105.
- the robot 4105 performs a corresponding operation on the target based on the control command received from the learning data generation system 120.
- information such as control parameters, control data, and control programs of the robot 4105 can be included in the requirement information for generating learning data, whereby the learning data generation system 120 can be based on the requirement information.
- the target can be controlled to change the state of the target by operating the target using the robot 4105.
- the target operating device 410 ′′ is externally connected via the wireless local area network 330 (for example, the learning data generation system 120). ).
- various operations / controls can be performed on the target by the target operation devices 410, 410 ′, and 410 ′′ according to the learning content requested by the user.
- An example will be described.
- Arrange / combine targets For example, a plurality of cameras are arranged / combined to take a panoramic picture of a confectionery. Alternatively, the operation units of the plan are arranged / combined so that the plant can realize a predetermined posture with respect to the operation target to be operated.
- ⁇ Remove part of the target For example, only specific types of files in the file to be learned are analyzed, and other types of files are removed.
- -Operate the target operation unit For example, a placing table on which confectionery is placed is operated.
- ⁇ Physically manipulate the target ⁇ Change the direction of the target. For example, driving a car.
- the contents described above are merely illustrative, and do not limit the function and configuration of the target operating device 410 in the present invention. In FIGS.
- the target operating device 410 communicates with the outside via the local area network 320 or the wireless local area network 330.
- the present invention is not limited to this, and the target operating device 410 transmits / receives information to / from the outside via various communication methods such as an intranet, a local area network, the Internet, a mobile communication network, and combinations thereof. It can be performed.
- the learning data generation system 120 may include part or all of the functions of the target operating device 410 or part or all of the hardware structure. A person skilled in the art can set the components included in each system according to needs.
- FIG. 12 is a block diagram illustrating functional modules of the learning request apparatus 110 according to an exemplary embodiment of the present invention.
- the learning request device 110 When a user requests learning, the learning request device 110 is used to make a learning request to the learning service providing system 200.
- the learning request apparatus 110 is connected to the learning service providing system 200 by communication means such as the Internet 310 or the local area network 320, and can make a learning request.
- the learning request apparatus 110 can include a learning request control unit 111, a user interaction unit 112, a request information storage unit 113, and a communication unit 114.
- the learning request control unit 111 integrally controls operations of the user interaction unit 112, the request information storage unit 113, and the communication unit 114.
- a user interaction unit 112 which is an interface between the learning request apparatus 110 and the user receives a learning request from the user and provides corresponding information to the user.
- the request information storage unit 113 stores request information for requesting learning from the user received by the user interaction unit 112.
- the communication unit 114 communicates with the learning request reception device 210 via the Internet 310 or the local area network 320.
- FIG. 12 shows an example in which the learning request apparatus 110 communicates with the learning request reception apparatus 210 via the Internet 310 or the local area network 320.
- the learning request apparatus 110 has various other types.
- FIG. 13 is a block diagram illustrating functional modules of the learning result utilization device 130 according to an exemplary embodiment of the present invention.
- the learning result utilization device 130 includes a control unit 131, a neural network setting unit 132, a neural network 133, a learning result input unit 134, a learning data input unit 135, and a learning data acquisition unit 136. And an output unit 137 and a communication unit 138.
- the control unit 131 integrally controls the operation of each component of the learning result utilization device 130.
- the neural network setting unit 132 sets each parameter of the neural network based on a command from the control unit 131.
- the neural network 133 performs machine learning such as deep learning on the learning data input by the learning data input unit 135.
- the learning result input unit 134 inputs a learning result so as to have a capability corresponding to the learning result utilization device 130.
- the learning data input unit 135 receives the learning data from the learning data acquisition unit 136 and inputs the learning data to the neural network 133 in an appropriate format.
- the learning data acquisition unit 136 acquires corresponding learning data from the target.
- the output unit 137 outputs the analysis result obtained when the neural network 133 performs deep learning.
- the communication unit 138 realizes communication between the learning result utilization device 130 and the outside.
- the learning result utilization device 130 may include one or a plurality of learning data acquisition units 136. Different learning data acquisition units can acquire learning data for different objects. And since the learning result utilization apparatus 130 can include the learning data acquisition part 136, since it has the acquisition function of learning data, you may abbreviate
- FIG. FIG. 13 shows that the communication unit 138 communicates with the outside via the local area network 320.
- the learning result utilization apparatus 130 can be used in various other communication methods such as the Internet. Information may be transmitted / received via an intranet, a mobile communication network, and combinations thereof.
- the learning data acquisition device 140 can include a learning data acquisition control unit 141, an operation unit 142, a learning data acquisition unit 143, a learning data storage unit 144, and a communication unit 145.
- the learning data acquisition control unit 141 integrally controls operations of the operation unit 142, the learning data acquisition unit 143, the learning data storage unit 144, and the communication unit 145.
- the operation unit 142 transmits a command for operating the target to the target operating device 410 via the local area network 320 in an appropriate data format.
- the learning data acquisition unit 143 acquires learning data from the learning target.
- the learning data storage unit 144 stores the learning data acquired by the learning data acquisition unit 143.
- the communication unit 145 communicates with the outside via the local area network 320.
- FIG. 15 is a block diagram illustrating functional modules of the learning request accepting apparatus 210 according to an exemplary embodiment of the present invention.
- the learning request reception device 210 receives a learning request from the learning request device 110 and notifies the learning device 220 of the received learning request.
- the learning request reception device 210 can include a learning request reception unit 211, a learning data storage unit 212, a request information storage unit 213, and a communication unit 214.
- the learning request reception unit 211 integrally controls operations of the learning data storage unit 212, the request information storage unit 213, and the communication unit 214.
- the learning data storage unit 212 stores learning data received from the learning request system 100.
- the request information storage unit 213 stores request information for requesting learning input by the user received from the learning request system 100.
- the communication unit 214 performs communication between the learning request receiving apparatus 210 and the outside.
- FIG. 15 shows that the communication unit 214 communicates with the outside via the local area network 320.
- the present invention is not limited to this, and the communication unit 214 may be, for example, an intranet, the Internet, or mobile communication. Information may be transmitted / received via various communication methods such as a network or a combination thereof.
- FIG. 16 is a block diagram illustrating functional modules of the learning device 220 according to an exemplary embodiment of the present invention. As illustrated in FIG.
- the learning device 220 can include a learning control unit 221, a learning result extraction unit 222, a neural network 223, a learning result output unit 224, and a communication unit 225.
- the learning control unit 221 integrally controls operations of the learning result extraction unit 222, the neural network 223, the learning result output unit 224, and the communication unit 225.
- the learning result extraction unit 222 extracts a learning result from the neural network 223 based on a command from the learning control unit 221.
- the neural network 223 performs deep learning on the learning data and obtains a learning result.
- the learning result output unit 224 outputs the learning result to the outside of the learning device 220.
- the communication unit 225 realizes communication between the learning device 220 and the outside.
- FIG. 17 is a block diagram illustrating functional modules of the learning database device 230 according to an exemplary embodiment of the present invention.
- the learning database device 230 stores various information necessary for learning. As shown in FIG. 17, the learning database device 230 can include a learning data database 231, a request information database 232, a learning result use history database 233, a requirement information database 234, and a learning program database 235.
- the learning data database 231 stores learning data used for learning.
- learning data may be stored in the learning data database 231 in association with requirement information for generating learning data such as learning data targets, learning data breakdown, learning data range, learning purpose, and the like. it can.
- the request information database 232 stores request information for requesting learning from the user.
- learning related to requirements information for generating learning data such as information on the user (study client), target of learning data, breakdown of learning data, range of learning data, purpose of learning, etc.
- Request information for requesting can be stored in the request information database 232.
- the learning result use history database 233 stores a use log of learning results.
- the requirement information database 234 stores requirement information for generating learning data.
- the learning program database 235 stores one or more learning programs for learning and request information for requesting learning corresponding to the one or more learning programs.
- the learning program can be stored in the learning program database 235 in association with the request information such as the learning target, the content of the learning data, and the learning target. For this reason, by specifying the request information for the user to request learning, the necessary learning program can be specified correspondingly using the learning program database 235, thereby executing the corresponding learning program. Can do.
- requirement information for generating learning data can include data that describes each requirement hierarchically.
- the learning data corresponding to the corresponding learning program using the learning program database 235 by specifying the search conditions for specifying the learning to be performed, such as the learning target and the learning target. You may make it search the requirement information for producing
- the learning database device 230 By configuring the learning database device 230 as described above, it is possible to perform a necessary analysis on the learning result, and for example, it is possible to compare the classification ability of different learning results, thereby using the learning result. The identity of the situation can be determined.
- FIG. 18 is a block diagram illustrating functional modules of the target operating device 410 according to an exemplary embodiment of the present invention.
- the target operation device 410 can include a target operation control unit 411, a target operation operation determination unit 412, an actuator 413, and a communication unit 414.
- the target operation control unit 411 integrally controls the operations of the target operation operation determination unit 412, the actuator 413, and the communication unit 414.
- the target operation movement determination unit 412 determines what operates the target based on the operation command from the learning data generation system 120 and the operation information of the actuator 413.
- the actuator 413 operates the target.
- the communication unit 414 communicates with the outside via the local area network 320.
- the target operation device 410 can be various other communication methods, for example, the Internet. Information may be transmitted / received via an intranet, a mobile communication network, and combinations thereof.
- the functional module of the target operating device 410 according to an exemplary embodiment of the present invention illustrated in FIG. 18 is merely an example.
- the target operating device 410 may include more or fewer functional modules than the example shown in FIG. As described above, with reference to FIGS.
- each component of the learning request system 100 and each component of the learning service provision system 200 using a different hardware structure was demonstrated in the preamble, among each component of the learning request system 100, Or one or more of the components of the learning service providing system 200 may be realized by the same hardware configuration.
- the different hardware configurations may meet the needs. The function to be performed can be changed accordingly. For example, some / all functions of the learning request system 100 / learning service providing system 200 can be realized by the learning result utilization device 130.
- one or more of the components of the learning request system 100 and one or more of the components of the learning service providing system 200 are not limited to the implementation method described in the preceding sentence, It may be realized in the form of a software module executed on the Internet, various built-in devices, a cloud network service, or the like.
- the learning request system 100 and the learning service providing system 200 can use various realization methods without departing from the suggestion of the present invention.
- the learning request system 100 and the learning service providing system 200 can be configured as one integrated system. Any part of the integrated system may be configured as another system, apparatus, or part. Further, those skilled in the art may implement only the portions necessary for using the present invention.
- the learning data generation system 120 can be implemented by using the format, configuration, definition, etc. of requirement information for generating learning data in the present invention.
- a learning data generation function and a learning function can be provided in an apparatus for inspecting a product in a production line of a factory.
- a learning function with a heavy processing load may be performed on the cloud.
- the neural network 133 and the neural network 223 can be configured by electronic circuits.
- it can be configured by an LSI or FPGA.
- one or more of the components of the learning request system 100 and one or more of the components of the learning service providing system 200 can be implemented by an object.
- identification / processing / operation / data acquisition for a learning target, identification / processing / operation / data acquisition means using an optical method such as a physical key, a biochemical method such as DNA inspection, or a hologram Can be used.
- the method according to the present invention will be described below with reference to FIGS.
- “S1” at the head represents a method step realized by the learning request system 100
- “S2” at the head is realized by the learning service providing system 200. Represents a method step.
- step S101 the learning request system 100 connects to the learning service providing system 200, and the method proceeds to step S102.
- step S ⁇ b> 102 the learning request apparatus 110 of the learning request system 100 presents a selection screen related to the learning target to the user (learning requester), and the contents that can be selected for the learning target are those received from the learning service providing system 200. It may be. The user can select the corresponding learning object according to the presentation of the selection screen.
- step S103 the learning request system 100 determines whether the user has selected a learning target.
- step S104 the method proceeds to step S104. If the user has not selected a learning target, the method returns to step S102 and waits for the user to select.
- step S ⁇ b> 104 the learning request apparatus 110 of the learning request system 100 may present a selection screen regarding the learning target to the user, and the contents that can be selected for the learning target may be those received from the learning service providing system 200. The user can select the corresponding learning target according to the presentation of the selection screen.
- step S105 the learning request system 100 determines whether the user has selected a learning target. If the user has selected a learning target, the method proceeds to step S106, and if the user has not selected a learning target, the method returns to step S104 and waits for the user to select it.
- step S106 the learning request system 100 transmits the learning target and learning target selected by the user to the learning service providing system 200 as request information for requesting learning, and the flowchart ends.
- the user selects the learning target and the learning target via the learning request device 110 of the learning request system 100, thereby obtaining the request information including the learning target information and the learning target information. , Input to the learning service providing system 200.
- the request information may include other information.
- the request information may include information about the user.
- the learning request device 110 of the learning request system 100 selects a selection screen similar to the selection screen for learning targets or the selection screen for learning targets. Can be provided to users.
- FIG. 20 is a flowchart illustrating a processing method for generating learning data realized by the learning service providing system 200 according to an exemplary embodiment of the present invention.
- the learning service providing system 200 specifies requirement information for generating learning data based on the request information for requesting learning received from the learning request system 100.
- the requirement information is transmitted to the learning data generation system 120 in the learning request system 100. As shown in FIG.
- step S ⁇ b> 201 the learning request receiving apparatus 210 of the learning service providing system 200 provides the learning request apparatus 110 of the learning request system 100 with contents that can be selected as learning targets, thereby providing the learning request apparatus 110.
- the learning request receiving apparatus 210 receives the learning object information selected by the user, and the method proceeds to step S202.
- step S202 the learning request receiving apparatus 210 of the learning service providing system 200 provides the learning request apparatus 110 of the learning request system 100 with contents that can be selected as learning targets, so that the learning request apparatus 110 interacts with the user.
- the learning target accepting apparatus 210 receives the learning target information selected by the user, and the method proceeds to step S203.
- step S203 the learning request receiving apparatus 210 determines whether or not the user has confirmed the learning request. If the user has not yet confirmed, the method returns to step S201, and the user selects the learning target. Wait for a choice. If the user has been confirmed, the method proceeds to step S204.
- step S204 the learning service providing system 200 searches for requirement information for generating learning data corresponding to the learning target and learning target determined by the learning database device 230, and the method proceeds to step S205.
- step S ⁇ b> 205 the learning service providing system 200 transmits the requirement information to the learning request system 100.
- the processing method for generating learning data realized by the learning service providing system 200 ends. In step S204 shown in FIG.
- the learning service providing system 200 searches for requirement information for generating corresponding learning data in the learning database device 230 based on the request information, but the present invention is not limited to this.
- the learning service providing system 200 may store a program for generating the requirement information in advance, and can generate the corresponding requirement information using the program after receiving the request information.
- Requirement information generation can be automated by preparing a database of requirement information corresponding to each request information in advance or by preparing a program for generating requirement information based on request information in advance. There is no need to grasp detailed operations for generating learning data, and the burden on the user is reduced.
- the requirement information database 234 is used to store the correspondence between the learning target information and the learning target information and the requirement information. Also good.
- the calculation operation can be simplified when retrieving or generating the requirement information next time.
- the correspondence can be applied to a similar request after the user.
- the calculation load on the CPU can be reduced and the calculation time can be saved.
- the generation of the learning data can be automated / semi-automated. Can be kept from moving unnecessarily, so the CPU load can be reduced and system resources can be saved.
- the learning service providing system 200 may provide the user with more selectable items. For example, as an example, the learning service providing system 200 can prepare one or a plurality of programs / methods / databases for creating learning data necessary for performing predetermined learning with a definite decision. The user selects the necessary program / method / database or, as described above, the necessary program / method / database is automatically determined based on information such as the learning target and learning target selected by the user. Can be.
- the learning target described in the preceding sentence is processing / analysis ability for a learning target that the user expects the learning request system 100 to acquire.
- the following abilities can be acquired as examples of processing abilities for the learning target that the user wants to acquire.
- ⁇ Ability to classify Through deep learning (other AI techniques may be used), it is possible to acquire the ability to classify the analysis target based on input data and input signals.
- Classification ability includes, for example, determination of non-defective product and defective product, determination of grade, grouping of analysis target, determination of which analysis target is in state, detection of target having the same characteristics, hierarchical classification of analysis target Can be used for ⁇ Ability to predict.
- the ability to predict can be used, for example, for failure prediction, signal prediction, target state prediction, stock price, exchange rate, bond price prediction, and the like.
- ⁇ Ability to make decisions The ability to make a decision can be used, for example, for decision making of games such as Go and shogi, organizational decision making, and transaction decision making.
- ⁇ Ability to manipulate objects The ability to manipulate an object can be used, for example, for playing an action game, controlling a plant, controlling a production line, controlling a robot, and the like.
- the above-mentioned example is only an illustration, and does not limit the processing capability with respect to the learning object which the user demonstrated by this invention wants to acquire.
- the requirement information for generating learning data is specified based on the request information, and the requirement information is provided to the learning data generation system 120. Learning data is generated, and thus the expected ability can be acquired.
- information on the type or number of learning data included in the requirement information is specified based on the kind of ability or the level of ability specified in the request information.
- learning data can be generated based on the corresponding requirement information. Even when acquiring the same type of ability, the type and number of learning data required vary depending on the expected level of ability.
- the requirement corresponding to the learning object included in the requirement information is specified based on the learning object specified in the request information, for example, the learning object
- the learning data can be generated based on the corresponding requirement information by specifying at least one of the type, learning target state, learning target state control information, and learning target state control program information. If the learning target changes, it is necessary to acquire learning data relating to a different learning target.
- the user does not need to grasp various information related to the learning target, and can easily acquire the desired learning data by simply specifying the learning target. For this reason, a user's operation can be simplified.
- requirements corresponding to the respective states of the learning object included in the requirement information based on the learning object specified in the request information
- a requirement corresponding to the state conversion of the learning target can be specified. For example, by specifying at least one of learning target state information, learning target state conversion information (for example, learning target state control information, learning target state control program information), etc., based on the corresponding requirement information Generate learning data.
- FIG. 21 is a diagram illustrating a logical configuration of requirement information for generating learning data according to an exemplary embodiment of the present invention.
- the requirement information for generating the learning data described in the preceding sentence can include identification information Ct, version information Cv, and requirements C1 to Cn, where n is a natural number.
- the identification information Ct is information for identifying the requirement information.
- the version information Cv is information for recording the version of the requirement information.
- the requirement information may include other information such as log information. Any requirement Cm (1 ⁇ m ⁇ n) from requirement C1 to requirement Cn can include identification information Cmt, version information Cmv, and requirements Cm1 to requirement Cmk, where k is a natural number. That is, the requirement information can have a hierarchical nested logical configuration. As an option, one or a plurality of lower layer requirements may be further included in any requirement Cmj (1 ⁇ j ⁇ k) from requirement Cm1 to requirement Cmk.
- any requirement (eg, Cm2) in the requirement information may be text, data, an identifier, a program, or a combination thereof.
- the contents of the requirements C1 to Cn included in the requirement information will be described with examples.
- ⁇ Requirement C1 Information on input data
- ⁇ Requirement C11 Type of input data (for example, data obtained from sensors, camera control parameters, etc.)
- ⁇ Requirement C12 Input data acquisition method (for example, input data acquisition program, for example, database search, manual input, etc.)
- the input data indicates data to be input to the learning data generation system 120 in order to generate learning data.
- the control parameters, configuration parameters, and control programs related to the camera are included in the requirement information for generating learning data.
- Input can be automated.
- ⁇ Requirement C2 Output data information
- ⁇ Requirement C21 Output data type (for example, control command, operation command, notification information, etc. for the camera)
- the output data indicates data output from the learning data generation system 120 in order to generate learning data.
- the target operation device 410 outputs a control command, an operation command, notification information, etc. for controlling the target operation device 410.
- the camera can be operated to take a picture, and an image used for learning can be input as learning data.
- ⁇ Requirement C3 Information on the target operating device
- ⁇ Requirement C31 Type of target operating device
- ⁇ Requirement C32 Hardware configuration of the target operating device
- ⁇ Requirement C33 Control data of target operating device
- ⁇ Requirement C34 Control method of target operating device (for example, control program, control program information, etc.)
- the learning data generation system 120 can control the target operating device 410 according to information on the type of the target operating device 410 and the control method.
- ⁇ Requirement C4 Information on the target control device
- Requirement C41 Type of target control device
- Requirement C42 Control method of target control device (for example, control program, control program information, etc.)
- Requirement C5 Learning data information
- Requirement C51 Breakdown of learning data (eg type, number, etc.)
- Requirement C52 Teacher data information
- Requirement C53 Learning data acquisition method (for example, learning data acquisition program)
- Requirement C54 Learning data preprocessing method (for example, learning data preprocessing program)
- Requirement C55 Scope of learning data
- Requirement C551 Learning target information
- Requirement C551 Population information
- Requirement C551 Target range information
- Requirement C552 Learning target set information
- Requirement C553 Acquisition time
- Requirement C554 Data acquisition method during learning
- Requirement C555 Breakdown of learning data and test data
- Requirement C56 Learning data format information (for example, output format information, program information for converting learning data format, etc.)
- Requirement C57 Learning data identification information
- the learning data generation system 120 can generate predetermined learning data.
- learning data information can be determined by grouping hierarchically.
- the learning data generation system 120 can automatically read the learning data.
- the learning data format can be described in a hierarchical data structure for each requirement in, for example, JSON or XML.
- information on the program for converting the format of the learning data may be included in the requirement information, so that when the learning data is provided to the learning device 220, the learning data is automatically used using the corresponding program.
- the data can be converted into a data format that the learning device 220 can read. For this reason, the user's operation can be simplified, the processing time can be saved, the user's setting becomes easy, and a human error can be avoided.
- the requirement C57 relating to the identification information of the learning data in the requirement information, the identification information can be given to the learning data, and it becomes unnecessary to manage the details of the learning data as mentioned in the requirement C5 above.
- the logical configuration of requirement information can be simplified.
- Requirement C6 Learning time information
- Requirement C61 Learning start timing
- Requirement C62 Learning end timing
- Requirement C7 Learning target information
- Requirement C71 Information to be learned
- Requirement C711 Learning target type (for example, image, text, audio, etc.)
- Requirement C712 Learning target state Requirement
- C713 State conversion of learning target (for example, state control information of learning target, state control program information of learning target, etc.)
- Requirement C72 Information on ability to acquire Requirement
- C721 Types of abilities to be acquired (for example, there is an ability to classify, an ability to predict, an ability to control, etc., and each type of ability may be given a predetermined classification internally, for example, to classify Capabilities can include supervised and unsupervised)
- Requirement C73 Evaluation of learning level
- Requirement C731 Contents of evaluation function ⁇ Requirement
- learning data corresponding to the requirement C7 of the learning target can be acquired.
- learning data of desired quality can be obtained by setting requirement C73, requirement C74, and requirement C75 to requirement C7 of a learning target.
- Requirement C8 Learning device information
- Requirement C81 Learning device manufacturer
- Requirement C811 Model (for example, various derivative models may be used)
- Requirement C812 Cloud service providing learning services
- Requirement C82 Learning device specifications
- Requirement C821 Calculation capability
- Requirement C822 Parallelism
- Requirement C83 Setting of learning device
- Requirement C831 Number of repetitions
- Requirement C832 Censoring time
- Requirement C833 Set available power consumption Different learning devices can be used to obtain similar or different abilities.
- the learning data generation system 120 can generate corresponding learning data for the learning device 220 to perform learning.
- ⁇ Requirement C9 Learning method information
- ⁇ Requirement C91 Learning program
- Requirement C911 Type / Version information
- Requirement C92 Programming language information (for example, the programming language to be used needs to be able to be grasped for later modification)
- ⁇ Requirement C93 Framework information (for example, various frameworks for deep learning are disclosed by some companies)
- ⁇ Requirement C94 Neural network information (for example, by performing learning related to classification, a neural network that has acquired the ability to classify can be obtained. Before starting learning using a learning program, use hyperparameters.
- the hyperparameter can include information on the configuration of the input layer, the configuration of the intermediate layer, the configuration of the output layer, and the hyperparameters that are optimal for each learning target are different.
- a learning program may be automatically set according to the purpose of learning, or a person may perform hyperparameter tuning.
- ⁇ Requirement C941 Neural network learning method (Each ability is acquired by the learning method.
- deep learning methods such as SVM and regression model; deep belief network, deep Boltzmann machine, stacked self-encoder; auto encoder, Restricted Boltzmann machine (RBM); dropout, sparse coating; regularization, denoising self-encoder; activation function type (sigmoid function, soft sign, soft plus, Relu, etc.); random number sequence type, etc.
- Requirement C942 Neural network configuration ⁇ Requirement C9421: Hyper parameter ⁇ Requirement C94211: Input layer configuration ⁇ Requirement C94212: Number of layers ⁇ Requirement C94213: Number of hidden layer units ⁇ Requirement C94214: Contents of each layer (for example, CNN (Conversional Neural Network); RNN (Recurrent Natural Network); Elman network; Jordan network; ESN (Echo state network; ESN (Echo state network)) directive RNN)) ⁇ Requirement C94215: Interlayer feedback information ⁇ Requirement C942151: Configuration of feedback circuit ⁇ Requirement C94216: Output layer configuration ⁇ Requirement C9422: Calculation accuracy (for example, calculation accuracy during learning) ⁇ Requirement C9423: Conditions for ending learning Requirement C943: Configuration setting by framework (Neural network configuration as described above can be performed based on the setting method provided by each framework.
- CNN Conversional Ne
- ⁇ Requirement C95 Information on ability test method (the ability test method is used, the learning result is affected to satisfy the test requirement. Therefore, the learning data must be acquired to satisfy the test requirement. is there.)
- ⁇ Requirement C96 Differences in individual learning results (Since random numbers are often used for deep learning, each time learning is performed, there may be a slight difference in acquired abilities each time.)
- the requirements included in the requirement information for generating learning data have been described above. Those skilled in the art will appreciate that the requirements in each hierarchy listed above can be set more / less or modified according to needs. Based on different learning targets, learning objectives, learning environments, etc., the requirement information can include different requirements.
- the numbering of the requirements for enumeration above does not mean that the order and storage method of the requirements included in the requirement information are limited, and each requirement in the requirement information according to needs.
- the order of requirements and the storage method can be set as appropriate.
- ID information can be added to each requirement.
- ID information corresponding to a required requirement can be added to the requirement information, and the requirement can be specified based on the ID information.
- the configuration of requirement information can be simplified.
- the learning program creator of the learning device 220 knows the details of the learning method that he / she creates, learning necessary for the learning method 220 corresponding to the requirements C9 and other requirements regarding the learning method information as described above.
- a program that outputs requirement information for generating data can be created. Accordingly, it is possible to provide a requirement information for generating formatted learning data or a program for outputting the requirement information in a set with the learning program.
- the requirement information can be stored and managed in the requirement information database 234 of the learning data data device 230. Data necessary for learning can be prepared for each learning based on the requirement information for generating the specified learning data.
- the learning service providing system 200 generates requirement information for generating learning data based on the request information requested by the user for learning, and the learning request system 100 manually performs the target operation device. It is not necessary to operate 410 or input information related to learning, and learning data can be automatically generated based on the requirement information, so that learning data acquisition is automated.
- the requirement information for generating the learning data may include information on human work.
- the learning data generation system 110 can generate the learning data information as viewed by the user. Learning data can be generated semi-automatically based on information input by a person.
- the learning data generation system 120 acquires the learning data by automatically or semi-automatically controlling the target operating device 410 based on the requirement information, so that the work can be highly automated. By automating all operations, the learning request system 100 can acquire a new ability expected by the user only by operating each system.
- FIG. 22 is a flowchart illustrating a method of generating learning data realized by the learning request system 100 according to an exemplary embodiment of the present invention.
- the learning request apparatus 110 of the learning request system 100 receives the requirement information for generating learning data from the learning service providing system 200 and provides it to the learning data generation system 120. The method proceeds to step S112.
- step S112 the learning data generation system 120 determines whether the learning target information included in the requirement information matches the learning target of the learning data to be actually generated. If it is determined that they match, the method proceeds to step S113. If it is determined that they do not match, the method ends.
- the learning request system 100 can report the information to the user.
- step S113 the learning data generation system 120 generates learning data (first learning data) as described with reference to FIG. 4 in the preamble, and the method proceeds to step S114.
- step S114 the learning data generation system 120 determines whether an end condition is satisfied. If the end condition is satisfied, the method proceeds to step S115. If the end condition is not satisfied, the process returns to step S113 and the generation of learning data is continued.
- step S ⁇ b> 115 the learning data generation system 120 ends generation of learning data, selects a synthesis result regarding the closest learning data, outputs it as learning data, and the learning data is output to the learning service providing system 200. Good.
- the flowchart ends.
- the contents which can be included in the requirement information for generating learning data were explained in the preamble.
- a method in which the learning request system 100 generates learning data based on the requirement information will be described with an example.
- the requirement information corresponding to the type of capability specified in the request information and the level of capability may include information on the type or number of learning data.
- the corresponding learning type / corresponding number of first learning data can be generated and used as learning data or a part thereof. Even when acquiring the same type of ability, the type and number of learning data required vary depending on the expected level of ability. By including information about the type and number of learning data in the requirement information, users no longer need to know what data to prepare to achieve the desired learning goal, User operations can be simplified.
- an operation for acquiring / manipulating data for the learning target and / or the learning target to the requirement information corresponding to the learning target specified in the request information can be included, thereby configuring the learning target and / or the operation target according to the configuration information, generating the first learning data corresponding to the different learning target, and learning data or its Can be part. If the learning target changes, it is necessary to acquire learning data relating to a different learning target. By including information related to the learning target in the requirement information, the user does not need to grasp various information related to the learning target, and the desired learning data can be acquired simply by specifying the learning target. Therefore, the user's operation can be simplified.
- the requirement information corresponding to the learning object specified in the request information includes information on each state of the learning object, or Information regarding state conversion of the learning target may be included.
- the learning target state By configuring the learning target state based on at least one of the learning target state information, the learning target state conversion information (for example, the learning target state control information, the learning target state control program information), etc.
- the first learning data can be generated for the learning target for each state and used as the learning data or a part thereof. When the learning target has a plurality of states, it is necessary to acquire learning data for the learning target for each state.
- FIG. 23 is a flowchart illustrating a method for generating a learning result realized by the learning service providing system 200 according to an exemplary embodiment of the present invention.
- the learning service providing system 200 receives the learning data generated by the learning service providing system 120 from the learning request system 100, performs learning based on the learning data and the request information, generates a learning result, and uses the learning result utilization device 130.
- the learning result is transmitted to the learning request system 100 for object analysis.
- step S211 the learning request reception apparatus 210 receives learning data from the learning request apparatus 110 via the Internet 310, and the method proceeds to step S212.
- step S212 the learning request receiving apparatus 210 notifies the learning apparatus 220 of the request information and learning data, and the method proceeds to step S213.
- step S213, the learning device 220 performs learning using the request information and learning data, obtains a learning result, and when the learning is completed, the method proceeds to step S214.
- step S214 the learning request receiving apparatus 210 transmits the learning result to the learning request system 100, and the method proceeds to step S215.
- step S215 the learning service providing system 200 determines whether or not the learning service is completed.
- step S216 the learning service providing system 200 determines the identity between the current learning and the previous learning, records the determination result, and the method ends. By performing identity determination in step S216, it can be ensured that matching learning results are obtained, and the occurrence of errors can be avoided. Therefore, the accuracy of the learning results can be improved.
- An operation for performing learning using learning data can be performed in a remote server or in the cloud without being performed by the device, and therefore, the calculation load of the local device can be reduced and the calculation time can be saved.
- the learning request system 100 receives the learning data from the learning request reception device 210
- the learning result utilization device 130 can acquire the ability expected by the user.
- the learning result utilization apparatus 130 can perform object analysis using the learning data.
- the software product is a storage medium (for example, ROM / ROM) including some instructions for causing a terminal device (for example, a personal computer, a server, or a network device) to execute the method described in each embodiment of the present invention.
- ROM read only memory
- RAM magnetic disk, optical disk
- FIG. 24 is a functional block diagram illustrating an application example 1 that uses the processing method for generating learning data according to an exemplary embodiment of the present invention.
- the user desires to acquire learning data related to the quality determination of the confectionery.
- the inspection device can be provided with a confectionery quality determination capability.
- the learning request system 700 includes a learning request unit 710, a learning data generation unit 720, and a learning data acquisition unit 730.
- the learning request unit 710 interacts with the user and receives request information for requesting learning input by the user and pass / fail information (teacher data) for determining pass / fail of the confectionery.
- the learning request unit 710 further interacts with the learning service providing system 800, transmits request information to the learning service providing system 800, and receives requirement information for generating learning data from the learning service providing system 800.
- the learning data generation unit 720 controls the controller device 900 to generate first learning data (image data) based on the requirement information received by the learning request unit 710.
- the learning data acquisition unit 730 acquires the generated first learning data, and the learning request unit 710 combines the first learning data with the pass / fail information and outputs it as learning data. Provided to the learning request unit 710.
- the learning service providing system 800 can specify requirement information for generating learning data based on the request information, and can generate learning results by performing learning using the learning data.
- the operation device 900 operates the imaging unit 1010 and the placing unit 1020 on which the confectionery is placed or fixed, and acquires image data.
- the operation device 900 can include an actuator, a robot hand, and the like.
- the learning request system 700 is the learning request system 100
- the learning request unit 710 is the learning request device 110
- the learning data generation unit 720 is the learning data generation system 120
- the learning data acquisition unit 730 is the learning result utilization device 130 or learning.
- the learning service providing system 800 can function as the learning service providing system 200
- the operating device 900 can function as the target operating device 410.
- the imaging unit 1010 can include one or more cameras.
- the imaging unit 1010 is a single camera, if images of the confectionery in various directions can be acquired by photographing the confectionery multiple times from various directions, the mounting unit 1020 can be moved / fixed while fixing the camera. By rotating, image data in various directions of the confectionery can be acquired.
- the imaging unit 1010 includes a plurality of cameras, if images of confectionery in various directions can be acquired without changing the camera direction, the camera can be operated in accordance with the movement / rotation of the mounting unit 1020. Images of confectionery in various directions can also be acquired.
- FIG. 25 is a flowchart illustrating a method for generating learning data in the first application example.
- the learning request unit 710 presents the learning target and learning target that can be selected to the user based on the selection screen provided by the learning service providing system 800 connected thereto, and the user The request information is generated by receiving the input regarding the learning target and learning target.
- the input related to the learning target can include the type of confectionery and the like, and the input related to the learning target can include determination of non-defective and defective confectionery items.
- the learning request unit 710 transmits the generated request information to the learning service providing system 800, and the method proceeds to step S302.
- the learning service providing system 800 specifies requirement information for generating learning data based on the request information. For example, if the learning service providing system 800 can search the requirement data corresponding to the request information by searching the learning data data, the request information is provided to the program for generating the requirement information. It can also be generated.
- the requirement information may include, for example, information on the type, number, or format of learning data, information on operation of the operation device 900, information on a target reaching level, information on a learning method, information on a learning device, and the like. it can.
- the learning request unit 710 acquires the requirement information from the learning service providing system 800.
- the method proceeds to step S303.
- step S303 the learning data generation unit 710 operates the operating device 900 based on the requirement information, the operating device 900 operates the camera to acquire image data, and the method proceeds to step S304.
- step S304 the learning data generation unit 710 determines whether the confectionery has been photographed in a sufficient direction. If it is determined as Yes, the method proceeds to step S305.
- step S305 the learning request unit 710 receives the pass / fail information regarding the pass / fail state of the candy input by the user, synthesizes the pass / fail information and the acquired image information as learning data, and the method proceeds to step S306.
- step S306 the learning data generation unit 720 determines whether the learning data acquisition completion condition is satisfied. If acquisition of learning data has stopped, the method proceeds to step S307. If the learning data acquisition completion condition is not satisfied, the method returns to step S303.
- step S307 the learning request unit 710 outputs the finally synthesized learning data to the outside, for example, to the learning service providing system 800. The method ends.
- settings such as background and lighting at the time of shooting can be set to be the same as those for actual non-defective / defective product inspection.
- image data can be acquired by using an actual production line or by creating a model simulating an actual production line.
- the pass / fail information described in the preceding sentence refers to pass / fail judgment results determined by a human through visual inspection.
- the pass / fail information is input in step S305.
- the pass / fail information can be input at any stage of the above method, and the relationship between the pass / fail information and the image data is determined. Those skilled in the art can understand that it can be determined.
- a user may prepare a plurality of boxes with good and defective tags in advance, and prepare a good product sample and a defective product sample in the plurality of boxes. This eliminates the need for the user to input pass / fail information.
- the learning data generation unit 720 can acquire the image data by controlling the operation device 900 so as to photograph the sample in the box with the non-defective product and the defective product tag attached. It can be provided to the learning data acquisition unit 730 in association with pass / fail information represented by tabs of a plurality of boxes. Thereby, acquisition of learning data can be automated.
- An example of learning data acquired by the above method is listed in Table 1.
- this example is merely illustrative, and other information may be included in the learning data, for example, user information may be included.
- the user when the user creates learning data, the user does not have to manually operate the camera to take images of the confectionery from many directions, and the camera is manually operated in three axes. In this case, it is possible to prevent an erroneous operation from occurring easily when changing the posture, and to prevent omission of data acquisition. Then, the camera photographing can be automatically synchronized with the movement / rotation of the mounting portion 1020, and the data acquisition efficiency is improved. Furthermore, the operation of creating learning data can be automated, and the number of workers can be greatly reduced. FIG.
- 26 is a diagram illustrating a non-defective / defective product determination using the learning result in the application example 1.
- the confectionery OBJ is photographed using the camera A, the camera B, and the camera C to obtain image data.
- the non-defective product / defective product determination device 1100 determines the quality of the confectionery OBJ based on the image data and the learning result.
- the non-defective product / defective product determination device 1100 can function as the learning result utilization device 130.
- the placement unit 1020 ′ can function as the placement unit 1020. In the example shown in FIG. 26, three cameras are used for imaging, but the number of cameras may be one, two, or more than three.
- FIG. 27 is a diagram showing deep learning used for the non-defective / defective product determination shown in FIG.
- the deep learning network 1200 includes an input layer, an intermediate layer, and an output layer.
- Image data captured by the camera can be input to the input layer of the deep learning network 1200 as input data.
- the image data to be input data may be image data captured by one camera, or image data obtained by combining images captured by a plurality of cameras, for example, panoramic image data of confectionery.
- the input layer can be 1200 * 1200 * 256 * 256 * 256 pixels.
- the intermediate layer may be a plurality of layers, and image data is analyzed by a deep learning technique. There are as many output layers as there are abnormal modes. For example, if the top output layer outputs 1, abnormal A is indicated.
- the deep learning network 1200 may be included in the non-defective product / defective product determination device 1100.
- FIG. 28 is a flowchart showing a non-defective / defective product determination method shown in FIG.
- step S401 the confectionery OBJ on the placement unit 1020 ′ is photographed using the camera A, and the acquired image data is provided to the non-defective / defective product determination apparatus 1100, and the method proceeds to step S402.
- step S402 the non-defective / defective product determination apparatus 1100 performs an inspection based on the image data to obtain an inspection result, and the method proceeds to step S403. If it is determined in step S403 that there is an abnormality, the method proceeds to step S404.
- step S404 the non-defective product / defective product determination apparatus 1100 notifies the user of the abnormality, and the method ends. If it is not inspected that there is no abnormality, the method proceeds to step S405. In step S405, it is determined whether or not the confectionery has been photographed with all cameras. If the confectionery has been photographed with all cameras, the method ends. If the confectionery has not been photographed with all cameras, the method returns to step S401, and the confectionery is continuously photographed with the next camera. In this method, since an image captured by each camera is inspected, when even one image data including an abnormality is captured, the abnormality is notified, and a photographing operation by a later camera or a later camera is performed.
- FIG. 29 is a flowchart illustrating a method of generating learning data in application example 2.
- the client can function as the learning request system 100
- the server can function as the learning service providing system 200.
- the client connected to the server receives request information for requesting learning.
- the request information can include, for example, information about electronic files that are desired to be classified and information about the ability to automatically classify those electronic files that are desired to be acquired, and the client sends these information to the server, and the method Proceed to step S502.
- the server specifies requirement information for generating learning data based on the request information. Specifically, information describing a method for registering sample data and its classification name may be included in the requirement information, and the sample data may include, for example, teacher data and test data.
- step S503 The requirement information is provided to the client, and the method proceeds to step S503.
- step S503 the user is guided by the requirement information, registers sample data that is data including classification information of the classified electronic file and other information, and the method proceeds to step S504.
- step S504 guided by the completion information included in the requirement information, the user finishes registering the sample data.
- the client generates learning data based on the requirement information and the sample data, and transmits it to the server to automatically perform learning and testing, and the method ends.
- information explaining how to register sample data and its classification name can be recorded in advance in the learning data creation manual, and the user can register the sample data according to the learning data creation manual. It can be carried out. In this case, step S503 may not be executed after step S502.
- step S503 may be executed before step S502 or may be executed in synchronization with step S502.
- the user can grasp what learning data should be prepared and how much to register the sample data, simplify the operation of the user, and reduce the burden on the user. Can be reduced.
- the user does not need to determine whether or not the learning data is sufficient, and does not need to add learning even when the learning data is insufficient. It can be avoided that learning is not ended and client resources and server resources are occupied unnecessarily, and computational resources can be saved. It is also possible to reduce the communication load between the client and the server.
- step S502 a program for registering the electronic file of each classification by a simple operation such as drag and drop at the client may be included in the requirement information.
- the part can be automated, and the operation of the user can be further simplified.
- step S502 a program including search information of a database in which classified teacher data is registered may be included in the requirement information, so that most or all of the registration work can be automated, and the user operation Can be further simplified.
- step S503 may be omitted.
- Application example 3 In Application Example 3, the user wants a machine (eg, an inspection device in a production line) to acquire the ability to automatically rank produce.
- FIG. 30 is a flowchart illustrating a method for generating learning data in the third application example.
- the client connected to the server receives request information for requesting learning.
- the request information can include, for example, information on the agricultural products that are desired to be ranked and information on the ability to automatically rank those agricultural products that are desired to be acquired, and the inspection apparatus transmits these information to the server, and the method Advances to step S602.
- the server specifies requirement information for generating learning data based on the request information.
- the requirement information can include: ⁇ Data input device information Type of data input device (for example, camera, sensor, automatic weighing machine, etc.) Data input device model (for example, manufacturer name, model, serial number, etc.) Data input device control method (eg, control program, control parameter, etc.) Type of input data (for example, image, weight, etc.) The type of input data (for example, image resolution, depth information, weight unit, accuracy information, etc.) ⁇ Information to be learned (for example, harvest date, place, harvest worker, etc.) The requirement information is provided to the inspection apparatus, and the method proceeds to step S603.
- Data input device information for example, camera, sensor, automatic weighing machine, etc.
- Data input device model for example, manufacturer name, model, serial number, etc.
- Data input device control method eg, control program, control parameter, etc.
- Type of input data for example, image, weight, etc.
- the type of input data for example, image resolution
- step S603 the user is guided by the requirement information, and inputs teacher data, which is data including ranking information of already ranked agricultural products and other information, to the inspection apparatus, and the method proceeds to step S604.
- step S604 guided by the completion information included in the requirement information, the user finishes inputting teacher data.
- the inspection apparatus generates learning data based on the requirement information and the teacher data, and transmits the learning data to the server to automatically perform learning and testing, and the method ends.
- information explaining a method for inputting teacher data in advance can be recorded in the learning data creation manual, and the user can register sample data in accordance with the learning data creation manual. . In this case, the user can prepare learning data without knowing the contents of the learning method related to the automatic ranking of agricultural products.
- step S603 may not be executed after step S602.
- step S603 may be executed before step S602 or may be executed in synchronization with step S602.
- the information to be learned may be recorded in the learning database as supplementary information of learning data for automatic learning of the server.
- information such as a control program such as a camera and an automatic weighing instrument can be included in the requirement information, and the input operation of teacher data can be automated.
- the present invention can be applied to a wide range of fields other than the application fields of the application examples 1 to 3 described above. For example, in various fields that utilize deep learning technology, the present invention can cope with a case where a classification ability that is comparable to a person or a classification that exceeds a person's identification ability is realized.
- an inspection device in the production line is required to have a classification capability. Since the acceptable range of product unevenness is determined by the purchaser of the vehicle, it is necessary to classify it close to human sensitivity. Classification is difficult by a simple method especially when there are fine irregularities on the painted surface or when the paint has a partial gradation rather than a single color.
- the processing method for generating learning data for example, information on a painting apparatus, a painting object, a painting environment parameter, an inspection apparatus, an inspection program, an operator, and the like, requirement information for generating learning data
- the generation of learning data can be automated or semi-automated, thereby greatly reducing the complexity of human work, improving processing efficiency, and reducing the occurrence of errors.
- the present invention can be applied to various fields where it is required to acquire a desired high level of ability (classification ability, prediction ability, decision-making ability, etc.).
- the learning technique used to acquire the ability by applying the present invention is not limited to the deep learning technique, and any machine learning technique can be used. The following are examples of various fields to which the present invention can be applied. .
- ⁇ It can be applied to various industrial fields such as food chemicals, machine parts and chemical products. ⁇ It can be applied to shipping inspection and classification in the fishery, agriculture and forestry fields. ⁇ Can be applied to the service industry. ⁇ Can be applied to medical and health fields. ⁇ It can be applied when applying AI technology to products in the embedded field. ⁇ Can be applied to social systems. ⁇ Can be applied to systems using IT technology. ⁇ Big data analysis can be applied to effective data acquisition ⁇ Can be applied by acquiring control capability in a wide range of control devices ⁇ It can be applied to any field that requires machine learning.
- each system, each device, and each part described above are merely schematic.
- the classification of the system, device, and part is merely a classification based on logical functions, and other classification methods may be used at the time of realization.
- one or more systems, devices, and parts can be combined, integrated into other systems, devices, and parts, or some features can be omitted or not performed.
- the connection between the systems, devices and parts shown in the drawings of the present invention can be realized by indirect connection or direct connection, and can be realized electrically or in other forms.
- each functional unit in each embodiment of the present invention may be integrated in one processing unit, physically exist for each functional unit, or a plurality of functional units may be one. It may be integrated in the processing unit.
- the processing unit may be realized in the form of hardware or may be realized in the form of a software unit.
- the processing unit can be stored in a computer readable storage medium when sold or used as an independent product while being realized in the form of a software unit.
- the technical solution of the present invention can essentially represent a part that contributes to the prior art, or all or part of the technical solution in the form of a software product, and the computer.
- the software product is stored in a storage medium including some instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) to execute all or part of the method described in each embodiment of the present invention. Is done.
- the storage medium is a medium capable of storing codes of various programs such as a U disk, a read-only memory (ROM), a random access memory (RAM, a random access memory), a portable hard disk, a magnetic disk, or an optical disk. including.
- a processing method for generating learning data characterized by comprising: (2) Receiving request information for requesting learning by at least one hardware processor; Transmitting the request information by the at least one hardware processor to an apparatus that provides requirement information for generating the learning data; Receiving the requirement information from the device by the at least one hardware processor; Generating the learning data based on the requirement information by the at least one hardware processor;
- a method for generating learning data characterized by comprising: (3) A processing system for generating learning data, comprising at least one hardware processor, The hardware processor is Based on the request information for requesting learning, identify the requirement information for generating learning data, The requirement information is transmitted to a device that generates the learning data.
- a system for generating learning data comprising at least one hardware processor, The at least one hardware processor comprises: Receives request information for requesting learning, Transmitting the request information to an apparatus that provides requirement information for generating the learning data; Receiving the requirement information from the device; Generate the learning data based on the requirement information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本発明は、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、前記要件情報を、前記学習データを生成する装置に送信するステップと、を含むことができる学習データを生成するための処理方法に関する。本発明は、さらに、該方法を実現するシステム、プログラムおよび該プログラムを記憶する記憶媒体に関する。学習データの生成を自動化/半自動化することができ、処理演算を担うCPUの負荷及び通信負荷を軽減し、利用者の負担を軽減する。
Description
本発明は、深層学習分野に関し、より具体的には、学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステムに関する。
近年、深層学習(Deep Learning)をはじめとする人工知能(artificial Intelligence:AI)技術が進歩していて、カメラ画像やセンサ情報などの入力データをもとに対象を分類、予測する技術が普及し始めている。深層学習のようなAI技術を用いることによって、機械が自ら学習を行って、分析対象を分類するなどの能力を獲得できる。AI技術の急速進化に伴って、機械が学習結果として獲得できる能力がますます幅広くなる。その結果、より多くの利用者が深層学習技術のような学習によって獲得された能力を利用することを望んでいる。
しかし、深層学習技術の学習方法は一般の利用者には理解や活用が容易ではない。特に、どのようなデータが能力の獲得に必要となるかということは、学習方法や、学習対象、学習目標の難易度などに応じて変わるため、一般利用者が深層学習のような学習方法を理解し活用することは困難である。
深層学習では多数のデータを元に学習を行うことが必要である。一般に、学習に用いるデータが少ないと、獲得された能力が対応可能な範囲が狭くなる。しかし、深層学習の学習には多くの時間およびシステムリソースを必要とするため、データを増やしすぎることには問題がある。それゆえ、一般利用者には、どのような学習データをどの程度準備すれば、所望の能力を獲得できるかを把握することが困難で、学習データの準備に手間がかかることが問題である。
学習対象を指定して、学習の目標を設定すると、利用者に自動的に学習データを準備させ、或いはユーザに自動的に学習データを提供する装置があれば、一般の利用者も深層学習のような学習方法を活用できるようになる。
例えば、菓子の製造ラインでサンプルとして良品と不良品を準備するだけで、菓子の良品と不良品を判定する能力を獲得することができれば、深層学習のような学習方法の活用は極めて容易になる。 本発明は、学習データを自動的に又は半自動的に提供できる方法、システム、データベース、プログラムおよび記憶媒体を提供することをその課題の一つとして解決しようとする。
深層学習では多数のデータを元に学習を行うことが必要である。一般に、学習に用いるデータが少ないと、獲得された能力が対応可能な範囲が狭くなる。しかし、深層学習の学習には多くの時間およびシステムリソースを必要とするため、データを増やしすぎることには問題がある。それゆえ、一般利用者には、どのような学習データをどの程度準備すれば、所望の能力を獲得できるかを把握することが困難で、学習データの準備に手間がかかることが問題である。
学習対象を指定して、学習の目標を設定すると、利用者に自動的に学習データを準備させ、或いはユーザに自動的に学習データを提供する装置があれば、一般の利用者も深層学習のような学習方法を活用できるようになる。
例えば、菓子の製造ラインでサンプルとして良品と不良品を準備するだけで、菓子の良品と不良品を判定する能力を獲得することができれば、深層学習のような学習方法の活用は極めて容易になる。 本発明は、学習データを自動的に又は半自動的に提供できる方法、システム、データベース、プログラムおよび記憶媒体を提供することをその課題の一つとして解決しようとする。
本発明の一実施形態によれば、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、前記要件情報を、前記学習データを生成する装置に送信するステップと、を含むことができる学習データを生成するための処理方法が提供される。
さらに、前記依頼情報は、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に含まれる前記学習目標の情報を取得するステップと、前記学習目標の情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定するステップと、含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に含まれる前記学習対象の情報を取得するステップと、前記学習対象の情報に対応する要件情報を特定するステップと、を含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記学習対象の少なくとも1つの状態に関する情報を取得するステップと、前記学習対象の状態ごとに対応する要件情報を特定するか、前記学習対象の状態変換に対応する要件情報を特定するステップと、を含んでもよい。
さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に基づいて、前記学習データに関して、前記学習データのフォーマット情報、前記学習データの内訳情報、前記学習データの範囲情報、前記学習データの前処理方法情報、前記学習データの取得手段情報、及び前記学習データの識別情報のうち少なくとも一方を含むデータ情報を特定するステップ、を含んでもよい。
さらに、前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習対象に関して、前記学習対象の種類、前記学習対象の状態、前記学習対象の状態制御情報、及び前記学習対象の状態制御プログラムのうち少なくとも一方を含む対象情報を特定するステップ、を含んでもよい。
さらに、前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習対象についてデータ取得及び/又は操作を行う操作対象に関して、前記操作対象の種類、前記操作対象のハードウェア構成、前記操作対象の制御データ、及び前記操作対象の制御プログラムのうち少なくとも一方を含む設定情報を特定するステップ、を含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に基づいて、データベースから前記要件情報を取得するステップ、或いは、前記依頼情報に基づいて、前記要件情報を生成するステップ、を含んでもよい。
さらに、上記処理方法は、前記要件情報を特定した後、前記依頼情報における少なくとも一部の情報と前記要件情報との対応関係を記憶するステップ、をさらに含んでもよい。
さらに、上記処理方法は、前記装置から、前記要件情報に基づく学習を行って得られた前記学習データを取得するステップ、をさらに含んでもよい。
さらに、上記処理方法は、前記依頼情報と前記学習データを用いた学習が行われた学習結果を得るステップと、前記学習結果を、前記学習結果による対象分析を行う装置に送信するステップと、をさらに含んでもよい。
本発明の他の一実施形態によれば、学習を依頼するための依頼情報を受信するステップと、前記依頼情報を、学習データを生成するための要件情報を提供する装置に送信するステップと、前記装置から前記要件情報を受信するステップと、前記要件情報に基づいて前記学習データを生成するステップと、を含むことができる学習データを生成する方法が提供される。
さらに、前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。
上記方法において、さらに、前記要件情報に基づいて前記学習データを生成するステップは、前記学習目標の情報に対応する前記要件情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定するステップと、前記種類及び/又は前記数のデータを生成して前記学習データの少なくとも一部とするステップと、を含んでもよい。
上記方法において、さらに、前記要件情報に基づいて前記学習データを生成するステップは、前記学習対象の情報に対応する前記要件情報に基づいて、前記学習対象及び/又は前記学習対象についてデータ取得及び/又は操作を行う操作対象を構成するステップと、前記構成に基づいてデータを生成して前記学習データの少なくとも一部とするステップと、を含んでもよい。
上記方法において、さらに、前記要件情報に基づいて前記学習データを生成するステップは、前記学習対象の少なくとも1つの状態に関する情報に対応する前記要件情報に基づいて、前記学習対象の状態を設定するステップと、それぞれの状態ごとの前記学習対象についてデータを生成して前記学習データの少なくとも一部とするステップと、を含んでもよい。
さらに、前記要件情報に基づいて前記学習データを生成するステップは、生成した前記データを、前記処理能力を反映する教師データと関連づけて記憶するステップ、をさらに含んでもよい。
さらに、上記方法は、前記学習データに基づく学習を行って得られた学習結果を受信するステップと、前記学習結果を利用して対象分析を行うステップと、をさらに含んでもよい。
本発明の更なる一実施形態によれば、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定する要件情報特定部と、前記要件情報を、前記学習データを生成する装置に送信する学習データ送信部と、を備えることができる学習データを生成するための処理システムが提供される。
さらに、前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。
上記システムにおいて、さらに、前記要件情報特定部は、前記依頼情報に含まれる前記学習目標の情報を取得し、そして、前記学習目標の情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定する。
上記システムにおいて、さらに、前記要件情報特定部は、前記依頼情報に含まれる前記学習対象の情報を取得し、そして、前記学習対象の情報に対応する要件情報を特定する。
上記システムにおいて、さらに、前記要件情報特定部は、前記学習対象の少なくとも1つの状態に関する情報を取得し、そして、前記学習対象の状態ごとに対応する要件情報を特定するか、前記学習対象の状態変換に対応する要件情報を特定する。
さらに、前記要件情報特定部は、前記依頼情報に基づいて、前記学習データに関して、前記学習データのフォーマット情報、前記学習データの内訳情報、前記学習データの範囲情報、前記学習データの前処理方法情報、前記学習データの取得手段情報、及び前記学習データの識別情報のうち少なくとも一方を含むデータ情報を特定する。
さらに、前記要件情報特定部は、前記依頼情報に基づいて、前記学習対象に関して、前記学習対象の種類、前記学習対象の状態、前記学習対象の状態制御情報、及び前記学習対象の状態制御プログラムのうち少なくとも一方を含む対象情報を特定する。
さらに、前記要件情報特定部は、前記依頼情報に基づいて、前記学習対象についてデータ取得及び/又は操作を行う操作対象に関して、前記操作対象の種類、前記操作対象のハードウェア構成、前記操作対象の制御データ、及び前記操作対象の制御プログラムのうち少なくとも一方を含む設定情報を特定する。
上記システムにおいて、さらに、前記要件情報特定部は、前記依頼情報に基づいて、データベースから前記要件情報を取得し、或いは、前記依頼情報に基づいて、前記要件情報を生成する。
さらに、上記システムは、前記要件情報を特定した後、前記依頼情報における少なくとも一部の情報と前記要件情報との対応関係を記憶する記憶部、をさらに備えてもよい。
さらに、上記システムは、前記装置から、前記要件情報に基づく学習を行って得られた前記学習データを取得する学習データ取得部、をさらに備えてもよい。
さらに、上記システムは、前記依頼情報と前記学習データを用いた学習を行うことで、学習結果を取得する学習部と、前記学習結果を、前記学習結果による対象分析を行う装置に送信する学習結果送信部と、をさらに備えてもよい。
本発明の更なる一実施形態によれば、学習を依頼するための依頼情報を受信する依頼情報受信部と、前記依頼情報を、学習データを生成するための要件情報を提供する装置に送信する依頼情報送信部と、前記装置から前記要件情報を受信する要件情報受信部と、前記要件情報に基づいて前記学習データを生成する学習データ生成部と、を備えることができる学習データを生成するシステムが提供される。
さらに、前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含む。
上記システムにおいて、さらに、前記学習データ生成部は、前記学習目標の情報に対応する前記要件情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定し、そして、前記種類及び/又は前記数のデータを生成して前記学習データの少なくとも一部とする。
上記システムにおいて、さらに、前記学習データ生成部は、前記学習対象の情報に対応する前記要件情報に基づいて、前記学習対象及び/又は前記前記学習対象についてデータ取得及び/又は操作を行う操作対象を構成し、そして、前記構成に基づいてデータを生成して前記学習データの少なくとも一部とする。
上記システムにおいて、さらに、前記学習データ生成部は、前記学習対象の少なくとも1つの状態に関する情報に対応する前記要件情報に基づいて、前記学習対象の状態を設定し、それぞれの状態ごとの前記学習対象についてデータを生成して前記学習データの少なくとも一部とすることができる。
さらに、上記システムは、生成した前記データを、前記処理能力を反映する教師データと関連づけて記憶する学習データ記憶部、をさらに備えてもよい。
さらに、上記システムは、前記学習データに基づく学習を行って得られた学習結果を受信する学習結果受信部と、前記学習結果を利用して対象分析を行う学習結果利用部と、をさらに備えてもよい。
本発明の更なる一実施形態によれば、プログラムを記憶する記憶装置と、プロセッサと、を備えることができ、前記プロセッサは、前記プログラムに基づいて、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、前記要件情報を、前記学習データを生成する装置に送信する、操作を実行するサーバが提供される。
本発明の更なる一実施形態によれば、プロセッサに、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、前記要件情報を、前記学習データを生成する装置に送信するステップと、を実行させることができるプログラムが提供される。
本発明の更なる一実施形態によれば、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、前記要件情報を、前記学習データを生成する装置に送信するステップと、を実現するためのプログラムを記憶することができる記憶媒体が提供される。
さらに、前記依頼情報は、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に含まれる前記学習目標の情報を取得するステップと、前記学習目標の情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定するステップと、含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に含まれる前記学習対象の情報を取得するステップと、前記学習対象の情報に対応する要件情報を特定するステップと、を含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記学習対象の少なくとも1つの状態に関する情報を取得するステップと、前記学習対象の状態ごとに対応する要件情報を特定するか、前記学習対象の状態変換に対応する要件情報を特定するステップと、を含んでもよい。
さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に基づいて、前記学習データに関して、前記学習データのフォーマット情報、前記学習データの内訳情報、前記学習データの範囲情報、前記学習データの前処理方法情報、前記学習データの取得手段情報、及び前記学習データの識別情報のうち少なくとも一方を含むデータ情報を特定するステップ、を含んでもよい。
さらに、前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習対象に関して、前記学習対象の種類、前記学習対象の状態、前記学習対象の状態制御情報、及び前記学習対象の状態制御プログラムのうち少なくとも一方を含む対象情報を特定するステップ、を含んでもよい。
さらに、前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習対象についてデータ取得及び/又は操作を行う操作対象に関して、前記操作対象の種類、前記操作対象のハードウェア構成、前記操作対象の制御データ、及び前記操作対象の制御プログラムのうち少なくとも一方を含む設定情報を特定するステップ、を含んでもよい。
上記処理方法において、さらに、前記学習データを生成するための前記要件情報を特定するステップは、前記依頼情報に基づいて、データベースから前記要件情報を取得するステップ、或いは、前記依頼情報に基づいて、前記要件情報を生成するステップ、を含んでもよい。
さらに、上記処理方法は、前記要件情報を特定した後、前記依頼情報における少なくとも一部の情報と前記要件情報との対応関係を記憶するステップ、をさらに含んでもよい。
さらに、上記処理方法は、前記装置から、前記要件情報に基づく学習を行って得られた前記学習データを取得するステップ、をさらに含んでもよい。
さらに、上記処理方法は、前記依頼情報と前記学習データを用いた学習が行われた学習結果を得るステップと、前記学習結果を、前記学習結果による対象分析を行う装置に送信するステップと、をさらに含んでもよい。
本発明の他の一実施形態によれば、学習を依頼するための依頼情報を受信するステップと、前記依頼情報を、学習データを生成するための要件情報を提供する装置に送信するステップと、前記装置から前記要件情報を受信するステップと、前記要件情報に基づいて前記学習データを生成するステップと、を含むことができる学習データを生成する方法が提供される。
さらに、前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。
上記方法において、さらに、前記要件情報に基づいて前記学習データを生成するステップは、前記学習目標の情報に対応する前記要件情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定するステップと、前記種類及び/又は前記数のデータを生成して前記学習データの少なくとも一部とするステップと、を含んでもよい。
上記方法において、さらに、前記要件情報に基づいて前記学習データを生成するステップは、前記学習対象の情報に対応する前記要件情報に基づいて、前記学習対象及び/又は前記学習対象についてデータ取得及び/又は操作を行う操作対象を構成するステップと、前記構成に基づいてデータを生成して前記学習データの少なくとも一部とするステップと、を含んでもよい。
上記方法において、さらに、前記要件情報に基づいて前記学習データを生成するステップは、前記学習対象の少なくとも1つの状態に関する情報に対応する前記要件情報に基づいて、前記学習対象の状態を設定するステップと、それぞれの状態ごとの前記学習対象についてデータを生成して前記学習データの少なくとも一部とするステップと、を含んでもよい。
さらに、前記要件情報に基づいて前記学習データを生成するステップは、生成した前記データを、前記処理能力を反映する教師データと関連づけて記憶するステップ、をさらに含んでもよい。
さらに、上記方法は、前記学習データに基づく学習を行って得られた学習結果を受信するステップと、前記学習結果を利用して対象分析を行うステップと、をさらに含んでもよい。
本発明の更なる一実施形態によれば、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定する要件情報特定部と、前記要件情報を、前記学習データを生成する装置に送信する学習データ送信部と、を備えることができる学習データを生成するための処理システムが提供される。
さらに、前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。
上記システムにおいて、さらに、前記要件情報特定部は、前記依頼情報に含まれる前記学習目標の情報を取得し、そして、前記学習目標の情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定する。
上記システムにおいて、さらに、前記要件情報特定部は、前記依頼情報に含まれる前記学習対象の情報を取得し、そして、前記学習対象の情報に対応する要件情報を特定する。
上記システムにおいて、さらに、前記要件情報特定部は、前記学習対象の少なくとも1つの状態に関する情報を取得し、そして、前記学習対象の状態ごとに対応する要件情報を特定するか、前記学習対象の状態変換に対応する要件情報を特定する。
さらに、前記要件情報特定部は、前記依頼情報に基づいて、前記学習データに関して、前記学習データのフォーマット情報、前記学習データの内訳情報、前記学習データの範囲情報、前記学習データの前処理方法情報、前記学習データの取得手段情報、及び前記学習データの識別情報のうち少なくとも一方を含むデータ情報を特定する。
さらに、前記要件情報特定部は、前記依頼情報に基づいて、前記学習対象に関して、前記学習対象の種類、前記学習対象の状態、前記学習対象の状態制御情報、及び前記学習対象の状態制御プログラムのうち少なくとも一方を含む対象情報を特定する。
さらに、前記要件情報特定部は、前記依頼情報に基づいて、前記学習対象についてデータ取得及び/又は操作を行う操作対象に関して、前記操作対象の種類、前記操作対象のハードウェア構成、前記操作対象の制御データ、及び前記操作対象の制御プログラムのうち少なくとも一方を含む設定情報を特定する。
上記システムにおいて、さらに、前記要件情報特定部は、前記依頼情報に基づいて、データベースから前記要件情報を取得し、或いは、前記依頼情報に基づいて、前記要件情報を生成する。
さらに、上記システムは、前記要件情報を特定した後、前記依頼情報における少なくとも一部の情報と前記要件情報との対応関係を記憶する記憶部、をさらに備えてもよい。
さらに、上記システムは、前記装置から、前記要件情報に基づく学習を行って得られた前記学習データを取得する学習データ取得部、をさらに備えてもよい。
さらに、上記システムは、前記依頼情報と前記学習データを用いた学習を行うことで、学習結果を取得する学習部と、前記学習結果を、前記学習結果による対象分析を行う装置に送信する学習結果送信部と、をさらに備えてもよい。
本発明の更なる一実施形態によれば、学習を依頼するための依頼情報を受信する依頼情報受信部と、前記依頼情報を、学習データを生成するための要件情報を提供する装置に送信する依頼情報送信部と、前記装置から前記要件情報を受信する要件情報受信部と、前記要件情報に基づいて前記学習データを生成する学習データ生成部と、を備えることができる学習データを生成するシステムが提供される。
さらに、前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含む。
上記システムにおいて、さらに、前記学習データ生成部は、前記学習目標の情報に対応する前記要件情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定し、そして、前記種類及び/又は前記数のデータを生成して前記学習データの少なくとも一部とする。
上記システムにおいて、さらに、前記学習データ生成部は、前記学習対象の情報に対応する前記要件情報に基づいて、前記学習対象及び/又は前記前記学習対象についてデータ取得及び/又は操作を行う操作対象を構成し、そして、前記構成に基づいてデータを生成して前記学習データの少なくとも一部とする。
上記システムにおいて、さらに、前記学習データ生成部は、前記学習対象の少なくとも1つの状態に関する情報に対応する前記要件情報に基づいて、前記学習対象の状態を設定し、それぞれの状態ごとの前記学習対象についてデータを生成して前記学習データの少なくとも一部とすることができる。
さらに、上記システムは、生成した前記データを、前記処理能力を反映する教師データと関連づけて記憶する学習データ記憶部、をさらに備えてもよい。
さらに、上記システムは、前記学習データに基づく学習を行って得られた学習結果を受信する学習結果受信部と、前記学習結果を利用して対象分析を行う学習結果利用部と、をさらに備えてもよい。
本発明の更なる一実施形態によれば、プログラムを記憶する記憶装置と、プロセッサと、を備えることができ、前記プロセッサは、前記プログラムに基づいて、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、前記要件情報を、前記学習データを生成する装置に送信する、操作を実行するサーバが提供される。
本発明の更なる一実施形態によれば、プロセッサに、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、前記要件情報を、前記学習データを生成する装置に送信するステップと、を実行させることができるプログラムが提供される。
本発明の更なる一実施形態によれば、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、前記要件情報を、前記学習データを生成する装置に送信するステップと、を実現するためのプログラムを記憶することができる記憶媒体が提供される。
本発明の実施形態によれば、要件情報を特定することで、学習データの生成を自動化/半自動化することができる。学習依頼者は、学習方法の詳細を理解しなくても、必要な学習データを作成できるようになる。特に、学習依頼者と、学習装置の学習プログラム作成者が異なる人である場合に、学習依頼者の負担を大幅に軽減している。
また、本発明の実施形態によれば、学習データ不足によるAIの学習が終わらず、CPUが無駄に動き続けることを回避することができるため、CPU負荷を軽減し、システムリソースを節約することができる。また、本発明の実施形態によれば、学習不足による学習の追加を回避することができるため、クライアントと例えばサーバとの間の通信負荷および、例えばサーバの処理負荷を低減させ、サーバリソース及び処理時間を節約することができる。
また、本発明の実施形態によれば、学習データ不足によるAIの学習が終わらず、CPUが無駄に動き続けることを回避することができるため、CPU負荷を軽減し、システムリソースを節約することができる。また、本発明の実施形態によれば、学習不足による学習の追加を回避することができるため、クライアントと例えばサーバとの間の通信負荷および、例えばサーバの処理負荷を低減させ、サーバリソース及び処理時間を節約することができる。
ここで説明する図面は、本発明をさらに理解させるためのものであり、本願の一部を構成し、また、本発明における概念的実施例及びその説明は本発明を説明するものであり、本発明を不当に限定するものではない。図面において、
本発明の例示的な一実施形態による学習依頼システムと学習サービス提供システムの構造を示す図である。
本発明の例示的な一実施形態による学習依頼システムと学習サービス提供システムとの間の対話を示す図である。
本発明の例示的な一実施形態による学習データ生成システムの機能モジュールと学習依頼システムにおける他の装置との間の対話を示す図である。
本発明の例示的な一実施形態による学習データ生成システムの操作例を示す図である。
本発明の例示的な一実施形態による学習データ生成管理装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習依頼システムと学習サービス提供システムのハードウェア構造の一部を実現するパーソナルコンピュータ(Personnel Computer、PC)の例を示す図である。
本発明の例示的な一実施形態による学習依頼装置のハードウェア構造の例を示す図である。
本発明の例示的な一実施形態による学習結果利用装置のハードウェア構造の例を示す図である。
本発明の例示的な一実施形態による学習データ取得装置のハードウェア構造の例を示す図である。
本発明の例示的な一実施形態による学習サービス提供システムのハードウェア構造の例を示す図である。
本発明の例示的な一実施形態による対象操作装置のハードウェア構造の例を示す図である。
本発明の例示的な一実施形態による学習依頼装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習結果利用装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習データ取得装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習依頼受付装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習データベース装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による対象操作装置の機能モジュールを示すブロック図である。
本発明の例示的な一実施形態による学習依頼システムで実現される依頼情報を生成する方法を示すフローチャートである。
本発明の例示的な一実施形態による学習サービス提供システムで実現される学習データを生成するための処理方法を示すフローチャートである。
本発明の例示的な一実施形態による学習データを生成するための要件情報の論理的な構成を示す図である。
本発明の例示的な一実施形態による学習依頼システムで実現される学習データを生成する方法を示すフローチャートである。
本発明の例示的な一実施形態による学習サービス提供システムで実現される学習結果を生成する方法を示すフローチャートである。
本発明の例示的な一実施形態による学習データを生成するための処理方法を用いる適用例1を示す機能ブロック図である。
適用例1における学習データを生成する方法を示すフローチャートである。
適用例1における学習結果を用いた良品/不良品の判定を示す図である。
図26に示す良品/不良品の判定に用いる深層学習を示す図である。
図26に示す良品/不良品の判定方法を示すフローチャートである。
適用例2における学習データを生成する方法を示すフローチャートである。
適用例3における学習データを生成する方法を示すフローチャートである。
当業者に本発明をよりよく理解してもらうように、以下、本発明の図面を結合して本発明の実施形態を明瞭かつ完全に説明するが、説明した実施形態は本発明の実施形態の一部に過ぎず、全部ではないことは、明らかである。当業者が本発明の実施形態に基づいて、創造的な労働なしに得た他の実施形態も、全て本発明の保護範囲内に含まれる。
なお、本発明で用いる「/」は、「および」、「または」、或いは複数の選択肢のうちの任意の1つまたは複数を意味する。用語である「含む」、「有する」及びそれらの如何なる変形は、排他的にならずに含まれたものをカバーすることがその意図であり、例えば、一連のステップ又はユニットを含めたプロセス、方法、システム、装置又は部分は、明確に示したステップ又はユニットに限定される必要がなく、明確に示していなかったり、これらのプロセス、方法、システム、装置又は部分に固有であったりする他のステップ又はユニットを含むことができる。
以下、図面を結合しながら本発明の実施形態を説明する。以下の実施形態は、様々な学習目標に対してそれぞれ能力を獲得するシステムを例として説明する。利用者が毎回獲得したい能力が異なるため、利用者のニーズに応じて異なる学習データを用意する必要がある。
本発明の実施形態によれば、例えば、学習する機械に対して獲得する能力を指定したときに、指定された能力を獲得するために必要な学習データに関する要件情報を特定し、特定された要件情報に応じて、学習対象および操作対象について繰り返して構成設定を行うことにより、最初の学習データを取得でき、さらに、最初の学習データを学習データとするか、最初の学習データを教師データ等と関連づけて記憶して学習データとすることで、学習データを取得することができる。
図1は、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200の構造を示す図である。図1に示すように、本発明の例示的な一実施形態による学習依頼システム100は、学習依頼装置110と、学習データ生成システム120と、学習結果利用装置130と、学習データ取得装置140と、を備えることができる。学習依頼装置110は、学習依頼システム100における利用者との間のインターフェースとして用いられることができ、利用者からの学習を依頼するための依頼情報を受信する。そして、学習依頼装置110は、学習依頼システム100における学習サービス提供システム200との間のインターフェースとしても用いられることができ、受信された依頼情報を学習サービス提供システム200に送信するとともに、学習サービス提供システム200から、該依頼情報に基づいて生成された学習データを生成するための要件情報を受信する。学習データ生成システム120は、該要件情報に基づいて学習データを生成する。学習結果利用装置130は、学習データを用いた学習が行われた学習結果を利用して、対象について操作/分析/検査等を行う。学習データ取得装置140は、学習データを取得して記憶する。
本発明でいう「対象」は、本発明の目的を達成するために注目される多様な対象を含むことができ、選択可能な一実施形態において、例えば、学習データに基づく学習が行われる対象である学習対象と、該学習対象について操作/設定等を行う操作対象と、を含んでもよい。対象の一例として、例えば、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、対象は、学習対象としての菓子と、操作対象としての菓子を撮影するカメラとを含むことができる。また、対象の他の一例として、例えば、コンピュータシステムにおけるファイルの自動分類を行う場合、対象は、学習対象としてのファイルと、操作対象としてのファイルを判定して特徴を抽出するプログラムとを含むことができる。
学習サービス提供システム200は、学習依頼受付装置210と、学習装置220と、学習データベース装置230と、を備えることができる。学習依頼受付装置210は、学習サービス提供システム200における学習依頼システム100との間のインターフェースとして用いられ、学習依頼装置110から利用者の依頼情報を受信するとともに、該依頼情報に基づいて生成された学習データを生成するための要件情報を学習依頼装置110へ送信する。学習装置220は、学習データを用いた学習を行い、学習して得られた学習結果を学習依頼受付装置210に送信する。学習データベース装置230は、学習データ、利用者が学習を依頼する依頼情報、学習結果の利用履歴、学習データを生成するための要件情報、および学習プログラム等を記憶する。以下、各装置のハードウェア構造および機能について説明する。
一例として、学習依頼システム100と学習サービス提供システム200とは、インターネット310を用いて通信を行うが、本発明はこれに限定されない。学習依頼システム100と学習サービス提供システム200とは、様々な通信方式、例えば、イントラネット、ローカルエリアネットワーク、移動通信網、およびそれらの組合せを介して情報の送信/受信を行うことができる。これらは同じ装置内にあってもよい。
図2は、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200との間の対話を示す図である。図2を参照して、学習依頼装置110は、学習依頼者から学習を依頼するための依頼情報を受信し、該依頼情報をインターネット310を経由して学習依頼受付装置210に送信する。学習依頼受付装置210は、該依頼情報を受信し、受信した依頼情報を学習装置に通知する。そして、学習依頼受付装置210は、該依頼情報に基づいて特定された学習データを生成するための要件情報を学習依頼装置110へ送信する。学習依頼装置110は、受信した学習データを生成するための要件情報を、学習データ生成システム120に送信する。学習データ生成システム120は、該学習データを生成するための要件情報に基づいて、学習データを生成する。該学習データがインターネット310を介して学習装置220に送信される。学習装置220は、該学習データを受信し、この前に受信した学習を依頼するための依頼情報と該学習データに基づいて学習を行い、学習結果を生成し、該学習結果は、複製可能なデータに変換されデータ化されることができる。データ化された学習結果は、インターネット310を介して学習依頼装置110に送られる。学習依頼装置110は、該データ化された学習結果を学習結果利用装置120に送信する。学習結果利用装置120が、学習結果を利用して新しい能力を獲得し、該能力を発揮することで処理対象について対応する処理を行う。
本発明による該例示的な実施形態において、学習サービス提供システム200は、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、そして、該要件情報を学習依頼システム100における学習データ生成システム120に送信することができる。
該例示的な実施形態によれば、要件情報を特定することで、学習データ生成を自動化/半自動化することができる。学習を依頼する利用者は、学習データの取得に必要な様々なデータを手作業で入力する必要がないとともに、学習データを取得する操作装置/操作プログラムを手作業で操作/設定する必要もないため、操作を簡素化し、誤りの発生を回避することができる。
さらに、学習サービス提供システム200は、リモートサーバ、クラウドで実現されてもよく、ローカルデバイスの演算負荷を軽減し、演算リソースの節約を図り、演算時間を減らすことができる。
本発明でいう「依頼情報」は、学習を依頼するための様々な情報を含むことができ、選択可能な一実施形態において、例えば、学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる該学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。一例として、例えば、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、学習対象が菓子を含んでもよく、学習目標が、生産ラインにおける検査装置に菓子の良品/不良品を判定する能力を獲得させることであってもよい。もちろん、依頼情報に、他に様々な情報が含まれてもよく、本発明の目的を達成できればよい。例えば、依頼情報は、利用者に関する情報等を含んでもよい。
依頼情報の内容を設定することで、利用者は、機械学習方法を心得ずに、提供されるべき内容を明確に理解することができ、システムの使い勝手を向上させ、利用者の負担を軽減することができる。
図3は、本発明の例示的な一実施形態による学習データ生成システム120の機能モジュールと学習依頼システム100における他の構成要素との間の対話を示す図である。図3において、破線ボックスで示される部分は、学習データ生成システム120を表す。学習データ生成システム120は、学習データを生成するための要件情報に基づいて学習データを生成する。図3に示すように、学習データ生成システム120は、学習データ生成管理装置121と、学習データ記憶部122と、対象情報入力部123と、対象操作部124と、を含む。
学習データ生成管理装置121は、学習データを生成するための要件情報に基づいて、学習データ記憶部122、対象情報入力部123、及び対象操作部124の操作を管理する。学習データ記憶部122は、該要件情報に基づいて生成された学習データを記憶する。対象情報入力部123は、学習データ生成管理装置121の指令に基づいて、対応する対象情報を学習データ生成管理装置121に提供する。対象操作部124は、学習データ生成管理装置121の指令に基づいて、対象を操作するための指令を外部にある対象操作装置410に提供する。図3には、学習データ生成システム120はローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、オプションとして、学習データ生成システム120は他に様々な通信方式、例えば、インターネット、イントラネット、移動通信網、およびそれらの組合せを介して情報の送信/受信を行ってもよい。
図3に示すように、学習データ生成システム120は、外部から学習データを生成するための要件情報を受信し、学習データ生成管理装置121に該要件情報が提供される。学習データ生成管理装置121は、該要件情報に基づいて、対象を操作するための指令を生成し、該指令を対象操作部124に送信する。対象操作部124は、該指令を適切なデータフォーマットで無線ローカルエリアネットワークを介して対象操作装置410に送信する。対象操作装置410は、対象を操作して対象に学習データを生成するための様々な動作を行わせ、対象の様々な状態を実現する。学習データ取得装置140は、それぞれの状態においてデータ取得/操作/分析を行うことで、学習データを取得する。該学習データがローカルエリアネットワーク320を介して学習データ生成システム120に送信されながら、学習データ記憶部122に記憶される。対象情報は、学習データと関連づけて記憶されたり、学習データの一部とされたりすることができる。
図3に示すように、学習データ生成システム120は、外部との通信を行うインターネットとして用いられる入出力部125をさらに備えてもよい。例として、入出力部125は、イントラネット、有線/無線ローカルエリアネットワーク、移動通信網、およびそれらの組合せのような、様々な通信方式により外部との通信を行うことができる。例えば、図3には、入出力部125が無線ローカルエリアネットワークを介して対象操作装置410との通信を行う例が示されている。
なお、学習データ生成管理装置121および学習データ記憶部122は、後述のPC600を用いて実施されてもよいし、後述のPC600に類似したハードウェア構造及び構成を有する汎用PCを用いて実施されてもよい。例として、学習データ生成管理装置121、学習データ記憶部122は、それぞれ後述のPC600におけるCPU610、記憶部640を用いて実施されることができる。
オプションとして、学習データ生成管理装置121および学習データ記憶部122は、学習結果利用装置130又は学習データ取得装置140と一体として集積されるか、学習結果利用装置130又は学習データ取得装置140に集積されてもよい。
図3には、学習データ取得装置140により対象から学習データを取得することが示されているが、しかし、代替的に、学習結果利用装置130により対象から学習データを取得してもよい。学習結果利用装置130は、学習結果を利用するときに必要となる対象に関する情報を取得する機能を備えているので、学習データの入力にも用いることができる。このため、オプションとして、学習依頼システム100は、学習データ取得装置140と学習結果利用装置130とを双方とも備えることができれば、学習データ取得装置140を備えずに学習結果利用装置130を備えることもできる。学習結果利用装置130は、学習結果を利用するときに必要となる対象に関する情報を取得する機能以外にも、学習結果を利用して対象について操作/分析/検査等を行う機能を備えている。それゆえ、学習依頼システム100は、学習結果を利用して対象について操作/分析/検査等を行う機能を備える必要がない場合、学習結果利用装置130を備えずに学習データ取得装置140を備えるように構成されてもよい。
図4は、本発明の例示的な一実施形態による学習データ生成システム120の操作例を示す図である。図4に示すように、学習データ生成管理装置121は、学習データを生成するための要件情報を受信し、該要件情報に基づいて、対象情報の入力を要求する指令を生成して対象情報入力部123に送信する。対象情報入力部123は、受け取った該指令に基づいて、対応する対象情報を検索又は生成し、検索した又は生成した対象情報を学習データ生成管理装置121に送信する。学習データ生成管理装置121は、学習データを生成するための要件情報と対象情報に基づいて、対象を操作するための指令を対象操作部124へ発信する。対象操作部は、該指令を受け取った後、学習データ生成システム120の外部にある対象操作装置410と通信する。これにより、対象操作装置410は対象を操作する。例えば、学習対象が複数の状態を持つ場合には、学習データの取得に必要な学習対象の各状態を取得することができる。それぞれの状態下の対象について、学習データ取得装置140(未図示)又は学習結果利用装置130(未図示)が対象の操作/分析/検査等を行うことにより、最初の学習データを生成する。最初の学習データは、学習データ記憶部122(未図示)に記憶されることができる。
ここでいう最初の学習データは、単独で学習データとされてもよいし、学習データの一部とされてもよい。最初の学習データは、単独で学習データとして用いられる場合、学習データ記憶部122に、教師データや後の学習に用いる情報等と関連づけて記憶されることができれば、最初の学習データ、および、最初の学習データと教師データや後続の学習に用いる情報等との関連関係のみが学習データ記憶部122に記憶されることもできる。学習を行うときに、記憶した学習データを、学習装置220が利用可能な形態に変換して学習装置220に出力することができる。
学習を行うための学習データには、少なくとも学習時にニューラルネットワークに入力されるデータが含まれる。学習データは、最初の学習データの他にも、教師データを含むことができる。
教師データは、学習対象に対する処理能力を反映するデータであることができ、学習対象に対する処理能力(学習目標)に対応している。教師が必要となる学習を行う場合、学習に用いるそれぞれのデータに対して教師データが必要となる。例えば、食品加工工場の生産ラインで菓子の良品/不良品を検出する場合、例えば、カメラで撮影した画像を用いて、製品の良品/不良品を識別するような学習を行う。カメラで撮影した多数の画像データ(例えば、10万枚の画像)が学習データの一部を構成する一方、各画像データが良品であるか、不良品であるかという教師情報が必要になる。さらに、良品がランクを持つ場合には、例えば、良品がランクA、ランクB、ランクC等を含む場合、良品に対応する各画像データがどのランクであるかという教師情報も必要になる。教師データを、学習データの一部としてもよいし、学習データと独立して学習データと関連づけて記憶してもよい。
生成した前記データを学習データの一部とするか、生成した前記データおよびそれと関連づけて記憶した教師データを学習データの一部とすることで、学習データを利用して学習を行う装置の入力を簡素化することができる。そして、関連づけて記憶したこれらのデータを後の類似した学習に用いることができ、システムの演算負荷を軽減する。
学習データは、最初の学習データと教師データの他にも、学習に用いる他のデータを含むことができる。例えば、学習依頼システム100(さらに、それにおける学習データ生成システム120)又は学習サービス提供システム200(さらに、それにおける学習装置220)が活用できる情報、および学習依頼者、学習サービス提供者に関する情報が、それぞれ学習データに含まれてもよい。以下、学習データが含みうるデータについて例を挙げて説明する。
● 学習依頼に関する情報:例えば、依頼者に関する情報、獲得する能力の内容、学習対象、入力データの内容(データの種別、データの属性、使用するセンサの種類など)、学習の目標レベル
学習依頼に関する情報を学習データに含めることで、学習時に、他のデータを参照しなくても、学習依頼の内容が確認できるため、学習演算の独立性を向上させ、システム構成を簡略化する。
● 学習データの識別情報
学習データの識別情報を学習データに含めることで、利用する学習データを他の学習データと識別できるようになる。
● 学習データの分類情報:さまざまな学習に応じて設定された分類情報を含むことができる
学習データの分類情報を学習データに含めることで、該学習データがどの学習に用いるデータであるか判定できるようになる。
● 学習データの属性情報:作成日、データの名称、サイズ、ファイル形式など
学習データの属性情報を学習データに含めることで、学習時に学習データの属性をチェックしてから学習を行い、誤りの発生を回避することができる。
● 学習データの説明情報:例えば、画像データのコメントや、センサのログ情報など
学習データの説明情報を学習データに含めることで、学習の教師データや、テキストベースの学習に活用できる。
● 学習データの権利情報:所有者、著作権情報など
学習データの権利情報を学習データに含めることで、学習時に権利関係をチェックしてから学習を行い、海賊版などの発生を回避することができる。
● 学習データの価値情報:売買対価、価値のレベルに関する情報、期待者情報
学習データの価値情報を学習データに含めることで、学習データの価値を評価することができる。
● 学習データ生成装置に関する情報:例えば、学習データ生成装置の識別情報、学習データ生成装置の属性情報(メーカ名、型式、シリアル番号など)、学習データ生成方法に関する情報(種類、属性など)、学習データ生成装置の性能情報(測定精度など)、学習データ生成装置の設定情報(動作モードなど)
学習データ生成装置に関する情報を学習データに含めることで、学習データ生成装置が学習データを生成した時の詳細な情報を確認し、誤りの発生を回避することができる。
制御対象に関する情報:例えば、制御対象の識別情報、制御対象の属性情報(メーカ名、型式、シリアル番号など)、制御対象の性能情報(機能、能力のレベルなど)、制御対象の設定情報(動作モードなど)
制御対象に関する情報を学習データに含めることで、学習時に制御対象を確認し、誤りの発生を回避することができる。
以上は、あくもでも一例であり、学習データの内容を限定するものではない。
図5は、本発明の例示的な一実施形態による学習データ生成管理装置121の機能モジュールを示すブロック図である。図5に示すように、学習データ生成管理装置121は、学習データ生成管理部1211と、学習データ取得装置設定部1212と、対象操作装置設定部1213と、学習データ取得要件情報記憶部1214と、通信部1215と、を含むことができる。学習データ生成管理部1211は、学習データ取得装置設定部1212、対象操作装置設定部1213、学習データ取得要件情報記憶部1214、および通信部1215の操作を統合制御する。学習データ取得装置設定部1212は、学習データ取得装置140について操作設定を行う。対象操作装置設定部1213は、対象操作装置410について操作設定を行う。学習データ取得要件情報記憶部1214は、受信した学習データを生成するための要件情報を記憶する。通信部1215は、外部との通信を行う。
以下、本発明の例示的な一実施形態による学習依頼システム100における学習データ生成システム120以外の構成要素のハードウェア構造の例および機能モジュールの例について説明する。それから、本発明の例示的な一実施形態による学習サービス提供システム200のハードウェア構造の例および各構成要素の機能モジュールの例について説明する。
まず、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200のハードウェア構造の一部を実現するPCの例を説明する。
図6は、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200のハードウェア構造の一部を実現するPC(Personnel Computer、パーソナルコンピュータ)600の例を示す図である。図6に示すように、このPC600は、統合制御を行うCPU610と、システムソフトウェアを記憶するリードオンリーメモリ(Read Only Memory、ROM)620と、書き込んだ/読み出したデータを記憶するランダムアクセスメモリ(Random Access Memory、RAM)630と、様々なプログラム及びデータを記憶する記憶部640と、入出力用インターフェースである入出力部650と、通信機能を実現する通信部660と、を含むことができる。代替的に、CPU610をマイクロプロセッサMCU又はフィールドプログラマブルゲートアレイFPGAのようなプロセッサて取って代わってもよい。入出力部650は、入力/出力インターフェース(I/Oインターフェース)、ユニバーサルシリアルバス(USB)インターフェース(I/Oインターフェースのポートのうちの1つのポートとして含まれてもよい)、ネットワークインターフェースなど、様々なインターフェースを含むことができる。図6に示す構造は概念的なものに過ぎず、学習依頼システム100および学習サービス提供システム200のハードウェア構造を限定していないことは、当業者が理解できるものである。例えば、PC600は、図6に示すものよりも多かったり少なかったりの構成要素を含むか、図6に示すものと異なる構成を有することもできる。
注目されるべき点として、上記CPU610は、1つ又は複数のプロセッサを含むことができ、該1つ又は複数のプロセッサ及び/又は他のデータ処理回路を本発明で通常、「データ処理回路」と呼ぶ。該データ処理回路は、一部又は全てがソフトウェア、ハードウェア、ファームウェア又は他の任意の組合せで表現されることができる。また、データ処理回路は、個別に独立した処理モジュールであってもよいし、全て又は一部がPC600における他の構成要素のいずれか1つに組み合せられてもよい。
記憶部640は、アプリケーションソフトウェアのソフトウェアプログラム及びモジュールを記憶することができ、本発明の後文で説明する学習データを生成するための方法に対応するプログラムコマンド/データ記憶装置のように、CPU610は、記憶部640に記憶されたソフトウェアプログラム及びモジュールを実行することにより、上記学習データを生成する方法を実現する。記憶部640は、不揮発性メモリ、例えば、1つ又は複数の磁性記憶装置、フラッシュメモリ、又は他の不揮発性ソリッドステートメモリを含むことができる。一部の例において、記憶部640は、CPU610に対して遠距離になって配置されたメモリをさらに含んでもよく、これらのリモートメモリは、ネットワークを介してPC600に接続されることができる。上記ネットワークの例として、インターネット、イントラネット、ローカルエリアネットワーク、移動通信網およびそれらの組合せを含むが、これには限定されない。
通信部660は、ネットワークを経由してデータを受信又は送信する。上記ネットワークの具体例は、PC600の通信事業者が提供する無線ネットワークを含むことができる。一例において、通信部660は、基地局を介して他のネットワークに繋がることでインターネットと通信できるネットワークインターフェースコントローラ(Network Interface Controller、NIC)を含む。また、一例において、通信部660は、無線によりインターネットと通信する無線周波数(Radio Frequency、RF)モジュールであってもよい。
図7は、本発明の例示的な一実施形態による学習依頼システム100に含まれる学習依頼装置110のハードウェア構造の例を示す図である。図7に示すように、学習依頼装置110は、PC1101と利用者入力部1102とを含むことができる。PC1101は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。利用者入力部1102は、モニタ1104と、キーボード1105と、マウス1106とを含むことができる。代替的に又は追加的に、利用者入力部1102は、カメラ、スキャナ等の入力装置をさらに含んでもよい。
学習依頼装置110は、学習依頼システム100と利用者との間のインターフェースとして、および学習依頼システム100と学習サービス提供システム200との間のインターフェースとしての機能を備えている。図7に示す学習依頼装置110において、利用者は、利用者入力部1102を操作することで学習を依頼するための依頼情報をPC1101に入力する。PC1101は、記憶したソフトウェアプログラムに基づいて該依頼情報を処理して、学習依頼受付装置210が理解可能なフォーマットのデータを生成し、該データをインターネット310を介して学習依頼受付装置210に送信する。PC1101は、さらに、インターネット310を介して学習依頼受付装置210から学習データを生成するための要件情報を受信する。
図8は、本発明の例示的な一実施形態による学習結果利用装置のハードウェア構造の例を示す図である。図8の(a)に示すように、学習結果利用装置130は、PC1301と、利用者入力部1302と、学習データ入力部1303とを含むことができる。PC1301は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。利用者入力部1302は、モニタ1304、キーボード1305及び/又はマウス1306を含むことができる。代替的に又は追加的に、利用者入力部1302は、カメラ又はスキャナ等の入力装置をさらに含んでもよい。
学習データ入力部1303は、ニューラルネットワークの入力データとなってもよい、対象に関する対象情報を取得する。例として、学習データ入力部1303は、カメラ、センサ、ネットワーク端末、自走型ロボット等の装置であってもよいし、他に対象情報を入力できる任意の入力装置であってもよい。図8の(a)に示すように、PC1301と学習データ入力部1303は、互いに独立した2つの構成要素であり、両者は有線/無線により通信を行い、また、PC1301は汎用PCであってもよい。代替的に、PC1301と学習データ入力部1303を組込型装置として一体化した構成にしてもよい。
図8の(b)に学習結果利用装置のハードウェア構造の他の一例を示す。図8の(a)とは異なり、図8の(b)において、学習結果利用装置130’は、PC1301’と、学習データ入力部1303’とを含むことができる。組込型PCであるPC1301’は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。そして、PC1301’は、一体化したモニタ、キーボード、マウス、カメラ又はスキャナ等の入力装置をさらに含む。学習データ入力部1303’は、学習データ入力部1303の機能及び構成と同様な、又は類似した機能及び構成を有してもよい。
なお、学習結果利用装置130,130’に類似して、学習データ取得装置140も、対象について学習データを取得する機能を備えている。このため、学習データ取得装置140は、学習結果利用装置130と同様な、又は類似したハードウェア構造を有してもよい。つまり、例として、学習データ取得装置140は、図8の(a)と(b)に示すようなハードウェア構造を有することができる。
図9は、本発明の例示的な一実施形態による学習データ取得装置のハードウェア構造の例を示す図である。図9の(a)に示すように、学習データ取得装置140は、PC1401と、学習データ入力部1403とを含むことができる。PC1401は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。PC1401はローカルエリアネットワーク320を介して外部との通信を行う。学習データ入力部1403は、ニューラルネットワークの入力データとなってもよい、対象に関する対象情報を取得する。学習データ入力部1403は、学習データ入力部1303の機能及び構成と同様な、又は類似した機能及び構成を有してもよい。
図9の(b)に学習データ取得装置のハードウェア構造の他の一例を示す。図9の(a)とは異なり、図9の(b)において、学習データ取得装置140’は、PC1401’と、学習データ入力部1403’とを含むことができる。組込型PCであるPC1401’は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。そして、PC1401’は、一体化したモニタ、キーボード、マウス、カメラ又はスキャナ等の入力装置をさらに含む。学習データ入力部1403’は、学習データ入力部1403の機能及び構成と同様な、又は類似した機能及び構成を有してもよい。
図9の(a)と(b)において、PC1401、PC1401’はそれぞれローカルエリアネットワーク320を介して外部との通信を行うが、本発明はこれに限定されず、PC1401、PC1401’はそれぞれ、インターネット、イントラネット、移動通信網、又はそれらの組合せ等を介して外部との通信を行ってもよい。
図10は、本発明の例示的な一実施形態による学習サービス提供システムのハードウェア構造の例を示す図である。図10の(a)に学習サービス提供システムのハードウェア構造の簡単な構成の一例を示す。図10の(a)に示すように、学習サービス提供システム200は、PC2001を含むことができる。PC2001は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。PC2001はインターネット310を介して外部との通信を行う。
図10の(b)に、学習サービス提供システムのハードウェア構造についてデータセンターに基づくものの一例を示す。図10の(b)に示すように、学習サービス提供システム200’は、複数のサーバラック2002を含むことができる。該複数のサーバラック2002が分散型サーバシステムを構成し、学習サービス提供システム200’の機能を実現する。学習サービス提供システム200’のソフトウェアプログラム及びデータは、単一のサーバラック2002に配置されず、複数のサーバラック2002に分散されることができ、それぞれのサーバラック2002はローカルエリアネットワーク320を介して外部との通信を行うことができる。また、外部ネットワーク接続装置340に接続されることで、それぞれのサーバラック2002はインターネット310を介して外部との通信を行ってもよい。既存のサーバラックを含む分散型サーバシステムを、学習サービス提供システム200’を実現するハードウェア構造として用いることができる。学習サービス提供システム200’を分散型サーバシステムで実現する場合、深層学習を行うとき、処理内容に同じような計算の繰り返しが多いため、プログラムを複数のサーバラック2002で実行し演算することで、処理時間を短縮し、処理の複雑さを簡易化することができる。
図10の(c)に、学習サービス提供システムのハードウェア構造についてデータセンターに基づくものの他の一例を示す。図10の(c)に示すように、学習サービス提供システム200”は、複数のブレードサーバ2003を含むことができる。該複数のブレードサーバ2003が分散型サーバシステムを構成し、学習サービス提供システム200”の機能を実現する。学習サービス提供システム200”のソフトウェアプログラム及びデータは、単一のブレードサーバ2003に配置されず、複数のブレードサーバ2003に分散されることができ、学習サービス提供システム200”の各構成要素の機能を任意の異なるブレードサーバ2003により実現することができる。複数のブレードサーバ2003の一部は、1つのブレードサーバユニット(図中の破線ボックスで示されるように)として動作することができる。それぞれのブレードサーバ2003はローカルエリアネットワーク320を介して通信することができる。また、外部ネットワーク接続装置340(未図示)に接続されることで、それぞれのブレードサーバ2003はインターネット310を介して外部との通信を行ってもよい。既存のブレードサーバを含む分散型サーバシステムを、学習サービス提供システム200”を実現するハードウェア構造として用いることができる。この場合、図10の(b)に示す例に類似して、学習サービス提供システム200”も処理時間を短縮し、処理の複雑さを簡易化する技術効果を達成することができる。
図11は、本発明の例示的な一実施形態による対象操作装置410のハードウェア構造の例を示す図である。対象操作装置410は、学習データを生成するために、対象を操作して対象に所定の状態を持たせる装置であってもよい。学習データ生成システム120は、対象操作装置410の種類や制御方法等の情報に応じて、対象操作装置410の制御を行うことができる。
図11の(a)に、PCで構成される対象操作装置のハードウェア構造の一例を示す。図11の(a)に示すように、対象操作装置410は、PC4101とアクチュエータ4102とを含むことができる。PC4101は、学習データ生成システム120の対象操作部124から受信した対象を操作するための指令に基づいて、アクチュエータ4102へ作動命令を発する。PC4101は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、当該機能を果たす構成であればPC600の構成と異なる構成を有してもよい。アクチュエータ4102は、該作動命令に基づいて対象を操作して、対応する対象状態を取得する。対象操作装置410は、ローカルエリアネットワーク320を介して外部(例えば、学習データ生成システム120)との通信を行うことができる。
例えば、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、対象操作装置410は、アクチュエータ4102を介して1つ又は複数のカメラの姿勢を操作し、カメラで撮影する菓子を載せる載置台に所定の姿勢変化を行わせることができる。そして、対象操作装置410は、PC4101に制御されて、所定のタイミングで該1つ又は複数のカメラおよび載置台を操作することができる。
図11の(b)に、対象操作装置のハードウェア構造の他の一例を示す。図11の(b)に示すように、対象操作装置410’は、対象制御装置4103を含むことができる。対象制御装置4103は、対象について分析/制御を行う。例えば、対象制御装置4103を制御するための制御パラメータ、制御データ、制御プログラム等を、学習データを生成するための要件情報に予め含めることができ、これにより、学習データ生成システム120は、該要件情報に基づいて、対象制御装置4103を用いて対象の状態を自動的に変化させ、学習データを取得することができる。対象操作装置410’は、無線ローカルエリアネットワーク330を介して外部(例えば、学習データ生成システム120)との通信を行うことができる。オプションとして、対象制御装置4103は、一部又は全てが学習データ生成システム120に含まれてもよい。
例えば、囲碁、将棋のようなゲームの意思決定を行う場合、遊戯ルール、遊戯プログラムを、学習データを生成するための要件情報に含めることができる。対象制御装置4103は、該要件情報に基づいて、碁盤や将棋盤の段階ごとの変化を制御することができる。
図11にの(c)に、対象操作装置のハードウェア構造の更なる一例を示す。図11の(c)に示すように、対象操作装置410”は、ロボット4105を含むことができる。ロボット4105は、学習データ生成システム120から受信した制御指令に基づいて、対象について対応する操作を行う。例えば、ロボット4105の制御パラメータ、制御データ、制御プログラム等の情報を、学習データを生成するための要件情報に含めることができ、これにより、学習データ生成システム120は、該要件情報に基づいて、ロボット4105を用いて対象を操作し、対象の状態を変化させるように制御することができる。対象操作装置410”は、無線ローカルエリアネットワーク330を介して外部(例えば、学習データ生成システム120)との通信を行うことができる。
対象操作装置410,410’および410”による対象についての操作/制御は、上記操作/制御以外にも、利用者の依頼した学習の内容に応じて様々な操作/制御を行うことができる。以下、例を挙げて説明する。
・対象を並べる/組み合わせる
例えば、菓子のパノラマ写真を撮影するように、複数のカメラを並べる/組み合わせる。或いは、プラントが、操作する操作対象に対して所定の姿勢を実現できるように、プランの各操作部を並べる/組み合わせる。
・対象の一部を取り除く
例えば、学習の対象となるファイルにおける特定のタイプのファイルのみを分析し、他のタイプのファイルを取り除く。
・対象の操作部を操作する
例えば、菓子を載せる載置台を操作する。
・対象を物理的に操作する
・対象の向きを変える。
例えば、自動車の運転など。
・電子的に接続する
・信号を送信して制御する
・データを送り込む/プログラムをロードする/プログラムを実行する
・禁止動作を設定する
なお、以上で記載した内容は例示的なものに過ぎず、本発明における対象操作装置410の機能及び構成を限定するものではない。
図11の(a)、(b)および(c)において、対象操作装置410は、ローカルエリアネットワーク320又は無線ローカルエリアネットワーク330を介して外部との通信を行う。しかしながら、本発明はこれに限定されず、対象操作装置410は、様々な通信方式、例えば、イントラネット、ローカルエリアネットワーク、インターネット、移動通信網、およびそれらの組合せを介して外部と情報の送信/受信を行うことができる。
なお、対象操作装置410は、機能の一部又は全て/ハードウェア構造の一部又は全てが学習データ生成システム120に含まれてもよい。当業者はニーズに応じてそれぞれのシステムに含まれる構成機器を設定することができる。
以下、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200の各構成要素の機能モジュールの例を説明する。
図12は、本発明の例示的な一実施形態による学習依頼装置110の機能モジュールを示すブロック図である。利用者が学習を依頼するとき、学習依頼装置110を用いて、学習サービス提供システム200に対して学習依頼を行う。学習依頼装置110はインターネット310又はローカルエリアネットワーク320のような通信手段で学習サービス提供システム200と接続されていて、学習依頼を行うことができる。図12に示すように、学習依頼装置110は、学習依頼制御部111と、利用者対話部112と、依頼情報記憶部113と、通信部114とを含むことができる。学習依頼制御部111は、利用者対話部112、依頼情報記憶部113、および通信部114の操作を統合制御する。学習依頼装置110と利用者との間のインターフェースである利用者対話部112は、利用者から学習依頼を受信し、対応する情報を利用者に提供する。依頼情報記憶部113は、利用者対話部112で受信した利用者からの学習を依頼するための依頼情報を記憶する。通信部114は、インターネット310又はローカルエリアネットワーク320を介して学習依頼受付装置210との通信を行う。図12に学習依頼装置110がインターネット310又はローカルエリアネットワーク320を介して学習依頼受付装置210との通信を行う例を示しているが、上述したように、学習依頼装置110は、他に様々な通信方式、例えば、イントラネット、移動通信網、およびそれらの組合せを介して学習依頼受付装置210と情報の送信/受信を行ってもよい。これにより、学習依頼受付装置210は、学習依頼装置110を使っている利用者と対話を行って、学習の対象や学習の目的など、学習依頼情報を取得することができる。
図13は、本発明の例示的な一実施形態による学習結果利用装置130の機能モジュールを示すブロック図である。図13に示すように、学習結果利用装置130は、制御部131と、ニューラルネットワーク設定部132と、ニューラルネットワーク133と、学習結果入力部134と、学習データ入力部135と、学習データ取得部136と、出力部137と、通信部138とを含むことができる。制御部131は、学習結果利用装置130の各構成要素の操作を統合制御する。ニューラルネットワーク設定部132は、制御部131の指令に基づいて、ニューラルネットワークの各パラメータを設定する。ニューラルネットワーク133は、学習データ入力部135で入力した学習データに対して深層学習のような機械学習を行う。学習結果入力部134は、学習結果利用装置130に対応する能力を備えるように、学習結果を入力する。学習データ入力部135は、学習データ取得部136から学習データを受信し、該学習データを適切なフォーマットでニューラルネットワーク133に入力する。学習データ取得部136は、対象から対応する学習データを取得する。出力部137は、ニューラルネットワーク133が深層学習を行った分析結果を出力する。通信部138は、学習結果利用装置130と外部との通信を実現する。
なお、学習結果利用装置130は、1つ又は複数の学習データ取得部136を含んでもよい。異なる学習データ取得部は、異なる対象について学習データを取得することができる。そして、学習結果利用装置130が学習データ取得部136を含むことができることから、学習データの取得機能を備えているため、学習データ取得装置140を省略してもよい。また、図13に通信部138がローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、オプションとして、学習結果利用装置130は、他に様々な通信方式、例えば、インターネット、イントラネット、移動通信網、およびそれらの組合せを介して情報の送信/受信を行ってもよい。
図14は、本発明の例示的な一実施形態による学習データ取得装置140の機能モジュールを示すブロック図である。図14に示すように、学習データ取得装置140は、学習データ取得制御部141と、操作部142と、学習データ取得部143と、学習データ記憶部144と、通信部145とを含むことができる。学習データ取得制御部141は、操作部142、学習データ取得部143、学習データ記憶部144、および通信部145の操作を統合制御する。操作部142は、対象を操作するための指令を適切なデータフォーマットでローカルエリアネットワーク320を介して対象操作装置410に送信する。学習データ取得部143は、学習対象から学習データを取得する。学習データ記憶部144は、学習データ取得部143で取得した学習データを記憶する。通信部145は、ローカルエリアネットワーク320を介して外部との通信を行う。
図15は、本発明の例示的な一実施形態による学習依頼受付装置210の機能モジュールを示すブロック図である。学習依頼受付装置210は、学習依頼装置110からの学習依頼を受け付け、受け付けた学習依頼を学習装置220に通知する。図15に示すように、学習依頼受付装置210は、学習依頼受付部211と、学習データ記憶部212と、依頼情報記憶部213と、通信部214とを含むことができる。学習依頼受付部211は、学習データ記憶部212、依頼情報記憶部213、および通信部214の操作を統合制御する。学習データ記憶部212は、学習依頼システム100から受信した学習データを記憶する。依頼情報記憶部213は、学習依頼システム100から受信した利用者が入力した学習を依頼するための依頼情報を記憶する。通信部214は、学習依頼受付装置210と外部との通信を行う。図15に通信部214がローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、本発明はこれに限定されず、通信部214は、例えば、イントラネット、インターネット、移動通信網、又はそれらの組合せなど、様々な通信方式を介して情報の送信/受信を行ってもよい。
図16は、本発明の例示的な一実施形態による学習装置220の機能モジュールを示すブロック図である。図16に示すように、学習装置220は、学習制御部221と、学習結果抽出部222と、ニューラルネットワーク223と、学習結果出力部224と、通信部225とを含むことができる。学習制御部221は、学習結果抽出部222、ニューラルネットワーク223、学習結果出力部224、および通信部225の操作を統合制御する。学習結果抽出部222は、学習制御部221の指令に基づいて、ニューラルネットワーク223から学習結果を抽出する。ニューラルネットワーク223は、学習データに対して深層学習を行って、学習結果を得る。学習結果出力部224は、学習結果を学習装置220の外部に出力する。通信部225は、学習装置220と外部との通信を実現する。図16に通信部225がローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、本発明はこれに限定されず、通信部225は、例えば、インターネット、イントラネット、移動通信網、又はそれらの組合せ等、様々な通信方式を介して情報の送信/受信を行ってもよい。
図17は、本発明の例示的な一実施形態による学習データベース装置230の機能モジュールを示すブロック図である。学習データベース装置230は、学習を行うときに必要となる、さまざまな情報を格納する。図17に示すように、学習データベース装置230は、学習データデータベース231と、依頼情報データベース232と、学習結果利用履歴データベース233と、要件情報データベース234と、学習プログラムデータベース235とを含むことができる。学習データデータベース231は、学習に用いる学習データを格納する。例として、例えば、学習データの対象や、学習データの内訳、学習データの範囲、学習の目的など学習データを生成するための要件情報に関連づけて、学習データを学習データデータベース231に格納することができる。依頼情報データベース232は、利用者からの学習を依頼するための依頼情報を記憶する。例として、例えば、利用者(学習依頼者)に関する情報、学習データの対象や、学習データの内訳、学習データの範囲、学習の目的など学習データを生成するための要件情報に関連づけて、学習を依頼するための依頼情報を依頼情報データベース232に格納することができる。学習結果利用履歴データベース233は、学習結果の利用ログを記憶する。要件情報データベース234は、学習データを生成するための要件情報を記憶する。
学習プログラムデータベース235は、学習を行うための1つ又は複数の学習プログラムと、該1つ又は複数の学習プログラムに対応する学習を依頼するための依頼情報を格納する。例として、例えば、学習の対象や、学習データの内容、学習の目標など依頼情報に関連づけて、学習プログラムを学習プログラムデータベース235に格納することができる。このため、利用者が学習を依頼する依頼情報を指定することで、学習プログラムデータベース235を用いて必要な学習プログラムを対応して特定することができ、これにより、対応する学習プログラムを実行することができる。さらに、必要な学習プログラムを特定することで、該学習プログラムに対応する学習データを生成するための要件情報を特定することができる。学習データを生成するための要件情報は、各要件を階層的に記述するデータを有することができる。或いは、オプションとして、利用者が学習の対象や学習の目標など、行われる学習を特定するための検索条件を指定することで、学習プログラムデータベース235を用いて、対応する学習プログラムと対応する学習データを生成するための要件情報を検索するようにしてもよい。したがって、学習プログラムデータベース235を用いて学習プログラムと各情報を対応して記憶することで、それぞれの学習について、学習方法の選択と学習サービスの管理が効率よく行えるようになる。
学習データベース装置230を上記のような構成とすることで、学習結果について必要な分析を行うことができ、例えば、異なる学習結果の分類能力を対比することが可能となり、それによって、学習結果の利用状況の同一性を判定することができる。
なお、上述した学習データデータベース231、依頼情報データベース232、学習結果利用履歴データベース233、要件情報データベース234、および学習プログラムデータベース235を同一のハードウェア素子で実現してもよいし、異なるハードウェア素子で実現してもよい。一部の情報が互いに関連づけて記憶される場合、1つ又は複数のデータベースを省略してもよい。
図18は、本発明の例示的な一実施形態による対象操作装置410の機能モジュールを示すブロック図である。図18に示すように、対象操作装置410は、対象操作制御部411と、対象操作動作決定部412と、アクチュエータ413と、通信部414とを含むことができる。対象操作制御部411は、対象操作動作決定部412、アクチュエータ413、および通信部414の操作を統合制御する。対象操作動作決定部412は、学習データ生成システム120からの操作指令とアクチュエータ413の作動情報に基づいて、対象を操作するものを決定する。アクチュエータ413は、対象を操作する。通信部414は、ローカルエリアネットワーク320を介して外部との通信を行うが、しかし、オプションとして、対象操作装置410は、他に様々な通信方式、例えば、インターネット。イントラネット、移動通信網、およびそれらの組合せを介して情報の送信/受信を行ってもよい。
なお、図18に示す本発明の例示的な一実施形態による対象操作装置410の機能モジュールは、一例に過ぎない。対象操作装置410は、図18に示す例よりも多かったり少なかったりの機能モジュールを含んでもよい。
以上、図3乃至図18を参照して、学習依頼システム100の各構成要素、学習サービス提供システム200の各構成要素、および対象操作装置410のハードウェア構造および機能モジュールの例を説明した。以上の説明は例示的なものに過ぎず、本発明の各システム/装置のハードウェア構造および機能モジュールを限定していないことは、当業者が理解すべきである。当業者は、本発明の保護範囲から逸脱しない前提において各システム/装置のハードウェア構造および機能を適宜修正/増減することができる。
また、前文では、学習依頼システム100の各構成要素や学習サービス提供システム200の各構成要素を、異なるハードウェア構成を用いて実現する例を説明したが、学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数を、同一のハードウェア構成で実現してもよい。学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数を異なるハードウェア構成で実現する場合、異なるハードウェア構成は、ニーズに応じてその担う機能を変更することができる。例えば、学習依頼システム100/学習サービス提供システム200の一部/全ての機能を学習結果利用装置130で実現することができる。
さらに、学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数は、前文で述べた実現方式に限定されずに、PC上で実行されるソフトウェアモジュールや、様々な内蔵型装置、クラウドのネットワークサービス等の形で実現されてもよい。本発明の示唆から逸脱しない前提において、学習依頼システム100と学習サービス提供システム200は様々な実現方式を用いることができることは、当業者が理解できるものである。
例として、例えば、学習依頼システム100と学習サービス提供システム200を、統合した1つのシステムとして構成することができる。該統合したシステムのうち、任意の部分を別のシステムや装置、部分として構成してもよい。また、当業者は本発明の利用に必要な部分のみを実施する構成にしてもよい。例えば、本発明における学習データを生成するための要件情報のフォーマットや構成、規定などを利用することで、学習データ生成システム120のみを実施できる。
例として、例えば、工場の生産ラインで製品の検査を行う装置に学習データ生成機能と学習機能を備えるようにすることができる。例えば、処理の負荷が重い学習機能を、クラウド上で実施するようにしてもよい。学習サービス提供システム200に含まれる一部の構成要素又は機能をクラウドで実現する場合、他の構成要素又は機能を別の任意の装置で実施するようにすることができる。
例として、例えば、ニューラルネットワーク133とニューラルネットワーク223を電子回路で構成することができる。例えば、LSIやFPGAで構成することができる。また、学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数を物体によって実施することができる。例えば、学習対象について識別/処理/操作/データ取得を行う中、物理的な鍵やDNA検査のような生化学的な方法、ホログラムなど光学的な方法による識別/処理/操作/データ取得手段を用いることができる。
以下、図19乃至図23を結合して本発明に係わる方法を説明する。なお、後文では、「S1」を先頭に置いたものは、学習依頼システム100で実現される方法のステップを表し、「S2」を先頭に置いたものは、学習サービス提供システム200で実現される方法のステップを表す。
図19は、本発明の例示的な一実施形態による学習依頼システム100で実現される依頼情報を送信する方法を示すフローチャートである。図19に示すように、ステップS101において、学習依頼システム100が学習サービス提供システム200と接続し、該方法がステップS102へ進む。ステップS102において、学習依頼システム100の学習依頼装置110は、学習対象に関する選択画面を利用者(学習依頼者)に提示し、該学習対象の選択できる内容は、学習サービス提供システム200から受信したものにしてもよい。利用者は、選択画面の提示に従って、対応する学習対象を選択することができる。ステップS103において、学習依頼システム100は、利用者が学習対象を選択したか否かを判定する。利用者が学習対象を選択していれば、該方法がステップS104へ進み、利用者が学習対象を選択していなければ、該方法がステップS102に戻り、利用者が選択するのを待つ。ステップS104において、学習依頼システム100の学習依頼装置110は、学習目標に関する選択画面を利用者に提示し、該学習目標の選択できる内容は、学習サービス提供システム200から受信したものにしてもよい。利用者は、選択画面の提示に従って、対応する学習目標を選択することができる。ステップS105において、学習依頼システム100は、利用者が学習目標を選択したか否かを判定する。利用者が学習目標を選択していれば、該方法がステップS106へ進み、利用者が学習目標を選択していなければ、該方法がステップS104に戻り、利用者が選択するのを待つ。ステップS106において、学習依頼システム100は、利用者が選択した学習対象と学習目標を、学習を依頼するための依頼情報として学習サービス提供システム200に送信し、該フローチャートが終了する。
該依頼情報を出力する方法において、利用者は、学習依頼システム100の学習依頼装置110を介して学習対象と学習目標を選択することにより、学習対象の情報と学習目標の情報を含む依頼情報を、学習サービス提供システム200に入力する。なお、依頼情報は他の情報を含んでもよく、例えば、オプションとして、依頼情報は利用者に関する情報を含むことができる。依頼情報が利用者に関する情報のような情報をさらに含む場合、学習依頼システム100の学習依頼装置110は、学習対象の選択画面や学習目標の選択画面に類似した選択画面を、利用者が選択するように利用者に提供することができる。
以下、図20と図21を結合して本発明の例示的な一実施形態による学習データを生成するための処理方法について説明する。
図20は、本発明の例示的な一実施形態による学習サービス提供システム200で実現される学習データを生成するための処理方法を示すフローチャートである。該学習データを生成するための処理方法において、学習サービス提供システム200は、学習依頼システム100から受信した学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、該要件情報を学習依頼システム100における学習データ生成システム120に送信する。
図20に示すように、ステップS201において、学習サービス提供システム200の学習依頼受付装置210は、学習対象の選択できる内容を学習依頼システム100の学習依頼装置110に提供することにより、学習依頼装置110は、それと対話する利用者に学習対象の選択画面を提示し、学習依頼受付装置210は、利用者が選択した学習対象の情報を受信し、該方法がステップS202へ進む。ステップS202において、学習サービス提供システム200の学習依頼受付装置210は、学習目標の選択できる内容を学習依頼システム100の学習依頼装置110に提供することにより、学習依頼装置110は、それと対話する利用者に学習目標の選択画面を提示し、学習依頼受付装置210は、利用者が選択した学習目標の情報を受信し、該方法がステップS203へ進む。
ステップS203において、学習依頼受付装置210は、利用者が学習依頼を確定したか否かを判定し、利用者がまだ確定していなければ、該方法がステップS201に戻り、利用者が学習対象を選択するのを待つ。利用者が確定していれば、該方法がステップS204へ進む。ステップS204において、学習サービス提供システム200は、学習データベース装置230にて決定した学習対象と学習目標に対応する学習データを生成するための要件情報を検索し、該方法がステップS205へ進む。ステップS205において、学習サービス提供システム200は、該要件情報を学習依頼システム100に送信する。本発明の例示的な一実施形態による学習サービス提供システム200で実現される学習データを生成するための処理方法が終了する。
図20に示すステップS204において、学習サービス提供システム200は依頼情報に基づいて、学習データベース装置230にて対応する学習データを生成するための要件情報を検索するが、本発明はこれに限定されない。例えば、学習サービス提供システム200は、要件情報を生成するためのプログラムを予め記憶してもよく、依頼情報を受信した後、該プログラムを用いて対応する要件情報を生成することができる。
それぞれの依頼情報に対応する要件情報のデータベースを予め用意したり、依頼情報に基づいて要件情報を生成するプログラムを予め用意したりすることで、要件情報生成を自動化することができ、利用者が学習データの生成について詳細な操作を把握する必要がなくなり、利用者の負担が軽減される。
オプションとして、学習サービス提供システム200が学習データを生成するための要件情報を特定した後、要件情報データベース234を用いて学習対象の情報や学習目標の情報と要件情報との対応関係を記憶してもよい。該対応関係をデータベースに記憶することで、次回要件情報を検索又は生成する場合、演算操作を簡素化することができる。
該対応関係を利用者の後の類似した依頼に適用することができ、その結果、CPUの演算負荷を軽減し、演算時間を節約することができる。
さらに、上記学習データを生成するための処理方法において、要件情報を用いることで、学習データの生成を自動化/半自動化することができ、これにより、学習データ不足によるAIの学習が終わらず、CPUが無駄に動き続けることを回避することができるため、CPU負荷を軽減し、システムリソースを節約することができる。そして、学習不足による学習の追加を回避することができるため、クライアントと例えばサーバとの間の通信負荷および、例えばサーバの処理負荷を低減させ、サーバリソース及び処理時間を節約することができる。
オプションとして、学習対象や学習目標以外にも、学習サービス提供システム200は、より多くの選択できるアイテムを利用者に提供してもよい。例えば、一例として、学習サービス提供システム200は、決め打ちで所定の学習を行うために必要な学習データを作る1つ又は複数のプログラム/方法/データベースを用意することができる。利用者が必要なプログラム/方法/データベースを選ぶか、上述したように、利用者の選択した学習対象や学習目標などの情報に基づいて、必要なプログラム/方法/データベースが自動的に決められるようにすることができる。必要な学習データを作るプログラム/方法/データベースが決められると、必要な学習データに関する情報も決められる。
前文で述べた学習目標とは、利用者が学習依頼システム100に獲得させるのを期待する学習対象に対する処理/分析能力である。利用者が獲得したい学習対象に対する処理能力の例として、例えば、以下の能力を獲得することができる。
● 分類する能力。深層学習(他のAI技術を用いてもよい)によって、入力データや入力信号に基づいて、分析対象を分類する能力を獲得することができる。分類能力は、例えば、良品と不良品の判定、等級の判定、分析対象のグループ分け、分析対象がいずれの状態にあるかの判定、同じ特徴を持つ対象の検出、分析対象の階層的な分類などに活用できる
● 予測する能力。予測する能力は、例えば、故障予知、信号の予測、対象の状態の予測、株価や為替、債権価格の予測などに活用できる。
● 意思決定する能力。意思決定する能力は、例えば、囲碁、将棋などのゲームの意思決定、組織の意思決定、取引の意思決定などに活用できる。
● 対象を操作する能力。対象を操作する能力は、例えば、アクションゲームをプレイすること、プラントを制御すること、生産ラインを制御すること、ロボットを制御することなどに活用できる。
なお、上述の例は、例示的なものに過ぎず、本発明で説明する利用者が獲得したい学習対象に対する処理能力を何ら限定もしていない。
獲得したい能力(学習目標)によって、異なる学習データを用いた学習を行って、異なる学習結果(能力)を獲得する必要がある。図20に示す学習データを生成するための処理方法において、依頼情報に基づいて、学習データを生成するための要件情報を特定し、学習データ生成システム120に該要件情報が提供されることで、学習データを生成し、これにより、期待する能力を獲得することができる。
一例として、例えば、所定の種類の能力を獲得したい場合、依頼情報にて指定された能力の種類や能力のレベルに基づいて、要件情報に含まれる学習データの種類又は数などに関する情報を特定することにより、対応する要件情報に基づいて学習データを生成することができる。
同じ種類の能力を獲得する場合でも、期待する能力のレベルに応じて、必要な学習データの種類や数などが変わってくる。学習データの種類や数に関する情報を要件情報に含めることで、利用者は、所望の学習目標を達成するには、どのようなデータをどの程度準備すればよいかを把握する必要がなくなるため、利用者の操作を簡素化することができる。
他の一例として、例えば、異なる学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に基づいて、要件情報に含まれる該学習対象に対応する要件を特定し、例えば、学習対象の種類、学習対象の状態、学習対象の状態制御情報および学習対象の状態制御プログラム情報のうち少なくとも一方を特定することにより、対応する要件情報に基づいて学習データを生成することができる。
学習対象が変われば、異なる学習対象に関する学習データを取得する必要がある。学習対象に関する情報を要件情報に含めることで、利用者は、学習対象に関する様々な情報を把握する必要がなく、学習対象を簡単に特定するだけで、所望の学習データを取得することができ、このため、利用者の操作を簡素化することができる。
更なる一例として、例えば、複数の状態を持つ学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に基づいて、要件情報に含まれる該学習対象のそれぞれの状態に対応する要件を特定するか、該学習対象の状態変換に対応する要件を特定することができる。例えば、学習対象の状態情報、学習対象の状態変換情報(例えば、学習対象の状態制御情報、学習対象の状態制御プログラム情報)などのうち少なくとも一方を特定することにより、対応する要件情報に基づいて学習データを生成する。
学習対象が複数の状態を持つ場合、個々の状態ごとに学習対象の学習データを取得する必要がある。学習対象の状態/状態変換に関する情報を要件情報に含めることで、利用者は、学習対象の様々な情報を把握する必要がなく、所望の学習データを取得することができるため、利用者の操作を簡素化することができる。
以下、図21を結合して、本発明の例示的な一実施形態による学習データを生成するための要件情報の論理的な構成を説明する。図21は、本発明の例示的な一実施形態による学習データを生成するための要件情報の論理的な構成を示す図である。図21に示すように、前文で述べた学習データを生成するための要件情報は、識別情報Ct、バージョン情報Cv、および要件C1~要件Cnを含むことができ、nは自然数である。識別情報Ctは、要件情報を識別するための情報である。バージョン情報Cvは、要件情報のバージョンを記録するための情報である。また、要件情報にログ情報など、他の情報が含まれてもよい。要件C1から要件Cnまでのいずれかの要件Cm(1≦m≦n)は、識別情報Cmt、バージョン情報Cmv、および要件Cm1~要件Cmkを含むことができ、kが自然数である。つまり、要件情報は、階層的な入れ子の論理的な構成とすることができる。オプションとして、要件Cm1から要件Cmkまでのいずれかの要件Cmj(1≦j≦k)に、1つ又は複数の下位階層の要件をさらに入れてもよい。このような階層的な入れ子の論理的な構成とすることで、複雑な要件情報の構成に対応することができる。オプションとして、要件情報におけるいずれかの要件(例えば、Cm2)は、テキスト、データ、識別子、プログラム又はそれらの組合せであってもよい。
以下、要件情報に含まれる要件C1~要件Cnの内容について、例を挙げて説明する。
● 要件C1:入力データの情報
◆ 要件C11:入力データの種類(例えば、センサから得たデータ、カメラの制御パラメータなど)
◆ 要件C12:入力データの取得方法(例えば、入力データの取得プログラム、例えば、データベースでの検索、手作業入力など)
入力データは、学習データを生成するために、学習データ生成システム120に入力するデータを指し示す。例として、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、カメラに関する制御パラメータや、構成パラメータ、制御プログラムなどを、学習データを生成するための要件情報に含めることで、データ入力を自動化することができる。
● 要件C2:出力データの情報
◆ 要件C21:出力データの種類(例えば、カメラに対する制御命令、操作命令、通知情報など)
出力データは、学習データを生成するために、学習データ生成システム120から出力するデータを指し示す。例として、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、対象操作装置410を制御するための制御命令、操作命令、通知情報などを出力することで、対象操作装置410は、カメラを操作して撮影することができ、撮影された学習に用いる画像を学習データとして入力することができる。
● 要件C3:対象操作装置の情報
◆ 要件C31:対象操作装置の種類
◆ 要件C32:対象操作装置のハードウェア構成
◆ 要件C33:対象操作装置の制御データ
◆ 要件C34:対象操作装置の制御方法(例えば、制御プログラム、制御プログラム情報など)
要件情報に対象操作装置410の情報が含まれる場合、学習データ生成システム120は、対象操作装置410の種類や制御方法などに関する情報に応じて、対象操作装置410の制御を行うことができる。例えば、ロボットの制御データや制御プログラムを要件情報に含めることで、ロボットを用いて対象を操作し、学習対象の状態を変化させることができる。
操作対象に関する様々な情報を要件情報に含めることで、操作対象を自動的に制御することができ、手作業で操作する必要がなくなり、誤りの発生を回避し、操作効率を向上させることができる。
● 要件C4:対象制御装置の情報
◆ 要件C41:対象制御装置の種類
◆ 要件C42:対象制御装置の制御方法(例えば、制御プログラム、制御プログラム情報など)
対象制御装置4103を制御するための制御データや制御プログラムなどを要件情報に含めることで、学習データ生成システム120は、対象制御装置4103を用いて学習対象の状態を自動的に変化させて、学習データを取得することが可能になる。
● 要件C5:学習データの情報
◆ 要件C51:学習データの内訳(例えば、種類、数など)
◆ 要件C52:教師データの情報
◆ 要件C53:学習データの取得方法(例えば、学習データの取得プログラム)
◆ 要件C54:学習データの前処理方法(例えば、学習データの前処理プログラム)
◆ 要件C55:学習データの対象範囲
● 要件C551:学習対象情報
■ 要件C551:母集団情報
■ 要件C551:対象の範囲情報
● 要件C552:学習対象集合情報
● 要件C553:取得時期
● 要件C554:学習時のデータ取得方法
● 要件C555:学習データとテストデータの内訳
◆ 要件C56:学習データのフォーマット情報(例えば、出力フォーマット情報、学習データのフォーマットを変換するためのプログラムの情報など)
◆ 要件C57:学習データの識別情報
学習データの様々な情報を要件情報に含めることで、利用者が所望の学習データを自動的に取得することができ、学習データ生成を自動化することができる。
学習データを生成するために、学習データの種類や、数、取得方法などを予め決定する必要がある。学習データの情報に関する要件C5を要件情報に含めることで、学習データ生成システム120は、所定の学習データを生成することができる。前文で挙げたように、学習データの情報を階層的にグループ化して決定するようにすることができる。
また、学習データのフォーマット情報に関する要件C56を要件情報に含めることで、学習データ生成システム120が学習データを自動的に読み込むようにすることができる。例として、学習データのフォーマットは、例えばJSONやXMLで要件ごとに階層的なデータ構造で記述するようにすることができる。オプションとして、学習データのフォーマットを変換するためのプログラムの情報を要件情報に含めてもよく、これにより、学習装置220に学習データを提供するとき、対応するプログラムを用いて学習データを自動的に学習装置220が読み込めるデータ形式に変換することができる。このため、利用者の操作を簡素化し、処理時間を節約することができるとともに、利用者の設定が容易になり、ヒューマンエラーを回避することができる。
さらに、学習データの識別情報に関する要件C57を要件情報に含めることで、学習データに識別情報を付与することができ、上記の要件C5で挙げたような学習データの詳細を管理する必要がなくなるため、要件情報の論理的な構成を簡略化することができる。
● 要件C6:学習時期の情報
◆ 要件C61:学習開始タイミング
◆ 要件C62:学習終了タイミング
● 要件C7:学習目標の情報
◆ 要件C71:学習対象の情報
● 要件C711:学習対象の種類(例えば、画像、文章、音声など)
● 要件C712:学習対象の状態
● 要件C713:学習対象の状態変換(例えば、学習対象の状態制御情報、学習対象の状態制御プログラム情報など)
◆ 要件C72:獲得する能力の情報
● 要件C721:獲得する能力の種類(例えば、分類する能力、予測する能力、制御する能力などがあり、それぞれの種類の能力は、内部で所定の分類が行われてもよく、例えば、分類する能力は、教師ありと教師なしを含むことができる)
◆ 要件C73:学習度合いの評価
● 要件C731:評価関数の内容
◆ 要件C74:到達レベル
● 要件C741:目標とする到達レベル
◆ 要件C75:再学習
● 要件C751:以前の学習を特定するID
● 要件C752:目標の変更内容
異なる学習に対して、異なる学習目標を有することができる。要件情報に異なる学習目標の要件C7が設定されることで、該学習目標の要件C7に対応する学習データを取得することができる。また、学習目標の要件C7に要件C73、要件C74、要件C75が設定されることで、所望の品質の学習データを得ることができる。
学習対象に関する様々な情報を要件情報に含めることで、学習対象について自動的に操作/分析/データ取得を行うことができ、学習データ生成を自動化することができる。
● 要件C8:学習装置の情報
◆ 要件C81:学習装置のメーカ
● 要件C811:機種(例えば、様々な派生機種であってもよい)
● 要件C812:学習サービスを提供するクラウドサービス
◆ 要件C82:学習装置の仕様
● 要件C821:運算能力
● 要件C822:並列度
◆ 要件C83:学習装置の設定
● 要件C831:繰返し回数
● 要件C832:打ち切り時間
● 要件C833:利用可能な消費電力の設定
異なる学習装置を用いて、同様な又は相違する能力を獲得することができる。要件情報に学習装置の情報C8が設定されることで、学習データ生成システム120は、学習装置220が学習を行うための学習データを対応して生成することができる。
● 要件C9:学習方法の情報
◆ 要件C91:学習プログラム
● 要件C911:種類/バージョン情報
◆ 要件C92:プログラミング言語の情報(例えば、使用するプログラミング言語は、後の改変などのために、把握できる必要がある。)
◆ 要件C93:フレームワーク(framework)の情報(例えば、一部の会社から深層学習を行うための多様なフレームワークが公開されている。)
◆ 要件C94:ニューラルネットワークの情報(例えば、分類に関する学習を行うことで、分類する能力を獲得したニューラルネットワークを得ることができる。学習プログラムを用いて学習を開始する前に、ハイパーパラメータを用いて、ニューラルネットワークの構成を決めることができる。ハイパーパラメータは、入力層の構成、中間層の構成、出力層の構成に関する情報を含むことができる。ハイパーパラメータは、学習対象ごとに最適なものが異なることが多く、学習の目的に応じて、学習プログラムを自動的に設定してもよいし、ハイパーパラメータのチューニングを人が行うようにしてもよい。)
● 要件C941:ニューラルネットワークの学習手法(学習手法によって、それぞれ能力が獲得される。例えば、SVM、回帰モデルなどの深層学習手法;ディープビリーフネットワーク、ディープボルツマンマシン、積層自己符号化器;オートエンコーダ、制限ボルツマンマシン(RBM);ドロップアウト、スパースコーティング;正則化、雑音除去自己符号化器;活性化関数の種類(シグモイド関数、ソフトサイン、ソフトプラス、Reluなど);乱数系列の種類などに関連することができる)
● 要件C942:ニューラルネットワークの構成
■ 要件C9421:ハイパーパラメータ
◆ 要件C94211:入力層の構成
◆ 要件C94212:層の数
◆ 要件C94213:隠れ層のユニット数
◆ 要件C94214:各層の内容(例えば、CNN(Convolutional Neural Network);RNN(Recurrent Neural Network);Elman network;Jordan network;ESN(Echo state network);LSTM(Long short term memory network);BRNN(Bi−directional RNN)に関連することができる)
◆ 要件C94215:層間フィードバック情報
● 要件C942151:フィードバック回路の構成
◆ 要件C94216:出力層の構成
■ 要件C9422:演算精度(例えば、学習時の演算精度)
■ 要件C9423:学習を終了する条件
● 要件C943:フレームワークによる構成の設定(上記のようなニューラルネットワークの構成は、各フレームワークが提供する設定方法にもとづいて行うことができる。上記の学習に関する情報は、各フレームワークが提供する方法を用いることができる。)
◆ 要件C95:能力のテスト方法の情報(能力のテスト方法が行われることによって、学習結果はテスト要件を満たすように影響を受ける。このため、学習データはテスト要件を満たすように取得する必要がある。)
◆ 要件C96:個々の学習結果の違い(深層学習には、乱数が用いられることが多いため、学習を実施するごとに、獲得した能力には毎回少しずつ差異がありえる。)
以上、学習データを生成するための要件情報に含まれる要件を挙げてきた。以上で挙げたそれぞれの階層における要件は、より多く/より少なく設定されたり、ニーズに応じて修正されたりすることができることは、当業者が理解できるものである。異なる学習対象、学習目的、学習環境などに基づいて、要件情報は、異なる要件を含むことができる。そして、以上で列挙するための要件の番号付け(例えば、C4)は、要件情報に含まれる各要件の順序と記憶方式を限定することを意味しておらず、ニーズに応じて要件情報における各要件の順序と記憶方式を適宜設定することができる。
オプションとして、各要件にID情報を追加することができる。これにより、学習対象の情報、学習目的の情報などに基づいて要件情報を特定する場合、必要となる要件に対応するID情報を要件情報に追加し、ID情報に基づいて要件を特定することができ、そのうえ、要件情報の構成を簡略化することができる。
学習装置220の学習プログラム作成者は、自身が作成する学習方法の詳細を把握しているので、以上に示すような学習方法の情報に関する要件C9および他の要件に対応して、必要となる学習データを生成するための要件情報を出力するプログラムを作成することができる。これにより、学習プログラムとセットで、フォーマットされた学習データを生成するための要件情報又は該要件情報を出力するためのプログラムを提供することができる。上述したように、要件情報を学習データデータ装置230の要件情報データベース234で記憶し管理することができる。特定された学習データを生成するための要件情報をもとに、個々の学習ごとに学習に必要なデータを準備することができる。
上述したように、学習サービス提供システム200は、利用者が学習を依頼する依頼情報に基づいて、学習データを生成するための要件情報を生成し、学習依頼システム100は、手作業で対象操作装置410を操作したり学習に関する情報を入力したりする必要がなく、該要件情報をもとに、学習データを自動的に生成することができるため、学習データ取得の自動化を図る。
なお、学習データを生成するための要件情報に、人的作業に関する情報が含まれてもよく、例えば、利用者が見て学習データの情報を生成できるため、学習データ生成システム110は、要件情報および人が入力した情報をもとに、学習データを半自動的に生成することができる。
したがって、本発明の一実施形態による学習データを生成するための処理方法に基づき、少なくとも、利用者が学習データの作成について詳細を把握する必要がなく、利用者は学習データを作成するための特殊なスキルを必要としなく、学習データ作成作業を効率化し、学習データを作成する時間を短縮し、作業者の工数を削減し、ヒューマンエラーによる学習データの誤りを防止するという技術的効果を得ることができる。
このため、学習データ生成システム120が上記要件情報に基づいて、対象操作装置410を自動的に又は半自動的に制御して学習データを取得することにより、作業を高度に自動化することができる。全ての作業を自動化することで、各システムのみが稼働するだけで、学習依頼システム100は利用者が期待する新たな能力を獲得することができるようになる。
図20に示すような学習データを生成するための処理方法が終了した後、学習依頼システム100は、学習サービス提供システム200から学習データを生成するための要件情報を受信し、該要件情報に基づいて学習データを生成し、該学習データを学習サービス提供システム200に送信する。以下、図22を結合して、本発明の例示的な一実施形態による学習依頼システム100で実現される学習データを生成する方法について説明する。
図22は、本発明の例示的な一実施形態による学習依頼システム100で実現される学習データを生成する方法を示すフローチャートである。図22に示すように、ステップS111において、学習依頼システム100の学習依頼装置110は、学習サービス提供システム200から学習データを生成するための要件情報を受信して学習データ生成システム120に提供し、該方法がステップS112へ進む。ステップS112において、学習データ生成システム120は、要件情報に含まれる学習対象の情報が、現在、実際に生成しようとする学習データの学習対象と一致しているか否かを判定する。一致していると判定されていれば、該方法がステップS113へ進む。一致していないと判定されていれば、該方法が終了する。学習依頼システム100は該情報を利用者に報告することができる。ステップS113において、学習データ生成システム120は、前文で図4を結合して説明されたように学習データ(最初の学習データ)を生成し、該方法がステップS114へ進む。ステップS114において、学習データ生成システム120は、終了条件を満たすか否かを判定する。終了条件を満たしていれば、該方法がステップS115へ進む。終了条件を満たしていなければ、ステップS113に戻り、学習データの生成を継続する。ステップS115において、学習データ生成システム120は、学習データの生成を終了し、最も近い学習データに関する合成結果を選択し、学習データとして出力し、該学習データが学習サービス提供システム200に出力されてもよい。該フローチャートが終了する。
学習データを生成するための要件情報が含みうる内容を前文で説明した。以下、学習依頼システム100が該要件情報に基づいて学習データを生成する方法について、例を挙げて説明する。
一例として、例えば、所定の種類の能力を獲得したい場合、依頼情報にて指定された能力の種類、能力のレベルに対応する要件情報に、学習データの種類又は数などに関する情報が含まれることができ、学習データの種類又は数などに関する情報を特定することで、対応する種類/対応する数の最初の学習データを生成して学習データ又はその一部とすることができる。
同じ種類の能力を獲得する場合でも、期待する能力のレベルに応じて、必要な学習データの種類や数などが変わってくる。学習データの種類や数に関する情報を要件情報に含めることで、利用者は、所望の学習目標を達成するには、どのようなデータをどの程度準備すればよいかを把握する必要がなくなるため、利用者の操作を簡素化することができる。
他の一例として、例えば、異なる学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に対応する要件情報に、該学習対象及び/又は該学習対象についてデータ取得/操作を行う操作対象の構成情報が含まれることができ、これにより、該構成情報に応じて、学習対象及び/又は操作対象を構成し、異なる学習対象に対応する最初の学習データを生成して学習データ又はその一部とすることができる。
学習対象が変われば、異なる学習対象に関する学習データを取得する必要がある。学習対象に関する情報を要件情報に含めることで、利用者が学習対象に関する様々な情報を把握する必要がなく、学習対象を簡単に特定するだけで、所望の学習データを取得することができ、このため、利用者の操作を簡素化することができる。
更なる一例として、例えば、複数の状態を持つ学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に対応する要件情報に、該学習対象のそれぞれの状態に関する情報、又は、該学習対象の状態変換に関する情報が含まれることができる。学習対象の状態情報、学習対象の状態変換情報(例えば、学習対象の状態制御情報、学習対象の状態制御プログラム情報)などのうち少なくとも一方に基づいて、学習対象の状態を構成することにより、個々の状態ごとの学習対象について最初の学習データを生成して学習データ又はその一部とすることができる。
学習対象が複数の状態を持つ場合、個々の状態ごとに学習対象の学習データを取得する必要がある。学習対象の状態/状態変換に関する情報を要件情報に含めることで、利用者は、学習対象の様々な情報を把握する必要がなく、所望の学習データを取得することができるため、利用者の操作を簡素化することができる。
以下、図23を結合して、学習サービス提供システム200が受信した学習データを用いて学習結果を生成する方法について説明する。図23は、本発明の例示的な一実施形態による学習サービス提供システム200で実現される学習結果を生成する方法を示すフローチャートである。学習サービス提供システム200は、学習サービス提供システム120で生成した学習データを学習依頼システム100から受信し、該学習データおよび依頼情報に基づく学習を行って学習結果を生成し、学習結果利用装置130による対象分析のために、該学習結果を学習依頼システム100に送信する。
具体的には、図23に示すように、ステップS211において、学習依頼受付装置210は、インターネット310を介して学習依頼装置110から学習データを受信し、該方法がステップS212へ進む。ステップS212において、学習依頼受付装置210は、学習装置220へ依頼情報および学習データを通知し、該方法がステップS213へ進む。ステップS213において、学習装置220は、依頼情報および学習データを用いた学習を行って、学習結果を得、学習が完了するとき、該方法がステップS214へ進む。ステップS214において、学習依頼受付装置210は、学習結果を学習依頼システム100に送信し、該方法がステップS215へ進む。ステップS215において、学習サービス提供システム200は、学習サービスが完了したか否かを判定する。学習サービスが完了していなければ、該方法が図20におけるステップS201に戻り、学習依頼システム100から学習依頼を受信するのを待つ。学習サービスが完了していれば、該方法がステップS216へ進む。ステップS216において、学習サービス提供システム200は、今回の学習と以前の学習との同一性を判定し、判定結果を記録し、該方法が終了する。
ステップS216にて同一性判定を行うことで、一致する学習結果を取得するように確保し、誤りの発生を回避することができ、このため、学習結果の正確性を向上させることができる。
学習データを用いた学習を行う作業を前記装置で行わずに、リモートサーバ又はクラウドで行うことができ、このため、ローカルデバイスの運算負荷を軽減し、演算時間を節約することができる。
これにより、学習依頼システム100が該学習データを学習依頼受付装置210から受信した後、学習結果利用装置130は利用者が期待する能力を獲得することができる。学習結果利用装置130は、該学習データを用いて対象分析を行うことができる。
なお、上述した各方法について、説明を簡単にするために、それぞれ一連の動作の組合せとして記載しているが、しかし、本発明は説明した動作順序に制限されておらず、理由としては、一部のステップを他の順序で又は同時に行うことができることは、当業者が理解できるものである。それから、本発明で説明した実施形態はいずれも例示的なものであり、関連する動作とモジュールは本発明に必須であるとは限らないことも、当業者が理解できるものである。
以上の実施形態で説明したとおり、上記方法を、ソフトウェアに加えた必要な汎用ハードウェアプラットフォームを介して実現することができることは、当業者にとって明らかとなり、もちろん、専用のハードウェアで実現してもよいが、多くの場合、前者が好適な実施形態となる。このように理解すれば、本発明の技術案は、本質的には、従来技術に貢献する部分、或いは、該技術案の全部または一部をソフトウェア製品の形で表現することができ、該コンピュータソフトウェア製品は、端末機器(例えば、パソコン、サーバまたはネットワーク機器等であってもよい)に本発明の各実施形態に記載の方法を実行させるための若干の命令を含む記憶媒体(例えば、ROM/RAM、磁気ディスク、光ディスク)に記憶される。
本発明をより理解易くするために、以下、本発明の例示的な一実施形態による学習データを生成するための処理方法を用いる適用例について説明する。
(適用例1)
食品加工工場の生産ラインで搬送される菓子について良品/不良品を検出する中、通常、菓子が不定形状であるため、対象の形状を正確に計測する手法では、良品/不良品を分類することができない。しかし、購入者は明らかな不良品を容易に識別でき、例えば、紙片など異物が混入していれば、容易にわかる。深層学習技術の活用によって、生産ラインにおける検査装置に人に近い判定能力を備えることができる。適用例1にて、本発明に係わる学習データを生成するための処理方法を実施することで、学習データの入力を自動化又は半自動化することができ、人的作業の複雑さを大幅に低減し、処理効率を向上させるとともに、誤りの発生を低減する。
図24は、本発明の例示的な一実施形態による学習データを生成するための処理方法を用いる適用例1を示す機能ブロック図である。適用例1にて、利用者が、菓子の良否判定に関する学習データを取得することを望んでいる。さらに、該学習データを用いた学習を行って学習結果を得ることで、検査装置に菓子の良否判定能力を備えることができる。
図24に示すように、学習依頼システム700は、学習依頼部710と、学習データ生成部720と、学習データ取得部730とを備える。学習依頼部710は、利用者と対話し、利用者が入力した学習を依頼するための依頼情報と菓子の良否を判定する良否情報(教師データ)を受信する。学習依頼部710は、さらに、学習サービス提供システム800と対話し、依頼情報を学習サービス提供システム800へ送信するとともに、学習データを生成するための要件情報を学習サービス提供システム800から受信する。学習データ生成部720は、学習依頼部710で受信した要件情報に基づいて、操作装置900を、最初の学習データ(画像データ)を生成するように制御する。学習データ取得部730は、生成された最初の学習データを取得して、最初の学習データを、学習依頼部710が該最初の学習データと良否情報とを合成して学習データとして出力するために学習依頼部710に提供する。
学習サービス提供システム800は、依頼情報に基づいて、学習データを生成するための要件情報を特定するとともに、学習データを用いた学習を行って学習結果を生成することができる。操作装置900は、撮像部1010と、菓子を載せる又は固定する載置部1020を操作して、画像データを取得する。操作装置900は、アクチュエータやロボットハンドなどを含むことができる。
なお、学習依頼システム700は学習依頼システム100として、学習依頼部710は学習依頼装置110として、学習データ生成部720は学習データ生成システム120として、学習データ取得部730は学習結果利用装置130又は学習データ取得装置140として、学習サービス提供システム800は学習サービス提供システム200として、操作装置900は対象操作装置410として、それぞれ機能することができる。
撮像部1010は、1つ又は複数のカメラを含むことができる。撮像部1010が1つのカメラの場合、菓子をさまざまな方向から複数回撮影することで、菓子の様々な向きでの画像を取得することができれば、カメラを固定しつつ載置部1020を移動/回転させることで、菓子の様々な向きでの画像データを取得することもできる。撮像部1010が複数のカメラを含む場合、カメラの向きを変えずに菓子の様々な向きでの画像を取得することができれば、載置部1020の移動/回転に合わせてカメラを操作することで、菓子の様々な向きでの画像を取得することもできる。
なお、載置部1020がカメラに映らないように、例えば、菓子を小型のロボットハンドや、大きさや形状が可変な穴により固定する方法が考えられる。オプションとして、画像処理により、画像データにおける背景画像の影響を消去してもよい。
図25は、適用例1における学習データを生成する方法を示すフローチャートである。図25に示すように、ステップS301において、学習依頼部710は、それと接続する学習サービス提供システム800の提供した選択画面に基づいて、選択できる学習対象と学習目標を利用者に提示し、利用者による学習対象と学習目標に関する入力を受信して依頼情報を生成する。例えば、学習対象に関する入力は、菓子の種類などを含むことができ、学習目標に関する入力は、菓子の良品と不良品の判定などを含むことができる。学習依頼部710は、生成した依頼情報を学習サービス提供システム800に送信し、該方法がステップS302へ進む。
ステップS302において、学習サービス提供システム800は、依頼情報に基づいて、学習データを生成するための要件情報を特定する。例えば、学習サービス提供システム800は、学習データデータでサーチすることで依頼情報に対応する要件情報を検索することができれば、依頼情報を要件情報を生成するためのプログラムに提供することで要件情報を生成することもできる。例として、要件情報は、例えば、学習データの種類や数又はフォーマットに関する情報、操作装置900の操作に関する情報、目標とする到達レベルに関する情報、学習方法に関する情報、学習装置に関する情報などを含むことができる。学習依頼部710は学習サービス提供システム800から該要件情報を取得する。該方法がステップS303へ進む。
ステップS303において、学習データ生成部710は、該要件情報に基づいて、操作装置900を操作し、操作装置900がカメラを操作して画像データを取得し、該方法がステップS304へ進む。ステップS304において、学習データ生成部710は、菓子を十分な向きで撮影したか否かを判断する。Yesと判断されていれば、該方法がステップS305へ進む。Noと判断されていれば、該方法がステップS303に戻り、菓子を他の向きで継続して撮影し、画像データを取得する。
ステップS305において、学習依頼部710は、利用者の入力した菓子の良否状態に関する良否情報を受信し、該良否情報と取得した画像情報を学習データとして合成し、該方法がステップS306へ進む。ステップS306において、学習データ生成部720は、学習データ取得完了条件を満たしたか否かを判定する。学習データの取得が停止していれば、該方法がステップS307へ進む。学習データ取得完了条件を満たしていなければ、該方法がステップS303に戻る。ステップS307において、学習依頼部710は、最後に合成した学習データを外部に出力し、例えば、学習サービス提供システム800に出力する。該方法が終了する。
なお、ステップS303にて画像データを取得するとき、学習データの誤りを減少するために、撮影時の背景や照明などの設定を実際の良品/不良品検査と同じになるようにすることができる。例えば、実際の生産ラインを使うことや、実際の生産ラインを模擬したものを作ることで、画像データを取得することができる。
前文でいう良否情報とは、人が目視検査により判定した良否判定結果をいう。上記方法の場合、ステップS305にて該良否情報を入力しているが、しかし、上記方法の任意の段階で該良否情報を入力することができ、良否情報と画像データとの間の関連関係を決定できればよいことは、当業者が理解できるものである。
オプションとして、利用者が、良品と不良品のタグをつけた複数の箱を予め用意し、該複数の箱にそれぞれ良品サンプルと不良品サンプルを入れるように用意してもよい。これにより、利用者が良否情報を入力する必要がなくなる。学習データ生成部720は、操作装置900に対して、良品と不良品のタグをつけた箱におけるサンプルをそれぞれ撮影するように制御して、画像データを取得することができ、該画像データを、複数の箱のタブで表される良否情報と関連づけて学習データ取得部730に提供することができる。これにより、学習データの取得を自動化することができる。
上記方法で取得する学習データの一例を表1に挙げる。この例は例示的なものに過ぎないことは、理解されるべきであり、学習データに他の情報が含まれてもよく、例えば、利用者情報などを含むことができる。
適用例1の方法を活用して、利用者は学習データを作成するときに、カメラを手作業で操作して菓子の画像を多くの方向から撮影する必要がなくなり、カメラを手作業で3軸で姿勢を変える場合に誤操作が発生しやすいことを回避するとともに、データの取得漏れを防ぐことができる。そして、カメラの撮影を載置部1020の移動/回転に自動的に同期させることができ、データの取得効率を向上させる。さらに、学習データを作成する操作を自動化することができ、作業者の工数を大きく減らすことができる。
図26は、適用例1における学習結果を用いた良品/不良品の判定を示す図である。図26に示すように、カメラA、カメラBおよびカメラCを用いて菓子OBJを撮影して画像データを取得する。良品/不良品判定装置1100は、該画像データおよび学習結果をもとに、菓子OBJの良否を判定する。
なお、良品/不良品判定装置1100は、学習結果利用装置130として機能することができる。また、載置部1020’は載置部1020として機能することができる。図26に示す例において3つのカメラを撮像に用いるが、カメラの数が1つでもよいし、2つでもよく、或いは、3つを超えてもよい。1つのカメラを用いて撮影する場合、カメラ/載置部の姿勢を変えて菓子の画像を多くの方向から撮影することができる。生産ラインで菓子を搬送する場合、菓子はどのような向きで生産ラインに配置されているか分からないことがあるため、複数のカメラで様々な方向から撮影することが好適である。オプションとして、撮影した複数の画像が、菓子の外面全体を反映するようにできれば、菓子の外面における、例えば、ヒビ、割れなどの異常箇所を見逃すことが無いようにすることができる。
図27は、図26に示す良品/不良品の判定に用いる深層学習を示す図である。図27に示すように、深層学習ネットワーク1200は、入力層と、中間層と、出力層とを含む。カメラで撮影した画像データを入力データとして該深層学習ネットワーク1200の入力層に入力することができる。入力データとなる画像データは、1つのカメラで撮影した画像データであってもよいし、複数のカメラで撮影したものを合成した画像データ、例えば、菓子のパノラマ画像データであってもよい。例えば、画像データが1200*1200画素で、1画素あたりRGBが256ずつある場合、入力層は1200*1200*256*256*256画素であることができる。中間層が複数層であってもよく、深層学習技術によって画像データを分析する。出力層は異常のモードの数だけある。例えば、1番上の出力層が1を出力する場合は異常Aを示す、などのようにする。該深層学習ネットワーク1200が良品/不良品判定装置1100に含まれてもよい。
図28は、図26に示す良品/不良品の判定方法を示すフローチャートである。ステップS401において、カメラAを用いて載置部1020’上の菓子OBJを撮影し、取得した画像データを良品/不良品判定装置1100に提供し、該方法がステップS402へ進む。ステップS402において、良品/不良品判定装置1100は、画像データに基づいて検査して検査結果を得、該方法がステップS403へ進む。ステップS403において、異常であると検査されていれば、該方法がステップS404へ進む。ステップS404において、良品/不良品判定装置1100は異常を利用者に報知し、該方法が終了する。異常がないと検査されていなければ、該方法がステップS405へ進む。ステップS405において、菓子を全カメラで撮影したか否かを判定する。菓子を全カメラで撮影していれば、該方法が終了する。菓子を全カメラで撮影していなければ、該方法がステップS401に戻り、次のカメラで菓子を継続して撮影する。
該方法において、それぞれのカメラで撮影した画像について検査を行うため、1つでも異常を含む画像データを撮像した場合は、異常を報知するようになり、後のカメラによる撮影作業又は後のカメラで撮影した画像の検査作業が省け、操作処理を簡略化する。そして、菓子の一部のみに異常がある場合に、菓子の配置の方向がランダムであっても、上記方法による繰り返し検査によって検査漏れがないように菓子の異常を検出することができる。
(適用例2)
適用例2において、利用者は、機械(例えば、クライアント)が電子ファイルを自動的に分類する能力を獲得することを望んでいる。所定の分類規則に基づいて、各種の電子ファイルをその内容に応じて分類する能力を獲得するための学習を、サーバ側で行うことができる。以下、図29を結合して、適用例2における学習データを生成する方法について説明する。
図29は、適用例2における学習データを生成する方法を示すフローチャートである。なお、この適用例において、クライアントは学習依頼システム100として機能することができ、サーバは学習サービス提供システム200として機能することができる。
図29に示すように、ステップS501において、サーバに接続されるクライアントは、学習を依頼するための依頼情報を受信する。依頼情報は、例えば、分類したい電子ファイルに関する情報と、獲得したいこれらの電子ファイルを自動的に分類する能力に関する情報とを含むことができ、クライアントはこれらの情報をサーバに送信し、該方法がステップS502へ進む。
ステップS502において、サーバは依頼情報に基づいて、学習データを生成するための要件情報を特定する。具体的には、サンプルデータとその分類名を登録する方法を説明する情報が要件情報に含まれてもよく、サンプルデータは、例えば、教師データとテスト用データを含むことができる。該要件情報がクライアントに提供され、該方法がステップS503へ進む。ステップS503において、利用者は、要件情報に案内されて、分類済みの電子ファイルの分類情報と他の情報を含むデータであるサンプルデータを登録し、該方法がステップS504へ進む。ステップS504において、要件情報に含まれる完了情報に案内されて、利用者はサンプルデータを登録することを終了する。クライアントは、要件情報とサンプルデータに基づいて、学習データを生成し、サーバに送信して学習とテストを自動的に行わせ、該方法が終了する。
上記方法において、学習データ作成マニュアルに、予めサンプルデータとその分類名を登録する方法を説明する情報を記録することができ、利用者は、該学習データ作成マニュアルにそって、サンプルデータの登録を行うことができる。この場合、ステップS503をステップS502の後に実行しなくてもよく、例えば、ステップS502の前に実行するか、ステップS502と同期して実行してもよい。
該方法によれば、利用者は、どのような学習データをどの程度準備してサンプルデータの登録を行わればよいかを把握することができ、利用者の操作を簡素化し、利用者の負担を軽減することができる。
該方法によれば、利用者は、学習データが充分であるか否かを判定する必要がないとともに、学習データが不充分な場合でも学習の追加を必要としないため、学習データ不足によるAIの学習が終わらず、クライアントリソース及びサーバリソースが無駄に占有されることを回避することができ、演算リソースを節約することができる。また、クライアントとサーバとの間の通信負荷を軽減することもできる。
オプションとして、ステップS502にて、クライアントでドラッグアンドドロップなどのシンプルな操作で各分類の電子ファイルを登録するためのプログラムを、要件情報に含めてもよく、これにより、利用者は登録作業の一部を自動化でき、利用者の操作をさらに簡素化することができる。
オプションとして、ステップS502にて、分類済みの教師データを登録したデータベースの検索情報を含むプログラムを、要件情報に含めてもよく、これにより、登録作業の大半又は全てを自動化でき、利用者の操作をさらに簡素化することができる。この場合、ステップS503を省略してもよい。
(適用例3)
適用例3において、利用者は、機械(例えば、生産ラインにおける検査装置)が農産物を自動的にランク分けする能力を獲得することを望んでいる。所定のランク分け規則に基づいて、各種の農産物をその具体的な状況に応じてランク付けする能力を獲得するための学習を、サーバ側で行うことができる。以下、図30を結合して、適用例3における学習データを生成する方法について説明する。
図30は、適用例3における学習データを生成する方法を示すフローチャートである。図30に示すように、ステップS601において、サーバに接続されるクライアントは、学習を依頼するための依頼情報を受信する。依頼情報は、例えば、ランク付けしたい農産物に関する情報と、獲得したいこれらの農産物を自動的にランク付けする能力に関する情報とを含むことができ、検査装置はこれらの情報をサーバに送信し、該方法がステップS602へ進む。
ステップS602において、サーバは依頼情報に基づいて、学習データを生成するための要件情報を特定する。例えば、要件情報は以下のものを含むことができる。
● データ入力装置の情報
データ入力装置の種類(例えば、カメラ、センサ、自動計量器など)
データ入力装置の機種(例えば、メーカ名、型式、シリアル番号など)
データ入力装置の制御方法(例えば、制御プログラム、制御パラメータなど)
入力データの種類(例えば、画像、重量など)
入力データの種類(例えば、画像の解像度やデプス情報、重量の単位や精度情報など)
● 学習対象の情報(例えば、農産物の収穫日や収穫場所、収穫作業者など)
該要件情報が検査装置に提供され、該方法がステップS603へ進む。ステップS603において、利用者は、要件情報に案内されて、ランク付け済みの農産物のランク付け情報と他の情報を含むデータである教師データを検査装置に入力し、該方法がステップS604へ進む。ステップS604において、要件情報に含まれる完了情報に案内されて、利用者は教師データを入力することを終了する。検査装置は、要件情報と教師データに基づいて、学習データを生成し、サーバに送信して学習とテストを自動的に行わせ、該方法が終了する。
上記方法において、学習データ作成マニュアルに、予め教師データを入力する方法を説明する情報を記録することができ、利用者は、該学習データ作成マニュアルにそって、サンプルデータの登録を行うことができる。この場合、利用者は、農産物の自動的なランク付けに関する学習方法の内容を把握してなくても、学習データを用意することができる。そして、この場合、ステップS603をステップS602の後に実行しなくてもよく、例えば、ステップS602の前に実行するか、ステップS602と同期して実行してもよい。
また、上記学習対象の情報を、サーバの自動学習のために、学習データの付帯情報として学習データベースに記録してもよい。
上記方法によれば、カメラと自動計量器のような制御プログラムなどの情報を、要件情報に含めることができ、教師データの入力作業を自動化することができる。
本発明は、上述した適用例1乃至適用例3の応用分野以外にも、幅広い分野に応用することができる。例えば、深層学習技術を活用する多様な分野において、本発明は、人に匹敵する分類能力や人の識別能力を超える分類を実現するようなケースに対応できる。
例えば、自動車の操作部品や自動車パネルを塗装する生産ラインで、塗装の塗りむらの不良を検出する場合、生産ラインにおける検査装置は分類能力が求められる。製品の塗りむらの許容範囲は車両の購入者の判断によるため、人の感性に近い分類を行う必要がある。特に塗装面に細かい凹凸がある場合や、塗料が単色ではなく部分的なグラデーションを持つ場合には、単純な方法では分類が困難である。
本発明による学習データを生成するための処理方法を用いて、例えば、塗装装置、塗装対象、塗装環境パラメータ、検査装置、検査プログラム、作業者などに関する情報を、学習データを生成するための要件情報に含めることができ、学習データの生成作業を自動化又は半自動化することができ、これにより、人の作業の複雑さを大幅に低減し、処理効率を向上させ、誤りの発生を低減する。
上述したように、本発明は、所望の高度の能力(分類する能力、予測する能力、意思決定する能力など)を獲得することが求められる様々な分野に応用できる。そして、本発明を応用して能力を獲得するために用いる学習技術は、深層学習技術に限らず、任意の機械学習技術を利用できる、以下は、本発明が応用できる様々な分野の例である。これらの例は例示的なものに過ぎず、本発明が応用される分野を限定していない。
● 食品薬品、機械部品、化学製品などのさまざまな工業分野に応用することができる。
● 漁業分野や農業分野、林業分野などで、出荷検査や等級分類に応用することができる。
● サービス業に応用することができる。
● 医療や健康分野に応用することができる。
● 組込分野の製品にAI技術を適用するときに応用することができる。
● 社会システムに応用することができる。
● IT技術を活用したシステムに応用することができる。
● ビッグデータの分析で、データの効果的な取得に応用することができる
● 幅広い制御装置における制御能力の獲得で応用することができる
● その他、機械学習を必要とする任意の分野に応用することができる。
本発明の上記実施形態で説明した技術的内容を他の方式で実現できることは、理解されるべきである。上述した各システムや各装置、各部分は、あくまでも概要的なものである。例えば、システムや装置、部分の分類は、論理的な機能によって分類したものに過ぎず、実現時に他の分類方式を用いてもよい。例えば、1つ又は複数のシステムや装置、部分を組合せたり、他のシステムや装置、部分に集積したりすることができ、或いは、いくつかの特徴を省略するか実行しなくてもよい。また、本発明の図面で示すシステムや装置、部分の間での接続は、間接接続又は直接接続によって実現されることができ、電気に又は他の形で実現されることができる。
上記実施形態にて分離した部材として説明したシステムや装置、部分は、物理的に分離したものであってもよいし、物理的に分離したものでなくてもよく、システムや装置、部分として説明した部材は、物理的ユニットであってもよいし、物理的ユニットでなくてもよく、つまり、同一場所に配置されてもよいし、複数のネットワークユニットに分布されてもよい。実際のニーズに応じて、その一部または全てのユニットにより本実施形態の目的を達成することができる。
また、本発明の各実施形態における各機能ユニットは、1つの処理ユニットに集積されてもよいし、それぞれの機能ユニットごとに物理的に存在してもよく、或いは、複数の機能ユニットが1つの処理ユニットに集積されてもよい。上記処理ユニットは、ハードウェアの形で実現されてもよいし、ソフトウェアユニットの形で実現されてもよい。
上記処理ユニットは、ソフトウェアユニットの形で実現されながら独立した製品として販売または使用される場合、コンピュータ読み取り可能な記憶媒体に記憶されることができる。このように理解すれば、本発明の技術案は、本質的には、従来技術に貢献する部分、或いは、該技術案の全部または一部をソフトウェア製品の形で表現することができ、該コンピュータソフトウェア製品は、コンピュータ機器(パソコン、サーバまたはネットワーク機器等であってもよい)に本発明の各実施形態に記載の方法の全てまたは一部を実行させるための若干の命令を含む記憶媒体に記憶される。上記記憶媒体は、Uディスク、リードオンリーメモリ(ROM、Read−Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、ポータブルハードディスク、磁気ディスクまたは光ディスク等、様々なプログラムのコードを記憶可能な媒体を含む。
以上、本発明の好適な実施形態のみについて説明したが、当業者であれば、本発明の原則から逸脱しない前提において若干の手直しや増減が可能であることは指摘されるべきである。これら手直しや増減も、本発明の保護範囲内に含まれるべきである。
尚、本技術は、以下のような構成も取ることができる。
(1)
少なくとも1つのハードウェアプロセッサにより、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、
少なくとも1つのハードウェアプロセッサにより、前記要件情報を、前記学習データを生成する装置に送信するステップと、
を含むことを特徴とする学習データを生成するための処理方法。
(2)
少なくとも1つのハードウェアプロセッサにより、学習を依頼するための依頼情報を受信するステップと、
前記少なくとも1つのハードウェアプロセッサにより、前記依頼情報を、前記学習データを生成するための要件情報を提供する装置に送信するステップと、
前記少なくとも1つのハードウェアプロセッサにより、前記装置から前記要件情報を受信するステップと、
前記少なくとも1つのハードウェアプロセッサにより、前記要件情報に基づいて、前記学習データを生成するステップと、
を含むことを特徴とする学習データを生成するための方法。
(3)
少なくとも1つのハードウェアプロセッサを備えた、学習データを生成するための処理システムであって、
前記ハードウェアプロセッサは、
学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、
前記要件情報を、前記学習データを生成する装置に送信する
ことを特徴とする処理システム。
(4)
少なくとも1つのハードウェアプロセッサを備えた、学習データを生成するためのシステムであって、
前記少なくとも1つのハードウェアプロセッサは、
学習を依頼するための依頼情報を受信し、
前記依頼情報を、前記学習データを生成するための要件情報を提供する装置に送信し、
前記装置から前記要件情報を受信し、
前記要件情報に基づいて、前記学習データを生成する
ことを特徴とするシステム。
なお、本発明で用いる「/」は、「および」、「または」、或いは複数の選択肢のうちの任意の1つまたは複数を意味する。用語である「含む」、「有する」及びそれらの如何なる変形は、排他的にならずに含まれたものをカバーすることがその意図であり、例えば、一連のステップ又はユニットを含めたプロセス、方法、システム、装置又は部分は、明確に示したステップ又はユニットに限定される必要がなく、明確に示していなかったり、これらのプロセス、方法、システム、装置又は部分に固有であったりする他のステップ又はユニットを含むことができる。
以下、図面を結合しながら本発明の実施形態を説明する。以下の実施形態は、様々な学習目標に対してそれぞれ能力を獲得するシステムを例として説明する。利用者が毎回獲得したい能力が異なるため、利用者のニーズに応じて異なる学習データを用意する必要がある。
本発明の実施形態によれば、例えば、学習する機械に対して獲得する能力を指定したときに、指定された能力を獲得するために必要な学習データに関する要件情報を特定し、特定された要件情報に応じて、学習対象および操作対象について繰り返して構成設定を行うことにより、最初の学習データを取得でき、さらに、最初の学習データを学習データとするか、最初の学習データを教師データ等と関連づけて記憶して学習データとすることで、学習データを取得することができる。
図1は、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200の構造を示す図である。図1に示すように、本発明の例示的な一実施形態による学習依頼システム100は、学習依頼装置110と、学習データ生成システム120と、学習結果利用装置130と、学習データ取得装置140と、を備えることができる。学習依頼装置110は、学習依頼システム100における利用者との間のインターフェースとして用いられることができ、利用者からの学習を依頼するための依頼情報を受信する。そして、学習依頼装置110は、学習依頼システム100における学習サービス提供システム200との間のインターフェースとしても用いられることができ、受信された依頼情報を学習サービス提供システム200に送信するとともに、学習サービス提供システム200から、該依頼情報に基づいて生成された学習データを生成するための要件情報を受信する。学習データ生成システム120は、該要件情報に基づいて学習データを生成する。学習結果利用装置130は、学習データを用いた学習が行われた学習結果を利用して、対象について操作/分析/検査等を行う。学習データ取得装置140は、学習データを取得して記憶する。
本発明でいう「対象」は、本発明の目的を達成するために注目される多様な対象を含むことができ、選択可能な一実施形態において、例えば、学習データに基づく学習が行われる対象である学習対象と、該学習対象について操作/設定等を行う操作対象と、を含んでもよい。対象の一例として、例えば、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、対象は、学習対象としての菓子と、操作対象としての菓子を撮影するカメラとを含むことができる。また、対象の他の一例として、例えば、コンピュータシステムにおけるファイルの自動分類を行う場合、対象は、学習対象としてのファイルと、操作対象としてのファイルを判定して特徴を抽出するプログラムとを含むことができる。
学習サービス提供システム200は、学習依頼受付装置210と、学習装置220と、学習データベース装置230と、を備えることができる。学習依頼受付装置210は、学習サービス提供システム200における学習依頼システム100との間のインターフェースとして用いられ、学習依頼装置110から利用者の依頼情報を受信するとともに、該依頼情報に基づいて生成された学習データを生成するための要件情報を学習依頼装置110へ送信する。学習装置220は、学習データを用いた学習を行い、学習して得られた学習結果を学習依頼受付装置210に送信する。学習データベース装置230は、学習データ、利用者が学習を依頼する依頼情報、学習結果の利用履歴、学習データを生成するための要件情報、および学習プログラム等を記憶する。以下、各装置のハードウェア構造および機能について説明する。
一例として、学習依頼システム100と学習サービス提供システム200とは、インターネット310を用いて通信を行うが、本発明はこれに限定されない。学習依頼システム100と学習サービス提供システム200とは、様々な通信方式、例えば、イントラネット、ローカルエリアネットワーク、移動通信網、およびそれらの組合せを介して情報の送信/受信を行うことができる。これらは同じ装置内にあってもよい。
図2は、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200との間の対話を示す図である。図2を参照して、学習依頼装置110は、学習依頼者から学習を依頼するための依頼情報を受信し、該依頼情報をインターネット310を経由して学習依頼受付装置210に送信する。学習依頼受付装置210は、該依頼情報を受信し、受信した依頼情報を学習装置に通知する。そして、学習依頼受付装置210は、該依頼情報に基づいて特定された学習データを生成するための要件情報を学習依頼装置110へ送信する。学習依頼装置110は、受信した学習データを生成するための要件情報を、学習データ生成システム120に送信する。学習データ生成システム120は、該学習データを生成するための要件情報に基づいて、学習データを生成する。該学習データがインターネット310を介して学習装置220に送信される。学習装置220は、該学習データを受信し、この前に受信した学習を依頼するための依頼情報と該学習データに基づいて学習を行い、学習結果を生成し、該学習結果は、複製可能なデータに変換されデータ化されることができる。データ化された学習結果は、インターネット310を介して学習依頼装置110に送られる。学習依頼装置110は、該データ化された学習結果を学習結果利用装置120に送信する。学習結果利用装置120が、学習結果を利用して新しい能力を獲得し、該能力を発揮することで処理対象について対応する処理を行う。
本発明による該例示的な実施形態において、学習サービス提供システム200は、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、そして、該要件情報を学習依頼システム100における学習データ生成システム120に送信することができる。
該例示的な実施形態によれば、要件情報を特定することで、学習データ生成を自動化/半自動化することができる。学習を依頼する利用者は、学習データの取得に必要な様々なデータを手作業で入力する必要がないとともに、学習データを取得する操作装置/操作プログラムを手作業で操作/設定する必要もないため、操作を簡素化し、誤りの発生を回避することができる。
さらに、学習サービス提供システム200は、リモートサーバ、クラウドで実現されてもよく、ローカルデバイスの演算負荷を軽減し、演算リソースの節約を図り、演算時間を減らすことができる。
本発明でいう「依頼情報」は、学習を依頼するための様々な情報を含むことができ、選択可能な一実施形態において、例えば、学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる該学習対象に対する処理能力を示す学習目標の情報と、を含んでもよい。一例として、例えば、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、学習対象が菓子を含んでもよく、学習目標が、生産ラインにおける検査装置に菓子の良品/不良品を判定する能力を獲得させることであってもよい。もちろん、依頼情報に、他に様々な情報が含まれてもよく、本発明の目的を達成できればよい。例えば、依頼情報は、利用者に関する情報等を含んでもよい。
依頼情報の内容を設定することで、利用者は、機械学習方法を心得ずに、提供されるべき内容を明確に理解することができ、システムの使い勝手を向上させ、利用者の負担を軽減することができる。
図3は、本発明の例示的な一実施形態による学習データ生成システム120の機能モジュールと学習依頼システム100における他の構成要素との間の対話を示す図である。図3において、破線ボックスで示される部分は、学習データ生成システム120を表す。学習データ生成システム120は、学習データを生成するための要件情報に基づいて学習データを生成する。図3に示すように、学習データ生成システム120は、学習データ生成管理装置121と、学習データ記憶部122と、対象情報入力部123と、対象操作部124と、を含む。
学習データ生成管理装置121は、学習データを生成するための要件情報に基づいて、学習データ記憶部122、対象情報入力部123、及び対象操作部124の操作を管理する。学習データ記憶部122は、該要件情報に基づいて生成された学習データを記憶する。対象情報入力部123は、学習データ生成管理装置121の指令に基づいて、対応する対象情報を学習データ生成管理装置121に提供する。対象操作部124は、学習データ生成管理装置121の指令に基づいて、対象を操作するための指令を外部にある対象操作装置410に提供する。図3には、学習データ生成システム120はローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、オプションとして、学習データ生成システム120は他に様々な通信方式、例えば、インターネット、イントラネット、移動通信網、およびそれらの組合せを介して情報の送信/受信を行ってもよい。
図3に示すように、学習データ生成システム120は、外部から学習データを生成するための要件情報を受信し、学習データ生成管理装置121に該要件情報が提供される。学習データ生成管理装置121は、該要件情報に基づいて、対象を操作するための指令を生成し、該指令を対象操作部124に送信する。対象操作部124は、該指令を適切なデータフォーマットで無線ローカルエリアネットワークを介して対象操作装置410に送信する。対象操作装置410は、対象を操作して対象に学習データを生成するための様々な動作を行わせ、対象の様々な状態を実現する。学習データ取得装置140は、それぞれの状態においてデータ取得/操作/分析を行うことで、学習データを取得する。該学習データがローカルエリアネットワーク320を介して学習データ生成システム120に送信されながら、学習データ記憶部122に記憶される。対象情報は、学習データと関連づけて記憶されたり、学習データの一部とされたりすることができる。
図3に示すように、学習データ生成システム120は、外部との通信を行うインターネットとして用いられる入出力部125をさらに備えてもよい。例として、入出力部125は、イントラネット、有線/無線ローカルエリアネットワーク、移動通信網、およびそれらの組合せのような、様々な通信方式により外部との通信を行うことができる。例えば、図3には、入出力部125が無線ローカルエリアネットワークを介して対象操作装置410との通信を行う例が示されている。
なお、学習データ生成管理装置121および学習データ記憶部122は、後述のPC600を用いて実施されてもよいし、後述のPC600に類似したハードウェア構造及び構成を有する汎用PCを用いて実施されてもよい。例として、学習データ生成管理装置121、学習データ記憶部122は、それぞれ後述のPC600におけるCPU610、記憶部640を用いて実施されることができる。
オプションとして、学習データ生成管理装置121および学習データ記憶部122は、学習結果利用装置130又は学習データ取得装置140と一体として集積されるか、学習結果利用装置130又は学習データ取得装置140に集積されてもよい。
図3には、学習データ取得装置140により対象から学習データを取得することが示されているが、しかし、代替的に、学習結果利用装置130により対象から学習データを取得してもよい。学習結果利用装置130は、学習結果を利用するときに必要となる対象に関する情報を取得する機能を備えているので、学習データの入力にも用いることができる。このため、オプションとして、学習依頼システム100は、学習データ取得装置140と学習結果利用装置130とを双方とも備えることができれば、学習データ取得装置140を備えずに学習結果利用装置130を備えることもできる。学習結果利用装置130は、学習結果を利用するときに必要となる対象に関する情報を取得する機能以外にも、学習結果を利用して対象について操作/分析/検査等を行う機能を備えている。それゆえ、学習依頼システム100は、学習結果を利用して対象について操作/分析/検査等を行う機能を備える必要がない場合、学習結果利用装置130を備えずに学習データ取得装置140を備えるように構成されてもよい。
図4は、本発明の例示的な一実施形態による学習データ生成システム120の操作例を示す図である。図4に示すように、学習データ生成管理装置121は、学習データを生成するための要件情報を受信し、該要件情報に基づいて、対象情報の入力を要求する指令を生成して対象情報入力部123に送信する。対象情報入力部123は、受け取った該指令に基づいて、対応する対象情報を検索又は生成し、検索した又は生成した対象情報を学習データ生成管理装置121に送信する。学習データ生成管理装置121は、学習データを生成するための要件情報と対象情報に基づいて、対象を操作するための指令を対象操作部124へ発信する。対象操作部は、該指令を受け取った後、学習データ生成システム120の外部にある対象操作装置410と通信する。これにより、対象操作装置410は対象を操作する。例えば、学習対象が複数の状態を持つ場合には、学習データの取得に必要な学習対象の各状態を取得することができる。それぞれの状態下の対象について、学習データ取得装置140(未図示)又は学習結果利用装置130(未図示)が対象の操作/分析/検査等を行うことにより、最初の学習データを生成する。最初の学習データは、学習データ記憶部122(未図示)に記憶されることができる。
ここでいう最初の学習データは、単独で学習データとされてもよいし、学習データの一部とされてもよい。最初の学習データは、単独で学習データとして用いられる場合、学習データ記憶部122に、教師データや後の学習に用いる情報等と関連づけて記憶されることができれば、最初の学習データ、および、最初の学習データと教師データや後続の学習に用いる情報等との関連関係のみが学習データ記憶部122に記憶されることもできる。学習を行うときに、記憶した学習データを、学習装置220が利用可能な形態に変換して学習装置220に出力することができる。
学習を行うための学習データには、少なくとも学習時にニューラルネットワークに入力されるデータが含まれる。学習データは、最初の学習データの他にも、教師データを含むことができる。
教師データは、学習対象に対する処理能力を反映するデータであることができ、学習対象に対する処理能力(学習目標)に対応している。教師が必要となる学習を行う場合、学習に用いるそれぞれのデータに対して教師データが必要となる。例えば、食品加工工場の生産ラインで菓子の良品/不良品を検出する場合、例えば、カメラで撮影した画像を用いて、製品の良品/不良品を識別するような学習を行う。カメラで撮影した多数の画像データ(例えば、10万枚の画像)が学習データの一部を構成する一方、各画像データが良品であるか、不良品であるかという教師情報が必要になる。さらに、良品がランクを持つ場合には、例えば、良品がランクA、ランクB、ランクC等を含む場合、良品に対応する各画像データがどのランクであるかという教師情報も必要になる。教師データを、学習データの一部としてもよいし、学習データと独立して学習データと関連づけて記憶してもよい。
生成した前記データを学習データの一部とするか、生成した前記データおよびそれと関連づけて記憶した教師データを学習データの一部とすることで、学習データを利用して学習を行う装置の入力を簡素化することができる。そして、関連づけて記憶したこれらのデータを後の類似した学習に用いることができ、システムの演算負荷を軽減する。
学習データは、最初の学習データと教師データの他にも、学習に用いる他のデータを含むことができる。例えば、学習依頼システム100(さらに、それにおける学習データ生成システム120)又は学習サービス提供システム200(さらに、それにおける学習装置220)が活用できる情報、および学習依頼者、学習サービス提供者に関する情報が、それぞれ学習データに含まれてもよい。以下、学習データが含みうるデータについて例を挙げて説明する。
● 学習依頼に関する情報:例えば、依頼者に関する情報、獲得する能力の内容、学習対象、入力データの内容(データの種別、データの属性、使用するセンサの種類など)、学習の目標レベル
学習依頼に関する情報を学習データに含めることで、学習時に、他のデータを参照しなくても、学習依頼の内容が確認できるため、学習演算の独立性を向上させ、システム構成を簡略化する。
● 学習データの識別情報
学習データの識別情報を学習データに含めることで、利用する学習データを他の学習データと識別できるようになる。
● 学習データの分類情報:さまざまな学習に応じて設定された分類情報を含むことができる
学習データの分類情報を学習データに含めることで、該学習データがどの学習に用いるデータであるか判定できるようになる。
● 学習データの属性情報:作成日、データの名称、サイズ、ファイル形式など
学習データの属性情報を学習データに含めることで、学習時に学習データの属性をチェックしてから学習を行い、誤りの発生を回避することができる。
● 学習データの説明情報:例えば、画像データのコメントや、センサのログ情報など
学習データの説明情報を学習データに含めることで、学習の教師データや、テキストベースの学習に活用できる。
● 学習データの権利情報:所有者、著作権情報など
学習データの権利情報を学習データに含めることで、学習時に権利関係をチェックしてから学習を行い、海賊版などの発生を回避することができる。
● 学習データの価値情報:売買対価、価値のレベルに関する情報、期待者情報
学習データの価値情報を学習データに含めることで、学習データの価値を評価することができる。
● 学習データ生成装置に関する情報:例えば、学習データ生成装置の識別情報、学習データ生成装置の属性情報(メーカ名、型式、シリアル番号など)、学習データ生成方法に関する情報(種類、属性など)、学習データ生成装置の性能情報(測定精度など)、学習データ生成装置の設定情報(動作モードなど)
学習データ生成装置に関する情報を学習データに含めることで、学習データ生成装置が学習データを生成した時の詳細な情報を確認し、誤りの発生を回避することができる。
制御対象に関する情報:例えば、制御対象の識別情報、制御対象の属性情報(メーカ名、型式、シリアル番号など)、制御対象の性能情報(機能、能力のレベルなど)、制御対象の設定情報(動作モードなど)
制御対象に関する情報を学習データに含めることで、学習時に制御対象を確認し、誤りの発生を回避することができる。
以上は、あくもでも一例であり、学習データの内容を限定するものではない。
図5は、本発明の例示的な一実施形態による学習データ生成管理装置121の機能モジュールを示すブロック図である。図5に示すように、学習データ生成管理装置121は、学習データ生成管理部1211と、学習データ取得装置設定部1212と、対象操作装置設定部1213と、学習データ取得要件情報記憶部1214と、通信部1215と、を含むことができる。学習データ生成管理部1211は、学習データ取得装置設定部1212、対象操作装置設定部1213、学習データ取得要件情報記憶部1214、および通信部1215の操作を統合制御する。学習データ取得装置設定部1212は、学習データ取得装置140について操作設定を行う。対象操作装置設定部1213は、対象操作装置410について操作設定を行う。学習データ取得要件情報記憶部1214は、受信した学習データを生成するための要件情報を記憶する。通信部1215は、外部との通信を行う。
以下、本発明の例示的な一実施形態による学習依頼システム100における学習データ生成システム120以外の構成要素のハードウェア構造の例および機能モジュールの例について説明する。それから、本発明の例示的な一実施形態による学習サービス提供システム200のハードウェア構造の例および各構成要素の機能モジュールの例について説明する。
まず、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200のハードウェア構造の一部を実現するPCの例を説明する。
図6は、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200のハードウェア構造の一部を実現するPC(Personnel Computer、パーソナルコンピュータ)600の例を示す図である。図6に示すように、このPC600は、統合制御を行うCPU610と、システムソフトウェアを記憶するリードオンリーメモリ(Read Only Memory、ROM)620と、書き込んだ/読み出したデータを記憶するランダムアクセスメモリ(Random Access Memory、RAM)630と、様々なプログラム及びデータを記憶する記憶部640と、入出力用インターフェースである入出力部650と、通信機能を実現する通信部660と、を含むことができる。代替的に、CPU610をマイクロプロセッサMCU又はフィールドプログラマブルゲートアレイFPGAのようなプロセッサて取って代わってもよい。入出力部650は、入力/出力インターフェース(I/Oインターフェース)、ユニバーサルシリアルバス(USB)インターフェース(I/Oインターフェースのポートのうちの1つのポートとして含まれてもよい)、ネットワークインターフェースなど、様々なインターフェースを含むことができる。図6に示す構造は概念的なものに過ぎず、学習依頼システム100および学習サービス提供システム200のハードウェア構造を限定していないことは、当業者が理解できるものである。例えば、PC600は、図6に示すものよりも多かったり少なかったりの構成要素を含むか、図6に示すものと異なる構成を有することもできる。
注目されるべき点として、上記CPU610は、1つ又は複数のプロセッサを含むことができ、該1つ又は複数のプロセッサ及び/又は他のデータ処理回路を本発明で通常、「データ処理回路」と呼ぶ。該データ処理回路は、一部又は全てがソフトウェア、ハードウェア、ファームウェア又は他の任意の組合せで表現されることができる。また、データ処理回路は、個別に独立した処理モジュールであってもよいし、全て又は一部がPC600における他の構成要素のいずれか1つに組み合せられてもよい。
記憶部640は、アプリケーションソフトウェアのソフトウェアプログラム及びモジュールを記憶することができ、本発明の後文で説明する学習データを生成するための方法に対応するプログラムコマンド/データ記憶装置のように、CPU610は、記憶部640に記憶されたソフトウェアプログラム及びモジュールを実行することにより、上記学習データを生成する方法を実現する。記憶部640は、不揮発性メモリ、例えば、1つ又は複数の磁性記憶装置、フラッシュメモリ、又は他の不揮発性ソリッドステートメモリを含むことができる。一部の例において、記憶部640は、CPU610に対して遠距離になって配置されたメモリをさらに含んでもよく、これらのリモートメモリは、ネットワークを介してPC600に接続されることができる。上記ネットワークの例として、インターネット、イントラネット、ローカルエリアネットワーク、移動通信網およびそれらの組合せを含むが、これには限定されない。
通信部660は、ネットワークを経由してデータを受信又は送信する。上記ネットワークの具体例は、PC600の通信事業者が提供する無線ネットワークを含むことができる。一例において、通信部660は、基地局を介して他のネットワークに繋がることでインターネットと通信できるネットワークインターフェースコントローラ(Network Interface Controller、NIC)を含む。また、一例において、通信部660は、無線によりインターネットと通信する無線周波数(Radio Frequency、RF)モジュールであってもよい。
図7は、本発明の例示的な一実施形態による学習依頼システム100に含まれる学習依頼装置110のハードウェア構造の例を示す図である。図7に示すように、学習依頼装置110は、PC1101と利用者入力部1102とを含むことができる。PC1101は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。利用者入力部1102は、モニタ1104と、キーボード1105と、マウス1106とを含むことができる。代替的に又は追加的に、利用者入力部1102は、カメラ、スキャナ等の入力装置をさらに含んでもよい。
学習依頼装置110は、学習依頼システム100と利用者との間のインターフェースとして、および学習依頼システム100と学習サービス提供システム200との間のインターフェースとしての機能を備えている。図7に示す学習依頼装置110において、利用者は、利用者入力部1102を操作することで学習を依頼するための依頼情報をPC1101に入力する。PC1101は、記憶したソフトウェアプログラムに基づいて該依頼情報を処理して、学習依頼受付装置210が理解可能なフォーマットのデータを生成し、該データをインターネット310を介して学習依頼受付装置210に送信する。PC1101は、さらに、インターネット310を介して学習依頼受付装置210から学習データを生成するための要件情報を受信する。
図8は、本発明の例示的な一実施形態による学習結果利用装置のハードウェア構造の例を示す図である。図8の(a)に示すように、学習結果利用装置130は、PC1301と、利用者入力部1302と、学習データ入力部1303とを含むことができる。PC1301は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。利用者入力部1302は、モニタ1304、キーボード1305及び/又はマウス1306を含むことができる。代替的に又は追加的に、利用者入力部1302は、カメラ又はスキャナ等の入力装置をさらに含んでもよい。
学習データ入力部1303は、ニューラルネットワークの入力データとなってもよい、対象に関する対象情報を取得する。例として、学習データ入力部1303は、カメラ、センサ、ネットワーク端末、自走型ロボット等の装置であってもよいし、他に対象情報を入力できる任意の入力装置であってもよい。図8の(a)に示すように、PC1301と学習データ入力部1303は、互いに独立した2つの構成要素であり、両者は有線/無線により通信を行い、また、PC1301は汎用PCであってもよい。代替的に、PC1301と学習データ入力部1303を組込型装置として一体化した構成にしてもよい。
図8の(b)に学習結果利用装置のハードウェア構造の他の一例を示す。図8の(a)とは異なり、図8の(b)において、学習結果利用装置130’は、PC1301’と、学習データ入力部1303’とを含むことができる。組込型PCであるPC1301’は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。そして、PC1301’は、一体化したモニタ、キーボード、マウス、カメラ又はスキャナ等の入力装置をさらに含む。学習データ入力部1303’は、学習データ入力部1303の機能及び構成と同様な、又は類似した機能及び構成を有してもよい。
なお、学習結果利用装置130,130’に類似して、学習データ取得装置140も、対象について学習データを取得する機能を備えている。このため、学習データ取得装置140は、学習結果利用装置130と同様な、又は類似したハードウェア構造を有してもよい。つまり、例として、学習データ取得装置140は、図8の(a)と(b)に示すようなハードウェア構造を有することができる。
図9は、本発明の例示的な一実施形態による学習データ取得装置のハードウェア構造の例を示す図である。図9の(a)に示すように、学習データ取得装置140は、PC1401と、学習データ入力部1403とを含むことができる。PC1401は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。PC1401はローカルエリアネットワーク320を介して外部との通信を行う。学習データ入力部1403は、ニューラルネットワークの入力データとなってもよい、対象に関する対象情報を取得する。学習データ入力部1403は、学習データ入力部1303の機能及び構成と同様な、又は類似した機能及び構成を有してもよい。
図9の(b)に学習データ取得装置のハードウェア構造の他の一例を示す。図9の(a)とは異なり、図9の(b)において、学習データ取得装置140’は、PC1401’と、学習データ入力部1403’とを含むことができる。組込型PCであるPC1401’は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。そして、PC1401’は、一体化したモニタ、キーボード、マウス、カメラ又はスキャナ等の入力装置をさらに含む。学習データ入力部1403’は、学習データ入力部1403の機能及び構成と同様な、又は類似した機能及び構成を有してもよい。
図9の(a)と(b)において、PC1401、PC1401’はそれぞれローカルエリアネットワーク320を介して外部との通信を行うが、本発明はこれに限定されず、PC1401、PC1401’はそれぞれ、インターネット、イントラネット、移動通信網、又はそれらの組合せ等を介して外部との通信を行ってもよい。
図10は、本発明の例示的な一実施形態による学習サービス提供システムのハードウェア構造の例を示す図である。図10の(a)に学習サービス提供システムのハードウェア構造の簡単な構成の一例を示す。図10の(a)に示すように、学習サービス提供システム200は、PC2001を含むことができる。PC2001は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、PC600の構成と異なる構成を有してもよい。PC2001はインターネット310を介して外部との通信を行う。
図10の(b)に、学習サービス提供システムのハードウェア構造についてデータセンターに基づくものの一例を示す。図10の(b)に示すように、学習サービス提供システム200’は、複数のサーバラック2002を含むことができる。該複数のサーバラック2002が分散型サーバシステムを構成し、学習サービス提供システム200’の機能を実現する。学習サービス提供システム200’のソフトウェアプログラム及びデータは、単一のサーバラック2002に配置されず、複数のサーバラック2002に分散されることができ、それぞれのサーバラック2002はローカルエリアネットワーク320を介して外部との通信を行うことができる。また、外部ネットワーク接続装置340に接続されることで、それぞれのサーバラック2002はインターネット310を介して外部との通信を行ってもよい。既存のサーバラックを含む分散型サーバシステムを、学習サービス提供システム200’を実現するハードウェア構造として用いることができる。学習サービス提供システム200’を分散型サーバシステムで実現する場合、深層学習を行うとき、処理内容に同じような計算の繰り返しが多いため、プログラムを複数のサーバラック2002で実行し演算することで、処理時間を短縮し、処理の複雑さを簡易化することができる。
図10の(c)に、学習サービス提供システムのハードウェア構造についてデータセンターに基づくものの他の一例を示す。図10の(c)に示すように、学習サービス提供システム200”は、複数のブレードサーバ2003を含むことができる。該複数のブレードサーバ2003が分散型サーバシステムを構成し、学習サービス提供システム200”の機能を実現する。学習サービス提供システム200”のソフトウェアプログラム及びデータは、単一のブレードサーバ2003に配置されず、複数のブレードサーバ2003に分散されることができ、学習サービス提供システム200”の各構成要素の機能を任意の異なるブレードサーバ2003により実現することができる。複数のブレードサーバ2003の一部は、1つのブレードサーバユニット(図中の破線ボックスで示されるように)として動作することができる。それぞれのブレードサーバ2003はローカルエリアネットワーク320を介して通信することができる。また、外部ネットワーク接続装置340(未図示)に接続されることで、それぞれのブレードサーバ2003はインターネット310を介して外部との通信を行ってもよい。既存のブレードサーバを含む分散型サーバシステムを、学習サービス提供システム200”を実現するハードウェア構造として用いることができる。この場合、図10の(b)に示す例に類似して、学習サービス提供システム200”も処理時間を短縮し、処理の複雑さを簡易化する技術効果を達成することができる。
図11は、本発明の例示的な一実施形態による対象操作装置410のハードウェア構造の例を示す図である。対象操作装置410は、学習データを生成するために、対象を操作して対象に所定の状態を持たせる装置であってもよい。学習データ生成システム120は、対象操作装置410の種類や制御方法等の情報に応じて、対象操作装置410の制御を行うことができる。
図11の(a)に、PCで構成される対象操作装置のハードウェア構造の一例を示す。図11の(a)に示すように、対象操作装置410は、PC4101とアクチュエータ4102とを含むことができる。PC4101は、学習データ生成システム120の対象操作部124から受信した対象を操作するための指令に基づいて、アクチュエータ4102へ作動命令を発する。PC4101は、PC600の構成機器及び構成と同様な構成機器及び構成を有してもよいし、PC600の構成機器よりも多かったり少なかったりの構成機器を有してもよく、或いは、当該機能を果たす構成であればPC600の構成と異なる構成を有してもよい。アクチュエータ4102は、該作動命令に基づいて対象を操作して、対応する対象状態を取得する。対象操作装置410は、ローカルエリアネットワーク320を介して外部(例えば、学習データ生成システム120)との通信を行うことができる。
例えば、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、対象操作装置410は、アクチュエータ4102を介して1つ又は複数のカメラの姿勢を操作し、カメラで撮影する菓子を載せる載置台に所定の姿勢変化を行わせることができる。そして、対象操作装置410は、PC4101に制御されて、所定のタイミングで該1つ又は複数のカメラおよび載置台を操作することができる。
図11の(b)に、対象操作装置のハードウェア構造の他の一例を示す。図11の(b)に示すように、対象操作装置410’は、対象制御装置4103を含むことができる。対象制御装置4103は、対象について分析/制御を行う。例えば、対象制御装置4103を制御するための制御パラメータ、制御データ、制御プログラム等を、学習データを生成するための要件情報に予め含めることができ、これにより、学習データ生成システム120は、該要件情報に基づいて、対象制御装置4103を用いて対象の状態を自動的に変化させ、学習データを取得することができる。対象操作装置410’は、無線ローカルエリアネットワーク330を介して外部(例えば、学習データ生成システム120)との通信を行うことができる。オプションとして、対象制御装置4103は、一部又は全てが学習データ生成システム120に含まれてもよい。
例えば、囲碁、将棋のようなゲームの意思決定を行う場合、遊戯ルール、遊戯プログラムを、学習データを生成するための要件情報に含めることができる。対象制御装置4103は、該要件情報に基づいて、碁盤や将棋盤の段階ごとの変化を制御することができる。
図11にの(c)に、対象操作装置のハードウェア構造の更なる一例を示す。図11の(c)に示すように、対象操作装置410”は、ロボット4105を含むことができる。ロボット4105は、学習データ生成システム120から受信した制御指令に基づいて、対象について対応する操作を行う。例えば、ロボット4105の制御パラメータ、制御データ、制御プログラム等の情報を、学習データを生成するための要件情報に含めることができ、これにより、学習データ生成システム120は、該要件情報に基づいて、ロボット4105を用いて対象を操作し、対象の状態を変化させるように制御することができる。対象操作装置410”は、無線ローカルエリアネットワーク330を介して外部(例えば、学習データ生成システム120)との通信を行うことができる。
対象操作装置410,410’および410”による対象についての操作/制御は、上記操作/制御以外にも、利用者の依頼した学習の内容に応じて様々な操作/制御を行うことができる。以下、例を挙げて説明する。
・対象を並べる/組み合わせる
例えば、菓子のパノラマ写真を撮影するように、複数のカメラを並べる/組み合わせる。或いは、プラントが、操作する操作対象に対して所定の姿勢を実現できるように、プランの各操作部を並べる/組み合わせる。
・対象の一部を取り除く
例えば、学習の対象となるファイルにおける特定のタイプのファイルのみを分析し、他のタイプのファイルを取り除く。
・対象の操作部を操作する
例えば、菓子を載せる載置台を操作する。
・対象を物理的に操作する
・対象の向きを変える。
例えば、自動車の運転など。
・電子的に接続する
・信号を送信して制御する
・データを送り込む/プログラムをロードする/プログラムを実行する
・禁止動作を設定する
なお、以上で記載した内容は例示的なものに過ぎず、本発明における対象操作装置410の機能及び構成を限定するものではない。
図11の(a)、(b)および(c)において、対象操作装置410は、ローカルエリアネットワーク320又は無線ローカルエリアネットワーク330を介して外部との通信を行う。しかしながら、本発明はこれに限定されず、対象操作装置410は、様々な通信方式、例えば、イントラネット、ローカルエリアネットワーク、インターネット、移動通信網、およびそれらの組合せを介して外部と情報の送信/受信を行うことができる。
なお、対象操作装置410は、機能の一部又は全て/ハードウェア構造の一部又は全てが学習データ生成システム120に含まれてもよい。当業者はニーズに応じてそれぞれのシステムに含まれる構成機器を設定することができる。
以下、本発明の例示的な一実施形態による学習依頼システム100と学習サービス提供システム200の各構成要素の機能モジュールの例を説明する。
図12は、本発明の例示的な一実施形態による学習依頼装置110の機能モジュールを示すブロック図である。利用者が学習を依頼するとき、学習依頼装置110を用いて、学習サービス提供システム200に対して学習依頼を行う。学習依頼装置110はインターネット310又はローカルエリアネットワーク320のような通信手段で学習サービス提供システム200と接続されていて、学習依頼を行うことができる。図12に示すように、学習依頼装置110は、学習依頼制御部111と、利用者対話部112と、依頼情報記憶部113と、通信部114とを含むことができる。学習依頼制御部111は、利用者対話部112、依頼情報記憶部113、および通信部114の操作を統合制御する。学習依頼装置110と利用者との間のインターフェースである利用者対話部112は、利用者から学習依頼を受信し、対応する情報を利用者に提供する。依頼情報記憶部113は、利用者対話部112で受信した利用者からの学習を依頼するための依頼情報を記憶する。通信部114は、インターネット310又はローカルエリアネットワーク320を介して学習依頼受付装置210との通信を行う。図12に学習依頼装置110がインターネット310又はローカルエリアネットワーク320を介して学習依頼受付装置210との通信を行う例を示しているが、上述したように、学習依頼装置110は、他に様々な通信方式、例えば、イントラネット、移動通信網、およびそれらの組合せを介して学習依頼受付装置210と情報の送信/受信を行ってもよい。これにより、学習依頼受付装置210は、学習依頼装置110を使っている利用者と対話を行って、学習の対象や学習の目的など、学習依頼情報を取得することができる。
図13は、本発明の例示的な一実施形態による学習結果利用装置130の機能モジュールを示すブロック図である。図13に示すように、学習結果利用装置130は、制御部131と、ニューラルネットワーク設定部132と、ニューラルネットワーク133と、学習結果入力部134と、学習データ入力部135と、学習データ取得部136と、出力部137と、通信部138とを含むことができる。制御部131は、学習結果利用装置130の各構成要素の操作を統合制御する。ニューラルネットワーク設定部132は、制御部131の指令に基づいて、ニューラルネットワークの各パラメータを設定する。ニューラルネットワーク133は、学習データ入力部135で入力した学習データに対して深層学習のような機械学習を行う。学習結果入力部134は、学習結果利用装置130に対応する能力を備えるように、学習結果を入力する。学習データ入力部135は、学習データ取得部136から学習データを受信し、該学習データを適切なフォーマットでニューラルネットワーク133に入力する。学習データ取得部136は、対象から対応する学習データを取得する。出力部137は、ニューラルネットワーク133が深層学習を行った分析結果を出力する。通信部138は、学習結果利用装置130と外部との通信を実現する。
なお、学習結果利用装置130は、1つ又は複数の学習データ取得部136を含んでもよい。異なる学習データ取得部は、異なる対象について学習データを取得することができる。そして、学習結果利用装置130が学習データ取得部136を含むことができることから、学習データの取得機能を備えているため、学習データ取得装置140を省略してもよい。また、図13に通信部138がローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、オプションとして、学習結果利用装置130は、他に様々な通信方式、例えば、インターネット、イントラネット、移動通信網、およびそれらの組合せを介して情報の送信/受信を行ってもよい。
図14は、本発明の例示的な一実施形態による学習データ取得装置140の機能モジュールを示すブロック図である。図14に示すように、学習データ取得装置140は、学習データ取得制御部141と、操作部142と、学習データ取得部143と、学習データ記憶部144と、通信部145とを含むことができる。学習データ取得制御部141は、操作部142、学習データ取得部143、学習データ記憶部144、および通信部145の操作を統合制御する。操作部142は、対象を操作するための指令を適切なデータフォーマットでローカルエリアネットワーク320を介して対象操作装置410に送信する。学習データ取得部143は、学習対象から学習データを取得する。学習データ記憶部144は、学習データ取得部143で取得した学習データを記憶する。通信部145は、ローカルエリアネットワーク320を介して外部との通信を行う。
図15は、本発明の例示的な一実施形態による学習依頼受付装置210の機能モジュールを示すブロック図である。学習依頼受付装置210は、学習依頼装置110からの学習依頼を受け付け、受け付けた学習依頼を学習装置220に通知する。図15に示すように、学習依頼受付装置210は、学習依頼受付部211と、学習データ記憶部212と、依頼情報記憶部213と、通信部214とを含むことができる。学習依頼受付部211は、学習データ記憶部212、依頼情報記憶部213、および通信部214の操作を統合制御する。学習データ記憶部212は、学習依頼システム100から受信した学習データを記憶する。依頼情報記憶部213は、学習依頼システム100から受信した利用者が入力した学習を依頼するための依頼情報を記憶する。通信部214は、学習依頼受付装置210と外部との通信を行う。図15に通信部214がローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、本発明はこれに限定されず、通信部214は、例えば、イントラネット、インターネット、移動通信網、又はそれらの組合せなど、様々な通信方式を介して情報の送信/受信を行ってもよい。
図16は、本発明の例示的な一実施形態による学習装置220の機能モジュールを示すブロック図である。図16に示すように、学習装置220は、学習制御部221と、学習結果抽出部222と、ニューラルネットワーク223と、学習結果出力部224と、通信部225とを含むことができる。学習制御部221は、学習結果抽出部222、ニューラルネットワーク223、学習結果出力部224、および通信部225の操作を統合制御する。学習結果抽出部222は、学習制御部221の指令に基づいて、ニューラルネットワーク223から学習結果を抽出する。ニューラルネットワーク223は、学習データに対して深層学習を行って、学習結果を得る。学習結果出力部224は、学習結果を学習装置220の外部に出力する。通信部225は、学習装置220と外部との通信を実現する。図16に通信部225がローカルエリアネットワーク320を介して外部との通信を行うことが示されているが、本発明はこれに限定されず、通信部225は、例えば、インターネット、イントラネット、移動通信網、又はそれらの組合せ等、様々な通信方式を介して情報の送信/受信を行ってもよい。
図17は、本発明の例示的な一実施形態による学習データベース装置230の機能モジュールを示すブロック図である。学習データベース装置230は、学習を行うときに必要となる、さまざまな情報を格納する。図17に示すように、学習データベース装置230は、学習データデータベース231と、依頼情報データベース232と、学習結果利用履歴データベース233と、要件情報データベース234と、学習プログラムデータベース235とを含むことができる。学習データデータベース231は、学習に用いる学習データを格納する。例として、例えば、学習データの対象や、学習データの内訳、学習データの範囲、学習の目的など学習データを生成するための要件情報に関連づけて、学習データを学習データデータベース231に格納することができる。依頼情報データベース232は、利用者からの学習を依頼するための依頼情報を記憶する。例として、例えば、利用者(学習依頼者)に関する情報、学習データの対象や、学習データの内訳、学習データの範囲、学習の目的など学習データを生成するための要件情報に関連づけて、学習を依頼するための依頼情報を依頼情報データベース232に格納することができる。学習結果利用履歴データベース233は、学習結果の利用ログを記憶する。要件情報データベース234は、学習データを生成するための要件情報を記憶する。
学習プログラムデータベース235は、学習を行うための1つ又は複数の学習プログラムと、該1つ又は複数の学習プログラムに対応する学習を依頼するための依頼情報を格納する。例として、例えば、学習の対象や、学習データの内容、学習の目標など依頼情報に関連づけて、学習プログラムを学習プログラムデータベース235に格納することができる。このため、利用者が学習を依頼する依頼情報を指定することで、学習プログラムデータベース235を用いて必要な学習プログラムを対応して特定することができ、これにより、対応する学習プログラムを実行することができる。さらに、必要な学習プログラムを特定することで、該学習プログラムに対応する学習データを生成するための要件情報を特定することができる。学習データを生成するための要件情報は、各要件を階層的に記述するデータを有することができる。或いは、オプションとして、利用者が学習の対象や学習の目標など、行われる学習を特定するための検索条件を指定することで、学習プログラムデータベース235を用いて、対応する学習プログラムと対応する学習データを生成するための要件情報を検索するようにしてもよい。したがって、学習プログラムデータベース235を用いて学習プログラムと各情報を対応して記憶することで、それぞれの学習について、学習方法の選択と学習サービスの管理が効率よく行えるようになる。
学習データベース装置230を上記のような構成とすることで、学習結果について必要な分析を行うことができ、例えば、異なる学習結果の分類能力を対比することが可能となり、それによって、学習結果の利用状況の同一性を判定することができる。
なお、上述した学習データデータベース231、依頼情報データベース232、学習結果利用履歴データベース233、要件情報データベース234、および学習プログラムデータベース235を同一のハードウェア素子で実現してもよいし、異なるハードウェア素子で実現してもよい。一部の情報が互いに関連づけて記憶される場合、1つ又は複数のデータベースを省略してもよい。
図18は、本発明の例示的な一実施形態による対象操作装置410の機能モジュールを示すブロック図である。図18に示すように、対象操作装置410は、対象操作制御部411と、対象操作動作決定部412と、アクチュエータ413と、通信部414とを含むことができる。対象操作制御部411は、対象操作動作決定部412、アクチュエータ413、および通信部414の操作を統合制御する。対象操作動作決定部412は、学習データ生成システム120からの操作指令とアクチュエータ413の作動情報に基づいて、対象を操作するものを決定する。アクチュエータ413は、対象を操作する。通信部414は、ローカルエリアネットワーク320を介して外部との通信を行うが、しかし、オプションとして、対象操作装置410は、他に様々な通信方式、例えば、インターネット。イントラネット、移動通信網、およびそれらの組合せを介して情報の送信/受信を行ってもよい。
なお、図18に示す本発明の例示的な一実施形態による対象操作装置410の機能モジュールは、一例に過ぎない。対象操作装置410は、図18に示す例よりも多かったり少なかったりの機能モジュールを含んでもよい。
以上、図3乃至図18を参照して、学習依頼システム100の各構成要素、学習サービス提供システム200の各構成要素、および対象操作装置410のハードウェア構造および機能モジュールの例を説明した。以上の説明は例示的なものに過ぎず、本発明の各システム/装置のハードウェア構造および機能モジュールを限定していないことは、当業者が理解すべきである。当業者は、本発明の保護範囲から逸脱しない前提において各システム/装置のハードウェア構造および機能を適宜修正/増減することができる。
また、前文では、学習依頼システム100の各構成要素や学習サービス提供システム200の各構成要素を、異なるハードウェア構成を用いて実現する例を説明したが、学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数を、同一のハードウェア構成で実現してもよい。学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数を異なるハードウェア構成で実現する場合、異なるハードウェア構成は、ニーズに応じてその担う機能を変更することができる。例えば、学習依頼システム100/学習サービス提供システム200の一部/全ての機能を学習結果利用装置130で実現することができる。
さらに、学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数は、前文で述べた実現方式に限定されずに、PC上で実行されるソフトウェアモジュールや、様々な内蔵型装置、クラウドのネットワークサービス等の形で実現されてもよい。本発明の示唆から逸脱しない前提において、学習依頼システム100と学習サービス提供システム200は様々な実現方式を用いることができることは、当業者が理解できるものである。
例として、例えば、学習依頼システム100と学習サービス提供システム200を、統合した1つのシステムとして構成することができる。該統合したシステムのうち、任意の部分を別のシステムや装置、部分として構成してもよい。また、当業者は本発明の利用に必要な部分のみを実施する構成にしてもよい。例えば、本発明における学習データを生成するための要件情報のフォーマットや構成、規定などを利用することで、学習データ生成システム120のみを実施できる。
例として、例えば、工場の生産ラインで製品の検査を行う装置に学習データ生成機能と学習機能を備えるようにすることができる。例えば、処理の負荷が重い学習機能を、クラウド上で実施するようにしてもよい。学習サービス提供システム200に含まれる一部の構成要素又は機能をクラウドで実現する場合、他の構成要素又は機能を別の任意の装置で実施するようにすることができる。
例として、例えば、ニューラルネットワーク133とニューラルネットワーク223を電子回路で構成することができる。例えば、LSIやFPGAで構成することができる。また、学習依頼システム100の各構成要素のうちの1つ又は複数や学習サービス提供システム200の各構成要素のうちの1つ又は複数を物体によって実施することができる。例えば、学習対象について識別/処理/操作/データ取得を行う中、物理的な鍵やDNA検査のような生化学的な方法、ホログラムなど光学的な方法による識別/処理/操作/データ取得手段を用いることができる。
以下、図19乃至図23を結合して本発明に係わる方法を説明する。なお、後文では、「S1」を先頭に置いたものは、学習依頼システム100で実現される方法のステップを表し、「S2」を先頭に置いたものは、学習サービス提供システム200で実現される方法のステップを表す。
図19は、本発明の例示的な一実施形態による学習依頼システム100で実現される依頼情報を送信する方法を示すフローチャートである。図19に示すように、ステップS101において、学習依頼システム100が学習サービス提供システム200と接続し、該方法がステップS102へ進む。ステップS102において、学習依頼システム100の学習依頼装置110は、学習対象に関する選択画面を利用者(学習依頼者)に提示し、該学習対象の選択できる内容は、学習サービス提供システム200から受信したものにしてもよい。利用者は、選択画面の提示に従って、対応する学習対象を選択することができる。ステップS103において、学習依頼システム100は、利用者が学習対象を選択したか否かを判定する。利用者が学習対象を選択していれば、該方法がステップS104へ進み、利用者が学習対象を選択していなければ、該方法がステップS102に戻り、利用者が選択するのを待つ。ステップS104において、学習依頼システム100の学習依頼装置110は、学習目標に関する選択画面を利用者に提示し、該学習目標の選択できる内容は、学習サービス提供システム200から受信したものにしてもよい。利用者は、選択画面の提示に従って、対応する学習目標を選択することができる。ステップS105において、学習依頼システム100は、利用者が学習目標を選択したか否かを判定する。利用者が学習目標を選択していれば、該方法がステップS106へ進み、利用者が学習目標を選択していなければ、該方法がステップS104に戻り、利用者が選択するのを待つ。ステップS106において、学習依頼システム100は、利用者が選択した学習対象と学習目標を、学習を依頼するための依頼情報として学習サービス提供システム200に送信し、該フローチャートが終了する。
該依頼情報を出力する方法において、利用者は、学習依頼システム100の学習依頼装置110を介して学習対象と学習目標を選択することにより、学習対象の情報と学習目標の情報を含む依頼情報を、学習サービス提供システム200に入力する。なお、依頼情報は他の情報を含んでもよく、例えば、オプションとして、依頼情報は利用者に関する情報を含むことができる。依頼情報が利用者に関する情報のような情報をさらに含む場合、学習依頼システム100の学習依頼装置110は、学習対象の選択画面や学習目標の選択画面に類似した選択画面を、利用者が選択するように利用者に提供することができる。
以下、図20と図21を結合して本発明の例示的な一実施形態による学習データを生成するための処理方法について説明する。
図20は、本発明の例示的な一実施形態による学習サービス提供システム200で実現される学習データを生成するための処理方法を示すフローチャートである。該学習データを生成するための処理方法において、学習サービス提供システム200は、学習依頼システム100から受信した学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、該要件情報を学習依頼システム100における学習データ生成システム120に送信する。
図20に示すように、ステップS201において、学習サービス提供システム200の学習依頼受付装置210は、学習対象の選択できる内容を学習依頼システム100の学習依頼装置110に提供することにより、学習依頼装置110は、それと対話する利用者に学習対象の選択画面を提示し、学習依頼受付装置210は、利用者が選択した学習対象の情報を受信し、該方法がステップS202へ進む。ステップS202において、学習サービス提供システム200の学習依頼受付装置210は、学習目標の選択できる内容を学習依頼システム100の学習依頼装置110に提供することにより、学習依頼装置110は、それと対話する利用者に学習目標の選択画面を提示し、学習依頼受付装置210は、利用者が選択した学習目標の情報を受信し、該方法がステップS203へ進む。
ステップS203において、学習依頼受付装置210は、利用者が学習依頼を確定したか否かを判定し、利用者がまだ確定していなければ、該方法がステップS201に戻り、利用者が学習対象を選択するのを待つ。利用者が確定していれば、該方法がステップS204へ進む。ステップS204において、学習サービス提供システム200は、学習データベース装置230にて決定した学習対象と学習目標に対応する学習データを生成するための要件情報を検索し、該方法がステップS205へ進む。ステップS205において、学習サービス提供システム200は、該要件情報を学習依頼システム100に送信する。本発明の例示的な一実施形態による学習サービス提供システム200で実現される学習データを生成するための処理方法が終了する。
図20に示すステップS204において、学習サービス提供システム200は依頼情報に基づいて、学習データベース装置230にて対応する学習データを生成するための要件情報を検索するが、本発明はこれに限定されない。例えば、学習サービス提供システム200は、要件情報を生成するためのプログラムを予め記憶してもよく、依頼情報を受信した後、該プログラムを用いて対応する要件情報を生成することができる。
それぞれの依頼情報に対応する要件情報のデータベースを予め用意したり、依頼情報に基づいて要件情報を生成するプログラムを予め用意したりすることで、要件情報生成を自動化することができ、利用者が学習データの生成について詳細な操作を把握する必要がなくなり、利用者の負担が軽減される。
オプションとして、学習サービス提供システム200が学習データを生成するための要件情報を特定した後、要件情報データベース234を用いて学習対象の情報や学習目標の情報と要件情報との対応関係を記憶してもよい。該対応関係をデータベースに記憶することで、次回要件情報を検索又は生成する場合、演算操作を簡素化することができる。
該対応関係を利用者の後の類似した依頼に適用することができ、その結果、CPUの演算負荷を軽減し、演算時間を節約することができる。
さらに、上記学習データを生成するための処理方法において、要件情報を用いることで、学習データの生成を自動化/半自動化することができ、これにより、学習データ不足によるAIの学習が終わらず、CPUが無駄に動き続けることを回避することができるため、CPU負荷を軽減し、システムリソースを節約することができる。そして、学習不足による学習の追加を回避することができるため、クライアントと例えばサーバとの間の通信負荷および、例えばサーバの処理負荷を低減させ、サーバリソース及び処理時間を節約することができる。
オプションとして、学習対象や学習目標以外にも、学習サービス提供システム200は、より多くの選択できるアイテムを利用者に提供してもよい。例えば、一例として、学習サービス提供システム200は、決め打ちで所定の学習を行うために必要な学習データを作る1つ又は複数のプログラム/方法/データベースを用意することができる。利用者が必要なプログラム/方法/データベースを選ぶか、上述したように、利用者の選択した学習対象や学習目標などの情報に基づいて、必要なプログラム/方法/データベースが自動的に決められるようにすることができる。必要な学習データを作るプログラム/方法/データベースが決められると、必要な学習データに関する情報も決められる。
前文で述べた学習目標とは、利用者が学習依頼システム100に獲得させるのを期待する学習対象に対する処理/分析能力である。利用者が獲得したい学習対象に対する処理能力の例として、例えば、以下の能力を獲得することができる。
● 分類する能力。深層学習(他のAI技術を用いてもよい)によって、入力データや入力信号に基づいて、分析対象を分類する能力を獲得することができる。分類能力は、例えば、良品と不良品の判定、等級の判定、分析対象のグループ分け、分析対象がいずれの状態にあるかの判定、同じ特徴を持つ対象の検出、分析対象の階層的な分類などに活用できる
● 予測する能力。予測する能力は、例えば、故障予知、信号の予測、対象の状態の予測、株価や為替、債権価格の予測などに活用できる。
● 意思決定する能力。意思決定する能力は、例えば、囲碁、将棋などのゲームの意思決定、組織の意思決定、取引の意思決定などに活用できる。
● 対象を操作する能力。対象を操作する能力は、例えば、アクションゲームをプレイすること、プラントを制御すること、生産ラインを制御すること、ロボットを制御することなどに活用できる。
なお、上述の例は、例示的なものに過ぎず、本発明で説明する利用者が獲得したい学習対象に対する処理能力を何ら限定もしていない。
獲得したい能力(学習目標)によって、異なる学習データを用いた学習を行って、異なる学習結果(能力)を獲得する必要がある。図20に示す学習データを生成するための処理方法において、依頼情報に基づいて、学習データを生成するための要件情報を特定し、学習データ生成システム120に該要件情報が提供されることで、学習データを生成し、これにより、期待する能力を獲得することができる。
一例として、例えば、所定の種類の能力を獲得したい場合、依頼情報にて指定された能力の種類や能力のレベルに基づいて、要件情報に含まれる学習データの種類又は数などに関する情報を特定することにより、対応する要件情報に基づいて学習データを生成することができる。
同じ種類の能力を獲得する場合でも、期待する能力のレベルに応じて、必要な学習データの種類や数などが変わってくる。学習データの種類や数に関する情報を要件情報に含めることで、利用者は、所望の学習目標を達成するには、どのようなデータをどの程度準備すればよいかを把握する必要がなくなるため、利用者の操作を簡素化することができる。
他の一例として、例えば、異なる学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に基づいて、要件情報に含まれる該学習対象に対応する要件を特定し、例えば、学習対象の種類、学習対象の状態、学習対象の状態制御情報および学習対象の状態制御プログラム情報のうち少なくとも一方を特定することにより、対応する要件情報に基づいて学習データを生成することができる。
学習対象が変われば、異なる学習対象に関する学習データを取得する必要がある。学習対象に関する情報を要件情報に含めることで、利用者は、学習対象に関する様々な情報を把握する必要がなく、学習対象を簡単に特定するだけで、所望の学習データを取得することができ、このため、利用者の操作を簡素化することができる。
更なる一例として、例えば、複数の状態を持つ学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に基づいて、要件情報に含まれる該学習対象のそれぞれの状態に対応する要件を特定するか、該学習対象の状態変換に対応する要件を特定することができる。例えば、学習対象の状態情報、学習対象の状態変換情報(例えば、学習対象の状態制御情報、学習対象の状態制御プログラム情報)などのうち少なくとも一方を特定することにより、対応する要件情報に基づいて学習データを生成する。
学習対象が複数の状態を持つ場合、個々の状態ごとに学習対象の学習データを取得する必要がある。学習対象の状態/状態変換に関する情報を要件情報に含めることで、利用者は、学習対象の様々な情報を把握する必要がなく、所望の学習データを取得することができるため、利用者の操作を簡素化することができる。
以下、図21を結合して、本発明の例示的な一実施形態による学習データを生成するための要件情報の論理的な構成を説明する。図21は、本発明の例示的な一実施形態による学習データを生成するための要件情報の論理的な構成を示す図である。図21に示すように、前文で述べた学習データを生成するための要件情報は、識別情報Ct、バージョン情報Cv、および要件C1~要件Cnを含むことができ、nは自然数である。識別情報Ctは、要件情報を識別するための情報である。バージョン情報Cvは、要件情報のバージョンを記録するための情報である。また、要件情報にログ情報など、他の情報が含まれてもよい。要件C1から要件Cnまでのいずれかの要件Cm(1≦m≦n)は、識別情報Cmt、バージョン情報Cmv、および要件Cm1~要件Cmkを含むことができ、kが自然数である。つまり、要件情報は、階層的な入れ子の論理的な構成とすることができる。オプションとして、要件Cm1から要件Cmkまでのいずれかの要件Cmj(1≦j≦k)に、1つ又は複数の下位階層の要件をさらに入れてもよい。このような階層的な入れ子の論理的な構成とすることで、複雑な要件情報の構成に対応することができる。オプションとして、要件情報におけるいずれかの要件(例えば、Cm2)は、テキスト、データ、識別子、プログラム又はそれらの組合せであってもよい。
以下、要件情報に含まれる要件C1~要件Cnの内容について、例を挙げて説明する。
● 要件C1:入力データの情報
◆ 要件C11:入力データの種類(例えば、センサから得たデータ、カメラの制御パラメータなど)
◆ 要件C12:入力データの取得方法(例えば、入力データの取得プログラム、例えば、データベースでの検索、手作業入力など)
入力データは、学習データを生成するために、学習データ生成システム120に入力するデータを指し示す。例として、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、カメラに関する制御パラメータや、構成パラメータ、制御プログラムなどを、学習データを生成するための要件情報に含めることで、データ入力を自動化することができる。
● 要件C2:出力データの情報
◆ 要件C21:出力データの種類(例えば、カメラに対する制御命令、操作命令、通知情報など)
出力データは、学習データを生成するために、学習データ生成システム120から出力するデータを指し示す。例として、食品加工工場の生産ラインで菓子の良品/不良品を判定する場合、対象操作装置410を制御するための制御命令、操作命令、通知情報などを出力することで、対象操作装置410は、カメラを操作して撮影することができ、撮影された学習に用いる画像を学習データとして入力することができる。
● 要件C3:対象操作装置の情報
◆ 要件C31:対象操作装置の種類
◆ 要件C32:対象操作装置のハードウェア構成
◆ 要件C33:対象操作装置の制御データ
◆ 要件C34:対象操作装置の制御方法(例えば、制御プログラム、制御プログラム情報など)
要件情報に対象操作装置410の情報が含まれる場合、学習データ生成システム120は、対象操作装置410の種類や制御方法などに関する情報に応じて、対象操作装置410の制御を行うことができる。例えば、ロボットの制御データや制御プログラムを要件情報に含めることで、ロボットを用いて対象を操作し、学習対象の状態を変化させることができる。
操作対象に関する様々な情報を要件情報に含めることで、操作対象を自動的に制御することができ、手作業で操作する必要がなくなり、誤りの発生を回避し、操作効率を向上させることができる。
● 要件C4:対象制御装置の情報
◆ 要件C41:対象制御装置の種類
◆ 要件C42:対象制御装置の制御方法(例えば、制御プログラム、制御プログラム情報など)
対象制御装置4103を制御するための制御データや制御プログラムなどを要件情報に含めることで、学習データ生成システム120は、対象制御装置4103を用いて学習対象の状態を自動的に変化させて、学習データを取得することが可能になる。
● 要件C5:学習データの情報
◆ 要件C51:学習データの内訳(例えば、種類、数など)
◆ 要件C52:教師データの情報
◆ 要件C53:学習データの取得方法(例えば、学習データの取得プログラム)
◆ 要件C54:学習データの前処理方法(例えば、学習データの前処理プログラム)
◆ 要件C55:学習データの対象範囲
● 要件C551:学習対象情報
■ 要件C551:母集団情報
■ 要件C551:対象の範囲情報
● 要件C552:学習対象集合情報
● 要件C553:取得時期
● 要件C554:学習時のデータ取得方法
● 要件C555:学習データとテストデータの内訳
◆ 要件C56:学習データのフォーマット情報(例えば、出力フォーマット情報、学習データのフォーマットを変換するためのプログラムの情報など)
◆ 要件C57:学習データの識別情報
学習データの様々な情報を要件情報に含めることで、利用者が所望の学習データを自動的に取得することができ、学習データ生成を自動化することができる。
学習データを生成するために、学習データの種類や、数、取得方法などを予め決定する必要がある。学習データの情報に関する要件C5を要件情報に含めることで、学習データ生成システム120は、所定の学習データを生成することができる。前文で挙げたように、学習データの情報を階層的にグループ化して決定するようにすることができる。
また、学習データのフォーマット情報に関する要件C56を要件情報に含めることで、学習データ生成システム120が学習データを自動的に読み込むようにすることができる。例として、学習データのフォーマットは、例えばJSONやXMLで要件ごとに階層的なデータ構造で記述するようにすることができる。オプションとして、学習データのフォーマットを変換するためのプログラムの情報を要件情報に含めてもよく、これにより、学習装置220に学習データを提供するとき、対応するプログラムを用いて学習データを自動的に学習装置220が読み込めるデータ形式に変換することができる。このため、利用者の操作を簡素化し、処理時間を節約することができるとともに、利用者の設定が容易になり、ヒューマンエラーを回避することができる。
さらに、学習データの識別情報に関する要件C57を要件情報に含めることで、学習データに識別情報を付与することができ、上記の要件C5で挙げたような学習データの詳細を管理する必要がなくなるため、要件情報の論理的な構成を簡略化することができる。
● 要件C6:学習時期の情報
◆ 要件C61:学習開始タイミング
◆ 要件C62:学習終了タイミング
● 要件C7:学習目標の情報
◆ 要件C71:学習対象の情報
● 要件C711:学習対象の種類(例えば、画像、文章、音声など)
● 要件C712:学習対象の状態
● 要件C713:学習対象の状態変換(例えば、学習対象の状態制御情報、学習対象の状態制御プログラム情報など)
◆ 要件C72:獲得する能力の情報
● 要件C721:獲得する能力の種類(例えば、分類する能力、予測する能力、制御する能力などがあり、それぞれの種類の能力は、内部で所定の分類が行われてもよく、例えば、分類する能力は、教師ありと教師なしを含むことができる)
◆ 要件C73:学習度合いの評価
● 要件C731:評価関数の内容
◆ 要件C74:到達レベル
● 要件C741:目標とする到達レベル
◆ 要件C75:再学習
● 要件C751:以前の学習を特定するID
● 要件C752:目標の変更内容
異なる学習に対して、異なる学習目標を有することができる。要件情報に異なる学習目標の要件C7が設定されることで、該学習目標の要件C7に対応する学習データを取得することができる。また、学習目標の要件C7に要件C73、要件C74、要件C75が設定されることで、所望の品質の学習データを得ることができる。
学習対象に関する様々な情報を要件情報に含めることで、学習対象について自動的に操作/分析/データ取得を行うことができ、学習データ生成を自動化することができる。
● 要件C8:学習装置の情報
◆ 要件C81:学習装置のメーカ
● 要件C811:機種(例えば、様々な派生機種であってもよい)
● 要件C812:学習サービスを提供するクラウドサービス
◆ 要件C82:学習装置の仕様
● 要件C821:運算能力
● 要件C822:並列度
◆ 要件C83:学習装置の設定
● 要件C831:繰返し回数
● 要件C832:打ち切り時間
● 要件C833:利用可能な消費電力の設定
異なる学習装置を用いて、同様な又は相違する能力を獲得することができる。要件情報に学習装置の情報C8が設定されることで、学習データ生成システム120は、学習装置220が学習を行うための学習データを対応して生成することができる。
● 要件C9:学習方法の情報
◆ 要件C91:学習プログラム
● 要件C911:種類/バージョン情報
◆ 要件C92:プログラミング言語の情報(例えば、使用するプログラミング言語は、後の改変などのために、把握できる必要がある。)
◆ 要件C93:フレームワーク(framework)の情報(例えば、一部の会社から深層学習を行うための多様なフレームワークが公開されている。)
◆ 要件C94:ニューラルネットワークの情報(例えば、分類に関する学習を行うことで、分類する能力を獲得したニューラルネットワークを得ることができる。学習プログラムを用いて学習を開始する前に、ハイパーパラメータを用いて、ニューラルネットワークの構成を決めることができる。ハイパーパラメータは、入力層の構成、中間層の構成、出力層の構成に関する情報を含むことができる。ハイパーパラメータは、学習対象ごとに最適なものが異なることが多く、学習の目的に応じて、学習プログラムを自動的に設定してもよいし、ハイパーパラメータのチューニングを人が行うようにしてもよい。)
● 要件C941:ニューラルネットワークの学習手法(学習手法によって、それぞれ能力が獲得される。例えば、SVM、回帰モデルなどの深層学習手法;ディープビリーフネットワーク、ディープボルツマンマシン、積層自己符号化器;オートエンコーダ、制限ボルツマンマシン(RBM);ドロップアウト、スパースコーティング;正則化、雑音除去自己符号化器;活性化関数の種類(シグモイド関数、ソフトサイン、ソフトプラス、Reluなど);乱数系列の種類などに関連することができる)
● 要件C942:ニューラルネットワークの構成
■ 要件C9421:ハイパーパラメータ
◆ 要件C94211:入力層の構成
◆ 要件C94212:層の数
◆ 要件C94213:隠れ層のユニット数
◆ 要件C94214:各層の内容(例えば、CNN(Convolutional Neural Network);RNN(Recurrent Neural Network);Elman network;Jordan network;ESN(Echo state network);LSTM(Long short term memory network);BRNN(Bi−directional RNN)に関連することができる)
◆ 要件C94215:層間フィードバック情報
● 要件C942151:フィードバック回路の構成
◆ 要件C94216:出力層の構成
■ 要件C9422:演算精度(例えば、学習時の演算精度)
■ 要件C9423:学習を終了する条件
● 要件C943:フレームワークによる構成の設定(上記のようなニューラルネットワークの構成は、各フレームワークが提供する設定方法にもとづいて行うことができる。上記の学習に関する情報は、各フレームワークが提供する方法を用いることができる。)
◆ 要件C95:能力のテスト方法の情報(能力のテスト方法が行われることによって、学習結果はテスト要件を満たすように影響を受ける。このため、学習データはテスト要件を満たすように取得する必要がある。)
◆ 要件C96:個々の学習結果の違い(深層学習には、乱数が用いられることが多いため、学習を実施するごとに、獲得した能力には毎回少しずつ差異がありえる。)
以上、学習データを生成するための要件情報に含まれる要件を挙げてきた。以上で挙げたそれぞれの階層における要件は、より多く/より少なく設定されたり、ニーズに応じて修正されたりすることができることは、当業者が理解できるものである。異なる学習対象、学習目的、学習環境などに基づいて、要件情報は、異なる要件を含むことができる。そして、以上で列挙するための要件の番号付け(例えば、C4)は、要件情報に含まれる各要件の順序と記憶方式を限定することを意味しておらず、ニーズに応じて要件情報における各要件の順序と記憶方式を適宜設定することができる。
オプションとして、各要件にID情報を追加することができる。これにより、学習対象の情報、学習目的の情報などに基づいて要件情報を特定する場合、必要となる要件に対応するID情報を要件情報に追加し、ID情報に基づいて要件を特定することができ、そのうえ、要件情報の構成を簡略化することができる。
学習装置220の学習プログラム作成者は、自身が作成する学習方法の詳細を把握しているので、以上に示すような学習方法の情報に関する要件C9および他の要件に対応して、必要となる学習データを生成するための要件情報を出力するプログラムを作成することができる。これにより、学習プログラムとセットで、フォーマットされた学習データを生成するための要件情報又は該要件情報を出力するためのプログラムを提供することができる。上述したように、要件情報を学習データデータ装置230の要件情報データベース234で記憶し管理することができる。特定された学習データを生成するための要件情報をもとに、個々の学習ごとに学習に必要なデータを準備することができる。
上述したように、学習サービス提供システム200は、利用者が学習を依頼する依頼情報に基づいて、学習データを生成するための要件情報を生成し、学習依頼システム100は、手作業で対象操作装置410を操作したり学習に関する情報を入力したりする必要がなく、該要件情報をもとに、学習データを自動的に生成することができるため、学習データ取得の自動化を図る。
なお、学習データを生成するための要件情報に、人的作業に関する情報が含まれてもよく、例えば、利用者が見て学習データの情報を生成できるため、学習データ生成システム110は、要件情報および人が入力した情報をもとに、学習データを半自動的に生成することができる。
したがって、本発明の一実施形態による学習データを生成するための処理方法に基づき、少なくとも、利用者が学習データの作成について詳細を把握する必要がなく、利用者は学習データを作成するための特殊なスキルを必要としなく、学習データ作成作業を効率化し、学習データを作成する時間を短縮し、作業者の工数を削減し、ヒューマンエラーによる学習データの誤りを防止するという技術的効果を得ることができる。
このため、学習データ生成システム120が上記要件情報に基づいて、対象操作装置410を自動的に又は半自動的に制御して学習データを取得することにより、作業を高度に自動化することができる。全ての作業を自動化することで、各システムのみが稼働するだけで、学習依頼システム100は利用者が期待する新たな能力を獲得することができるようになる。
図20に示すような学習データを生成するための処理方法が終了した後、学習依頼システム100は、学習サービス提供システム200から学習データを生成するための要件情報を受信し、該要件情報に基づいて学習データを生成し、該学習データを学習サービス提供システム200に送信する。以下、図22を結合して、本発明の例示的な一実施形態による学習依頼システム100で実現される学習データを生成する方法について説明する。
図22は、本発明の例示的な一実施形態による学習依頼システム100で実現される学習データを生成する方法を示すフローチャートである。図22に示すように、ステップS111において、学習依頼システム100の学習依頼装置110は、学習サービス提供システム200から学習データを生成するための要件情報を受信して学習データ生成システム120に提供し、該方法がステップS112へ進む。ステップS112において、学習データ生成システム120は、要件情報に含まれる学習対象の情報が、現在、実際に生成しようとする学習データの学習対象と一致しているか否かを判定する。一致していると判定されていれば、該方法がステップS113へ進む。一致していないと判定されていれば、該方法が終了する。学習依頼システム100は該情報を利用者に報告することができる。ステップS113において、学習データ生成システム120は、前文で図4を結合して説明されたように学習データ(最初の学習データ)を生成し、該方法がステップS114へ進む。ステップS114において、学習データ生成システム120は、終了条件を満たすか否かを判定する。終了条件を満たしていれば、該方法がステップS115へ進む。終了条件を満たしていなければ、ステップS113に戻り、学習データの生成を継続する。ステップS115において、学習データ生成システム120は、学習データの生成を終了し、最も近い学習データに関する合成結果を選択し、学習データとして出力し、該学習データが学習サービス提供システム200に出力されてもよい。該フローチャートが終了する。
学習データを生成するための要件情報が含みうる内容を前文で説明した。以下、学習依頼システム100が該要件情報に基づいて学習データを生成する方法について、例を挙げて説明する。
一例として、例えば、所定の種類の能力を獲得したい場合、依頼情報にて指定された能力の種類、能力のレベルに対応する要件情報に、学習データの種類又は数などに関する情報が含まれることができ、学習データの種類又は数などに関する情報を特定することで、対応する種類/対応する数の最初の学習データを生成して学習データ又はその一部とすることができる。
同じ種類の能力を獲得する場合でも、期待する能力のレベルに応じて、必要な学習データの種類や数などが変わってくる。学習データの種類や数に関する情報を要件情報に含めることで、利用者は、所望の学習目標を達成するには、どのようなデータをどの程度準備すればよいかを把握する必要がなくなるため、利用者の操作を簡素化することができる。
他の一例として、例えば、異なる学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に対応する要件情報に、該学習対象及び/又は該学習対象についてデータ取得/操作を行う操作対象の構成情報が含まれることができ、これにより、該構成情報に応じて、学習対象及び/又は操作対象を構成し、異なる学習対象に対応する最初の学習データを生成して学習データ又はその一部とすることができる。
学習対象が変われば、異なる学習対象に関する学習データを取得する必要がある。学習対象に関する情報を要件情報に含めることで、利用者が学習対象に関する様々な情報を把握する必要がなく、学習対象を簡単に特定するだけで、所望の学習データを取得することができ、このため、利用者の操作を簡素化することができる。
更なる一例として、例えば、複数の状態を持つ学習対象について能力を獲得する場合、依頼情報にて指定された学習対象に対応する要件情報に、該学習対象のそれぞれの状態に関する情報、又は、該学習対象の状態変換に関する情報が含まれることができる。学習対象の状態情報、学習対象の状態変換情報(例えば、学習対象の状態制御情報、学習対象の状態制御プログラム情報)などのうち少なくとも一方に基づいて、学習対象の状態を構成することにより、個々の状態ごとの学習対象について最初の学習データを生成して学習データ又はその一部とすることができる。
学習対象が複数の状態を持つ場合、個々の状態ごとに学習対象の学習データを取得する必要がある。学習対象の状態/状態変換に関する情報を要件情報に含めることで、利用者は、学習対象の様々な情報を把握する必要がなく、所望の学習データを取得することができるため、利用者の操作を簡素化することができる。
以下、図23を結合して、学習サービス提供システム200が受信した学習データを用いて学習結果を生成する方法について説明する。図23は、本発明の例示的な一実施形態による学習サービス提供システム200で実現される学習結果を生成する方法を示すフローチャートである。学習サービス提供システム200は、学習サービス提供システム120で生成した学習データを学習依頼システム100から受信し、該学習データおよび依頼情報に基づく学習を行って学習結果を生成し、学習結果利用装置130による対象分析のために、該学習結果を学習依頼システム100に送信する。
具体的には、図23に示すように、ステップS211において、学習依頼受付装置210は、インターネット310を介して学習依頼装置110から学習データを受信し、該方法がステップS212へ進む。ステップS212において、学習依頼受付装置210は、学習装置220へ依頼情報および学習データを通知し、該方法がステップS213へ進む。ステップS213において、学習装置220は、依頼情報および学習データを用いた学習を行って、学習結果を得、学習が完了するとき、該方法がステップS214へ進む。ステップS214において、学習依頼受付装置210は、学習結果を学習依頼システム100に送信し、該方法がステップS215へ進む。ステップS215において、学習サービス提供システム200は、学習サービスが完了したか否かを判定する。学習サービスが完了していなければ、該方法が図20におけるステップS201に戻り、学習依頼システム100から学習依頼を受信するのを待つ。学習サービスが完了していれば、該方法がステップS216へ進む。ステップS216において、学習サービス提供システム200は、今回の学習と以前の学習との同一性を判定し、判定結果を記録し、該方法が終了する。
ステップS216にて同一性判定を行うことで、一致する学習結果を取得するように確保し、誤りの発生を回避することができ、このため、学習結果の正確性を向上させることができる。
学習データを用いた学習を行う作業を前記装置で行わずに、リモートサーバ又はクラウドで行うことができ、このため、ローカルデバイスの運算負荷を軽減し、演算時間を節約することができる。
これにより、学習依頼システム100が該学習データを学習依頼受付装置210から受信した後、学習結果利用装置130は利用者が期待する能力を獲得することができる。学習結果利用装置130は、該学習データを用いて対象分析を行うことができる。
なお、上述した各方法について、説明を簡単にするために、それぞれ一連の動作の組合せとして記載しているが、しかし、本発明は説明した動作順序に制限されておらず、理由としては、一部のステップを他の順序で又は同時に行うことができることは、当業者が理解できるものである。それから、本発明で説明した実施形態はいずれも例示的なものであり、関連する動作とモジュールは本発明に必須であるとは限らないことも、当業者が理解できるものである。
以上の実施形態で説明したとおり、上記方法を、ソフトウェアに加えた必要な汎用ハードウェアプラットフォームを介して実現することができることは、当業者にとって明らかとなり、もちろん、専用のハードウェアで実現してもよいが、多くの場合、前者が好適な実施形態となる。このように理解すれば、本発明の技術案は、本質的には、従来技術に貢献する部分、或いは、該技術案の全部または一部をソフトウェア製品の形で表現することができ、該コンピュータソフトウェア製品は、端末機器(例えば、パソコン、サーバまたはネットワーク機器等であってもよい)に本発明の各実施形態に記載の方法を実行させるための若干の命令を含む記憶媒体(例えば、ROM/RAM、磁気ディスク、光ディスク)に記憶される。
本発明をより理解易くするために、以下、本発明の例示的な一実施形態による学習データを生成するための処理方法を用いる適用例について説明する。
(適用例1)
食品加工工場の生産ラインで搬送される菓子について良品/不良品を検出する中、通常、菓子が不定形状であるため、対象の形状を正確に計測する手法では、良品/不良品を分類することができない。しかし、購入者は明らかな不良品を容易に識別でき、例えば、紙片など異物が混入していれば、容易にわかる。深層学習技術の活用によって、生産ラインにおける検査装置に人に近い判定能力を備えることができる。適用例1にて、本発明に係わる学習データを生成するための処理方法を実施することで、学習データの入力を自動化又は半自動化することができ、人的作業の複雑さを大幅に低減し、処理効率を向上させるとともに、誤りの発生を低減する。
図24は、本発明の例示的な一実施形態による学習データを生成するための処理方法を用いる適用例1を示す機能ブロック図である。適用例1にて、利用者が、菓子の良否判定に関する学習データを取得することを望んでいる。さらに、該学習データを用いた学習を行って学習結果を得ることで、検査装置に菓子の良否判定能力を備えることができる。
図24に示すように、学習依頼システム700は、学習依頼部710と、学習データ生成部720と、学習データ取得部730とを備える。学習依頼部710は、利用者と対話し、利用者が入力した学習を依頼するための依頼情報と菓子の良否を判定する良否情報(教師データ)を受信する。学習依頼部710は、さらに、学習サービス提供システム800と対話し、依頼情報を学習サービス提供システム800へ送信するとともに、学習データを生成するための要件情報を学習サービス提供システム800から受信する。学習データ生成部720は、学習依頼部710で受信した要件情報に基づいて、操作装置900を、最初の学習データ(画像データ)を生成するように制御する。学習データ取得部730は、生成された最初の学習データを取得して、最初の学習データを、学習依頼部710が該最初の学習データと良否情報とを合成して学習データとして出力するために学習依頼部710に提供する。
学習サービス提供システム800は、依頼情報に基づいて、学習データを生成するための要件情報を特定するとともに、学習データを用いた学習を行って学習結果を生成することができる。操作装置900は、撮像部1010と、菓子を載せる又は固定する載置部1020を操作して、画像データを取得する。操作装置900は、アクチュエータやロボットハンドなどを含むことができる。
なお、学習依頼システム700は学習依頼システム100として、学習依頼部710は学習依頼装置110として、学習データ生成部720は学習データ生成システム120として、学習データ取得部730は学習結果利用装置130又は学習データ取得装置140として、学習サービス提供システム800は学習サービス提供システム200として、操作装置900は対象操作装置410として、それぞれ機能することができる。
撮像部1010は、1つ又は複数のカメラを含むことができる。撮像部1010が1つのカメラの場合、菓子をさまざまな方向から複数回撮影することで、菓子の様々な向きでの画像を取得することができれば、カメラを固定しつつ載置部1020を移動/回転させることで、菓子の様々な向きでの画像データを取得することもできる。撮像部1010が複数のカメラを含む場合、カメラの向きを変えずに菓子の様々な向きでの画像を取得することができれば、載置部1020の移動/回転に合わせてカメラを操作することで、菓子の様々な向きでの画像を取得することもできる。
なお、載置部1020がカメラに映らないように、例えば、菓子を小型のロボットハンドや、大きさや形状が可変な穴により固定する方法が考えられる。オプションとして、画像処理により、画像データにおける背景画像の影響を消去してもよい。
図25は、適用例1における学習データを生成する方法を示すフローチャートである。図25に示すように、ステップS301において、学習依頼部710は、それと接続する学習サービス提供システム800の提供した選択画面に基づいて、選択できる学習対象と学習目標を利用者に提示し、利用者による学習対象と学習目標に関する入力を受信して依頼情報を生成する。例えば、学習対象に関する入力は、菓子の種類などを含むことができ、学習目標に関する入力は、菓子の良品と不良品の判定などを含むことができる。学習依頼部710は、生成した依頼情報を学習サービス提供システム800に送信し、該方法がステップS302へ進む。
ステップS302において、学習サービス提供システム800は、依頼情報に基づいて、学習データを生成するための要件情報を特定する。例えば、学習サービス提供システム800は、学習データデータでサーチすることで依頼情報に対応する要件情報を検索することができれば、依頼情報を要件情報を生成するためのプログラムに提供することで要件情報を生成することもできる。例として、要件情報は、例えば、学習データの種類や数又はフォーマットに関する情報、操作装置900の操作に関する情報、目標とする到達レベルに関する情報、学習方法に関する情報、学習装置に関する情報などを含むことができる。学習依頼部710は学習サービス提供システム800から該要件情報を取得する。該方法がステップS303へ進む。
ステップS303において、学習データ生成部710は、該要件情報に基づいて、操作装置900を操作し、操作装置900がカメラを操作して画像データを取得し、該方法がステップS304へ進む。ステップS304において、学習データ生成部710は、菓子を十分な向きで撮影したか否かを判断する。Yesと判断されていれば、該方法がステップS305へ進む。Noと判断されていれば、該方法がステップS303に戻り、菓子を他の向きで継続して撮影し、画像データを取得する。
ステップS305において、学習依頼部710は、利用者の入力した菓子の良否状態に関する良否情報を受信し、該良否情報と取得した画像情報を学習データとして合成し、該方法がステップS306へ進む。ステップS306において、学習データ生成部720は、学習データ取得完了条件を満たしたか否かを判定する。学習データの取得が停止していれば、該方法がステップS307へ進む。学習データ取得完了条件を満たしていなければ、該方法がステップS303に戻る。ステップS307において、学習依頼部710は、最後に合成した学習データを外部に出力し、例えば、学習サービス提供システム800に出力する。該方法が終了する。
なお、ステップS303にて画像データを取得するとき、学習データの誤りを減少するために、撮影時の背景や照明などの設定を実際の良品/不良品検査と同じになるようにすることができる。例えば、実際の生産ラインを使うことや、実際の生産ラインを模擬したものを作ることで、画像データを取得することができる。
前文でいう良否情報とは、人が目視検査により判定した良否判定結果をいう。上記方法の場合、ステップS305にて該良否情報を入力しているが、しかし、上記方法の任意の段階で該良否情報を入力することができ、良否情報と画像データとの間の関連関係を決定できればよいことは、当業者が理解できるものである。
オプションとして、利用者が、良品と不良品のタグをつけた複数の箱を予め用意し、該複数の箱にそれぞれ良品サンプルと不良品サンプルを入れるように用意してもよい。これにより、利用者が良否情報を入力する必要がなくなる。学習データ生成部720は、操作装置900に対して、良品と不良品のタグをつけた箱におけるサンプルをそれぞれ撮影するように制御して、画像データを取得することができ、該画像データを、複数の箱のタブで表される良否情報と関連づけて学習データ取得部730に提供することができる。これにより、学習データの取得を自動化することができる。
上記方法で取得する学習データの一例を表1に挙げる。この例は例示的なものに過ぎないことは、理解されるべきであり、学習データに他の情報が含まれてもよく、例えば、利用者情報などを含むことができる。
図26は、適用例1における学習結果を用いた良品/不良品の判定を示す図である。図26に示すように、カメラA、カメラBおよびカメラCを用いて菓子OBJを撮影して画像データを取得する。良品/不良品判定装置1100は、該画像データおよび学習結果をもとに、菓子OBJの良否を判定する。
なお、良品/不良品判定装置1100は、学習結果利用装置130として機能することができる。また、載置部1020’は載置部1020として機能することができる。図26に示す例において3つのカメラを撮像に用いるが、カメラの数が1つでもよいし、2つでもよく、或いは、3つを超えてもよい。1つのカメラを用いて撮影する場合、カメラ/載置部の姿勢を変えて菓子の画像を多くの方向から撮影することができる。生産ラインで菓子を搬送する場合、菓子はどのような向きで生産ラインに配置されているか分からないことがあるため、複数のカメラで様々な方向から撮影することが好適である。オプションとして、撮影した複数の画像が、菓子の外面全体を反映するようにできれば、菓子の外面における、例えば、ヒビ、割れなどの異常箇所を見逃すことが無いようにすることができる。
図27は、図26に示す良品/不良品の判定に用いる深層学習を示す図である。図27に示すように、深層学習ネットワーク1200は、入力層と、中間層と、出力層とを含む。カメラで撮影した画像データを入力データとして該深層学習ネットワーク1200の入力層に入力することができる。入力データとなる画像データは、1つのカメラで撮影した画像データであってもよいし、複数のカメラで撮影したものを合成した画像データ、例えば、菓子のパノラマ画像データであってもよい。例えば、画像データが1200*1200画素で、1画素あたりRGBが256ずつある場合、入力層は1200*1200*256*256*256画素であることができる。中間層が複数層であってもよく、深層学習技術によって画像データを分析する。出力層は異常のモードの数だけある。例えば、1番上の出力層が1を出力する場合は異常Aを示す、などのようにする。該深層学習ネットワーク1200が良品/不良品判定装置1100に含まれてもよい。
図28は、図26に示す良品/不良品の判定方法を示すフローチャートである。ステップS401において、カメラAを用いて載置部1020’上の菓子OBJを撮影し、取得した画像データを良品/不良品判定装置1100に提供し、該方法がステップS402へ進む。ステップS402において、良品/不良品判定装置1100は、画像データに基づいて検査して検査結果を得、該方法がステップS403へ進む。ステップS403において、異常であると検査されていれば、該方法がステップS404へ進む。ステップS404において、良品/不良品判定装置1100は異常を利用者に報知し、該方法が終了する。異常がないと検査されていなければ、該方法がステップS405へ進む。ステップS405において、菓子を全カメラで撮影したか否かを判定する。菓子を全カメラで撮影していれば、該方法が終了する。菓子を全カメラで撮影していなければ、該方法がステップS401に戻り、次のカメラで菓子を継続して撮影する。
該方法において、それぞれのカメラで撮影した画像について検査を行うため、1つでも異常を含む画像データを撮像した場合は、異常を報知するようになり、後のカメラによる撮影作業又は後のカメラで撮影した画像の検査作業が省け、操作処理を簡略化する。そして、菓子の一部のみに異常がある場合に、菓子の配置の方向がランダムであっても、上記方法による繰り返し検査によって検査漏れがないように菓子の異常を検出することができる。
(適用例2)
適用例2において、利用者は、機械(例えば、クライアント)が電子ファイルを自動的に分類する能力を獲得することを望んでいる。所定の分類規則に基づいて、各種の電子ファイルをその内容に応じて分類する能力を獲得するための学習を、サーバ側で行うことができる。以下、図29を結合して、適用例2における学習データを生成する方法について説明する。
図29は、適用例2における学習データを生成する方法を示すフローチャートである。なお、この適用例において、クライアントは学習依頼システム100として機能することができ、サーバは学習サービス提供システム200として機能することができる。
図29に示すように、ステップS501において、サーバに接続されるクライアントは、学習を依頼するための依頼情報を受信する。依頼情報は、例えば、分類したい電子ファイルに関する情報と、獲得したいこれらの電子ファイルを自動的に分類する能力に関する情報とを含むことができ、クライアントはこれらの情報をサーバに送信し、該方法がステップS502へ進む。
ステップS502において、サーバは依頼情報に基づいて、学習データを生成するための要件情報を特定する。具体的には、サンプルデータとその分類名を登録する方法を説明する情報が要件情報に含まれてもよく、サンプルデータは、例えば、教師データとテスト用データを含むことができる。該要件情報がクライアントに提供され、該方法がステップS503へ進む。ステップS503において、利用者は、要件情報に案内されて、分類済みの電子ファイルの分類情報と他の情報を含むデータであるサンプルデータを登録し、該方法がステップS504へ進む。ステップS504において、要件情報に含まれる完了情報に案内されて、利用者はサンプルデータを登録することを終了する。クライアントは、要件情報とサンプルデータに基づいて、学習データを生成し、サーバに送信して学習とテストを自動的に行わせ、該方法が終了する。
上記方法において、学習データ作成マニュアルに、予めサンプルデータとその分類名を登録する方法を説明する情報を記録することができ、利用者は、該学習データ作成マニュアルにそって、サンプルデータの登録を行うことができる。この場合、ステップS503をステップS502の後に実行しなくてもよく、例えば、ステップS502の前に実行するか、ステップS502と同期して実行してもよい。
該方法によれば、利用者は、どのような学習データをどの程度準備してサンプルデータの登録を行わればよいかを把握することができ、利用者の操作を簡素化し、利用者の負担を軽減することができる。
該方法によれば、利用者は、学習データが充分であるか否かを判定する必要がないとともに、学習データが不充分な場合でも学習の追加を必要としないため、学習データ不足によるAIの学習が終わらず、クライアントリソース及びサーバリソースが無駄に占有されることを回避することができ、演算リソースを節約することができる。また、クライアントとサーバとの間の通信負荷を軽減することもできる。
オプションとして、ステップS502にて、クライアントでドラッグアンドドロップなどのシンプルな操作で各分類の電子ファイルを登録するためのプログラムを、要件情報に含めてもよく、これにより、利用者は登録作業の一部を自動化でき、利用者の操作をさらに簡素化することができる。
オプションとして、ステップS502にて、分類済みの教師データを登録したデータベースの検索情報を含むプログラムを、要件情報に含めてもよく、これにより、登録作業の大半又は全てを自動化でき、利用者の操作をさらに簡素化することができる。この場合、ステップS503を省略してもよい。
(適用例3)
適用例3において、利用者は、機械(例えば、生産ラインにおける検査装置)が農産物を自動的にランク分けする能力を獲得することを望んでいる。所定のランク分け規則に基づいて、各種の農産物をその具体的な状況に応じてランク付けする能力を獲得するための学習を、サーバ側で行うことができる。以下、図30を結合して、適用例3における学習データを生成する方法について説明する。
図30は、適用例3における学習データを生成する方法を示すフローチャートである。図30に示すように、ステップS601において、サーバに接続されるクライアントは、学習を依頼するための依頼情報を受信する。依頼情報は、例えば、ランク付けしたい農産物に関する情報と、獲得したいこれらの農産物を自動的にランク付けする能力に関する情報とを含むことができ、検査装置はこれらの情報をサーバに送信し、該方法がステップS602へ進む。
ステップS602において、サーバは依頼情報に基づいて、学習データを生成するための要件情報を特定する。例えば、要件情報は以下のものを含むことができる。
● データ入力装置の情報
データ入力装置の種類(例えば、カメラ、センサ、自動計量器など)
データ入力装置の機種(例えば、メーカ名、型式、シリアル番号など)
データ入力装置の制御方法(例えば、制御プログラム、制御パラメータなど)
入力データの種類(例えば、画像、重量など)
入力データの種類(例えば、画像の解像度やデプス情報、重量の単位や精度情報など)
● 学習対象の情報(例えば、農産物の収穫日や収穫場所、収穫作業者など)
該要件情報が検査装置に提供され、該方法がステップS603へ進む。ステップS603において、利用者は、要件情報に案内されて、ランク付け済みの農産物のランク付け情報と他の情報を含むデータである教師データを検査装置に入力し、該方法がステップS604へ進む。ステップS604において、要件情報に含まれる完了情報に案内されて、利用者は教師データを入力することを終了する。検査装置は、要件情報と教師データに基づいて、学習データを生成し、サーバに送信して学習とテストを自動的に行わせ、該方法が終了する。
上記方法において、学習データ作成マニュアルに、予め教師データを入力する方法を説明する情報を記録することができ、利用者は、該学習データ作成マニュアルにそって、サンプルデータの登録を行うことができる。この場合、利用者は、農産物の自動的なランク付けに関する学習方法の内容を把握してなくても、学習データを用意することができる。そして、この場合、ステップS603をステップS602の後に実行しなくてもよく、例えば、ステップS602の前に実行するか、ステップS602と同期して実行してもよい。
また、上記学習対象の情報を、サーバの自動学習のために、学習データの付帯情報として学習データベースに記録してもよい。
上記方法によれば、カメラと自動計量器のような制御プログラムなどの情報を、要件情報に含めることができ、教師データの入力作業を自動化することができる。
本発明は、上述した適用例1乃至適用例3の応用分野以外にも、幅広い分野に応用することができる。例えば、深層学習技術を活用する多様な分野において、本発明は、人に匹敵する分類能力や人の識別能力を超える分類を実現するようなケースに対応できる。
例えば、自動車の操作部品や自動車パネルを塗装する生産ラインで、塗装の塗りむらの不良を検出する場合、生産ラインにおける検査装置は分類能力が求められる。製品の塗りむらの許容範囲は車両の購入者の判断によるため、人の感性に近い分類を行う必要がある。特に塗装面に細かい凹凸がある場合や、塗料が単色ではなく部分的なグラデーションを持つ場合には、単純な方法では分類が困難である。
本発明による学習データを生成するための処理方法を用いて、例えば、塗装装置、塗装対象、塗装環境パラメータ、検査装置、検査プログラム、作業者などに関する情報を、学習データを生成するための要件情報に含めることができ、学習データの生成作業を自動化又は半自動化することができ、これにより、人の作業の複雑さを大幅に低減し、処理効率を向上させ、誤りの発生を低減する。
上述したように、本発明は、所望の高度の能力(分類する能力、予測する能力、意思決定する能力など)を獲得することが求められる様々な分野に応用できる。そして、本発明を応用して能力を獲得するために用いる学習技術は、深層学習技術に限らず、任意の機械学習技術を利用できる、以下は、本発明が応用できる様々な分野の例である。これらの例は例示的なものに過ぎず、本発明が応用される分野を限定していない。
● 食品薬品、機械部品、化学製品などのさまざまな工業分野に応用することができる。
● 漁業分野や農業分野、林業分野などで、出荷検査や等級分類に応用することができる。
● サービス業に応用することができる。
● 医療や健康分野に応用することができる。
● 組込分野の製品にAI技術を適用するときに応用することができる。
● 社会システムに応用することができる。
● IT技術を活用したシステムに応用することができる。
● ビッグデータの分析で、データの効果的な取得に応用することができる
● 幅広い制御装置における制御能力の獲得で応用することができる
● その他、機械学習を必要とする任意の分野に応用することができる。
本発明の上記実施形態で説明した技術的内容を他の方式で実現できることは、理解されるべきである。上述した各システムや各装置、各部分は、あくまでも概要的なものである。例えば、システムや装置、部分の分類は、論理的な機能によって分類したものに過ぎず、実現時に他の分類方式を用いてもよい。例えば、1つ又は複数のシステムや装置、部分を組合せたり、他のシステムや装置、部分に集積したりすることができ、或いは、いくつかの特徴を省略するか実行しなくてもよい。また、本発明の図面で示すシステムや装置、部分の間での接続は、間接接続又は直接接続によって実現されることができ、電気に又は他の形で実現されることができる。
上記実施形態にて分離した部材として説明したシステムや装置、部分は、物理的に分離したものであってもよいし、物理的に分離したものでなくてもよく、システムや装置、部分として説明した部材は、物理的ユニットであってもよいし、物理的ユニットでなくてもよく、つまり、同一場所に配置されてもよいし、複数のネットワークユニットに分布されてもよい。実際のニーズに応じて、その一部または全てのユニットにより本実施形態の目的を達成することができる。
また、本発明の各実施形態における各機能ユニットは、1つの処理ユニットに集積されてもよいし、それぞれの機能ユニットごとに物理的に存在してもよく、或いは、複数の機能ユニットが1つの処理ユニットに集積されてもよい。上記処理ユニットは、ハードウェアの形で実現されてもよいし、ソフトウェアユニットの形で実現されてもよい。
上記処理ユニットは、ソフトウェアユニットの形で実現されながら独立した製品として販売または使用される場合、コンピュータ読み取り可能な記憶媒体に記憶されることができる。このように理解すれば、本発明の技術案は、本質的には、従来技術に貢献する部分、或いは、該技術案の全部または一部をソフトウェア製品の形で表現することができ、該コンピュータソフトウェア製品は、コンピュータ機器(パソコン、サーバまたはネットワーク機器等であってもよい)に本発明の各実施形態に記載の方法の全てまたは一部を実行させるための若干の命令を含む記憶媒体に記憶される。上記記憶媒体は、Uディスク、リードオンリーメモリ(ROM、Read−Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、ポータブルハードディスク、磁気ディスクまたは光ディスク等、様々なプログラムのコードを記憶可能な媒体を含む。
以上、本発明の好適な実施形態のみについて説明したが、当業者であれば、本発明の原則から逸脱しない前提において若干の手直しや増減が可能であることは指摘されるべきである。これら手直しや増減も、本発明の保護範囲内に含まれるべきである。
尚、本技術は、以下のような構成も取ることができる。
(1)
少なくとも1つのハードウェアプロセッサにより、学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、
少なくとも1つのハードウェアプロセッサにより、前記要件情報を、前記学習データを生成する装置に送信するステップと、
を含むことを特徴とする学習データを生成するための処理方法。
(2)
少なくとも1つのハードウェアプロセッサにより、学習を依頼するための依頼情報を受信するステップと、
前記少なくとも1つのハードウェアプロセッサにより、前記依頼情報を、前記学習データを生成するための要件情報を提供する装置に送信するステップと、
前記少なくとも1つのハードウェアプロセッサにより、前記装置から前記要件情報を受信するステップと、
前記少なくとも1つのハードウェアプロセッサにより、前記要件情報に基づいて、前記学習データを生成するステップと、
を含むことを特徴とする学習データを生成するための方法。
(3)
少なくとも1つのハードウェアプロセッサを備えた、学習データを生成するための処理システムであって、
前記ハードウェアプロセッサは、
学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、
前記要件情報を、前記学習データを生成する装置に送信する
ことを特徴とする処理システム。
(4)
少なくとも1つのハードウェアプロセッサを備えた、学習データを生成するためのシステムであって、
前記少なくとも1つのハードウェアプロセッサは、
学習を依頼するための依頼情報を受信し、
前記依頼情報を、前記学習データを生成するための要件情報を提供する装置に送信し、
前記装置から前記要件情報を受信し、
前記要件情報に基づいて、前記学習データを生成する
ことを特徴とするシステム。
100、700 学習依頼システム
110 学習依頼装置
111 学習依頼制御部
112 利用者対話部
113 依頼情報記憶部
114、1215、138、145、214、225、414、660 通信部
120 学習データ生成システム
121 学習データ生成管理装置
1211 学習データ生成管理部
1212 学習データ取得装置設定部
1213 対象操作装置設定部
1214 学習データ取得要件情報記憶部
122 学習データ記憶部
123 対象情報入力部
124 対象操作部
125 入出力部
130、130’ 学習結果利用装置
131 制御部
132 ニューラルネットワーク設定部
133 ニューラルネットワーク
134 学習結果入力部
135 学習データ入力部
136 学習データ取得部
137 出力部
140、140’ 学習データ取得装置
141 学習データ取得制御部
142 操作部
143 学習データ取得部
144 学習データ記憶部
200、200’、200”、800 学習サービス提供システム
210 学習依頼受付装置
211 学▲シー▼委托受理部
212 学▲シー▼数据存▲チュ▼部
213 委托信息存▲チュ▼部
220 学習装置
221 学習制御部
222 学習結果抽出部
223 ニューラルネットワーク
224 学習結果出力部
230 学習データベース装置
231 学習データデータベース
232 依頼情報データベース
233 学習結果利用履歴データベース
234 要件情報データベース
235 学習プログラムデータベース
310 インターネット
320 ローカルエリアネットワーク
330 無線ローカルエリアネットワーク
410、410’、410” 対象操作装置
411 対象操作制御部
412 対象操作動作決定部
413 アクチュエータ
600、1101、1301、1301’、1401、1401’、2001、4101 PC
610 CPU
620 リードオンリーメモリ
630 ランダムアクセスメモリ
640 記憶部
650 入出力部
1102、1302 利用者入力部
1104、1304 モニタ
1105、1305 キーボード
1106、1306 マウス
1303、1303’、1403、1403’ 学習データ入力部
2002 サーバラック
2003 ブレードサーバ
4102 アクチュエータ
4103 対象制御装置
4105 ロボット
710 学習依頼部
720 学習データ生成部
730 学習データ取得部
900 操作装置
1010 撮像部
1020 載置部
110 学習依頼装置
111 学習依頼制御部
112 利用者対話部
113 依頼情報記憶部
114、1215、138、145、214、225、414、660 通信部
120 学習データ生成システム
121 学習データ生成管理装置
1211 学習データ生成管理部
1212 学習データ取得装置設定部
1213 対象操作装置設定部
1214 学習データ取得要件情報記憶部
122 学習データ記憶部
123 対象情報入力部
124 対象操作部
125 入出力部
130、130’ 学習結果利用装置
131 制御部
132 ニューラルネットワーク設定部
133 ニューラルネットワーク
134 学習結果入力部
135 学習データ入力部
136 学習データ取得部
137 出力部
140、140’ 学習データ取得装置
141 学習データ取得制御部
142 操作部
143 学習データ取得部
144 学習データ記憶部
200、200’、200”、800 学習サービス提供システム
210 学習依頼受付装置
211 学▲シー▼委托受理部
212 学▲シー▼数据存▲チュ▼部
213 委托信息存▲チュ▼部
220 学習装置
221 学習制御部
222 学習結果抽出部
223 ニューラルネットワーク
224 学習結果出力部
230 学習データベース装置
231 学習データデータベース
232 依頼情報データベース
233 学習結果利用履歴データベース
234 要件情報データベース
235 学習プログラムデータベース
310 インターネット
320 ローカルエリアネットワーク
330 無線ローカルエリアネットワーク
410、410’、410” 対象操作装置
411 対象操作制御部
412 対象操作動作決定部
413 アクチュエータ
600、1101、1301、1301’、1401、1401’、2001、4101 PC
610 CPU
620 リードオンリーメモリ
630 ランダムアクセスメモリ
640 記憶部
650 入出力部
1102、1302 利用者入力部
1104、1304 モニタ
1105、1305 キーボード
1106、1306 マウス
1303、1303’、1403、1403’ 学習データ入力部
2002 サーバラック
2003 ブレードサーバ
4102 アクチュエータ
4103 対象制御装置
4105 ロボット
710 学習依頼部
720 学習データ生成部
730 学習データ取得部
900 操作装置
1010 撮像部
1020 載置部
Claims (41)
- 学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、
前記要件情報を、前記学習データを生成する装置に送信するステップと、
を含むことを特徴とする学習データを生成するための処理方法。 - 前記依頼情報は、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含む
請求項1に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に含まれる前記学習目標の情報を取得するステップと、
前記学習目標の情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定するステップと、を含む
請求項2に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に含まれる前記学習対象の情報を取得するステップと、
前記学習対象の情報に対応する要件情報を特定するステップと、を含む
請求項2に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記学習対象の少なくとも1つの状態に関する情報を取得するステップと、
前記学習対象の状態ごとに対応する要件情報を特定するか、前記学習対象の状態変換に対応する要件情報を特定するステップと、を含む
請求項2に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習データに関して、前記学習データのフォーマット情報、前記学習データの内訳情報、前記学習データの範囲情報、前記学習データの前処理方法情報、前記学習データの取得手段情報、及び前記学習データの識別情報のうち少なくとも一方を含むデータ情報を特定するステップ、を含む
請求項2に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習対象に関して、前記学習対象の種類、前記学習対象の状態、前記学習対象の状態制御情報、及び前記学習対象の状態制御プログラムのうち少なくとも一方を含む対象情報を特定するステップ、を含む
請求項2に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、前記学習対象についてデータ取得及び/又は操作を行う操作対象に関して、前記操作対象の種類、前記操作対象のハードウェア構成、前記操作対象の制御データ、及び前記操作対象の制御プログラムのうち少なくとも一方を含む設定情報を特定するステップ、を含む
請求項2に記載の処理方法。 - 前記学習データを生成するための前記要件情報を特定するステップは、
前記依頼情報に基づいて、データベースから前記要件情報を取得するステップ、或いは、
前記依頼情報に基づいて、前記要件情報を生成するステップ、を含む
請求項1に記載の処理方法。 - 前記要件情報を特定した後、前記依頼情報における少なくとも一部の情報と前記要件情報との対応関係を記憶するステップ、をさらに含む
請求項1乃至9のうち何れか一項に記載の処理方法。 - 前記装置から、前記要件情報に基づく学習を行って得られた前記学習データを取得するステップ、をさらに含む
請求項1乃至9のうち何れか一項に記載の処理方法。 - 前記依頼情報と前記学習データを用いた学習が行われた学習結果を得るステップと、
前記学習結果を、前記学習結果による対象分析を行う装置に送信するステップと、をさらに含む
請求項1乃至11に記載の処理方法。 - 学習を依頼するための依頼情報を受信するステップと、
前記依頼情報を、学習データを生成するための要件情報を提供する装置に送信するステップと、
前記装置から前記要件情報を受信するステップと、
前記要件情報に基づいて前記学習データを生成するステップと、
を含むことを特徴とする学習データを生成する方法。 - 前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含む
請求項13に記載の方法。 - 前記要件情報に基づいて前記学習データを生成するステップは、
前記学習目標の情報に対応する前記要件情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定するステップと、
前記種類及び/又は前記数のデータを生成して前記学習データの少なくとも一部とするステップと、を含む
請求項14に記載の方法。 - 前記要件情報に基づいて前記学習データを生成するステップは、
前記学習対象の情報に対応する前記要件情報に基づいて、前記学習対象及び/又は前記学習対象についてデータ取得及び/又は操作を行う操作対象を構成するステップと、
前記構成に基づいてデータを生成して前記学習データの少なくとも一部とするステップと、を含む
請求項14に記載の方法。 - 前記要件情報に基づいて前記学習データを生成するステップは、
前記学習対象の少なくとも1つの状態に関する情報に対応する前記要件情報に基づいて、前記学習対象の状態を設定するステップと、
それぞれの状態ごとの前記学習対象についてデータを生成して前記学習データの少なくとも一部とするステップと、を含む
請求項14に記載の方法。 - 前記要件情報に基づいて前記学習データを生成するステップは、
生成した前記データを、前記処理能力を反映する教師データと関連づけて記憶するステップ、をさらに含む
請求項14乃至17のうち何れか一項に記載の方法。 - 前記学習データに基づく学習を行って得られた学習結果を受信するステップと、
前記学習結果を利用して対象分析を行うステップと、をさらに含む
請求項13乃至17のうち何れか一項に記載の方法。 - 学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定する要件情報特定部と、
前記要件情報を、前記学習データを生成する装置に送信する学習データ送信部と、
を備えることを特徴とする学習データを生成するための処理システム。 - 前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含む
請求項20に記載のシステム。 - 前記要件情報特定部は、
前記依頼情報に含まれる前記学習目標の情報を取得し、
前記学習目標の情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定する
請求項21に記載のシステム。 - 前記要件情報特定部は、
前記依頼情報に含まれる前記学習対象の情報を取得し、
前記学習対象の情報に対応する要件情報を特定する
請求項21に記載のシステム。 - 前記要件情報特定部は、
前記学習対象の少なくとも1つの状態に関する情報を取得し、
前記学習対象の状態ごとに対応する要件情報を特定するか、前記学習対象の状態変換に対応する要件情報を特定する
請求項21に記載のシステム。 - 前記要件情報特定部は、
前記依頼情報に基づいて、前記学習データに関して、前記学習データのフォーマット情報、前記学習データの内訳情報、前記学習データの範囲情報、前記学習データの前処理方法情報、前記学習データの取得手段情報、及び前記学習データの識別情報のうち少なくとも一方を含むデータ情報を特定する
請求項21に記載のシステム。 - 前記要件情報特定部は、
前記依頼情報に基づいて、前記学習対象に関して、前記学習対象の種類、前記学習対象の状態、前記学習対象の状態制御情報、及び前記学習対象の状態制御プログラムのうち少なくとも一方を含む対象情報を特定する
請求項21に記載のシステム。 - 前記要件情報特定部は、
前記依頼情報に基づいて、前記学習対象についてデータ取得及び/又は操作を行う操作対象に関して、前記操作対象の種類、前記操作対象のハードウェア構成、前記操作対象の制御データ、及び前記操作対象の制御プログラムのうち少なくとも一方を含む設定情報を特定する
請求項21に記載のシステム。 - 前記要件情報特定部は、
前記依頼情報に基づいて、データベースから前記要件情報を取得し、或いは、
前記依頼情報に基づいて、前記要件情報を生成する
請求項20に記載のシステム。 - 前記要件情報を特定した後、前記依頼情報における少なくとも一部の情報と前記要件情報との対応関係を記憶する記憶部、をさらに備える
請求項20乃至28のうち何れか一項に記載のシステム。 - 前記装置から、前記要件情報に基づく学習を行って得られた前記学習データを取得する学習データ取得部、をさらに備える
請求項20乃至28のうち何れか一項に記載のシステム。 - 前記依頼情報と前記学習データを用いた学習を行うことで、学習結果を取得する学習部と、
前記学習結果を、前記学習結果による対象分析を行う装置に送信する学習結果送信部と、をさらに備える
請求項20乃至30のうち何れか一項に記載のシステム。 - 学習を依頼するための依頼情報を受信する依頼情報受信部と、
前記依頼情報を、学習データを生成するための要件情報を提供する装置に送信する依頼情報送信部と、
前記装置から前記要件情報を受信する要件情報受信部と、
前記要件情報に基づいて前記学習データを生成する学習データ生成部と、
を備えることを特徴とする学習データを生成するシステム。 - 前記依頼情報が、前記学習データに基づく学習が行われる対象である学習対象の情報と、獲得が必要となる前記学習対象に対する処理能力を示す学習目標の情報と、を含む
請求項32に記載のシステム。 - 前記学習データ生成部は、
前記学習目標の情報に対応する前記要件情報に基づいて、前記学習データの種類と数のうち少なくとも一方を特定し、
前記種類及び/又は前記数のデータを生成して前記学習データの少なくとも一部とする
請求項33に記載のシステム。 - 前記学習データ生成部は、
前記学習対象の情報に対応する前記要件情報に基づいて、前記学習対象及び/又は前記前記学習対象についてデータ取得及び/又は操作を行う操作対象を構成し、
前記構成に基づいてデータを生成して前記学習データの少なくとも一部とする
請求項33に記載のシステム。 - 前記学習データ生成部は、
前記学習対象の少なくとも1つの状態に関する情報に対応する前記要件情報に基づいて、前記学習対象の状態を設定し、
それぞれの状態ごとの前記学習対象についてデータを生成して前記学習データの少なくとも一部とする
請求項33に記載のシステム。 - 生成した前記データを、前記処理能力を反映する教師データと関連づけて記憶する学習データ記憶部、をさらに備える
請求項33乃至36のうち何れか一項に記載のシステム。 - 前記学習データに基づく学習を行って得られた学習結果を受信する学習結果受信部と、
前記学習結果を利用して対象分析を行う学習結果利用部と、をさらに備える
請求項32乃至36のうち何れか一項に記載のシステム。 - プログラムを記憶する記憶装置と、プロセッサと、を備え、
前記プロセッサは、前記プログラムに基づいて、
学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定し、前記要件情報を、前記学習データを生成する装置に送信する、操作を実行する
ことを特徴とするサーバ。 - プロセッサに、
学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、
前記要件情報を、前記学習データを生成する装置に送信するステップと、
を実行させることを特徴とするプログラム。 - 学習を依頼するための依頼情報に基づいて、学習データを生成するための要件情報を特定するステップと、
前記要件情報を、前記学習データを生成する装置に送信するステップと、
を実現するためのプログラムを記憶することを特徴とする記憶媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2017/051078 WO2018154360A1 (ja) | 2017-02-24 | 2017-02-24 | 学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステム |
CN201780080936.1A CN110291539A (zh) | 2017-02-24 | 2017-02-24 | 用于生成学习数据的处理方法、系统、程序和存储介质、以及生成学习数据的方法和系统 |
EP17897735.1A EP3588393A4 (en) | 2017-02-24 | 2017-02-24 | PROCESSING METHOD, PROGRAM AND STORAGE MEDIUM FOR GENERATING LEARNING DATA, AND METHOD AND SYSTEM FOR GENERATING LEARNING DATA |
US16/548,885 US11615269B2 (en) | 2017-02-24 | 2019-08-23 | Processing method, system, program, and storage medium for generating learning data, and learning data generation method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2017/051078 WO2018154360A1 (ja) | 2017-02-24 | 2017-02-24 | 学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/548,885 Continuation US11615269B2 (en) | 2017-02-24 | 2019-08-23 | Processing method, system, program, and storage medium for generating learning data, and learning data generation method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018154360A1 true WO2018154360A1 (ja) | 2018-08-30 |
Family
ID=63253126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2017/051078 WO2018154360A1 (ja) | 2017-02-24 | 2017-02-24 | 学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11615269B2 (ja) |
EP (1) | EP3588393A4 (ja) |
CN (1) | CN110291539A (ja) |
WO (1) | WO2018154360A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113168137A (zh) * | 2018-12-12 | 2021-07-23 | 日本电信电话株式会社 | 多设备协同控制装置、多设备协同控制方法及多设备协同控制程序,以及学习装置、学习方法及学习程序 |
JP7171520B2 (ja) * | 2019-07-09 | 2022-11-15 | 株式会社日立製作所 | 機械学習システム |
US11592984B2 (en) * | 2020-09-11 | 2023-02-28 | Seagate Technology Llc | Onboard machine learning for storage device |
US11748251B2 (en) * | 2021-01-08 | 2023-09-05 | Microsoft Technology Licensing, Llc | Storing tensors in memory based on depth |
US11790651B2 (en) * | 2021-06-29 | 2023-10-17 | 7-Eleven, Inc. | System and method for capturing images for training of an item identification model |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0652250A (ja) * | 1992-07-31 | 1994-02-25 | Omron Corp | 機能自動生成装置 |
JP2007279887A (ja) * | 2006-04-04 | 2007-10-25 | Nippon Telegr & Teleph Corp <Ntt> | 特異パターン検出システム、モデル学習装置、特異パターン検出装置、特異パターン検出方法、及び、コンピュータプログラム |
JP2008040683A (ja) * | 2006-08-03 | 2008-02-21 | Matsushita Electric Works Ltd | 信号識別方法及び信号識別装置 |
JP2012101320A (ja) * | 2010-11-10 | 2012-05-31 | Canon Inc | 画像生成装置、画像生成方法、およびプログラム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040162724A1 (en) | 2003-02-11 | 2004-08-19 | Jeffrey Hill | Management of conversations |
US7606714B2 (en) | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
JP2006091734A (ja) * | 2004-09-27 | 2006-04-06 | Nec Corp | 学習方式、学習システム、学習方法、および学習プログラム |
JP5791751B2 (ja) * | 2009-06-18 | 2015-10-07 | キヤノン株式会社 | 画像認識方法及び画像認識装置 |
EP2539861A4 (en) * | 2010-02-24 | 2013-08-07 | Univ Columbia | METRIC MONITORING AND FINANCIAL VALIDATION SYSTEM FOR PURSUIT OF PERFORMANCE IN IMPROVING INFRASTRUCTURE |
US8713037B2 (en) * | 2011-06-30 | 2014-04-29 | Xerox Corporation | Translation system adapted for query translation via a reranking framework |
US8725662B2 (en) * | 2011-09-21 | 2014-05-13 | Brain Corporation | Apparatus and method for partial evaluation of synaptic updates based on system events |
US9143563B2 (en) * | 2011-11-11 | 2015-09-22 | Rockwell Automation Technologies, Inc. | Integrated and scalable architecture for accessing and delivering data |
CN102663495B (zh) * | 2012-02-22 | 2014-12-10 | 天津大学 | 一种用于非线性器件建模的神经网络数据生成方法 |
US8892419B2 (en) * | 2012-04-10 | 2014-11-18 | Artificial Solutions Iberia SL | System and methods for semiautomatic generation and tuning of natural language interaction applications |
CN102929930A (zh) * | 2012-09-24 | 2013-02-13 | 南京大学 | 小样本自动化Web文本数据抽取模板生成与抽取方法 |
CN105593901B (zh) * | 2013-06-28 | 2020-06-12 | 日本电气株式会社 | 训练数据生成设备、方法和程序以及人群状态识别设备、方法和程序 |
CN104980559B (zh) * | 2014-04-02 | 2022-01-11 | 华为技术有限公司 | 一种设置彩铃、彩铃音乐确定方法及装置 |
US9978362B2 (en) * | 2014-09-02 | 2018-05-22 | Microsoft Technology Licensing, Llc | Facet recommendations from sentiment-bearing content |
EP3113037B1 (en) * | 2015-07-03 | 2019-01-02 | Sap Se | Adaptive adjustment of network responses to client requests in digital networks |
US10515308B2 (en) * | 2015-10-30 | 2019-12-24 | Global Design Corporation Ltd. | System, method and cloud-based platform for predicting energy consumption |
EP3173991A1 (en) * | 2015-11-30 | 2017-05-31 | Siemens Aktiengesellschaft | Method and apparatus for automatic recognizing similarities between perturbations in a network |
US10713591B2 (en) * | 2016-07-29 | 2020-07-14 | Cisco Technology, Inc. | Adaptive metric pruning |
EP3533004B1 (en) * | 2016-10-26 | 2020-07-29 | Swiss Reinsurance Company Ltd. | Data extraction engine for structured, semi-structured and unstructured data with automated labeling and classification of data patterns or data elements therein, and corresponding method thereof |
US10366502B1 (en) * | 2016-12-09 | 2019-07-30 | Waymo Llc | Vehicle heading prediction neural network |
US10602523B2 (en) * | 2016-12-22 | 2020-03-24 | Verizon Patent And Licensing Inc. | Allocation of network resources based on antenna information and/or device type information |
CN106780089B (zh) * | 2016-12-27 | 2020-10-16 | 广州蓝图地理信息技术有限公司 | 基于神经网络元胞自动机模型的永久性基本农田划定方法 |
-
2017
- 2017-02-24 WO PCT/IB2017/051078 patent/WO2018154360A1/ja unknown
- 2017-02-24 EP EP17897735.1A patent/EP3588393A4/en not_active Withdrawn
- 2017-02-24 CN CN201780080936.1A patent/CN110291539A/zh active Pending
-
2019
- 2019-08-23 US US16/548,885 patent/US11615269B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0652250A (ja) * | 1992-07-31 | 1994-02-25 | Omron Corp | 機能自動生成装置 |
JP2007279887A (ja) * | 2006-04-04 | 2007-10-25 | Nippon Telegr & Teleph Corp <Ntt> | 特異パターン検出システム、モデル学習装置、特異パターン検出装置、特異パターン検出方法、及び、コンピュータプログラム |
JP2008040683A (ja) * | 2006-08-03 | 2008-02-21 | Matsushita Electric Works Ltd | 信号識別方法及び信号識別装置 |
JP2012101320A (ja) * | 2010-11-10 | 2012-05-31 | Canon Inc | 画像生成装置、画像生成方法、およびプログラム |
Non-Patent Citations (1)
Title |
---|
See also references of EP3588393A4 * |
Also Published As
Publication number | Publication date |
---|---|
CN110291539A (zh) | 2019-09-27 |
EP3588393A1 (en) | 2020-01-01 |
US20190377982A1 (en) | 2019-12-12 |
EP3588393A4 (en) | 2020-05-27 |
US11615269B2 (en) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018154360A1 (ja) | 学習データを生成するための処理方法、システム、プログラムおよび記憶媒体、並びに学習データを生成する方法およびシステム | |
US20220286512A1 (en) | Server device, learned model providing program, learned model providing method, and learned model providing system | |
US10168690B2 (en) | Methods and systems for multirobotic management | |
US11907341B2 (en) | Diagnostic assistance system and method therefor | |
Zhou et al. | CropQuant: an automated and scalable field phenotyping platform for crop monitoring and trait measurements to facilitate breeding and digital agriculture | |
US10248981B1 (en) | Platform and acquisition system for generating and maintaining digital product visuals | |
CN110320158A (zh) | 移动化学分析 | |
JP6986597B2 (ja) | サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム | |
WO2021066796A1 (en) | Modeling human behavior in work environments using neural networks | |
JP2015513331A (ja) | ルールベースのコンテンツ最適化のためのシステム及び方法 | |
Sun et al. | [Retracted] Research on Machine Vision System Design Based on Deep Learning Neural Network | |
JP2023164584A (ja) | 情報処理装置及び情報処理方法、並びに情報処理システム | |
JP2015512074A (ja) | ルールベースのコンテンツ生成のためのシステム及び方法 | |
WO2024088031A1 (zh) | 一种数据采集方法、装置及相关设备 | |
Grijalva et al. | Detecting and counting sorghum aphid alates using smart computer vision models | |
Arora et al. | SNRLM: a cyber-physical based stepwise noise removal and learning model for automated quality assurance | |
Moorthi et al. | FASALSoft–An ISRO software framework for crop production forecast using remote sensing data analysis | |
US20240242336A1 (en) | System and method for performing quality assurance of different manufacturing products | |
Andrianto et al. | Future Research on Smart Farming Platforms | |
JP7233521B2 (ja) | 検査システム及び検査方法 | |
Kale et al. | Hymuds: A hybrid multimodal data acquisition system | |
Dhimal | Automated height measurements of trucks using computer vision and AI: Design and implementation with Human AI interface | |
Mendoza et al. | Application of Machine Learning for Insect Monitoring in Grain Facilities. AI 2023, 4, 348–360 | |
KR20220030113A (ko) | 시료 불량 분석 시스템 및 시료 불량 분석 방법 | |
Lau et al. | Advanced Multi-Variate Time Series Analytic Techniques (Attends) |
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: 17897735 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017897735 Country of ref document: EP Effective date: 20190924 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |