WO2020158217A1 - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

Publication number
WO2020158217A1
WO2020158217A1 PCT/JP2019/049300 JP2019049300W WO2020158217A1 WO 2020158217 A1 WO2020158217 A1 WO 2020158217A1 JP 2019049300 W JP2019049300 W JP 2019049300W WO 2020158217 A1 WO2020158217 A1 WO 2020158217A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
information processing
information
processing apparatus
data
Prior art date
Application number
PCT/JP2019/049300
Other languages
French (fr)
Japanese (ja)
Inventor
井手 直紀
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2020158217A1 publication Critical patent/WO2020158217A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and an information processing program.
  • the network structure related to the neural network according to the environment is searched.
  • the conventional technology is not always able to appropriately determine the method of supplying machine learning data according to the learning method.
  • the method for supplying network-generated data differs depending on each learning method such as supervised learning and unsupervised learning, it is only necessary to search the network structure according to the environment to supply the data according to the learning method. It is difficult to deal with. Therefore, there is also a problem that the convenience of the user is not high because, for example, a user who desires to generate a network sets parameters used at the time of learning according to a learning method.
  • the present disclosure proposes an information processing device, an information processing method, and an information processing program capable of appropriately determining a machine learning data supply method according to a learning method.
  • an information processing device is based on an acquisition unit that acquires method information indicating a learning method related to machine learning, and the method information acquired by the acquisition unit. And a determining unit that determines a method of supplying the machine learning data.
  • 5 is a flowchart showing a procedure of information processing according to the embodiment of the present disclosure.
  • 8 is a flowchart showing learning such as supervised learning according to the present disclosure. It is a figure which shows an example of the data set of supervised learning concerning this indication. It is a figure showing an example of a data set of unsupervised learning concerning this indication. It is a figure showing an example of a mini-batch of semi-teacher learning concerning this indication.
  • FIG. 9 is a flowchart showing learning of metric learning according to the present disclosure. It is a figure which shows another example of the network configuration of the metric learning which concerns on this indication. It is a figure which shows another example of the mini-batch of the metric learning which concerns on this indication. It is a figure which shows another example of the input screen of the metric learning which concerns on this indication. 9 is a flowchart showing another learning of metric learning according to the present disclosure.
  • FIG. 8 is a flowchart showing learning in the case of hard negative mining according to the present disclosure. It is a figure which shows an example of the network structure of the meta learning which concerns on this indication. It is a figure which shows an example of the mini-batch of the meta learning which concerns on this indication. It is a figure which shows an example of the input screen of the meta learning which concerns on this indication. 9 is a flowchart illustrating learning of meta learning according to the present disclosure. It is a figure which shows an example of the input screen of the transfer learning which concerns on this indication. It is a figure which shows an example of the network design screen of the transfer learning which concerns on this indication. It is a figure which shows the structural example of the information processing system which concerns on the modification of this indication.
  • Embodiment 1-1 Overview of information processing according to embodiments of the present disclosure
  • 1-2 Configuration of information processing apparatus according to embodiment 1-3.
  • Information processing procedure according to embodiment 1-4. Supervised learning, unsupervised learning 1-5.
  • Modification 1 (other configuration examples) 2-2.
  • Modification 2 estimatemation of learning method) 2-3.
  • Modification 3 (Use within the development framework) 2-4.
  • Modification 4 (provided as a standalone application) 3.
  • Hardware configuration 2-1.
  • FIG. 1 is a diagram illustrating an example of information processing according to an embodiment of the present disclosure.
  • the information processing according to the embodiment of the present disclosure is realized by the information processing device 100 illustrated in FIG. 1.
  • the information processing device 100 is an information processing device that executes information processing according to the embodiment.
  • the information processing apparatus 100 provides (presents) a plurality of learning methods related to machine learning to a user, and based on information indicating a learning method selected by the user (hereinafter also referred to as “method information”), learning data It is an information processing apparatus that determines a supply method.
  • method information information indicating a learning method selected by the user
  • It is an information processing apparatus that determines a supply method.
  • a case will be described as an example in which information is provided to a user by a technique related to a GUI (Graphical User Interface) such as the screen IM1 shown in FIG. 2 and the like.
  • GUI Graphic User Interface
  • the information processing apparatus 100 provides information to users by various technologies such as CUI (Character User Interface) and TUI (Text User Interface) as well as GUI as long as the processing of the embodiment can be realized. You may go.
  • the information processing apparatus 100 uses a GUI to display information indicating a plurality of learning methods to a user (hereinafter referred to as “user X”) who desires to execute machine learning (hereinafter referred to as “machine learning MLX”).
  • the display shows the case where the data supply method of the machine learning MLX is determined based on the one learning method selected by the user X.
  • the information processing apparatus 100 provides the user X with information indicating a plurality of learning methods.
  • the information processing apparatus 100 displays a plurality of learning methods on the display (corresponding to the output unit 13 in FIG. 3). In the example of FIG.
  • the information processing apparatus 100 displays information indicating eight learning methods LT1 to LT8 corresponding to each of the eight learning types, as shown in the provision list LS1.
  • the provision list LS1 may be a UI (User Interface) for selecting a learning type (learning method) from a pull-down menu.
  • the information processing apparatus 100 transitions to a detailed setting screen (screen IM1 in FIG. 2 or screen IM4 in FIG. 12) according to the user's selection of a learning method, which will be described in detail later.
  • the information processing apparatus 100 displays the provision list LS1 including the learning method LT1 that is supervised learning.
  • the information processing apparatus 100 also displays the provision list LS1 including the learning method LT2 that is unsupervised learning. Further, the information processing apparatus 100 displays the provision list LS1 including the learning method LT3 that is the semi-teacher learning.
  • the information processing apparatus 100 also displays the provision list LS1 including the learning method LT4 that is transfer learning.
  • the information processing apparatus 100 also displays the provision list LS1 including the learning method LT5 that is weak teacher learning.
  • the information processing apparatus 100 also displays the provision list LS1 including the learning method LT6 that is metric learning.
  • the information processing apparatus 100 also displays the provision list LS1 including the learning method LT7 that is meta-learning.
  • the information processing apparatus 100 displays the provision list LS1 including the learning method LT8 that is the fusion learning.
  • the details of the learning methods LT1 to LT8 will be described later.
  • the learning methods LT1 to LT8 described above are examples, and the information processing apparatus 100 may display the provision list LS1 including various learning methods without being limited to the learning methods LT1 to LT8.
  • the user X who confirms the provision list LS1 selects the learning method of the machine learning MLX from the plurality of learning methods LT1 to LT8 provided by the information processing apparatus 100 (step S11).
  • the user X specifies one learning method out of the plurality of learning methods LT1 to LT8.
  • the user X selects the learning method LT1 that is learning with a teacher from among the plurality of learning methods LT1 to LT8.
  • the information processing apparatus 100 acquires method information indicating the learning method LT1 that is supervised learning (step S12).
  • the information processing apparatus 100 determines the method of supplying the data for machine learning MLX based on the method information indicating the learning method LT1 that is supervised learning (step S13). For example, the information processing apparatus 100 determines input data, parameters, and the like used for supervised learning as a method of supplying data for machine learning MLX based on method information indicating a learning method LT1 that is supervised learning. For example, the information processing apparatus 100 uses input information used for machine learning MLX by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods, as shown in the correspondence information storage unit 141 in FIG. Determine parameters etc.
  • the information processing apparatus 100 determines input data, parameters, etc. used for supervised learning as a method of supplying data for machine learning MLX based on comparison between method information indicating supervised learning and correspondence information.
  • the information processing apparatus 100 uses the information corresponding to the supervised learning among the correspondence information to determine the input data, the parameters, and the like used for the supervised learning as the method for supplying the data of the machine learning MLX.
  • the information processing apparatus 100 uses the information corresponding to the supervised learning among the correspondence information, and as shown in the data supply information DM1, inputs the data and parameters used in the machine learning MLX, and supplies the machine learning data. To decide.
  • the information processing apparatus 100 determines the input data used for the machine learning MLX using the information regarding the input corresponding to the learning with a teacher among the correspondence information. In the example of FIG. 1, the information processing apparatus 100 determines the input data used for the machine learning MLX as “labeled data”. Further, the information processing apparatus 100 determines the parameter used for the machine learning MLX by using the information regarding the parameter corresponding to the supervised learning among the correspondence information.
  • the information processing apparatus 100 determines the parameter used for the machine learning MLX using the setting parameter information PINF1 shown in FIG.
  • the setting parameter information PINF1 includes a parameter used for supervised learning, specification of whether the user inputs the value of the parameter, recommended value of the parameter, and the like.
  • the information processing apparatus 100 determines the parameter used for the machine learning MLX to be the “repetition number” or the “batch size”.
  • the information processing apparatus 100 acquires the method information indicating the learning method designated by the user, and determines the method of supplying the machine learning data based on the method information, thereby responding to the learning method. A method of supplying machine learning data can be appropriately determined.
  • the information processing apparatus 100 provides the data design and the optimization tool necessary for the learning algorithm design to the user (developer) who uses the machine learning, especially the deep learning, in the development of the functional module. Can be easily made available.
  • supervised learning is a technique for learning a function for deriving a label from data by using a combination (pair) of data indicating a problem and a label indicating its answer.
  • the data is a photograph of the object and the label is the type of the object.
  • Such a functional design solution using supervised learning may be able to obtain a high-performance module if a sufficient data set, proper selection of a neural network, and knowledge of a basic learning algorithm are available.
  • a typical example of learning when the amount of data is small and insufficient is called “one shot learning (fushot learning)".
  • the one-shot learning is called “meta-learning” which includes the learning method, and the learning algorithm of the learning algorithm learns the initial value of the model.
  • metal learning is a learning in which a plurality of data are labeled with a distance label (for example, the same class is close, and different classes are far), and a plurality of data with the label is used. ..
  • Transfer learning is a technique for diverting a model learned in advance and learning a new data set.
  • a representative example of acquisition other than the recognition module is called a "generation model”. In the learning of the “generation model”, the likelihood of data, that is, the likelihood of data or the authenticity of data is learned. "Unsupervised learning” is often used for learning generative models.
  • the learning method includes “semi-teacher learning”, “weak teacher learning”, “one-shot learning”, “fushot learning”, and “meta-learning” in addition to “supervised learning”. , “Metric learning”, “transfer learning”, “learning generative model” and so on.
  • the user has not only knowledge of the network architecture of how to incorporate the “recognition module” into the network, but also how to supply data with that architecture.
  • Knowledge of optimization (learning) is required.
  • the user (developer) may need to code various learning devices for actually supplying data and performing optimization.
  • the information processing apparatus 100 automatically determines a data supply method based on the selected learning method by providing the user with a plurality of learning methods and allowing the user to select the learning method.
  • the information processing apparatus 100 does not need knowledge of the data supply method in the learning method (learning algorithm), and can automatically determine the data supply method according to the problem (task) that the user wants to solve.
  • the information processing apparatus 100 enables the user to select the learning method using the GUI, and thus can appropriately determine the machine learning data supply method according to the learning method.
  • the information processing apparatus 100 has an interface that allows a user to browse a list of learning methods (learning algorithms) (provided list LS1) and select one from them. Further, the information processing apparatus 100 may automatically generate a source code including a learning method (learning algorithm) selected by the user or an execution code (memory).
  • learning algorithms learning algorithms
  • execution code memory
  • the information processing apparatus 100 may provide the user with a list of data supply methods, not limited to the list of learning methods (learning algorithms) (provided list LS1). In this case, the information processing apparatus 100 has an interface that allows the user to browse the list of data supply methods associated with the learning method (learning algorithm) and select one from them. Further, the information processing apparatus 100 may automatically generate a source code including a learning method (learning algorithm) selected by the user or an execution code (memory).
  • the information processing apparatus 100 has an interface that allows the user to input the setting when one of the data supply means associated with the learning method (learning algorithm) is selected.
  • the source code including the learned algorithm or the execution code (memory) may be automatically generated.
  • the learning and test data collection is collection of learning data for learning parameters of a module such as a recognition module and test data for evaluating generalization performance indicating how well the learning data operates properly.
  • the network design also includes the design of final modules such as recognition modules, and the network design for learning that incorporates these modules for learning the final modules.
  • learning algorithm design is not limited to selecting a solver such as whether to use a simple gradient method or the latest method, but also includes determining a learning method and a data supply method suitable for a learning network. Be done.
  • the learned module can be evaluated and finally shipped as a module by satisfying predetermined criteria such as certain accuracy and performance criteria.
  • the information processing apparatus 100 can provide a simple development environment to the user (developer) with respect to a part related to the learning algorithm design, among them, a learning method and a data supply method suitable for the learning network. It is for That is, the information processing apparatus 100 realizes the simplification of the data supply method regarding the learning method (learning algorithm) among these functions.
  • the information processing apparatus 100 enables automatic and semi-automatic construction of various learning algorithms in the development environment of machine learning, particularly deep learning, by determining the above-described data providing method.
  • frameworks such as NeuralNetworkConsole and NeuralNetworkSAAS are provided. These frameworks design a neural network by combining blocks and set a learning algorithm on an integrated development environment having a GUI.
  • information processing by the information processing apparatus 100 as illustrated in FIG. 1 is applied to NeuralNetworkConsole.
  • NeuralNetworkConsole is shown as an example of the deep learning integrated development environment, but the application is not limited to this application.
  • FIG. 2 is a diagram illustrating an example of information processing according to the embodiment of the present disclosure. Specifically, FIG. 2 shows a case where the information indicating the parameters determined by the information processing apparatus 100 in FIG. 1 is provided to the user X, and the user X is made to input the value of the parameter used for the machine learning MLX.
  • the information processing apparatus 100 generates a screen IM1 including parameters “repetition number”, “batch size”, etc. used for machine learning MLX.
  • the information processing apparatus 100 generates a screen IM1 which is an input screen for inputting the value of the parameter used for the determined machine learning MLX.
  • the information processing apparatus 100 generates the screen IM1 by using various conventional techniques related to image generation.
  • the screen IM1 is a setting screen for a data supply method and the like of a learning method (learning algorithm) regarding the NeuralNetworkConsole.
  • the information processing apparatus 100 generates a screen IM1 including a character string “Max Epoch” indicating the parameter “repetition number” and an input field BX1 for inputting the value of the parameter “repetition number” in the central area AR1. Further, the information processing apparatus 100 generates a screen IM1 including a character string "Batch Size” indicating the parameter "batch size” and an input field BX2 for inputting the value of the parameter "batch size” in the area AR1.
  • the information processing apparatus 100 determines the recommended values of the parameter “repetition number” and the parameter “batch size” recommended for the user X. For example, the information processing apparatus 100 uses the recommended value of each parameter stored in the storage unit 14 (see FIG. 3) to determine the recommended value of the parameter “number of repetitions” or the parameter “batch size”. For example, the information processing apparatus 100 may determine the recommended value of each parameter based on the past learning history. For example, the information processing apparatus 100 may determine the average of each parameter in past learning as the recommended value.
  • the information processing device 100 determines the recommended value of the parameter “number of repetitions” to be “100”.
  • the information processing apparatus 100 also determines the recommended value of the parameter “batch size” to be “64”. Then, the information processing apparatus 100 generates the screen IM1 in which the recommended value “100” of the parameter “repetition number” is arranged in the input field BX1 and the recommended value “64” of the parameter “batch size” is arranged in the input field BX2. ..
  • the information processing apparatus 100 provides the screen IM1 to the user X.
  • the recommended value “100” of the parameter “repetition number” is arranged in the input field BX1
  • the recommended value “64” of the parameter “batch size” is arranged in the input field BX2.
  • the screen IM1 is displayed.
  • the user X who confirms the screen IM1 inputs the value of each parameter while referring to the recommended value of each parameter.
  • the information processing apparatus 100 determines the changed value as the value of the parameter “number of repetitions”.
  • the information processing apparatus 100 determines the recommended change value “64” as the value of the parameter “batch size”.
  • the information processing apparatus 100 can allow the user to more easily perform the machine learning by providing the user with the determined parameter and the recommended value of the parameter to be input by the user. .. Further, the information processing apparatus 100 may provide a screen that allows the user to input data corresponding to the determined input data. In the case of the example of FIG. 1, the information processing apparatus 100 may provide the user X with a screen for inputting “labeled data”. The information processing apparatus 100 may provide the user X with a screen including information indicating that the type (structure) of the input data is “labeled data”. For example, the information processing apparatus 100 may provide the user X with a screen including a display of textual information such as “Please input data with label”.
  • the information processing apparatus 100 may realize the above-described processing such as display and operation acceptance by a predetermined application. Further, the information processing apparatus 100 may acquire a script to be executed on a predetermined software application, and execute information processing such as information display and operation reception as described above by the control information such as the acquired script. ..
  • the control information corresponds to a program that realizes information processing such as information display and operation reception by the information processing apparatus 100 according to the embodiment.
  • CSS CSS
  • JavaScript registered trademark
  • HTML Hyper Text Markup Language
  • the information processing apparatus 100 may determine the parameter for which the user inputs a value based on the parameter information corresponding to the learning method.
  • the information processing apparatus 100 may determine the parameter that causes the user X to input a value based on the information stored in the correspondence information storage unit 141 in FIG.
  • the information processing apparatus 100 may determine the parameter for which the user input is designated among the parameters stored in the correspondence information storage unit 141 in FIG. 4 as the parameter for allowing the user to input a value.
  • the information processing apparatus 100 may determine the parameter “repetition number” as a parameter that allows the user to input a value when the parameter “repetition number” for supervised learning is designated by the user.
  • the information processing apparatus 100 may determine the parameter “batch size” as a parameter that does not allow the user to input a value when the parameter “batch size” for supervised learning is not designated by the user.
  • FIG. 3 is a diagram illustrating a configuration example of the information processing device 100 according to the embodiment of the present disclosure.
  • the information processing device 100 includes a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15.
  • the information processing apparatus 100 includes an input unit 12 (for example, a keyboard and a mouse) that receives various operations from an administrator of the information processing apparatus 100, and an output unit 13 (for example, a keyboard and a mouse) for displaying various information. , Liquid crystal display, etc.).
  • the communication unit 11 is realized by, for example, a NIC (Network Interface Card), a communication circuit, or the like.
  • the communication unit 11 is connected to a network N (Internet or the like) by wire or wirelessly, and transmits/receives information to/from another device or the like via the network N.
  • a network N Internet or the like
  • the user inputs various operations to the input unit 12.
  • the input unit 12 receives an input from the user.
  • the input unit 12 receives the selection of the learning method by the user.
  • the input unit 12 may receive various operations from the user via a keyboard, a mouse, or a touch panel provided in the information processing device 100.
  • the input unit 12 receives input of parameter values by the user.
  • the input unit 12 may accept a user's utterance as an input.
  • the output unit 13 outputs various information.
  • the output unit 13 displays various information.
  • the output unit 13 is a display device (display unit) such as a display, and displays various information.
  • the output unit 13 outputs the learning method.
  • the output unit 13 displays a plurality of learning methods.
  • the output unit 13 outputs the providing method determined by the determination unit 152.
  • the output unit 13 displays the providing method determined by the determination unit 152.
  • the output unit 13 outputs (displays) the information generated by the generation unit 153.
  • the output unit 13 outputs (displays) the information provided by the providing unit 154.
  • the output unit 13 displays the screen IM1.
  • the output unit 13 may have a function of outputting voice.
  • the output unit 13 may include a speaker that outputs sound.
  • the storage unit 14 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 14 includes a correspondence information storage unit 141 and a data storage unit 142. Although illustration is omitted, the data storage unit 142 stores various data used for learning.
  • the correspondence information storage unit 141 stores various kinds of information regarding correspondence between a plurality of learning methods and a plurality of supply methods.
  • FIG. 4 is a diagram illustrating an example of the correspondence information storage unit according to the embodiment of the present disclosure.
  • FIG. 4 shows an example of the correspondence information storage unit 141 according to the embodiment.
  • the correspondence information storage unit 141 has items such as “type ID”, “learning type”, “input”, “output”, and “setting parameter information”.
  • Type ID indicates identification information for identifying the learning type (learning method).
  • the "learning type” indicates a learning type (learning method) identified by the learning method.
  • “Input” indicates the type of data used as input in the corresponding learning method.
  • “Output” indicates the type of model (network) generated (learned) by the corresponding learning method.
  • “Setting parameter information” indicates information on parameters set in the corresponding learning method.
  • FIG. 4 shows an example in which conceptual information such as “PINF1” and “PINF2” is stored in the “setting parameter information”, but actually, information for specifying each parameter to be set and recommendation of the parameter are shown.
  • Parameter information including a value and information indicating whether to allow the user to input the value of the parameter, or a file path name indicating the storage location is stored.
  • the learning method LT1 corresponding to the learning type identified by the type ID “LT1” indicates that there is supervised learning.
  • the input of the learning method LT1 is labeled data, and the output of the learning method LT1 is a recognition model.
  • the setting parameter information of the learning method LT1 indicates that it is the parameter information PINF1.
  • the parameter information PINF1 includes “repetition number” in the parameter, the recommended value thereof is “100”, and includes information indicating that the user inputs the value of the parameter.
  • the parameter information PINF1 includes “batch size” in the parameter, the recommended value thereof is “64”, and includes information indicating that the user inputs the value of the parameter.
  • correspondence information storage unit 141 is not limited to the above, and may store various information according to the purpose.
  • control unit 15 for example, a program (for example, an information processing program according to the present disclosure) stored in the information processing apparatus 100 by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like is a RAM (Random Access Memory). ) Etc. are executed as a work area.
  • the control unit 15 is a controller, and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • control unit 15 includes an acquisition unit 151, a determination unit 152, a generation unit 153, a provision unit 154, and a learning unit 155, and has functions and actions of information processing described below. Realize or execute.
  • the internal configuration of the control unit 15 is not limited to the configuration shown in FIG. 3, and may be another configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 151 acquires various types of information.
  • the acquisition unit 151 acquires various types of information from an external information processing device.
  • the acquisition unit 151 acquires various types of information from the storage unit 14.
  • the acquisition unit 151 acquires the input information received by the input unit 12.
  • the acquisition unit 151 acquires method information indicating a learning method related to machine learning.
  • the acquisition unit 151 acquires method information from a user who specifies a learning method.
  • the acquisition unit 151 acquires method information indicating the learning method selected by the user from the plurality of learning methods.
  • the acquisition unit 151 acquires method information indicating a learning method LT1 that is learning with a teacher.
  • the decision unit 152 makes various decisions.
  • the determination unit 152 determines various information based on the information acquired by the acquisition unit 151.
  • the determining unit 152 determines various information based on the information stored in the storage unit 14.
  • the determination unit 152 makes various determinations.
  • the determination unit 152 determines various information based on the information acquired by the acquisition unit 151.
  • the determination unit 152 determines various information based on the information stored in the storage unit 14.
  • the deciding unit 152 decides a method for supplying data for machine learning based on the method information acquired by the acquiring unit 151.
  • the determination unit 152 determines the supply method based on the comparison between the method information and the correspondence information indicating the correspondence between the plurality of learning methods and the plurality of supply methods.
  • the determination unit 152 determines a parameter regarding a supply method that allows a predetermined user to input a value, based on the method information.
  • the deciding unit 152 decides a parameter that allows a predetermined user to input a value based on the parameter information corresponding to the learning method.
  • the deciding unit 152 decides a recommended value of a parameter recommended to a predetermined user based on the method information.
  • the determining unit 152 determines the recommended value based on the performance of the device that executes machine learning.
  • the determination unit 152 determines the recommended value based on the network learned by machine learning.
  • the determination unit 152 determines the recommended value to be higher as the performance of the device that executes machine learning is higher. For example, the determination unit 152 compares the performance of a device that executes machine learning (target device) with a reference value such as the average of the performance of devices that have performed machine learning in the past, and recommends that the performance of the target device is higher. The value may be determined high. For example, when the performance of the target device is 1.5 times the reference value, the determining unit 152 may increase the recommended value to 1.5 times higher than usual. For example, when the performance of the target device is 1.5 times the reference value, the determination unit 152 may use a value that is 1.5 times the recommended value of the parameter stored in the storage unit 14.
  • the determination unit 152 determines a higher recommended value as the network learned by machine learning is simpler. For example, the determining unit 152 compares the scale (hierarchy, etc.) of the network (target network) learned by machine learning with a reference value such as the average of the scale (hierarchy, etc.) of the network learned by past machine learning. The smaller the size of the target network, the higher the recommended value may be determined. For example, when the scale of the target network is 0.5 times the reference value, the determining unit 152 may increase the recommended value to twice the normal value. For example, when the scale of the target network is 0.5 times the reference value, the determining unit 152 may use the doubled recommended value of the parameter stored in the storage unit 14.
  • the deciding unit 152 decides a method of supplying machine learning data by appropriately using various techniques.
  • the determining unit 152 determines the input data used for the machine learning MLX by using the information regarding the input corresponding to the learning with a teacher among the correspondence information.
  • the determination unit 152 determines the input data used for the machine learning MLX as “labeled data”. Further, the determining unit 152 determines the parameter used for the machine learning MLX using the information regarding the parameter corresponding to the supervised learning in the correspondence information.
  • the deciding unit 152 decides the parameter used for the machine learning MLX to be the "repetition number" or "batch size".
  • the determining unit 152 determines a network to be learned by machine learning based on the supply method.
  • the determining unit 152 determines a network to be learned by machine learning based on the parameter corresponding to the supply method.
  • the determination unit 152 determines the network structure based on the supply data supplied by the supply method.
  • the determining unit 152 determines the network structure based on the domain of the supplied data.
  • the determination unit 152 determines a network to be learned by machine learning based on the parameter regarding the number of classes corresponding to the supply method.
  • the determining unit 152 determines the network to be learned by machine learning based on the value of the parameter related to the number of classes. For example, the determination unit 152 determines a network including the number of partial networks corresponding to the value of the parameter of the number of support classes in meta learning. For example, the determining unit 152 determines a network including five partial networks (corresponding to “Likelihood Network” in FIG. 19) when the value of the parameter of the number of support classes in meta learning is “5”. For example, the determination unit 152 determines a network including the number of partial networks corresponding to the value of the parameter of the number of support classes in one-shot learning or fuse shot learning.
  • the determining unit 152 determines a network to be learned by machine learning based on the domain of the supplied data. For example, the determining unit 152 may determine the network to be learned by machine learning based on whether the supplied data is an image (moving image, still image), voice, item, or text. For example, the determining unit 152 determines the domain of the supply data based on the file extension or the like.
  • the determining unit 152 determines whether to use the linear layer in the network as the convolutional layer or the fully connected layer according to the domain of the supplied data. For example, when the domain of the supplied data is image or sound, the determining unit 152 determines a network having a linear layer as a convolutional layer. For example, when the domain of the supplied data is an item or a text, the determination unit 152 determines a network in which the linear layer is the fully connected layer.
  • the generation unit 153 performs various generations.
  • the generation unit 153 generates various information based on the information acquired by the acquisition unit 151.
  • the generation unit 153 generates various information based on the information stored in the storage unit 14.
  • the generation unit 153 registers various information based on the information acquired by the acquisition unit 151.
  • the generation unit 153 registers the information acquired by the acquisition unit 151 in the storage unit 14.
  • the generation unit 153 stores the learning-related information (data) acquired by the acquisition unit 151 in the data storage unit 142.
  • the generation unit 153 generates an input screen for inputting the value of the parameter determined by the determination unit 152.
  • the generation unit 153 generates the screen IM1 as shown in FIG.
  • the generation unit 153 generates information (image) related to the screen such as the screen IM1 shown in FIG. 2 by appropriately using various conventional techniques related to the image.
  • the generation unit 153 generates an image such as the screen IM1 shown in FIG. 2 by appropriately using various conventional techniques related to GUI.
  • the generation unit 153 generates an image such as the screen IM1 shown in FIG. 2 in CSS, Javascript (registered trademark), HTML, or any language capable of describing information processing such as information display and operation reception described above. May be.
  • the generation unit 153 generates the screen IM1 including the parameters “repetition number”, “batch size”, etc. used in the machine learning MLX.
  • the generation unit 153 generates a screen IM1 which is an input screen for inputting the values of the parameters used in the machine learning MLX.
  • the generation unit 153 generates the screen IM1 using various conventional techniques related to image generation.
  • the generating unit 153 generates a screen IM1 including a character string "Max Epoch” indicating the parameter "repetition number” and an input field BX1 for inputting the value of the parameter "repetition number”. Further, the generation unit 153 generates a screen IM1 including a character string “Batch Size” indicating the parameter “batch size” and an input field BX2 for inputting the value of the parameter “batch size”.
  • the providing unit 154 provides various information.
  • the providing unit 154 provides various information based on the information determined by the determining unit 152.
  • the providing unit 154 causes the output unit 13 to display various information.
  • the providing unit 154 causes the output unit 13 to display the information determined by the determining unit 152.
  • the providing unit 154 functions as a display control unit that controls the display by the output unit 13.
  • the providing unit 154 provides various information to an external information processing device.
  • the providing unit 154 transmits various information to an external information processing device.
  • the providing unit 154 provides the input screen generated by the generating unit 153.
  • the providing unit 154 provides various information determined by the determining unit 152.
  • the providing unit 154 provides the information indicating the network by the determining unit 152.
  • the providing unit 154 provides the user with information indicating the network by the determining unit 152.
  • the providing unit 154 causes the determining unit 152 to display information indicating the network on the output unit 13.
  • the providing unit 154 provides the screen IM1 to the user X.
  • the providing unit 154 outputs to the output unit 13 the screen IM1 in which the recommended value “100” of the parameter “repetition number” is arranged in the input field BX1 and the recommended value “64” of the parameter “batch size” is arranged in the input field BX2. indicate.
  • the learning unit 155 performs various learning.
  • the learning unit 155 learns various information based on the information acquired by the acquisition unit 151.
  • the learning unit 155 learns various information based on the information stored in the storage unit 14.
  • the learning unit 155 learns (generates) a model.
  • the learning unit 155 learns the model based on the information acquired by the acquisition unit 151.
  • the learning unit 155 learns the model based on the information stored in the storage unit 14. For example, the learning unit 155 learns network parameters.
  • the learning unit 155 learns a model using various machine learning technologies.
  • the learning unit 155 learns the model based on the designated learning method (learning algorithm).
  • the learning unit 155 learns the model based on the designated one learning method (learning algorithm) among the eight learning methods LT1 to LT8.
  • the learning unit 155 learns the model based on the information regarding the data supply method determined by the determination unit 152.
  • the learning unit 155 learns the model based on the input data and parameters determined by the determination unit 152.
  • the learning unit 155 learns the model corresponding to the machine learning MLX based on the value of the parameter “repetition number” and the value of the parameter “batch size” determined by the determination unit 152.
  • the learning unit 155 learns a model based on a learning method designated by a predetermined means and a data supply method corresponding to the learning method.
  • the learning method is the supervised learning
  • the learning unit 155 uses various conventional techniques of supervised learning to appropriately learn the model.
  • the learning method is unsupervised learning
  • the learning unit 155 uses various conventional techniques of unsupervised learning to learn the model.
  • the learning method is the semi-teacher learning
  • the learning unit 155 learns the model by appropriately using various conventional techniques of the semi-teacher learning.
  • the learning method is transfer learning
  • the learning unit 155 uses various conventional transfer learning techniques to learn the model.
  • the learning method is weak teacher learning
  • the learning unit 155 learns the model by appropriately using various conventional techniques of weak teacher learning.
  • the learning unit 155 learns a model by appropriately using various conventional techniques of metric learning.
  • the learning unit 155 uses various conventional techniques of meta-learning as appropriate to learn the model.
  • the fuse shot learning is meta learning, the learning unit 155 uses various conventional techniques for fuse shot learning to learn the model.
  • FIG. 5 is a flowchart showing a procedure of information processing according to the embodiment of the present disclosure.
  • the information processing apparatus 100 acquires method information indicating a learning method (step S101). For example, the information processing apparatus 100 acquires method information indicating the learning method designated by the user.
  • the information processing apparatus 100 determines a method for supplying machine learning data based on the method information (step S102). For example, the information processing apparatus 100 determines the supply method based on the comparison between the method information and the correspondence information indicating the correspondence between the plurality of learning methods and the plurality of supply methods.
  • the information processing apparatus 100 generates a screen for allowing the user to input the value of the parameter regarding the supply method (step S103). For example, the information processing apparatus 100 generates a screen in which recommended values of parameters regarding the supply method are arranged in the input field. Then, the information processing device 100 provides the generated screen (step S104). For example, the information processing device 100 displays the generated screen.
  • FIG. 6 is a flowchart showing learning such as supervised learning according to the present disclosure.
  • the information processing apparatus 100 prepares a data set (step S201). For example, the information processing apparatus 100 acquires a labeled data set or an unlabeled data set.
  • the information processing apparatus 100 determines whether or not shuffle is designated (step S202).
  • the shuffle here is a rearrangement of the order of labeled data or unlabeled data.
  • step S202 shuffles the data set when the shuffle is designated (step S202: Yes) (step S203). If the shuffle is not designated (step S202: No), the information processing apparatus 100 performs the process of step S204.
  • the information processing device 100 supplies data (step S204). Then, the information processing apparatus 100 determines whether the mini-batch size can be cut out (step S205). For example, one epoch is defined until a mini-batch cannot be cut out from the data set, that is, until all data in the data set is used for learning once. When the information processing apparatus 100 cannot cut out the mini-batch size (step S205: No), the information processing apparatus 100 returns to step S202 and repeats the process of providing again from the beginning, for example.
  • the information processing device 100 performs learning (step S206) when the mini-batch size can be cut out (step S205: Yes).
  • the process of step S206 corresponds to a process of inputting mini-batch data to the neural network, performing loss calculation (Forward), error back propagation (Backward), and updating by the gradient method (Update).
  • step S207 the information processing apparatus 100 determines whether it is a condition for continuing the algorithm.
  • the termination condition of step S207 is the maximum number of iterations of mini-batch learning, the maximum number of epochs, or whether the loss value or the loss improvement amount exceeds a threshold value.
  • step S207: Yes If the condition for continuing the algorithm is satisfied (step S207: Yes), the information processing apparatus 100 returns to step S206 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S207: No), the information processing apparatus 100 returns to step S203 and repeats the process.
  • the information processing apparatus 100 acquires information regarding the cutout size (mini-batch size) and the convergence condition via the GUI.
  • the information processing apparatus 100 acquires the information regarding the cutout size (mini-batch size) and the convergence condition by using the technology of NeuralNetworkConsole.
  • FIG. 7 is a diagram showing an example of a data set for supervised learning according to the present disclosure.
  • the data DT1 which is the data set for supervised learning shown in FIG. 7 includes data (Data) and a label (Label).
  • the label indicates the concept to be estimated from the data.
  • the label indicates the number given to the class, especially when the concept is divided into classes.
  • the serial number (DataId) shown in FIG. 7 is an example, and the present invention is not limited to this.
  • the information processing apparatus 100 cuts out a data block (mini-batch) from the data DT1 that is a data set for supervised learning as shown in FIG.
  • FIG. 8 is a diagram showing an example of a data set for unsupervised learning according to the present disclosure.
  • Data DT2 which is a data set for unsupervised learning, contains only data (Data). As described above, the unsupervised learning data set is composed of only data and does not use labels.
  • the serial number (DataId) shown in FIG. 8 is an example, and the present invention is not limited to this.
  • the information processing apparatus 100 cuts out a block of data (mini-batch) from the data DT2 that is a data set for unsupervised learning as shown in FIG. 8 and supplies it.
  • the information processing apparatus 100 performs learning by supplying a data batch (minibatch) as shown in FIG. 6, for example.
  • Semi-teacher learning weak teacher learning
  • Semi-teaching learning is a typical example of learning in a situation where there are few labels.
  • semi-supervised learning is used when labeling is more difficult than data collection.
  • the labeled data and the unlabeled data are combined to learn a function for deriving a label from the data.
  • the weak teacher learning here is used when it is difficult to give a label, but a relatively easy label that can be a hint of a formal label can be given.
  • Weak teacher learning uses hinted data instead of labels to learn a function that derives a label from the data.
  • FIG. 9 is a diagram illustrating an example of a semi-batch learning mini-batch according to the present disclosure.
  • Data DT3 which is a mini-batch in FIG. 9, is a combination of a data set for supervised learning and a data set for unsupervised learning.
  • the data supply flow for semi-supervised learning is the same as for supervised learning and unsupervised learning, but the information processing apparatus 100 independently performs mini-batch in supervised learning and unsupervised learning.
  • the mini-batch size of the labeled data set and the mini-batch size of the unlabeled data set do not necessarily have to be the same.
  • the setting of the learning method of semi-teacher learning can also be realized by setting the supply of labeled data and unlabeled data. Since the parameter settings for the supervised learning and the unsupervised learning described above can both be realized by the NeuralNetworkConsole, the setting of a plurality of separate data sets in the semi-supervised learning can also be realized similarly.
  • the information processing apparatus 100 can provide an interface for easily switching the learning method to another learning method.
  • Detailed settings on the GUI can be supported by expanding existing technologies such as Neural Network Console.
  • Neural Network Console For weak teacher learning, it is necessary to set "transfer learning" described later.
  • a representative model other than the recognition module is a generative model.
  • the generation model is a function that generates data from random numbers, etc., and a special neural network structure called variational encoder (VAE: Variational Auto Encoder) or adversarial generation network (GAN: Generative Adversarial Network) is known.
  • VAE Variational Auto Encoder
  • GAN Generative Adversarial Network
  • VAE is disclosed in the following document, for example. ⁇ Auto-Encoding Variational Bayes, Diederik P Kingma et al. ⁇ https://arxiv.org/abs/1312.6114>
  • GAN is disclosed in the following document, for example. ⁇ Generative Adversarial Networks, Ian J. Goodfellow et al. ⁇ https://arxiv.org/abs/1406.2661>
  • Metric learning is a technique for learning a space that reflects the distance of concepts (classes). Specifically, in the metric learning, a distance relationship between the data is input as a plurality of data pairs and labels, and a function for projecting the data in a space reflecting the distance is learned. It is well known to use a structure called Siamese network (Shamises network) or Triplet network (triplet network). In this case, the information processing apparatus 100 determines the matching or non-matching of the classes of the two data belonging classes from the distance in the projected space.
  • Siamese network Shamises network
  • Triplet network triplet network
  • the learning network of the feature extractor by metric learning is generated by combining a plurality of feature extractors (feature extraction nets) that share parameters and a distance calculation layer.
  • feature extractors feature extraction nets
  • a distance calculation layer For example, as networks for metric learning, there are known a Shamese network and a triplet network.
  • the information processing apparatus 100 acquires the method information indicating the learning method LT6 which is the metric learning.
  • the information processing apparatus 100 provides the user with a network selection screen for selecting a network.
  • the information processing apparatus 100 causes the user to select (designate) which of the Shamisen network and the triplet network is to be used.
  • the information processing device 100 displays a network selection screen.
  • the information processing apparatus 100 acquires method information including selection information indicating that the Shamisen network has been selected.
  • the information processing apparatus 100 acquires method information including selection information indicating that the triplet network has been selected.
  • Siamese network is disclosed in the following document, for example. ⁇ Siamese Neural Networks for One-shot Image Recognition, Gregory Koch et al. ⁇ https://www.cs.cmu.edu/ ⁇ rsalakhu/papers/oneshot1.pdf>
  • the Triplet network is disclosed in, for example, the following document. ⁇ Deep metric learning using Triplet network, Elad Hoffer et al. ⁇ https://arxiv.org/abs/1412.6622>
  • FIG. 10 is a diagram illustrating an example of a metric learning network configuration according to the present disclosure.
  • the network MD4 shown in FIG. 10 is a typical configuration of a Shamisen network.
  • the Shamisen network is composed of a feature extraction net that shares two parameters, a distance calculation layer and a loss calculation layer, and inputs two data and a label indicating the relationship between them, and inputs the feature amount of each of the two inputs. Outputs the loss calculated between the distance and the relationship label. For example, “x1” and “x2” in FIG. 10 correspond to two pieces of input data, and “y” in FIG. 10 corresponds to an input label.
  • FIG. 11 is a diagram illustrating an example of a metric learning mini-batch according to the present disclosure. Specifically, FIG. 11 is a diagram showing an example of a mini-batch for learning the Shamisen network.
  • the label is a label related to the distance between the two input data x1 and x2, unlike a normal class label.
  • this distance label as a simple method, if two data belong to the same class, "same” is used, and if two data belong to different classes, "different” is used.
  • the information processing apparatus 100 can learn a function that projects data belonging to the “same” class closer in the feature space and data belonging to the “different” class far.
  • the items “Data1” and “Data2” in FIG. 11 correspond to two pieces of data
  • the item “EqLabel” in FIG. 11 corresponds to a label.
  • the value of the item “EqLabel” is “0”. Further, for example, when the classes of the data of the item “Data1” and the data of the “Data2” corresponding to the same DataID are different, the value of the item “EqLabel” is “1”.
  • the information processing device 100 is required to generate a label indicating “same” or “different” from a normal “class” label in terms of an algorithm.
  • the information processing apparatus 100 randomly selects two data classes, the ratio of the two data classes being “different” increases as the number of classes increases. Therefore, the information processing apparatus 100 needs to avoid these points.
  • FIG. 12 is a diagram illustrating an example of a metric learning input screen according to the present disclosure.
  • the information processing apparatus 100 generates a screen IM4 which is an input screen including an input field BX41 for inputting a value of the parameter “batch size” together with a character string “batch size” indicating the parameter “batch size”.
  • the information processing apparatus 100 also generates a screen IM4 including a character string “match probability of input belonging class” indicating the parameter “match probability ⁇ ” and an input field BX42 for inputting a value of the parameter “match probability ⁇ ”. Then, the information processing apparatus 100 determines the value input by the user in the input field BX41 as the value of the parameter "batch size”. Further, the information processing apparatus 100 determines the value input by the user in the input field BX42 as the value of the parameter “match probability ⁇ ”.
  • the information processing apparatus 100 determines the data supply method based on the method information indicating the learning method LT4 that is metric learning. For example, the information processing apparatus 100 determines, as a data supply method, input data, parameters, and the like used for metric learning of a Shamisen network, based on method information indicating a learning method LT4 that is metric learning. For example, the information processing apparatus 100 determines input data, parameters, and the like by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods as shown in the correspondence information storage unit 141 in FIG.
  • the information processing apparatus 100 determines the input data used for the metric learning of the Shamisen network as “data pair” and “relationship label”. Further, the information processing apparatus 100 determines the parameter used for the metric learning of the Shamisen network using the setting parameter information PINF4 shown in FIG.
  • the setting parameter information PINF4 includes a parameter used for metric learning of the Shamisen network, specification of whether the user inputs the value of the parameter, a recommended value of the parameter, and the like.
  • the information processing apparatus 100 determines the parameters used for metric learning as “batch size” and “match probability ⁇ ”.
  • FIG. 13 is a flowchart showing learning of metric learning according to the present disclosure. Specifically, FIG. 13 is a flowchart showing learning of the Shamisen network according to the present disclosure.
  • the information processing apparatus 100 prepares a data set (step S301). For example, the information processing apparatus 100 acquires a data set including data to which a label related to the distance between the two input data x1 and x2 is attached.
  • the information processing apparatus 100 randomly selects one input class on one side (step S302). For example, the information processing apparatus 100 selects the input class on one side in a predetermined order.
  • step S303 the information processing device 100 determines the other class. Then, the information processing apparatus 100 uses a random number to sample 0 or 1 with a predetermined probability ⁇ (step S304). For example, in the case of “0”, the information processing apparatus 100 selects the same class. In the case of “1”, the information processing apparatus 100 selects a different class. Then, the information processing apparatus 100 uses the obtained 0 or 1 as a label (distance label). The process of step S304 may be performed in step S303.
  • the information processing apparatus 100 selects a sample of each class (step S305). For example, the information processing device 100 acquires the input data x1 and x2.
  • the information processing apparatus 100 determines whether the batch size has been executed (step S306). If the information processing apparatus 100 has not executed the batch size (step S306: No), the information processing apparatus 100 returns to step S302 and repeats the processing.
  • step S306 If executed for the batch size (step S306: Yes), performs learning (step S307). Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S308).
  • the condition of step S308 is the number of repetitions, whether it is a convergence end condition, or the like.
  • step S308: Yes If the condition for continuing the algorithm is satisfied (step S308: Yes), the information processing apparatus 100 returns to step S307 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S308: No), the information processing apparatus 100 returns to step S302 and repeats the processing.
  • FIG. 14 is a diagram illustrating another example of a metric learning network configuration according to the present disclosure.
  • the network MD5 shown in FIG. 14 is a typical configuration of a triplet network.
  • the triplet network is composed of a feature extraction net that shares three parameters, a distance calculation layer, and a loss calculation layer. This network inputs three data and outputs loss.
  • the three data are data called anchor (x_a), data called positive (x_p), and data called negative (x_n).
  • FIG. 15 is a diagram showing another example of the metric learning mini-batch according to the present disclosure.
  • FIG. 15 is a diagram illustrating an example of a mini-batch for learning a triplet network.
  • the item “Anchor” in FIG. 15 corresponds to anchor class data
  • the item “Positive” in FIG. 15 corresponds to positive class data
  • the item “Negative” in FIG. 15 is negative class.
  • the anchor class and the positive class are the same class.
  • the anchor class and the negative class are different classes.
  • the data of the items “Anchor” and “Positive” corresponding to the same DataID are data belonging to the same class.
  • the data of the items “Anchor” and “Negative” corresponding to the same DataID are data belonging to different classes.
  • the triplet network mini-batch has no label and is composed of three data.
  • a mini-batch of a triplet network contains data corresponding to anchor classes, positive classes, and negative classes, respectively.
  • the algorithm for sampling and learning the data DT5 as shown in FIG. 15 has a flow as shown in FIGS. 17 and 18 described later.
  • FIG. 16 is a diagram showing another example of the metric learning input screen according to the present disclosure.
  • the information processing apparatus 100 generates a screen IM5 which is an input screen including an input field BX51 for inputting a value of the parameter “batch size” together with a character string “batch size” indicating the parameter “batch size”. Further, the information processing apparatus 100 is a screen including an input field BX52 for inputting a value of the parameter "hard negative mining” together with a character string “hard negative mining (selectively distance neighboring classes)" indicating the parameter "hard negative mining”. Generate IM5. The information processing apparatus 100 also generates a screen IM5 including a selection list CB5 which is a combo box for selecting the value of the parameter “class representative point” together with the character string “hard negative mining setting” indicating the parameter “class representative point”.
  • a selection list CB5 which is a combo box for selecting the value of the parameter “class representative point” together with the character string “hard negative mining setting” indicating the parameter “class representative point”.
  • the selection list CB5 includes options corresponding to the parameter “class representative point” such as “random for each class”, “class center of gravity”, or “class median”. Then, the information processing apparatus 100 determines the value input by the user in the input field BX51 as the value of the parameter "batch size”. The information processing apparatus 100 also determines the value input by the user in the input field BX52 as the value of the parameter “hard negative mining”. Further, the information processing apparatus 100 determines the value designated by the user in the selection list CB5 as the value of the parameter “class representative point”.
  • the information processing apparatus 100 when the user selects the triplet network, the information processing apparatus 100 provides the screen IM5 as shown in FIG. 16 to the user.
  • the information processing apparatus 100 determines the data supply method based on the method information indicating the metric learning of the triplet network.
  • the information processing apparatus 100 determines input data, parameters, and the like used for metric learning of the triplet network as a data supply method based on method information indicating metric learning of the triplet network.
  • the information processing apparatus 100 determines input data, parameters, and the like by using the correspondence information corresponding to the metric learning of the triplet network stored in the correspondence information storage unit 141 of FIG.
  • the information processing apparatus 100 determines the input data used for metric learning of the triplet network as “three data without labels”. Further, the information processing apparatus 100 determines the parameter used for the metric learning of the triplet network using the setting parameter information (setting parameter information PINFX) stored in the correspondence information storage unit 141 of FIG.
  • the setting parameter information PINFX includes a parameter used for metric learning of the triplet network, specification of whether the user inputs a value of the parameter, a recommended value of the parameter, and the like.
  • the information processing apparatus 100 determines the parameters used for metric learning as "batch size", "hard negative mining", and "class representative point".
  • the information processing apparatus 100 uses the value of the parameter “batch size”, the value of the parameter “hard negative mining”, and the value of the parameter “class representative point” input by the user to perform the learning illustrated in FIG. 17 or FIG. Run the flow.
  • the information processing apparatus 100 executes the learning flow of FIG. In this case, it is not necessary to select the parameter "class representative point".
  • FIG. 17 is a flowchart showing another learning of the metric learning according to the present disclosure. Specifically, FIG. 17 is a flowchart showing learning of a triplet network in the case of not performing hard negative mining according to the present disclosure.
  • the information processing device 100 prepares a data set (step S401). Then, the information processing apparatus 100 randomly selects one anchor class and one positive class (step S402). The anchor class and the positive class are the same class.
  • the information processing apparatus 100 selects one negative class so as to be different from the anchor class (step S403).
  • the information processing apparatus 100 samples one data each from the anchor, positive class, and negative class (step S404).
  • the information processing device 100 performs learning (step S405).
  • the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S406).
  • the condition of step S406 is the number of repetitions, whether it is a convergence end condition, or the like.
  • step S406: Yes If the condition for continuing the algorithm is satisfied (step S406: Yes), the information processing apparatus 100 returns to step S405 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S406: No), the information processing apparatus 100 returns to step S402 and repeats the processing.
  • FIG. 18 is a flowchart showing learning in the case of hard negative mining according to the present disclosure.
  • the information processing apparatus 100 prepares a data set (step S451). Then, the information processing apparatus 100 uses the feature extractor to derive a representative point on the feature space for each class (step S452). For example, the information processing apparatus 100 obtains a representative point on the feature space for each class by using the feature extractor at the current time (processing time).
  • the information processing apparatus 100 generates a list of pairs of classes having the closest feature points for each class (step S453).
  • the information processing apparatus 100 randomly selects one anchor class and one positive class (step S454).
  • the anchor class and the positive class are the same class.
  • the information processing apparatus 100 sets the negative class to the class closest to the anchor class (step S455).
  • the information processing apparatus 100 samples one data each from the anchor, positive class, and negative class (step S456).
  • step S457 the information processing device 100 performs learning. Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S458).
  • the condition of step S458 is the number of repetitions, whether it is a convergence end condition, or the like.
  • step S458: Yes If the condition for continuing the algorithm is satisfied (step S458: Yes), the information processing apparatus 100 returns to step S457 and repeats the processing. On the other hand, if the condition for continuing the algorithm is not satisfied (step S458: No), the information processing apparatus 100 returns to step S452 and repeats the processing.
  • Meta learning The meta-learning here corresponds to learning of a learning algorithm. That is, the concept of meta-learning is learning of a learning algorithm. Attention is focused on learning with a small amount of data, which is so-called one-shot learning or fushot learning. One-shot learning and fushot learning are learning with a small amount of data, and the meta-learning for these learning will be described below.
  • the one-shot learning and the fushot learning described here are typical examples of learning with a small amount of data.
  • the concept of the class is learned from a very small number of labeled data such as 1 to several samples, and the classification of the class is realized when the data is newly input.
  • the one-shot learning fuse shot learning
  • the one-shot learning is merely a setting that the amount of data is small, and is not a learning technique.
  • normal supervised learning may be performed.
  • the model using "meta-learning" is often learned in advance.
  • ⁇ Meta-learning here means learning that learns the learning algorithm itself. For example, in the meta-learning for one-shot learning, the one-shot learning “learning a small amount of learning data and classifying test data” algorithm itself is learned.
  • the methods include “metric learning” based methods and “transfer learning” based (also called gradient based) methods.
  • metric learning-based meta-learning learning is performed using the learning data and the label at the time of one-shot learning setting, instead of the pair of data and the label for it.
  • the one-shot learning and the fushot learning are learning when the learning data per class is extremely small, from 1 to several samples.
  • the processing of the one-shot learning will be described.
  • the information processing apparatus 100 selects a class to be learned. Such classes are called support classes. Then, the information processing apparatus 100 selects one sample or several samples per class as a data set. Such a data set is called a support set.
  • the information processing apparatus 100 uses the support set to construct a support class classification model. Such processing is called one-shot learning or fuse-shot learning.
  • the information processing device 100 selects one or more samples to be predicted. Such a sample is called a query set. Also, the query class is usually guaranteed to be one of the support classes. The information processing apparatus 100 classifies the query into any of the support classes.
  • one-shot learning and future shot learning consist of a support set and a query set.
  • Such support sets and query sets are called episodes in one-shot learning.
  • the information processing apparatus 100 randomly selects some support classes.
  • the number of support classes is called N-way. For example, if there are five support classes, it is called 5-way.
  • the information processing apparatus 100 randomly selects a predetermined number of samples for each support class.
  • the number of samples selected for each class is referred to as N-shot. For example, when the number of samples selected for each class is 1, it is called 1-shot.
  • the information processing device 100 randomly selects a query class from the support classes. Further, the information processing apparatus 100 randomly selects some samples from this query class. Then, the information processing apparatus 100 combines these to generate an episode.
  • the one-shot learning is merely learning when there is a small amount of learning data, and various approaches such as using a neural net or hierarchical Bayes can be considered.
  • various approaches such as using a neural net or hierarchical Bayes can be considered.
  • it is difficult to sufficiently reflect the statistical characteristics in the model created with only a small amount of training data. Therefore, in the model generated by the one-shot learning, there is a problem that it is not possible to properly classify slightly different data from the learning data. Such a problem is called “cannot generalize” or “over-learning occurs” because there is little data.
  • the knowledge referred to here is, for example, to learn in advance in one-shot classification of “handwritten characters” how to distinguish between a character and whether it is the same or different.
  • the knowledge in this case corresponds to the knowledge of remembering the set of characters seen for the first time and classifying them the next time, on the assumption that they are characters.
  • the information processing apparatus 100 can estimate the support class of the query data for the support set of the handwritten character data set for the first time.
  • FIG. 19 is a diagram illustrating an example of a network configuration of meta learning according to the present disclosure.
  • the network MD6 shown in FIG. 19 shows an example of a meta-learning network for inputting episodes.
  • the metric learning-based meta-learning constitutes a network such as the network MD6.
  • metric-based meta-learning includes a network for inputting a query (xq) and a network for inputting support (xs). Then, the network MD6 inputs a query and support of the corresponding class for each support class and calculates a block like the likelihood of the query (also referred to as logit), and these likelihoods (logit). , A block for calculating the loss by inputting the label (y) of the support class.
  • Matching networks and prototype networks are typical networks for metric-based meta-learning. There is a difference between the matching network and the prototype network in the blocks that calculate the likelihood of queries and support. For example, in the case of a matching network, the information processing apparatus 100 calculates the distance to the support of the nearest neighbor (softmax) of the query in the feature space. On the other hand, in the case of the prototype network, the information processing apparatus 100 calculates the distance between the query and the average support (prototype). As the distance index, various indices such as cosine distance, Euclidean distance, or extension thereof may be used.
  • Metric-based meta-learning includes a matching network that includes learning of class classification by the neighborhood method (nearest neighbor method) as fushot learning, and a prototype network that includes learning of prototype classification as fushot learning. As a method inferred from it, there may be a method such as a voting network that includes learning of the majority method. In this case, the information processing apparatus 100 calculates the distance between the query and each support, and simply adds the distances to use as the likelihood (logit) of the support class for the query.
  • the information processing apparatus 100 simply calculates the distance between the support and the query.
  • This network configuration is equivalent to an extended version of the Triplet network called the n-pair network.
  • FIG. 20 is a diagram showing an example of a meta-learning mini-batch according to the present disclosure. Specifically, FIG. 20 is a diagram showing an example of a mini-batch of meta-learning using episodes.
  • Data DT6 in FIG. 20 shows the structure of the episode.
  • the data DT6 of FIG. 20 shows an episode when the number of classes is 1, for simplification of description, but the number of classes is usually larger than 1, and each unit is repeated.
  • the algorithm related to meta-learning as shown in FIG. 22 requires the number of support classes, the number of shots for each class (also simply referred to as “shot number”), and the number of queries for each class (simply “query”). It is also called the "number”) and the number of repetitions of learning. Therefore, for meta-learning, a UI for setting the number of support classes, the number of shots, the number of queries, and the number of learning repetitions is sufficient.
  • FIG. 21 is a diagram illustrating an example of a meta-learning input screen according to the present disclosure.
  • the information processing apparatus 100 displays a screen IM6 for inputting the value of the parameter "number of support classes", the value of the parameter "shot number”, the value of the parameter “query number”, and the value of the parameter "repetition number” as shown in FIG. Is generated and provided to the user.
  • the information processing apparatus 100 generates a screen IM6 which is an input screen including a character string “support class number” indicating the parameter “support class number” and an input field BX61 for inputting the value of the parameter “support class number”. To do.
  • the information processing apparatus 100 also generates a screen IM6 including a character string “shot number/class” indicating the parameter “shot number” and an input field BX62 for inputting the value of the parameter “shot number”.
  • the information processing apparatus 100 also generates a screen IM6 including a character string “query count/class” indicating the parameter “query count” and an input field BX63 for inputting the value of the parameter “query count”.
  • the information processing apparatus 100 also generates a screen IM6 including a character string “learning repetition number” indicating the parameter “repetition number” and an input field BX64 for inputting the value of the parameter “repetition number”.
  • the information processing apparatus 100 determines the value input by the user in the input field BX61 as the value of the parameter “number of support classes”. Further, the information processing apparatus 100 determines the value input by the user in the input field BX62 as the value of the parameter “number of shots”. In addition, the information processing apparatus 100 determines the value input by the user in the input field BX63 as the value of the parameter “query count”. Further, the information processing apparatus 100 determines the value input by the user in the input field BX64 as the value of the parameter “repetition number”.
  • the information processing apparatus 100 when the user selects the meta learning that is the learning method LT7 or the fushot shot learning that is the learning method LT8 in the provision list LS1, the information processing apparatus 100 provides the screen IM6 as shown in FIG. 21 to the user. .. For example, the information processing apparatus 100 acquires method information indicating the learning method LT7 that is meta-learning.
  • the information processing apparatus 100 determines the data supply method based on the method information indicating the learning method LT7 that is meta-learning. For example, the information processing apparatus 100 determines input data, parameters, and the like used for meta-learning as the data supply method based on the method information indicating the learning method LT7 that is meta-learning. For example, the information processing apparatus 100 determines input data, parameters, and the like by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods as shown in the correspondence information storage unit 141 in FIG.
  • the information processing apparatus 100 determines the input data used for meta-learning as “support data” and “query data”. Further, the information processing apparatus 100 determines the parameter used for meta-learning by using the setting parameter information PINF7 shown in FIG.
  • the setting parameter information PINF7 includes a parameter used for meta-learning, designation of whether to input the value of the parameter to the user, recommended value of the parameter, and the like.
  • the information processing apparatus 100 determines the parameters used for meta-learning as “the number of support classes”, “the number of shots”, “the number of queries”, and “the number of repetitions”.
  • the information processing apparatus 100 uses the value of the parameter “number of support classes”, the value of the parameter “shot number”, the value of the parameter “query number”, and the value of the parameter “repetition number” input by the user, as illustrated in FIG.
  • the learning flow shown in is executed.
  • FIG. 22 is a flowchart showing learning of meta learning according to the present disclosure.
  • the information processing apparatus 100 prepares a data set (step S501). In this case, a data set with a large number of classes is desirable. Then, the information processing apparatus 100 randomly selects a predetermined number of support classes (step S502). For example, the information processing apparatus 100 selects a predetermined number of support classes greater than one.
  • the information processing apparatus 100 randomly selects a query class from the support classes (step S503).
  • the information processing apparatus 100 generates a query set that selects several samples from each support class (step S504).
  • the information processing apparatus 100 selects several samples from each query class to generate a query set (step S505).
  • the information processing apparatus 100 generates an episode in which the support set and the query set are combined (step S506).
  • the information processing apparatus 100 inputs the support set and the query set into the meta learning network (step S507).
  • step S508 the information processing device 100 performs meta learning. Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S509).
  • the condition of step S509 is the number of repetitions, whether it is a convergence end condition, or the like.
  • step S509: Yes If the condition for continuing the algorithm is satisfied (step S509: Yes), the information processing apparatus 100 returns to step S508 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S509: No), the information processing apparatus 100 returns to step S502 and repeats the processing.
  • Transfer learning is a technique for learning a new data set by diverting a trained model. Transfer learning has a feature that knowledge obtained from pre-learned data can be diverted.
  • the information processing apparatus 100 regenerates the final fully connected layer of the neural network learned with a large amount of data (for example, ImageNet or the like) according to the class of the new learning data set, and the fully connected layer, Or re-learn the whole thing.
  • Transfer learning-based meta-learning (also called gradient-based meta-learning) is "pre-learning of transfer learning” that allows one-shot learning to be performed by "one update” in transfer learning. is there.
  • pre-learning of transfer learning unlike normal transfer learning, a randomized one-shot learning data set (learning data and test data for one-shot) is used to test with one parameter update from the learning data. Learn to classify data correctly.
  • FIG. 23 is a diagram illustrating an example of a transfer learning input screen according to the present disclosure.
  • the information processing apparatus 100 generates a screen IM7 for inputting the value of the parameter “learned model path”, the value of the parameter “layer to be transferred”, and the value of the parameter “transfer model name” as shown in FIG. Provide to users.
  • the information processing apparatus 100 is an input screen including an input field BX71 for inputting the value of the parameter “learned model path” together with the character string “learned model Path” indicating the parameter “learned model path”.
  • Generate IM7 The information processing apparatus 100 also generates a screen IM7 including a selection list CB7 that is a pull-down menu for selecting the value of the parameter “layer to be transferred” together with the character string “layer to be transferred” indicating the parameter “layer to be transferred”.
  • the selection list CB7 in which the list is slid by the slide bar includes options for specifying layers (layers) such as "Convolution_5", "BatchNormalization_5", "Rule_5", and "Affine_6”.
  • the information processing apparatus 100 also generates a screen IM7 including a character string “transition model name” indicating the parameter “transition model name” and an input field BX72 for inputting the value of the parameter “transition model name”.
  • the input field BX71 corresponding to the "learned model path" here is a place where the folder or directory in which the learned model files are stored is input.
  • the layers from the input of the learned model to the output are pull-down menus, which can be viewed via a slide bar or the like. If one of the pull-down menus in the selection list CB7 is selected, it is possible to instruct to cut out a module having this layer as the final layer.
  • the input field BX72 corresponding to the "transition model name" here is a place for designating the name to be given to the module cut out via the selection list CB7 which is a pull-down menu.
  • the network name input to the input field BX72 is linked with the module name in the network design portion, and the setting is made in a format fitted in that portion.
  • the information processing apparatus 100 determines the value input by the user in the input field BX71 as the value of the parameter “learned model path”. Further, the information processing apparatus 100 determines the value designated by the user in the selection list CB7 as the value of the parameter “layer to be transferred”. In addition, the information processing apparatus 100 determines the value input by the user in the input field BX72 as the value of the parameter “transition model name”.
  • the information processing apparatus 100 when the user selects the transfer learning which is the learning method LT4 in the provision list LS1, the information processing apparatus 100 provides the screen IM7 as shown in FIG. 23 to the user. For example, the information processing apparatus 100 acquires method information indicating the learning method LT4 that is transfer learning.
  • the information processing apparatus 100 determines a data supply method based on method information indicating a learning method LT4 that is transfer learning. For example, the information processing apparatus 100 determines input data, parameters, and the like used for transfer learning as a data supply method based on method information indicating a learning method LT4 that is transfer learning. For example, the information processing apparatus 100 determines input data, parameters, and the like by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods as shown in the correspondence information storage unit 141 in FIG.
  • the information processing apparatus 100 determines the input data used for transfer learning as “preliminary learning model” and “labeled data”. Further, the information processing apparatus 100 determines the parameter used for transfer learning using the setting parameter information PINF4 shown in FIG.
  • the setting parameter information PINF4 includes a parameter used for transfer learning, specification of whether the user inputs a value of the parameter, a recommended value of the parameter, and the like.
  • the information processing apparatus 100 determines the parameters used for transfer learning as “learned model path”, “layer to be transferred”, and “transfer model name”.
  • the information processing apparatus 100 may also provide the user with a network design screen as shown in FIG.
  • the information processing device 100 generates a screen IM71 as shown in FIG.
  • FIG. 24 is a diagram showing an example of a transfer learning network design screen according to the present disclosure.
  • a screen IM71 which is a network design screen in FIG. 24, includes a plurality of blocks such as an input layer, a transfer module, an additional layer 1 (total coupling layer), and an additional layer 2 (loss).
  • the location of the transfer module in the screen IM71 corresponds to the transfer layer specified in FIG.
  • the transfer module in the screen IM71 is given the name of the transfer model specified in FIG.
  • the learning data supply method is determined based on what you want to learn by setting transfer learning. For example, there are various patterns such as “transfer learning” and “supervised learning” or “semi-supervised learning”. Therefore, the information processing apparatus 100 may determine the type of learning method after these settings are made.
  • the processing according to each of the above-described embodiments may be implemented in various different modes (modifications) other than each of the above-described embodiments.
  • the information processing device that determines the data providing method is not limited to the example described above, and may have various modes. This point will be described with reference to FIGS. 25 to 30. Note that, in the following, description of the same points as those of the information processing apparatus 100 according to the embodiment will be appropriately omitted.
  • FIG. 25 is a diagram illustrating a configuration example of the information processing system according to the modified example of the present disclosure.
  • FIG. 26 is a diagram illustrating a configuration example of the information processing device according to the modified example of the present disclosure.
  • the information processing system 1 includes a terminal device 10 and an information processing device 100A.
  • the terminal device 10 and the information processing device 100A are communicably connected to each other via a network N in a wired or wireless manner.
  • the information processing system 1 illustrated in FIG. 25 may include a plurality of terminal devices 10 and a plurality of information processing devices 100A.
  • the information processing apparatus 100A communicates with the terminal device 10 via the network N, provides information to the terminal device 10, and based on information such as parameters specified by the user via the terminal device 10, the model You may also study.
  • the terminal device 10 is an information processing device used by a user.
  • the terminal device 10 is realized by, for example, a notebook PC (Personal Computer), a desktop PC, a smartphone, a tablet terminal, a mobile phone, a PDA (Personal Digital Assistant), or the like.
  • the terminal device 10 may be any terminal device as long as it can display the information provided by the information processing device 100A.
  • the terminal device 10 receives an operation by the user.
  • the terminal device 10 displays the information provided by the information processing device 100A on the screen.
  • the terminal device 10 transmits information such as parameter values input by the user to the information processing device 100A.
  • the information processing apparatus 100A provides information to the terminal apparatus 10 and implements the same information processing as the information processing apparatus 100, except that the information processing apparatus 100A differs from the information processing apparatus 100 in that the values of the parameters acquired from the terminal apparatus 10 are used. ..
  • the information processing device 100A includes a communication unit 11, a storage unit 14, and a control unit 15A.
  • the communication unit 11 is connected to a network N (Internet or the like) by wire or wirelessly, and transmits/receives information to/from the terminal device 10 via the network N.
  • the information processing apparatus 100A may not have the GUI function like the information processing apparatus 100.
  • the information processing apparatus 100A may include an input unit (for example, a keyboard or a mouse) or an output unit (for example, a liquid crystal display) used by an administrator of the information processing apparatus 100A. Further, the information processing apparatus 100A may not have an input unit or an output unit for displaying various information when it does not accept various operations from an administrator or the like who manages the information processing apparatus 100A.
  • the control unit 15A is realized by, for example, a CPU, an MPU, or the like executing a program (for example, the information processing program according to the present disclosure) stored inside the information processing apparatus 100A using a RAM or the like as a work area.
  • the control unit 15A is a controller, and may be realized by an integrated circuit such as an ASIC or FPGA.
  • control unit 15A includes an acquisition unit 151A, a determination unit 152, a generation unit 153, a provision unit 154A, and a learning unit 155, and the functions and actions of information processing described below. Realize or execute.
  • the internal configuration of the control unit 15A is not limited to the configuration shown in FIG. 26, and may be another configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 151A acquires various types of information, similar to the acquisition unit 151.
  • the acquisition unit 151A acquires various kinds of information from the terminal device 10.
  • the acquisition unit 151A acquires the parameter value from the terminal device 10.
  • the acquisition unit 151A acquires various types of information from the storage unit 14.
  • the providing unit 154A provides various information similarly to the providing unit 154.
  • the providing unit 154A provides various information to the terminal device 10.
  • the providing unit 154A transmits various information to the terminal device 10.
  • the providing unit 154A provides the terminal device 10 with the input screen generated by the generating unit 153.
  • FIG. 27 is a diagram illustrating another configuration example of the information processing device according to the modified example of the present disclosure.
  • the information processing device 100B has a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15B.
  • the information processing device 100B is different from the information processing device 100 in that the information processing device 100B includes an estimation unit 156.
  • the control unit 15B is realized by, for example, a CPU or the like executing a program (for example, an information processing program according to the present disclosure) stored inside the information processing apparatus 100B using a RAM or the like as a work area. Further, the control unit 15B may be realized by, for example, an integrated circuit such as ASIC or FPGA.
  • control unit 15B includes an acquisition unit 151B, a determination unit 152B, a generation unit 153, a provision unit 154, a learning unit 155, and an estimation unit 156, and information described below. Realize or execute processing functions and actions.
  • the internal configuration of the control unit 15B is not limited to the configuration shown in FIG. 27, and may be another configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 151B acquires method information indicating the learning method estimated by the estimation unit 156.
  • the acquisition unit 151B acquires learning data used for machine learning.
  • the acquisition unit 151B acquires information indicating a network learned by machine learning.
  • the decision unit 152B makes various decisions in the same manner as the decision unit 152.
  • the determining unit 152B determines the machine learning data supply method based on the method information indicating the learning method estimated by the estimating unit 156.
  • the determination unit 152B determines the machine learning data supply method based on the method information indicating the learning method acquired by the acquisition unit 151B.
  • the estimation unit 156 makes various estimations.
  • the estimation unit 156 estimates various types of information based on the information acquired by the acquisition unit 151.
  • the estimation unit 156 estimates various types of information based on the information stored in the storage unit 14.
  • the estimation unit 156 estimates the learning method based on the learning data.
  • the estimation unit 156 estimates the learning method based on the information indicating the structure of the learning data. For example, the estimation unit 156 estimates the learning method based on the learning data set information. For example, the estimation unit 156 may estimate a domain based on the extension of a file included in the learning data set, and estimate that the learning method is based on the estimated domain.
  • the estimation unit 156 may estimate the learning method based on the learning data set acquired by the acquisition unit 151 and the information indicating the structure of the data set used for each learning method.
  • the estimation unit 156 may estimate the learning method as unsupervised learning or triplet network metric learning when the learning data set does not include a label.
  • the estimation unit 156 may estimate the learning method as unsupervised learning when the learning data set does not include a label and has two data pairs.
  • the estimation unit 156 may estimate that the learning method is triplet network metric learning when the learning data set does not include a label and is a set of three data.
  • the estimation unit 156 may estimate the learning method as semi-supervised learning when the learning data set includes both labeled and unlabeled data.
  • the estimation unit 156 may estimate the learning method to be supervised learning or Shame's network metric learning. For example, when the learning data set includes a label and the information indicates whether or not the label is in the same class, the estimation unit 156 may estimate the learning method as the metric learning of the Shamisen network. Note that the above is an example, and the estimation unit 156 may estimate the learning method by appropriately using various information.
  • the estimation unit 156 estimates the learning method based on the information indicating the network. For example, the estimation unit 156 estimates from the learning data set that the problem that the user is trying to solve is a regression problem, and estimates that the learning method is a learning method corresponding to the regression problem. For example, the estimation unit 156 may estimate that the problem that the user is trying to solve is a regression problem when the label of the learning data set is a real value.
  • the estimation unit 156 estimates that the regression problem is about to be solved and selects the square error function as the loss function. For example, the estimation unit 156 estimates from the learning data set that the problem that the user is trying to solve is a classification problem, and estimates that the learning method is a learning method corresponding to the classification problem. For example, when the label of the learning data set has an integer value, the estimation unit 156 may estimate that the problem that the user is trying to solve is a classification problem. For example, the estimation unit 156 may estimate that the problem that the user is trying to solve is a multi-value classification problem when there are two or more integer values that represent the label of the learning data set. For example, the estimation unit 156 may estimate that the problem that the user is trying to solve is a binary classification problem when there are two types of integer values that represent the labels of the learning data set.
  • FIG. 28 is a diagram illustrating an example of a display screen of network design support according to the present disclosure.
  • FIG. 28 may be a network design screen of NeuralNetworkConsole.
  • a toolbar in which buttons used for selecting a tool are arranged is displayed above the screen IM2 shown in FIG. 28, and a first area AR21 and a second area AR22 are provided below the toolbar.
  • the rectangular first area AR21 provided at the left end in FIG. 28 is an area used for selection of various components that configure the network.
  • each component is displayed for each category such as “IO”, “Loss”, “Parameter”, “Basic”, and “Pooling”.
  • “Loss” components include “SquaredError”, “HuberLoss”, “AbsoluteError”, etc.
  • the components of “Parameter” include “Parameter”, “Working Memory” and the like.
  • the “Basic” component includes “Affine”, “Convolution”, “Deconvolution”, “Embed”, and the like.
  • the second area AR22 is an area in which a network designed using the components shown in the first area AR21 is displayed.
  • FIG. 28 the case where each component of “Input”, “Affine”, “Sigmoid”, and “BinaryCrossEntropy” is selected in order is shown, and blocks BK1 to BK4 representing each component are displayed side by side.
  • the block BK1 shown in FIG. 28 corresponds to the input layer
  • the block BK2 corresponds to the linear layer
  • the block BK3 corresponds to the activation layer
  • the block BK4 corresponds to the loss function layer.
  • blocks BK1 to BK4 shown in FIG. 28 represent networks (learners) including an input layer, a linear layer, an activation layer, and a loss function layer. ..
  • the estimation unit 156 may estimate the learning method based on the network generated by the screen IM2 as shown in FIG.
  • the estimation unit 156 may estimate the learning method based on the information indicating the network acquired by the acquisition unit 151 and the information indicating the type of the network learned by each learning method.
  • GUI has been described as an example, but any providing mode may be used as long as a service related to information processing such as determination of a data providing method can be provided.
  • information processing described above may be made available within a development framework using ordinary coding.
  • a development environment using a programming language such as C language or Python is provided with various development frameworks (also simply referred to as “framework”) such as Tensorflow.
  • various frameworks such as Theano, Caffe, Torch, Chainer, Keras, CNTK, MxNet, PyTorch, NNabla are provided. These frameworks design neural networks and set learning by using programming languages.
  • these frameworks have basic functions such as functions and solvers.
  • a learning execution loop including a graph designing unit, an optimization setting unit, a data supply setting unit, and a performance evaluation unit are described are prepared.
  • FIG. 29 is a diagram illustrating an example of a provision mode of information processing according to the modified example of the present disclosure.
  • a data provider group is provided for data supply.
  • a data provider group a data provider group specific to various learning algorithms is prepared as a lineup.
  • the data providers of the data provider group may be classes to which learning algorithms such as meta learning data provider and metric learning data provider are explicitly added. Further, the data providers of the data provider group may be classes to which a data supply method such as a Shamisen net data generator, a triplet generator, an episode generator, etc. is added.
  • the specific implementation of information processing regarding the determination of the data providing method is not limited to the addition of the UI and the function in the GUI development framework (Visual Programming environment) as shown in FIG. Specifically, as shown in FIG. 29, by adding a function (function) to an existing well-known development framework (such as sdk), or by providing it as a single application as described above, There may be various embodiments such as a developer independently constructing and implementing as a support tool for deep learning.
  • the various information processings described above enable deep learning developers to easily realize different data supply procedures according to various learning methods without deep knowledge.
  • the data supply portion has a structure independent of the structure unique to the learning of the neural network.
  • the data supply part has a variable structure having both data and gradient. Therefore, the deep learning development environment that can be used by the above-mentioned information processing is easy for intermediate programming people, such as a development environment or a framework that can be easily developed even by a beginner in programming such as GUI. It is useful not only for the development environment that can be done, but also for advanced users who want to build a deep learning development environment by themselves.
  • module development by deep learning is further accelerated, and not only developers of deep learning modules, It is expected to bring a wide range of beneficial effects to users of the deep learning module and eventually to users.
  • each component of each device shown in the drawings is functionally conceptual, and does not necessarily have to be physically configured as shown. That is, the specific form of distribution/integration of each device is not limited to that shown in the figure, and all or part of the device may be functionally or physically distributed/arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
  • FIG. 30 is a hardware configuration diagram illustrating an example of a computer 1000 that realizes the functions of the information processing apparatuses such as the information processing apparatuses 100, 100A, and 100B.
  • the computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input/output interface 1600.
  • the respective units of the computer 1000 are connected by a bus 1050.
  • the CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands a program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 starts up, a program dependent on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100, data used by the program, and the like. Specifically, the HDD 1400 is a recording medium that records an information processing program according to the present disclosure, which is an example of the program data 1450.
  • the communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits the data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or a mouse via the input/output interface 1600.
  • the CPU 1100 also transmits data to an output device such as a display, a speaker, a printer, etc. via the input/output interface 1600.
  • the input/output interface 1600 may also function as a media interface for reading a program or the like recorded in a predetermined recording medium (medium).
  • Examples of media include optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, and semiconductor memory. Is.
  • optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk)
  • magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, and semiconductor memory.
  • the CPU 1100 of the computer 1000 realizes the functions of the control unit 15 and the like by executing the information processing program loaded on the RAM 1200.
  • the HDD 1400 stores the information processing program according to the present disclosure and the data in the storage unit 14. Note that the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program data, but as another example, these programs may be acquired from another device via the external network 1550.
  • An acquisition unit that acquires method information indicating a learning method related to machine learning, Based on the method information acquired by the acquisition unit, a determination unit that determines a method of supplying the machine learning data, An information processing apparatus including.
  • the determination unit is Determining the supply method based on a comparison between the method information and correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods, The information processing device according to (1) above.
  • the determination unit is Determining a parameter related to the supply method that allows a predetermined user to input a value, based on the method information, The information processing apparatus according to (1) or (2) above.
  • the determination unit is Determining, based on parameter information corresponding to the learning method, the parameter that allows the predetermined user to input a value; The information processing device according to (3).
  • a generation unit that generates an input screen for inputting the value of the parameter determined by the determination unit, With The information processing apparatus according to (3) or (4) above.
  • (6) A providing unit that provides the input screen generated by the generating unit, With The information processing device according to (5) above.
  • the determination unit is Determining a recommended value of the parameter recommended to the predetermined user based on the method information, The information processing apparatus according to any one of (3) to (6) above.
  • the determination unit is Determining the recommended value based on the performance of the device that executes the machine learning, The information processing device according to (7).
  • the determination unit is Determining the recommended value based on the network learned by the machine learning, The information processing device according to (7) or (8).
  • the acquisition unit is Obtaining the method information from a user who specifies the learning method, The information processing apparatus according to any one of (1) to (9) above.
  • the acquisition unit is Acquiring the method information indicating the learning method selected by the user from a plurality of learning methods, The information processing device according to (10).
  • An estimation unit that estimates the learning method, Equipped with The acquisition unit is Acquiring the method information indicating the learning method estimated by the estimation unit, The information processing apparatus according to any one of (1) to (9) above.
  • the acquisition unit is Acquire the learning data used for the machine learning, The estimation unit is Estimating the learning method based on the learning data, The information processing device according to (12). (14) The estimation unit is Estimating the learning method based on information indicating the structure of the learning data, The information processing device according to (13). (15) The determination unit is Determining a network to be learned by the machine learning based on the supply method, The information processing apparatus according to any one of (1) to (14) above. (16) The determination unit is Determining a network to be learned by the machine learning based on a parameter corresponding to the supply method, The information processing apparatus according to any one of (1) to (15) above.
  • the determination unit is Determining the structure of the network based on the supply data supplied by the supply method, The information processing device according to (15) or (16). (18) The determination unit is Determining the structure of the network based on the domain of the supply data, The information processing device according to (17). (19) Acquire method information indicating the learning method related to machine learning, Based on the acquired method information, determine the method of supplying the machine learning data, An information processing method for performing processing. (20) Acquire method information indicating the learning method related to machine learning, Based on the acquired method information, determine the method of supplying the machine learning data, An information processing program that causes processing to be executed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

This information processing device comprises: an acquisition part that acquires method information that indicates a learning method for machine learning; and a determination part that, on the basis of the method information acquired by the acquisition part, determines a supply method for data for the machine learning.

Description

情報処理装置、情報処理方法及び情報処理プログラムInformation processing apparatus, information processing method, and information processing program
 本開示は、情報処理装置、情報処理方法及び情報処理プログラムに関する。 The present disclosure relates to an information processing device, an information processing method, and an information processing program.
 様々な技術分野において、機械学習を利用した情報処理が活用されており、ニューラルネットワーク等のネットワークを設計するツールが提供されてきている。 Information processing using machine learning is utilized in various technical fields, and tools for designing networks such as neural networks have been provided.
国際公開第2017/154284号International Publication No. 2017/154284
 従来技術によれば、環境に応じたニューラルネットワークに係るネットワーク構造を探索する。 According to the conventional technology, the network structure related to the neural network according to the environment is searched.
 しかしながら、従来技術は、学習方法に応じた機械学習のデータの供給方法を適切に決定することができるとは限らない。例えば、教師あり学習や教師なし学習等の各学習方法に応じて、ネットワーク生成のデータの供給方法が異なるため、環境に応じたネットワーク構造を探索するだけでは、学習方法に応じたデータの供給方法に対応することが難しい。そのため、例えばネットワークの生成を所望するユーザが学習方法に応じて学習時に用いるパラメータの設定等を行うこと等により、ユーザの利便性が高くないという問題もあった。 However, the conventional technology is not always able to appropriately determine the method of supplying machine learning data according to the learning method. For example, since the method for supplying network-generated data differs depending on each learning method such as supervised learning and unsupervised learning, it is only necessary to search the network structure according to the environment to supply the data according to the learning method. It is difficult to deal with. Therefore, there is also a problem that the convenience of the user is not high because, for example, a user who desires to generate a network sets parameters used at the time of learning according to a learning method.
 そこで、本開示では、学習方法に応じた機械学習のデータの供給方法を適切に決定することのできる情報処理装置、情報処理方法及び情報処理プログラムを提案する。 Therefore, the present disclosure proposes an information processing device, an information processing method, and an information processing program capable of appropriately determining a machine learning data supply method according to a learning method.
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、機械学習に関する学習方法を示す方法情報を取得する取得部と、前記取得部により取得された前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する決定部と、を備える。 In order to solve the above problems, an information processing device according to an aspect of the present disclosure is based on an acquisition unit that acquires method information indicating a learning method related to machine learning, and the method information acquired by the acquisition unit. And a determining unit that determines a method of supplying the machine learning data.
本開示の実施形態に係る情報処理の一例を示す図である。It is a figure showing an example of information processing concerning an embodiment of this indication. 本開示の実施形態に係る情報処理の一例を示す図である。It is a figure showing an example of information processing concerning an embodiment of this indication. 本開示の実施形態に係る情報処理装置の構成例を示す図である。It is a figure showing an example of composition of an information processor concerning an embodiment of this indication. 本開示の実施形態に係る対応情報記憶部の一例を示す図である。It is a figure showing an example of the corresponding information storage part concerning the embodiment of this indication. 本開示の実施形態に係る情報処理の手順を示すフローチャートである。5 is a flowchart showing a procedure of information processing according to the embodiment of the present disclosure. 本開示に係る教師あり学習等の学習を示すフローチャートである。8 is a flowchart showing learning such as supervised learning according to the present disclosure. 本開示に係る教師あり学習のデータセットの一例を示す図である。It is a figure which shows an example of the data set of supervised learning concerning this indication. 本開示に係る教師なし学習のデータセットの一例を示す図である。It is a figure showing an example of a data set of unsupervised learning concerning this indication. 本開示に係る半教師学習のミニバッチの一例を示す図である。It is a figure showing an example of a mini-batch of semi-teacher learning concerning this indication. 本開示に係るメトリック学習のネットワーク構成の一例を示す図である。It is a figure which shows an example of the network structure of the metric learning which concerns on this indication. 本開示に係るメトリック学習のミニバッチの一例を示す図である。It is a figure showing an example of a mini-batch of metric learning concerning this indication. 本開示に係るメトリック学習の入力画面の一例を示す図である。It is a figure which shows an example of the input screen of the metric learning which concerns on this indication. 本開示に係るメトリック学習の学習を示すフローチャートである。9 is a flowchart showing learning of metric learning according to the present disclosure. 本開示に係るメトリック学習のネットワーク構成の他の一例を示す図である。It is a figure which shows another example of the network configuration of the metric learning which concerns on this indication. 本開示に係るメトリック学習のミニバッチの他の一例を示す図である。It is a figure which shows another example of the mini-batch of the metric learning which concerns on this indication. 本開示に係るメトリック学習の入力画面の他の一例を示す図である。It is a figure which shows another example of the input screen of the metric learning which concerns on this indication. 本開示に係るメトリック学習の他の学習を示すフローチャートである。9 is a flowchart showing another learning of metric learning according to the present disclosure. 本開示に係るハードネガティブマイニングの場合の学習を示すフローチャートである。8 is a flowchart showing learning in the case of hard negative mining according to the present disclosure. 本開示に係るメタ学習のネットワーク構成の一例を示す図である。It is a figure which shows an example of the network structure of the meta learning which concerns on this indication. 本開示に係るメタ学習のミニバッチの一例を示す図である。It is a figure which shows an example of the mini-batch of the meta learning which concerns on this indication. 本開示に係るメタ学習の入力画面の一例を示す図である。It is a figure which shows an example of the input screen of the meta learning which concerns on this indication. 本開示に係るメタ学習の学習を示すフローチャートである。9 is a flowchart illustrating learning of meta learning according to the present disclosure. 本開示に係る転移学習の入力画面の一例を示す図である。It is a figure which shows an example of the input screen of the transfer learning which concerns on this indication. 本開示に係る転移学習のネットワーク設計画面の一例を示す図である。It is a figure which shows an example of the network design screen of the transfer learning which concerns on this indication. 本開示の変形例に係る情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system which concerns on the modification of this indication. 本開示の変形例に係る情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus which concerns on the modification of this indication. 本開示の変形例に係る情報処理装置の他の構成例を示す図である。It is a figure showing other examples of composition of an information processor concerning a modification of this indication. 本開示のネットワーク設計支援の表示画面の例を示す図である。It is a figure which shows the example of the display screen of the network design support of this indication. 本開示の変形例に係る情報処理の提供態様の例を示す図である。It is a figure which shows the example of the provision aspect of the information processing which concerns on the modification of this indication. 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。It is a hardware block diagram which shows an example of the computer which implement|achieves the function of an information processing apparatus.
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本願にかかる情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。 Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. Note that the information processing apparatus, the information processing method, and the information processing program according to the present application are not limited to this embodiment. Further, in each of the following embodiments, the same reference numerals are given to the same portions, and the overlapping description will be omitted.
 以下に示す項目順序に従って本開示を説明する。
  1.実施形態
   1-1.本開示の実施形態に係る情報処理の概要
   1-2.実施形態に係る情報処理装置の構成
   1-3.実施形態に係る情報処理の手順
   1-4.教師あり学習、教師なし学習
   1-5.半教師学習、弱教師学習
   1-6.メトリック学習
   1-6-1.シャミーズネットワーク
   1-6-2.トリプレットネットワーク
   1-7.メタ学習
   1-8.転移学習
  2.その他の実施形態
   2-1.変形例1(その他の構成例)
   2-2.変形例2(学習方法の推定)
   2-3.変形例3(開発フレームワーク内での利用)
   2-4.変形例4(単体アプリケーションとしての提供)
  3.ハードウェア構成
The present disclosure will be described in the following item order.
1. Embodiment 1-1. Overview of information processing according to embodiments of the present disclosure 1-2. Configuration of information processing apparatus according to embodiment 1-3. Information processing procedure according to embodiment 1-4. Supervised learning, unsupervised learning 1-5. Semi-teacher learning, weak teacher learning 1-6. Metric learning 1-6-1. Shamisen Network 1-6-2. Triplet network 1-7. Meta learning 1-8. Transfer learning 2. Other Embodiments 2-1. Modification 1 (other configuration examples)
2-2. Modification 2 (estimation of learning method)
2-3. Modification 3 (Use within the development framework)
2-4. Modification 4 (provided as a standalone application)
3. Hardware configuration
[1.実施形態]
[1-1.本開示の実施形態に係る情報処理の概要]
 図1は、本開示の実施形態に係る情報処理の一例を示す図である。本開示の実施形態に係る情報処理は、図1に示す情報処理装置100によって実現される。
[1. Embodiment]
[1-1. Outline of information processing according to embodiment of the present disclosure]
FIG. 1 is a diagram illustrating an example of information processing according to an embodiment of the present disclosure. The information processing according to the embodiment of the present disclosure is realized by the information processing device 100 illustrated in FIG. 1.
 情報処理装置100は、実施形態に係る情報処理を実行する情報処理装置である。情報処理装置100は、機械学習に関する複数の学習方法をユーザに対して提供(提示)し、ユーザが選択した学習方法を示す情報(以下「方法情報」ともいう)に基づいて、学習のデータの供給方法を決定する情報処理装置である。実施形態においては、図2等に示す画面IM1のようなGUI(Graphical User Interface)に関する技術により、ユーザに対して情報提供を行う場合を一例として説明する。なお、情報処理装置100は、実施形態の処理を実現可能であれば、GUIに限らず、CUI(Character User Interface)やTUI(Text User Interface)等の種々の技術により、ユーザに対して情報提供を行ってもよい。 The information processing device 100 is an information processing device that executes information processing according to the embodiment. The information processing apparatus 100 provides (presents) a plurality of learning methods related to machine learning to a user, and based on information indicating a learning method selected by the user (hereinafter also referred to as “method information”), learning data It is an information processing apparatus that determines a supply method. In the embodiment, a case will be described as an example in which information is provided to a user by a technique related to a GUI (Graphical User Interface) such as the screen IM1 shown in FIG. 2 and the like. Note that the information processing apparatus 100 provides information to users by various technologies such as CUI (Character User Interface) and TUI (Text User Interface) as well as GUI as long as the processing of the embodiment can be realized. You may go.
 図1を用いて、情報処理装置100がGUIにより、機械学習(以下「機械学習MLX」とする)の実行を所望するユーザ(以下「ユーザX」とする)に複数の学習方法を示す情報を表示することにより、ユーザXが選択した一の学習方法に基づいて、機械学習MLXのデータの供給方法を決定する場合を示す。まず、情報処理装置100は、ユーザXに複数の学習方法を示す情報を提供する。例えば、情報処理装置100は、ディスプレイ(図3中の出力部13に対応)に複数の学習方法を表示する。図1の例では、情報処理装置100は、提供リストLS1に示すように、8つの学習種別の各々に対応する8つの学習方法LT1~LT8を示す情報を表示する。例えば、提供リストLS1は、プルダウンメニューによる学習種別(学習方法)の選択UI(User Interface)であってもよい。例えば、情報処理装置100は、ユーザによる学習方法の選択に応じて、更に詳細設定画面(図2中の画面IM1や図12中の画面IM4等)に遷移するが詳細は後述する。 With reference to FIG. 1, the information processing apparatus 100 uses a GUI to display information indicating a plurality of learning methods to a user (hereinafter referred to as “user X”) who desires to execute machine learning (hereinafter referred to as “machine learning MLX”). The display shows the case where the data supply method of the machine learning MLX is determined based on the one learning method selected by the user X. First, the information processing apparatus 100 provides the user X with information indicating a plurality of learning methods. For example, the information processing apparatus 100 displays a plurality of learning methods on the display (corresponding to the output unit 13 in FIG. 3). In the example of FIG. 1, the information processing apparatus 100 displays information indicating eight learning methods LT1 to LT8 corresponding to each of the eight learning types, as shown in the provision list LS1. For example, the provision list LS1 may be a UI (User Interface) for selecting a learning type (learning method) from a pull-down menu. For example, the information processing apparatus 100 transitions to a detailed setting screen (screen IM1 in FIG. 2 or screen IM4 in FIG. 12) according to the user's selection of a learning method, which will be described in detail later.
 図1の例では、情報処理装置100は、教師あり学習である学習方法LT1を含む提供リストLS1を表示する。また、情報処理装置100は、教師なし学習である学習方法LT2を含む提供リストLS1を表示する。また、情報処理装置100は、半教師学習である学習方法LT3を含む提供リストLS1を表示する。また、情報処理装置100は、転移学習である学習方法LT4を含む提供リストLS1を表示する。また、情報処理装置100は、弱教師学習である学習方法LT5を含む提供リストLS1を表示する。また、情報処理装置100は、メトリック学習である学習方法LT6を含む提供リストLS1を表示する。また、情報処理装置100は、メタ学習である学習方法LT7を含む提供リストLS1を表示する。また、情報処理装置100は、フューショット学習である学習方法LT8を含む提供リストLS1を表示する。なお、学習方法LT1~LT8の詳細については後述する。また、上記の学習方法LT1~LT8は、一例であり、情報処理装置100は、学習方法LT1~LT8に限らず、種々の学習方法を含む提供リストLS1を表示してもよい。 In the example of FIG. 1, the information processing apparatus 100 displays the provision list LS1 including the learning method LT1 that is supervised learning. The information processing apparatus 100 also displays the provision list LS1 including the learning method LT2 that is unsupervised learning. Further, the information processing apparatus 100 displays the provision list LS1 including the learning method LT3 that is the semi-teacher learning. The information processing apparatus 100 also displays the provision list LS1 including the learning method LT4 that is transfer learning. The information processing apparatus 100 also displays the provision list LS1 including the learning method LT5 that is weak teacher learning. The information processing apparatus 100 also displays the provision list LS1 including the learning method LT6 that is metric learning. The information processing apparatus 100 also displays the provision list LS1 including the learning method LT7 that is meta-learning. In addition, the information processing apparatus 100 displays the provision list LS1 including the learning method LT8 that is the fusion learning. The details of the learning methods LT1 to LT8 will be described later. The learning methods LT1 to LT8 described above are examples, and the information processing apparatus 100 may display the provision list LS1 including various learning methods without being limited to the learning methods LT1 to LT8.
 そして、提供リストLS1を確認したユーザXは、情報処理装置100により提供された複数の学習方法LT1~LT8から、機械学習MLXの学習方法を選択する(ステップS11)。例えば、ユーザXは、複数の学習方法LT1~LT8のうち一の学習方法を指定する。図1の例では、ユーザXは、複数の学習方法LT1~LT8のうち、教師あり学習である学習方法LT1を選択する。これにより、情報処理装置100は、教師あり学習である学習方法LT1を示す方法情報を取得する(ステップS12)。 Then, the user X who confirms the provision list LS1 selects the learning method of the machine learning MLX from the plurality of learning methods LT1 to LT8 provided by the information processing apparatus 100 (step S11). For example, the user X specifies one learning method out of the plurality of learning methods LT1 to LT8. In the example of FIG. 1, the user X selects the learning method LT1 that is learning with a teacher from among the plurality of learning methods LT1 to LT8. As a result, the information processing apparatus 100 acquires method information indicating the learning method LT1 that is supervised learning (step S12).
 情報処理装置100は、教師あり学習である学習方法LT1を示す方法情報に基づいて、機械学習MLXのデータの供給方法を決定する(ステップS13)。例えば、情報処理装置100は、教師あり学習である学習方法LT1を示す方法情報に基づいて、教師あり学習に用いられる入力データやパラメータ等を、機械学習MLXのデータの供給方法として決定する。例えば、情報処理装置100は、図4中の対応情報記憶部141に示すような、複数の学習方法及び複数の供給方法の対応を示す対応情報を用いて、機械学習MLXに用いられる入力データやパラメータ等を決定する。 The information processing apparatus 100 determines the method of supplying the data for machine learning MLX based on the method information indicating the learning method LT1 that is supervised learning (step S13). For example, the information processing apparatus 100 determines input data, parameters, and the like used for supervised learning as a method of supplying data for machine learning MLX based on method information indicating a learning method LT1 that is supervised learning. For example, the information processing apparatus 100 uses input information used for machine learning MLX by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods, as shown in the correspondence information storage unit 141 in FIG. Determine parameters etc.
 情報処理装置100は、教師あり学習を示す方法情報と対応情報との比較に基づいて、教師あり学習に用いられる入力データやパラメータ等を機械学習MLXのデータの供給方法として決定する。情報処理装置100は、対応情報のうち、教師あり学習に対応する情報を用いて、教師あり学習に用いられる入力データやパラメータ等を機械学習MLXのデータの供給方法として決定する。 The information processing apparatus 100 determines input data, parameters, etc. used for supervised learning as a method of supplying data for machine learning MLX based on comparison between method information indicating supervised learning and correspondence information. The information processing apparatus 100 uses the information corresponding to the supervised learning among the correspondence information to determine the input data, the parameters, and the like used for the supervised learning as the method for supplying the data of the machine learning MLX.
 情報処理装置100は、対応情報のうち、教師あり学習に対応する情報を用いて、データ供給情報DM1に示すように、機械学習MLXに用いられる入力データやパラメータ等を機械学習のデータの供給方法として決定する。情報処理装置100は、対応情報のうち、教師あり学習に対応する入力に関する情報を用いて、機械学習MLXに用いられる入力データを決定する。図1の例では、情報処理装置100は、機械学習MLXに用いられる入力データを「ラベルつきデータ」に決定する。また、情報処理装置100は、対応情報のうち、教師あり学習に対応するパラメータに関する情報を用いて、機械学習MLXに用いられるパラメータを決定する。情報処理装置100は、機械学習MLXに用いられるパラメータを図4に示す設定パラメータ情報PINF1を用いて決定する。例えば、設定パラメータ情報PINF1には、教師あり学習に用いられるパラメータやそのパラメータの値をユーザに入力させるかの指定やそのパラメータの推奨値等が含まれる。図1の例では、情報処理装置100は、機械学習MLXに用いられるパラメータを「繰り返し数」や「バッチサイズ」等に決定する。 The information processing apparatus 100 uses the information corresponding to the supervised learning among the correspondence information, and as shown in the data supply information DM1, inputs the data and parameters used in the machine learning MLX, and supplies the machine learning data. To decide. The information processing apparatus 100 determines the input data used for the machine learning MLX using the information regarding the input corresponding to the learning with a teacher among the correspondence information. In the example of FIG. 1, the information processing apparatus 100 determines the input data used for the machine learning MLX as “labeled data”. Further, the information processing apparatus 100 determines the parameter used for the machine learning MLX by using the information regarding the parameter corresponding to the supervised learning among the correspondence information. The information processing apparatus 100 determines the parameter used for the machine learning MLX using the setting parameter information PINF1 shown in FIG. For example, the setting parameter information PINF1 includes a parameter used for supervised learning, specification of whether the user inputs the value of the parameter, recommended value of the parameter, and the like. In the example of FIG. 1, the information processing apparatus 100 determines the parameter used for the machine learning MLX to be the “repetition number” or the “batch size”.
 上述したように、情報処理装置100は、ユーザが指定した学習方法を示す方法情報を取得し、その方法情報に基づいて、機械学習のデータの供給方法を決定することにより、学習方法に応じた機械学習のデータの供給方法を適切に決定することができる。このように、情報処理装置100は、機能モジュールの開発で、機械学習、とくに、深層学習を利用するユーザ(開発者)に対して、学習のアルゴリズム設計で必要となるデータ設計と最適化ツールを容易に利用可能にすることができる。 As described above, the information processing apparatus 100 acquires the method information indicating the learning method designated by the user, and determines the method of supplying the machine learning data based on the method information, thereby responding to the learning method. A method of supplying machine learning data can be appropriately determined. As described above, the information processing apparatus 100 provides the data design and the optimization tool necessary for the learning algorithm design to the user (developer) who uses the machine learning, especially the deep learning, in the development of the functional module. Can be easily made available.
 昨今、ニューラルネットワークの学習に関する技術全般を表す深層学習(ディープラーニング)は、物体認識、音声認識、行動認識等の各種認識の機能を有する機能モジュールの性能の向上に大きな変革をもたらしている。例えば、物体が写っている画像から物体のクラスをあてる「一般物体認識」における性能は、人の性能を超えるに至った。 Recently, deep learning, which represents the overall technology for learning neural networks, has brought about a major revolution in improving the performance of functional modules that have various recognition functions such as object recognition, voice recognition, and action recognition. For example, the performance in “general object recognition”, which assigns a class of an object from an image showing the object, exceeds that of a person.
 また、上述した「教師あり学習」とは、問題を示すデータとその答えを示すラベルとの組合せ(ペア)を用いて、データからラベルを導く関数を学習する技術である。例えば、一般物体認識では、データは、物体が写った写真であり、ラベルは物体の種別である。このような教師あり学習を使う機能設計ソリューションは、十分なデータセットとニューラルネットの適切な選択と、基本的な学習アルゴリズムの知識がある場合、性能のよいモジュールを得られる場合がある。 The above-mentioned "supervised learning" is a technique for learning a function for deriving a label from data by using a combination (pair) of data indicating a problem and a label indicating its answer. For example, in general object recognition, the data is a photograph of the object and the label is the type of the object. Such a functional design solution using supervised learning may be able to obtain a high-performance module if a sufficient data set, proper selection of a neural network, and knowledge of a basic learning algorithm are available.
 また、昨今、教師あり学習のソリューションの確立に伴い、問題を示すデータとその答えを示すラベルが少なく、十分でない状況での学習や、認識モジュール以外の獲得などが進んでいる。答えを示すラベルが十分でない状況の学習の代表例は、「半教師学習」と称され、また、ラベルが予測したい正解そのものではなくヒントになっている場合の学習が「弱教師学習」と称される。 Also, recently, with the establishment of supervised learning solutions, there are few labels that show problem data and answers, and learning in situations where it is not sufficient and acquisition of other than recognition modules are progressing. A typical example of learning in a situation where the label showing the answer is not sufficient is called "semi-teacher learning", and learning when the label is a hint rather than the correct answer to predict is called "weak teacher learning". To be done.
 また、データが少なく、十分でない場合の学習の代表例は、「ワンショット学習(フューショット学習)」と称される。ワンショット学習は、その学習方法を内包する「メタ学習」と呼ばれ、学習アルゴリズムの学習アルゴリズムでモデルの初期値を学習する。「メタ学習」には、「メトリック学習」がベースになっているものや「転移学習」がベースになっているもの等の種々のアプローチがある。「メトリック学習」は、複数のデータに対してその距離に関するラベル(たとえば同じクラスならば近い、違うクラスならば遠い)が付与されており、そのラベルが付与された複数のデータを用いる学習である。「転移学習」は、事前に学習したモデルを転用して、新たなデータセットの学習をする技術である。また、認識モジュール以外の獲得の代表例は、「生成モデル」と称される。「生成モデル」の学習は、データらしさ、すなわちデータの尤度やデータの本物らしさを学習する。生成モデルの学習には、「教師なし学習」が使われることが多い。 Also, a typical example of learning when the amount of data is small and insufficient is called "one shot learning (fushot learning)". The one-shot learning is called “meta-learning” which includes the learning method, and the learning algorithm of the learning algorithm learns the initial value of the model. There are various approaches to "meta-learning" such as those based on "metric learning" and those based on "transfer learning". "Metric learning" is a learning in which a plurality of data are labeled with a distance label (for example, the same class is close, and different classes are far), and a plurality of data with the label is used. .. “Transfer learning” is a technique for diverting a model learned in advance and learning a new data set. A representative example of acquisition other than the recognition module is called a "generation model". In the learning of the “generation model”, the likelihood of data, that is, the likelihood of data or the authenticity of data is learned. "Unsupervised learning" is often used for learning generative models.
 このように、学習方法(学習種別)には、「教師あり学習」以外にも、「半教師学習」、「弱教師学習」、「ワンショット学習」、「フューショット学習」、「メタ学習」、「メトリック学習」、「転移学習」、「生成モデルの学習」など多種多様な学習アルゴリズムがある。例えば、これらの学習方法を利用するにあたってユーザ(開発者)は、「認識モジュール」をどのようにネットワークに組み込むかというネットワークアーキテクチャの知識のみならず、そのアーキテクチャで、データをどのように供給して最適化(学習)を行うかの知識が必要となる。さらに、ユーザ(開発者)は、実際にデータを供給して最適化を行うための多様な学習器のコーディングを行うことも必要となる場合がある。 As described above, the learning method (learning type) includes "semi-teacher learning", "weak teacher learning", "one-shot learning", "fushot learning", and "meta-learning" in addition to "supervised learning". , "Metric learning", "transfer learning", "learning generative model" and so on. For example, when using these learning methods, the user (developer) has not only knowledge of the network architecture of how to incorporate the "recognition module" into the network, but also how to supply data with that architecture. Knowledge of optimization (learning) is required. Further, the user (developer) may need to code various learning devices for actually supplying data and performing optimization.
 例えば、「半教師学習」ならば、「ラベル有りデータ」、「ラベルなしデータ」の供給が必要であり、「弱教師学習」ならば、多くの場合「転移学習」の設定が必要となる。「ワンショット学習」の「メタ学習」であれば、「エピソード」とよばれる少量の学習データ(サポート)とテストデータ(クエリ)の乱択が必要である。「メトリック学習」ならば、複数のデータとそのデータの距離情報のラベルを生成することが必要である。「転移学習」ならば、初期モデルに学習済みモデルの転用が必要である。 For example, in the case of "semi-teacher learning", it is necessary to supply "labeled data" and "unlabeled data", and in "weak teacher learning", it is often necessary to set "transfer learning". In the case of “meta-learning” of “one-shot learning”, it is necessary to randomly select a small amount of learning data (support) and test data (query) called “episode”. In the case of "metric learning", it is necessary to generate a plurality of data and labels of distance information of the data. In the case of "transfer learning", it is necessary to transfer the learned model to the initial model.
 このような状況あるため、誰でも簡単に深層学習を用いたモジュールを開発できることが望まれている。特に、ユーザに様々な学習方法での学習を可能にするために、データを適切に供給してモデルを学習させることが必要となる。 Due to this situation, it is desired that anyone can easily develop a module using deep learning. In particular, in order to enable the user to learn by various learning methods, it is necessary to appropriately supply data and train the model.
 そのため、情報処理装置100は、ユーザに複数の学習方法を提供し、ユーザに学習方法を選択させることにより、選択された学習方法に基づいて、自動的にデータの供給方法を決定する。これにより、情報処理装置100は、学習方法(学習アルゴリズム)におけるデータ供給方法の知識を不要にし、ユーザが解きたい問題(タスク)に応じて自動的にデータの供給方法を決定することができる。また、情報処理装置100は、ユーザにGUIでの学習方法の選択を可能にすることにより、学習方法に応じた機械学習のデータの供給方法を適切に決定することができる。 Therefore, the information processing apparatus 100 automatically determines a data supply method based on the selected learning method by providing the user with a plurality of learning methods and allowing the user to select the learning method. As a result, the information processing apparatus 100 does not need knowledge of the data supply method in the learning method (learning algorithm), and can automatically determine the data supply method according to the problem (task) that the user wants to solve. In addition, the information processing apparatus 100 enables the user to select the learning method using the GUI, and thus can appropriately determine the machine learning data supply method according to the learning method.
 図1に示すように、情報処理装置100は、学習方法(学習アルゴリズム)の一覧(提供リストLS1)をユーザに閲覧させ、それらから一つを選択できるインターフェイスを有する。また、情報処理装置100は、ユーザに選択された学習方法(学習アルゴリズム)を含んだソースコード、あるいは、実行コード(メモリ)を自動的に生成してもよい。 As shown in FIG. 1, the information processing apparatus 100 has an interface that allows a user to browse a list of learning methods (learning algorithms) (provided list LS1) and select one from them. Further, the information processing apparatus 100 may automatically generate a source code including a learning method (learning algorithm) selected by the user or an execution code (memory).
 また、情報処理装置100は、学習方法(学習アルゴリズム)の一覧(提供リストLS1)に限らず、ユーザにデータ供給方法の一覧を提供してもよい。この場合、情報処理装置100は、学習方法(学習アルゴリズム)に紐付いたデータ供給方法の一覧をユーザに閲覧させ、それらから一つを選択できるインターフェイスを有する。また、情報処理装置100は、ユーザに選択された学習方法(学習アルゴリズム)を含んだソースコード、あるいは、実行コード(メモリ)を自動的に生成してもよい。 The information processing apparatus 100 may provide the user with a list of data supply methods, not limited to the list of learning methods (learning algorithms) (provided list LS1). In this case, the information processing apparatus 100 has an interface that allows the user to browse the list of data supply methods associated with the learning method (learning algorithm) and select one from them. Further, the information processing apparatus 100 may automatically generate a source code including a learning method (learning algorithm) selected by the user or an execution code (memory).
 また、情報処理装置100は、学習方法(学習アルゴリズム)に紐付いたデータ供給手段の一つが選択された場合、その設定を入力できるようなインターフェイスを有し、データ供給手段の詳細を設定すると、設定された学習アルゴリズムを含んだソースコード、あるいは、実行コード(メモリ)を自動的に生成してもよい。 In addition, the information processing apparatus 100 has an interface that allows the user to input the setting when one of the data supply means associated with the learning method (learning algorithm) is selected. The source code including the learned algorithm or the execution code (memory) may be automatically generated.
 ここで、深層学習の開発は、学習、テスト用データ収集、ネットワーク設計、学習アルゴリズム構築、学習済みモジュール評価といった4つのステージに分かれる。学習、テスト用データ収集とは、認識モジュールなどのモジュールのパラメータを学習するための学習データと、学習データ以外でどの程度正しく動作するかを示す汎化性能を評価するテストデータの収集である。 Here, the development of deep learning is divided into four stages: learning, test data collection, network design, learning algorithm construction, and learned module evaluation. The learning and test data collection is collection of learning data for learning parameters of a module such as a recognition module and test data for evaluating generalization performance indicating how well the learning data operates properly.
 また、ネットワーク設計は、認識モジュール等の最終的なモジュールの設計、最終的なモジュールを学習するためのこれらのモジュールを組み込んだ学習のためのネットワーク設計なども含まれる。 The network design also includes the design of final modules such as recognition modules, and the network design for learning that incorporates these modules for learning the final modules.
 また、学習アルゴリズム設計は、単純な勾配法を使うか、それとも最新の手法を用いるか等のソルバーの選択に限らず、学習方法、学習用ネットワークに適したデータ供給の方法を決定することが含まれる。 In addition, learning algorithm design is not limited to selecting a solver such as whether to use a simple gradient method or the latest method, but also includes determining a learning method and a data supply method suitable for a learning network. Be done.
 そして、学習されたモジュールを評価し、一定の精度、性能基準等の所定の基準を満たすことで最終的にモジュールとして出荷することができる。 Then, the learned module can be evaluated and finally shipped as a module by satisfying predetermined criteria such as certain accuracy and performance criteria.
 情報処理装置100は、上記4つのうち、学習アルゴリズム設計に関係する箇所、なかでも、学習方法、学習用ネットワークに適したデータ供給の方法に関して、ユーザ(開発者)により簡単な開発環境を提供可能にするためのものである。すなわち、情報処理装置100は、これらの機能のうち、学習方法(学習アルゴリズム)に関するデータ供給方法の簡略化を実現する。情報処理装置100は、上述したデータの提供方法の決定により、機械学習、特に、深層学習の開発環境において、様々な学習アルゴリズムを自動、半自動で構築することを可能とする。 The information processing apparatus 100 can provide a simple development environment to the user (developer) with respect to a part related to the learning algorithm design, among them, a learning method and a data supply method suitable for the learning network. It is for That is, the information processing apparatus 100 realizes the simplification of the data supply method regarding the learning method (learning algorithm) among these functions. The information processing apparatus 100 enables automatic and semi-automatic construction of various learning algorithms in the development environment of machine learning, particularly deep learning, by determining the above-described data providing method.
 また、GUIによる深層学習の開発フレームワークは、例えばNeuralNetworkConsoleやNeuralNetworkSAASといったフレームワークが提供されている。これらのフレームワークは、GUIを有する統合開発環境上での、ブロックを組み合わせてニューラルネットの設計、学習アルゴリズムの設定を行う。例えば、図1に示すような情報処理装置100による情報処理は、NeuralNetworkConsoleに適用される。なお、以下では、深層学習の統合開発環境として、NeuralNetworkConsoleを一例として示すが、このアプリケーションに限るものではない。 Also, for the deep learning development framework by GUI, for example, frameworks such as NeuralNetworkConsole and NeuralNetworkSAAS are provided. These frameworks design a neural network by combining blocks and set a learning algorithm on an integrated development environment having a GUI. For example, information processing by the information processing apparatus 100 as illustrated in FIG. 1 is applied to NeuralNetworkConsole. In the following, NeuralNetworkConsole is shown as an example of the deep learning integrated development environment, but the application is not limited to this application.
 ここから、図2を用いて、決定した供給方法に関する情報のユーザへの提供の一例を示す。図2は、本開示の実施形態に係る情報処理の一例を示す図である。具体的には、図2は、図1で情報処理装置100が決定したパラメータを示す情報をユーザXに提供し、ユーザXに機械学習MLXに用いられるパラメータの値を入力させる場合を示す。 From here, using FIG. 2, an example of provision of information on the determined supply method to the user is shown. FIG. 2 is a diagram illustrating an example of information processing according to the embodiment of the present disclosure. Specifically, FIG. 2 shows a case where the information indicating the parameters determined by the information processing apparatus 100 in FIG. 1 is provided to the user X, and the user X is made to input the value of the parameter used for the machine learning MLX.
 図2では、情報処理装置100は、機械学習MLXに用いられるパラメータ「繰り返し数」や「バッチサイズ」等を含む画面IM1を生成する。情報処理装置100は、決定した機械学習MLXに用いられるパラメータの値を入力させる入力画面である画面IM1を生成する。例えば、情報処理装置100は、画像生成に関する種々の従来技術を用いて、画面IM1を生成する。例えば、画面IM1は、NeuralNetworkConsoleに関する学習方法(学習アルゴリズム)のデータ供給方法等の設定画面である。 In FIG. 2, the information processing apparatus 100 generates a screen IM1 including parameters “repetition number”, “batch size”, etc. used for machine learning MLX. The information processing apparatus 100 generates a screen IM1 which is an input screen for inputting the value of the parameter used for the determined machine learning MLX. For example, the information processing apparatus 100 generates the screen IM1 by using various conventional techniques related to image generation. For example, the screen IM1 is a setting screen for a data supply method and the like of a learning method (learning algorithm) regarding the NeuralNetworkConsole.
 図2では、情報処理装置100は、中央の領域AR1にパラメータ「繰り返し数」を示す文字列「Max Epoch」とともにパラメータ「繰り返し数」の値を入力する入力欄BX1を含む画面IM1を生成する。また、情報処理装置100は、領域AR1にパラメータ「バッチサイズ」を示す文字列「Batch Size」とともにパラメータ「バッチサイズ」の値を入力する入力欄BX2を含む画面IM1を生成する。 In FIG. 2, the information processing apparatus 100 generates a screen IM1 including a character string “Max Epoch” indicating the parameter “repetition number” and an input field BX1 for inputting the value of the parameter “repetition number” in the central area AR1. Further, the information processing apparatus 100 generates a screen IM1 including a character string "Batch Size" indicating the parameter "batch size" and an input field BX2 for inputting the value of the parameter "batch size" in the area AR1.
 また、図2では、情報処理装置100は、ユーザXに推奨するパラメータ「繰り返し数」やパラメータ「バッチサイズ」の推奨値を決定する。例えば、情報処理装置100は、記憶部14(図3参照)に記憶された各パラメータの推奨値を用いて、パラメータ「繰り返し数」やパラメータ「バッチサイズ」の推奨値を決定する。例えば、情報処理装置100は、過去の学習履歴に基づいて各パラメータの推奨値を決定してもよい。例えば、情報処理装置100は、過去の学習における各パラメータの平均を推奨値に決定してもよい。 Further, in FIG. 2, the information processing apparatus 100 determines the recommended values of the parameter “repetition number” and the parameter “batch size” recommended for the user X. For example, the information processing apparatus 100 uses the recommended value of each parameter stored in the storage unit 14 (see FIG. 3) to determine the recommended value of the parameter “number of repetitions” or the parameter “batch size”. For example, the information processing apparatus 100 may determine the recommended value of each parameter based on the past learning history. For example, the information processing apparatus 100 may determine the average of each parameter in past learning as the recommended value.
 図2の例では、情報処理装置100は、パラメータ「繰り返し数」の推奨値を「100」に決定する。また、情報処理装置100は、パラメータ「バッチサイズ」の推奨値を「64」に決定する。そして、情報処理装置100は、パラメータ「繰り返し数」の推奨値「100」を入力欄BX1に配置し、パラメータ「バッチサイズ」の推奨値「64」を入力欄BX2に配置した画面IM1を生成する。 In the example of FIG. 2, the information processing device 100 determines the recommended value of the parameter “number of repetitions” to be “100”. The information processing apparatus 100 also determines the recommended value of the parameter “batch size” to be “64”. Then, the information processing apparatus 100 generates the screen IM1 in which the recommended value “100” of the parameter “repetition number” is arranged in the input field BX1 and the recommended value “64” of the parameter “batch size” is arranged in the input field BX2. ..
 そして、情報処理装置100は、画面IM1をユーザXに提供する。図2の例では、情報処理装置100は、パラメータ「繰り返し数」の推奨値「100」が入力欄BX1に配置され、パラメータ「バッチサイズ」の推奨値「64」が入力欄BX2に配置された画面IM1を表示する。画面IM1を確認したユーザXは、各パラメータの推奨値を参照しつつ、各パラメータの値を入力する。そして、情報処理装置100は、入力欄BX1の値がユーザにより変更された場合、変更された値をパラメータ「繰り返し数」の値に決定する。情報処理装置100は、入力欄BX2の値がユーザにより変更されなかった場合、変更推奨値「64」をパラメータ「バッチサイズ」の値に決定する。 Then, the information processing apparatus 100 provides the screen IM1 to the user X. In the example of FIG. 2, in the information processing apparatus 100, the recommended value “100” of the parameter “repetition number” is arranged in the input field BX1, and the recommended value “64” of the parameter “batch size” is arranged in the input field BX2. The screen IM1 is displayed. The user X who confirms the screen IM1 inputs the value of each parameter while referring to the recommended value of each parameter. Then, when the value of the input field BX1 is changed by the user, the information processing apparatus 100 determines the changed value as the value of the parameter “number of repetitions”. When the value in the input field BX2 is not changed by the user, the information processing apparatus 100 determines the recommended change value “64” as the value of the parameter “batch size”.
 上述したように、情報処理装置100は、決定したパラメータやユーザに入力させるパラメータの推奨値をユーザに提供することにより、ユーザがより簡易に機械学習の実行を行うことを可能にすることができる。また、情報処理装置100は、決定した入力データに対応するデータをユーザに入力させる画面を提供してもよい。図1の例の場合、情報処理装置100は、「ラベルつきデータ」を入力させるための画面をユーザXに提供してもよい。情報処理装置100は、入力するデータの型(構造)が「ラベルつきデータ」であることを示す情報を含む画面をユーザXに提供してもよい。例えば、情報処理装置100は、「ラベルつきデータを入力して下さい」といった文字情報の表示を含む画面をユーザXに提供してもよい。 As described above, the information processing apparatus 100 can allow the user to more easily perform the machine learning by providing the user with the determined parameter and the recommended value of the parameter to be input by the user. .. Further, the information processing apparatus 100 may provide a screen that allows the user to input data corresponding to the determined input data. In the case of the example of FIG. 1, the information processing apparatus 100 may provide the user X with a screen for inputting “labeled data”. The information processing apparatus 100 may provide the user X with a screen including information indicating that the type (structure) of the input data is “labeled data”. For example, the information processing apparatus 100 may provide the user X with a screen including a display of textual information such as “Please input data with label”.
 なお、情報処理装置100は、上記のような表示や操作の受付け等の処理を所定のアプリケーションにより実現してもよい。また、情報処理装置100は、所定のソフトウェアアプリケーション上で実行されるスクリプトを取得し、取得したスクリプト等の制御情報により、上記のような情報表示や操作受付等の情報処理を実行してもよい。例えば、制御情報は、実施形態に係る情報処理装置100による情報表示や操作受付等の情報処理を実現するプログラムに対応するものであり、例えば、CSS(Cascading Style Sheets)、JavaScript(登録商標)、HTML(Hyper Text Markup Language)、あるいは、上述した情報処理装置100による情報表示や操作受付等の情報処理を記述可能な任意の言語によって実現される。 Note that the information processing apparatus 100 may realize the above-described processing such as display and operation acceptance by a predetermined application. Further, the information processing apparatus 100 may acquire a script to be executed on a predetermined software application, and execute information processing such as information display and operation reception as described above by the control information such as the acquired script. .. For example, the control information corresponds to a program that realizes information processing such as information display and operation reception by the information processing apparatus 100 according to the embodiment. For example, CSS (Cascading Style Sheets), JavaScript (registered trademark), It is realized by HTML (Hyper Text Markup Language) or any language capable of describing information processing such as information display and operation reception by the information processing apparatus 100 described above.
 また、情報処理装置100は、学習方法に対応するパラメータ情報に基づいて、ユーザに値を入力させるパラメータを決定してもよい。情報処理装置100は、図4中の対応情報記憶部141に記憶された情報に基づいて、ユーザXに値を入力させるパラメータを決定してもよい。例えば、情報処理装置100は、図4中の対応情報記憶部141に記憶されたパラメータのうち、ユーザ入力の指定がされたパラメータを、ユーザに値を入力させるパラメータに決定してもよい。例えば、情報処理装置100は、教師あり学習のパラメータ「繰り返し数」がユーザ入力の指定がされている場合、パラメータ「繰り返し数」をユーザに値を入力させるパラメータに決定してもよい。また、情報処理装置100は、教師あり学習のパラメータ「バッチサイズ」がユーザ入力の指定がされていない場合、パラメータ「バッチサイズ」をユーザに値を入力させないパラメータに決定してもよい。 Also, the information processing apparatus 100 may determine the parameter for which the user inputs a value based on the parameter information corresponding to the learning method. The information processing apparatus 100 may determine the parameter that causes the user X to input a value based on the information stored in the correspondence information storage unit 141 in FIG. For example, the information processing apparatus 100 may determine the parameter for which the user input is designated among the parameters stored in the correspondence information storage unit 141 in FIG. 4 as the parameter for allowing the user to input a value. For example, the information processing apparatus 100 may determine the parameter “repetition number” as a parameter that allows the user to input a value when the parameter “repetition number” for supervised learning is designated by the user. Further, the information processing apparatus 100 may determine the parameter “batch size” as a parameter that does not allow the user to input a value when the parameter “batch size” for supervised learning is not designated by the user.
[1-2.実施形態に係る情報処理装置の構成]
 次に、実施形態に係る情報処理を実行する情報処理装置の一例である情報処理装置100の構成について説明する。図3は、本開示の実施形態に係る情報処理装置100の構成例を示す図である。
[1-2. Configuration of Information Processing Device According to Embodiment]
Next, the configuration of the information processing apparatus 100, which is an example of the information processing apparatus that executes information processing according to the embodiment, will be described. FIG. 3 is a diagram illustrating a configuration example of the information processing device 100 according to the embodiment of the present disclosure.
 図3に示すように、情報処理装置100は、通信部11と、入力部12と、出力部13と、記憶部14と、制御部15とを有する。図3の例では、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部12(例えば、キーボードやマウス等)や、各種情報を表示するための出力部13(例えば、液晶ディスプレイ等)を有する。 As shown in FIG. 3, the information processing device 100 includes a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15. In the example of FIG. 3, the information processing apparatus 100 includes an input unit 12 (for example, a keyboard and a mouse) that receives various operations from an administrator of the information processing apparatus 100, and an output unit 13 (for example, a keyboard and a mouse) for displaying various information. , Liquid crystal display, etc.).
 通信部11は、例えば、NIC(Network Interface Card)や通信回路等によって実現される。通信部11は、ネットワークN(インターネット等)と有線又は無線で接続され、ネットワークNを介して、他の装置等との間で情報の送受信を行う。 The communication unit 11 is realized by, for example, a NIC (Network Interface Card), a communication circuit, or the like. The communication unit 11 is connected to a network N (Internet or the like) by wire or wirelessly, and transmits/receives information to/from another device or the like via the network N.
 入力部12は、ユーザから各種操作が入力される。入力部12は、ユーザによる入力を受け付ける。入力部12は、ユーザによる学習方法の選択を受け付ける。入力部12は、情報処理装置100に設けられたキーボードやマウスやタッチパネルを介してユーザからの各種操作を受け付けてもよい。入力部12は、ユーザによるパラメータの値の入力を受け付ける。なお、入力部12は、ユーザによる発話を入力として受け付けてもよい。 The user inputs various operations to the input unit 12. The input unit 12 receives an input from the user. The input unit 12 receives the selection of the learning method by the user. The input unit 12 may receive various operations from the user via a keyboard, a mouse, or a touch panel provided in the information processing device 100. The input unit 12 receives input of parameter values by the user. The input unit 12 may accept a user's utterance as an input.
 出力部13は、各種情報を出力する。出力部13は、各種情報を表示する。出力部13は、ディスプレイ等の表示装置(表示部)であり、各種情報を表示する。出力部13は、学習方法を出力する。出力部13は、複数の学習方法を表示する。出力部13は、決定部152により決定された提供方法を出力する。出力部13は、決定部152により決定された提供方法を表示する。出力部13は、生成部153により生成された情報を出力(表示)する。出力部13は、提供部154により提供された情報を出力(表示)する。出力部13は、画面IM1を表示する。なお、出力部13は、音声を出力する機能を有してもよい。例えば、出力部13は、音声を出力するスピーカーを有してもよい。 The output unit 13 outputs various information. The output unit 13 displays various information. The output unit 13 is a display device (display unit) such as a display, and displays various information. The output unit 13 outputs the learning method. The output unit 13 displays a plurality of learning methods. The output unit 13 outputs the providing method determined by the determination unit 152. The output unit 13 displays the providing method determined by the determination unit 152. The output unit 13 outputs (displays) the information generated by the generation unit 153. The output unit 13 outputs (displays) the information provided by the providing unit 154. The output unit 13 displays the screen IM1. The output unit 13 may have a function of outputting voice. For example, the output unit 13 may include a speaker that outputs sound.
 記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14は、対応情報記憶部141と、データ記憶部142とを有する。図示を省略するが、データ記憶部142には、学習に用いる各種データが格納される。 The storage unit 14 is realized by, for example, a semiconductor memory device such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk. The storage unit 14 includes a correspondence information storage unit 141 and a data storage unit 142. Although illustration is omitted, the data storage unit 142 stores various data used for learning.
 対応情報記憶部141は、複数の学習方法及び複数の供給方法の対応に関する各種情報を記憶する。図4は、本開示の実施形態に係る対応情報記憶部の一例を示す図である。図4に、実施形態に係る対応情報記憶部141の一例を示す。図4の例では、対応情報記憶部141は、「種別ID」、「学習種別」、「入力」、「出力」、「設定パラメータ情報」といった項目を有する。 The correspondence information storage unit 141 stores various kinds of information regarding correspondence between a plurality of learning methods and a plurality of supply methods. FIG. 4 is a diagram illustrating an example of the correspondence information storage unit according to the embodiment of the present disclosure. FIG. 4 shows an example of the correspondence information storage unit 141 according to the embodiment. In the example of FIG. 4, the correspondence information storage unit 141 has items such as “type ID”, “learning type”, “input”, “output”, and “setting parameter information”.
 「種別ID」は、学習種別(学習方法)を識別するための識別情報を示す。「学習種別」は、学習方法により識別される学習種別(学習方法)を示す。「入力」は、対応する学習方法において入力として用いられるデータの種別を示す。「出力」は、対応する学習方法において生成(学習)されるモデル(ネットワーク)の種別を示す。「設定パラメータ情報」は、対応する学習方法において設定するパラメータの情報を示す。図4では「設定パラメータ情報」に「PINF1」や「PINF2」といった概念的な情報が格納される例を示したが、実際には、設定する各パラメータを特定するための情報やそのパラメータの推奨値やそのパラメータの値をユーザに入力させるかを示す情報などを含むパラメータ情報、または、その格納場所を示すファイルパス名などが格納される。 "Type ID" indicates identification information for identifying the learning type (learning method). The "learning type" indicates a learning type (learning method) identified by the learning method. “Input” indicates the type of data used as input in the corresponding learning method. “Output” indicates the type of model (network) generated (learned) by the corresponding learning method. “Setting parameter information” indicates information on parameters set in the corresponding learning method. FIG. 4 shows an example in which conceptual information such as “PINF1” and “PINF2” is stored in the “setting parameter information”, but actually, information for specifying each parameter to be set and recommendation of the parameter are shown. Parameter information including a value and information indicating whether to allow the user to input the value of the parameter, or a file path name indicating the storage location is stored.
 図4の例では、種別ID「LT1」により識別される学習種別に対応する学習方法LT1は、教師あり学習であることを示す。学習方法LT1の入力は、ラベルつきデータであり、学習方法LT1の出力は、認識モデルであることを示す。また、学習方法LT1の設定パラメータ情報は、パラメータ情報PINF1であることを示す。例えば、パラメータ情報PINF1には、パラメータには、「繰り返し数」が含まれ、その推奨値が「100」であり、ユーザにパラメータの値を入力させることを示す情報が含まれる。また、パラメータ情報PINF1には、パラメータには、「バッチサイズ」が含まれ、その推奨値が「64」であり、ユーザにパラメータの値を入力させることを示す情報が含まれる。 In the example of FIG. 4, the learning method LT1 corresponding to the learning type identified by the type ID “LT1” indicates that there is supervised learning. The input of the learning method LT1 is labeled data, and the output of the learning method LT1 is a recognition model. Further, the setting parameter information of the learning method LT1 indicates that it is the parameter information PINF1. For example, the parameter information PINF1 includes “repetition number” in the parameter, the recommended value thereof is “100”, and includes information indicating that the user inputs the value of the parameter. In addition, the parameter information PINF1 includes “batch size” in the parameter, the recommended value thereof is “64”, and includes information indicating that the user inputs the value of the parameter.
 なお、対応情報記憶部141は、上記に限らず、目的に応じて種々の情報を記憶してもよい。 Note that the correspondence information storage unit 141 is not limited to the above, and may store various information according to the purpose.
 図3に戻り、説明を続ける。制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部15は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。 Return to Figure 3 and continue the explanation. In the control unit 15, for example, a program (for example, an information processing program according to the present disclosure) stored in the information processing apparatus 100 by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like is a RAM (Random Access Memory). ) Etc. are executed as a work area. The control unit 15 is a controller, and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
 図3に示すように、制御部15は、取得部151と、決定部152と、生成部153と、提供部154と、学習部155とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As illustrated in FIG. 3, the control unit 15 includes an acquisition unit 151, a determination unit 152, a generation unit 153, a provision unit 154, and a learning unit 155, and has functions and actions of information processing described below. Realize or execute. The internal configuration of the control unit 15 is not limited to the configuration shown in FIG. 3, and may be another configuration as long as it is a configuration for performing information processing described later.
 取得部151は、各種情報を取得する。取得部151は、外部の情報処理装置から各種情報を取得する。取得部151は、記憶部14から各種情報を取得する。取得部151は、入力部12により受け付けられた入力情報を取得する。 The acquisition unit 151 acquires various types of information. The acquisition unit 151 acquires various types of information from an external information processing device. The acquisition unit 151 acquires various types of information from the storage unit 14. The acquisition unit 151 acquires the input information received by the input unit 12.
 取得部151は、機械学習に関する学習方法を示す方法情報を取得する。取得部151は、学習方法を指定するユーザから方法情報を取得する。取得部151は、複数の学習方法からユーザが選択した学習方法を示す方法情報を取得する。取得部151は、教師あり学習である学習方法LT1を示す方法情報を取得する。 The acquisition unit 151 acquires method information indicating a learning method related to machine learning. The acquisition unit 151 acquires method information from a user who specifies a learning method. The acquisition unit 151 acquires method information indicating the learning method selected by the user from the plurality of learning methods. The acquisition unit 151 acquires method information indicating a learning method LT1 that is learning with a teacher.
 決定部152は、各種決定を行う。決定部152は、取得部151により取得された情報に基づいて、各種情報を決定する。決定部152は、記憶部14に記憶された情報に基づいて、各種情報を決定する。決定部152は、各種判定を行う。決定部152は、取得部151により取得された情報に基づいて、各種情報を判定する。決定部152は、記憶部14に記憶された情報に基づいて、各種情報を判定する。 The decision unit 152 makes various decisions. The determination unit 152 determines various information based on the information acquired by the acquisition unit 151. The determining unit 152 determines various information based on the information stored in the storage unit 14. The determination unit 152 makes various determinations. The determination unit 152 determines various information based on the information acquired by the acquisition unit 151. The determination unit 152 determines various information based on the information stored in the storage unit 14.
 決定部152は、取得部151により取得された方法情報に基づいて、機械学習のデータの供給方法を決定する。決定部152は、方法情報と、複数の学習方法及び複数の供給方法の対応を示す対応情報との比較に基づいて、供給方法を決定する。決定部152は、方法情報に基づいて、所定のユーザに値を入力させる供給方法に関するパラメータを決定する。決定部152は、学習方法に対応するパラメータ情報に基づいて、所定のユーザに値を入力させるパラメータを決定する。 The deciding unit 152 decides a method for supplying data for machine learning based on the method information acquired by the acquiring unit 151. The determination unit 152 determines the supply method based on the comparison between the method information and the correspondence information indicating the correspondence between the plurality of learning methods and the plurality of supply methods. The determination unit 152 determines a parameter regarding a supply method that allows a predetermined user to input a value, based on the method information. The deciding unit 152 decides a parameter that allows a predetermined user to input a value based on the parameter information corresponding to the learning method.
 決定部152は、方法情報に基づいて、所定のユーザに推奨するパラメータの推奨値を決定する。決定部152は、機械学習を実行する装置の性能に基づいて、推奨値を決定する。決定部152は、機械学習により学習されるネットワークに基づいて、推奨値を決定する。 The deciding unit 152 decides a recommended value of a parameter recommended to a predetermined user based on the method information. The determining unit 152 determines the recommended value based on the performance of the device that executes machine learning. The determination unit 152 determines the recommended value based on the network learned by machine learning.
 例えば、決定部152は、機械学習を実行する装置の性能が高い程、推奨値を高く決定する。例えば、決定部152は、機械学習を実行する装置(対象装置)の性能と過去の機械学習を実行した装置の性能の平均等の基準値とを比較し、対象装置の性能が高い程、推奨値を高く決定してもよい。例えば、決定部152は、対象装置の性能が基準値の1.5倍である場合、推奨値を通常よりも1.5倍に高くしてもよい。例えば、決定部152は、対象装置の性能が基準値の1.5倍である場合、記憶部14に記憶されたパラメータの推奨値を1.5倍にした値を用いてもよい。 For example, the determination unit 152 determines the recommended value to be higher as the performance of the device that executes machine learning is higher. For example, the determination unit 152 compares the performance of a device that executes machine learning (target device) with a reference value such as the average of the performance of devices that have performed machine learning in the past, and recommends that the performance of the target device is higher. The value may be determined high. For example, when the performance of the target device is 1.5 times the reference value, the determining unit 152 may increase the recommended value to 1.5 times higher than usual. For example, when the performance of the target device is 1.5 times the reference value, the determination unit 152 may use a value that is 1.5 times the recommended value of the parameter stored in the storage unit 14.
 例えば、決定部152は、機械学習により学習されるネットワークが簡易である程、推奨値を高く決定する。例えば、決定部152は、機械学習により学習されるネットワーク(対象ネットワーク)の規模(階層等)と過去の機械学習により学習されるネットワークの規模(階層等)の平均等の基準値とを比較し、対象ネットワークの規模が小さい程、推奨値を高く決定してもよい。例えば、決定部152は、対象ネットワークの規模が基準値の0.5倍である場合、推奨値を通常よりも2倍に高くしてもよい。例えば、決定部152は、対象ネットワークの規模が基準値の0.5倍である場合、記憶部14に記憶されたパラメータの推奨値を2倍にした値を用いてもよい。 For example, the determination unit 152 determines a higher recommended value as the network learned by machine learning is simpler. For example, the determining unit 152 compares the scale (hierarchy, etc.) of the network (target network) learned by machine learning with a reference value such as the average of the scale (hierarchy, etc.) of the network learned by past machine learning. The smaller the size of the target network, the higher the recommended value may be determined. For example, when the scale of the target network is 0.5 times the reference value, the determining unit 152 may increase the recommended value to twice the normal value. For example, when the scale of the target network is 0.5 times the reference value, the determining unit 152 may use the doubled recommended value of the parameter stored in the storage unit 14.
 決定部152は、種々の技術を適宜用いて、機械学習のデータの供給方法を決定する。決定部152は、対応情報のうち、教師あり学習に対応する入力に関する情報を用いて、機械学習MLXに用いられる入力データを決定する。決定部152は、機械学習MLXに用いられる入力データを「ラベルつきデータ」に決定する。また、決定部152は、対応情報のうち、教師あり学習に対応するパラメータに関する情報を用いて、機械学習MLXに用いられるパラメータを決定する。決定部152は、機械学習MLXに用いられるパラメータを「繰り返し数」や「バッチサイズ」等に決定する。 The deciding unit 152 decides a method of supplying machine learning data by appropriately using various techniques. The determining unit 152 determines the input data used for the machine learning MLX by using the information regarding the input corresponding to the learning with a teacher among the correspondence information. The determination unit 152 determines the input data used for the machine learning MLX as “labeled data”. Further, the determining unit 152 determines the parameter used for the machine learning MLX using the information regarding the parameter corresponding to the supervised learning in the correspondence information. The deciding unit 152 decides the parameter used for the machine learning MLX to be the "repetition number" or "batch size".
 決定部152は、供給方法に基づいて、機械学習により学習するネットワークを決定する。決定部152は、供給方法に対応するパラメータに基づいて、機械学習により学習するネットワークを決定する。決定部152は、供給方法により供給される供給データに基づいて、ネットワークの構造を決定する。決定部152は、供給データのドメインに基づいて、ネットワークの構造を決定する。 The determining unit 152 determines a network to be learned by machine learning based on the supply method. The determining unit 152 determines a network to be learned by machine learning based on the parameter corresponding to the supply method. The determination unit 152 determines the network structure based on the supply data supplied by the supply method. The determining unit 152 determines the network structure based on the domain of the supplied data.
 例えば、決定部152は、供給方法に対応するクラス数に関するパラメータに基づいて、機械学習により学習するネットワークを決定する。決定部152は、クラス数に関するパラメータの値に基づいて、機械学習により学習するネットワークを決定する。例えば、決定部152は、メタ学習におけるサポートクラス数のパラメータの値に対応する数の部分ネットワークを含むネットワークに決定する。例えば、決定部152は、メタ学習におけるサポートクラス数のパラメータの値が「5」である場合、5個の部分ネットワーク(図19中の「Likelihood Network」に対応)を含むネットワークに決定する。例えば、決定部152は、ワンショット学習やフューショット学習におけるサポートクラス数のパラメータの値に対応する数の部分ネットワークを含むネットワークに決定する。 For example, the determination unit 152 determines a network to be learned by machine learning based on the parameter regarding the number of classes corresponding to the supply method. The determining unit 152 determines the network to be learned by machine learning based on the value of the parameter related to the number of classes. For example, the determination unit 152 determines a network including the number of partial networks corresponding to the value of the parameter of the number of support classes in meta learning. For example, the determining unit 152 determines a network including five partial networks (corresponding to “Likelihood Network” in FIG. 19) when the value of the parameter of the number of support classes in meta learning is “5”. For example, the determination unit 152 determines a network including the number of partial networks corresponding to the value of the parameter of the number of support classes in one-shot learning or fuse shot learning.
 例えば、決定部152は、供給データのドメインに基づいて、機械学習により学習するネットワークを決定する。例えば、決定部152は、供給データが画像(動画、静止画)、音声、項目、テキストのいずれであるかに基づいて、機械学習により学習するネットワークを決定してもよい。例えば、決定部152は、供給データのドメインをファイルの拡張子などに基づいて決定する。 For example, the determining unit 152 determines a network to be learned by machine learning based on the domain of the supplied data. For example, the determining unit 152 may determine the network to be learned by machine learning based on whether the supplied data is an image (moving image, still image), voice, item, or text. For example, the determining unit 152 determines the domain of the supply data based on the file extension or the like.
 例えば、決定部152は、ネットワークにおける線形層を畳み込み層とするのか全結合層とするのかは、供給データのドメインに応じて決定する。例えば、供給データのドメインが画像または音声である場合、決定部152は、線形層を畳み込み層とするネットワークに決定する。例えば、供給データのドメインが項目またはテキストである場合、決定部152は、線形層を全結合層とするネットワークに決定する。 For example, the determining unit 152 determines whether to use the linear layer in the network as the convolutional layer or the fully connected layer according to the domain of the supplied data. For example, when the domain of the supplied data is image or sound, the determining unit 152 determines a network having a linear layer as a convolutional layer. For example, when the domain of the supplied data is an item or a text, the determination unit 152 determines a network in which the linear layer is the fully connected layer.
 生成部153は、各種生成を行う。生成部153は、取得部151により取得された情報に基づいて、各種情報を生成する。生成部153は、記憶部14に記憶された情報に基づいて、各種情報を生成する。 The generation unit 153 performs various generations. The generation unit 153 generates various information based on the information acquired by the acquisition unit 151. The generation unit 153 generates various information based on the information stored in the storage unit 14.
 生成部153は、取得部151により取得された情報に基づいて、各種情報を登録する。生成部153は、取得部151により取得された情報を記憶部14に登録する。生成部153は、取得部151により取得された学習に関する情報(データ)をデータ記憶部142に格納する。生成部153は、決定部152により決定されたパラメータの値を入力させる入力画面を生成する。生成部153は、図2に示すような画面IM1を生成する。 The generation unit 153 registers various information based on the information acquired by the acquisition unit 151. The generation unit 153 registers the information acquired by the acquisition unit 151 in the storage unit 14. The generation unit 153 stores the learning-related information (data) acquired by the acquisition unit 151 in the data storage unit 142. The generation unit 153 generates an input screen for inputting the value of the parameter determined by the determination unit 152. The generation unit 153 generates the screen IM1 as shown in FIG.
 なお、生成部153は、図2に示す画面IM1等の画面に関する情報(画像)を画像に関連する種々の従来技術を適宜用いて生成する。生成部153は、図2に示す画面IM1等の画像をGUIに関する種々の従来技術を適宜用いて生成する。例えば、生成部153は、CSS、JavaScript(登録商標)、HTML、あるいは、上述した情報表示や操作受付等の情報処理を記述可能な任意の言語により図2に示す画面IM1等の画像を生成してもよい。 Note that the generation unit 153 generates information (image) related to the screen such as the screen IM1 shown in FIG. 2 by appropriately using various conventional techniques related to the image. The generation unit 153 generates an image such as the screen IM1 shown in FIG. 2 by appropriately using various conventional techniques related to GUI. For example, the generation unit 153 generates an image such as the screen IM1 shown in FIG. 2 in CSS, Javascript (registered trademark), HTML, or any language capable of describing information processing such as information display and operation reception described above. May be.
 生成部153は、機械学習MLXに用いられるパラメータ「繰り返し数」や「バッチサイズ」等を含む画面IM1を生成する。生成部153は、機械学習MLXに用いられるパラメータの値を入力させる入力画面である画面IM1を生成する。例えば、生成部153は、画像生成に関する種々の従来技術を用いて、画面IM1を生成する。 The generation unit 153 generates the screen IM1 including the parameters “repetition number”, “batch size”, etc. used in the machine learning MLX. The generation unit 153 generates a screen IM1 which is an input screen for inputting the values of the parameters used in the machine learning MLX. For example, the generation unit 153 generates the screen IM1 using various conventional techniques related to image generation.
 生成部153は、パラメータ「繰り返し数」を示す文字列「Max Epoch」とともにパラメータ「繰り返し数」の値を入力する入力欄BX1を含む画面IM1を生成する。また、生成部153は、パラメータ「バッチサイズ」を示す文字列「Batch Size」とともにパラメータ「バッチサイズ」の値を入力する入力欄BX2を含む画面IM1を生成する。 The generating unit 153 generates a screen IM1 including a character string "Max Epoch" indicating the parameter "repetition number" and an input field BX1 for inputting the value of the parameter "repetition number". Further, the generation unit 153 generates a screen IM1 including a character string “Batch Size” indicating the parameter “batch size” and an input field BX2 for inputting the value of the parameter “batch size”.
 提供部154は、各種情報の提供を行う。提供部154は、決定部152により決定された情報に基づいて、各種情報を提供する。提供部154は、出力部13に各種情報を表示させる。提供部154は、決定部152により決定された情報を、出力部13に表示させる。この場合、提供部154は、出力部13による表示を制御する表示制御部として機能する。 The providing unit 154 provides various information. The providing unit 154 provides various information based on the information determined by the determining unit 152. The providing unit 154 causes the output unit 13 to display various information. The providing unit 154 causes the output unit 13 to display the information determined by the determining unit 152. In this case, the providing unit 154 functions as a display control unit that controls the display by the output unit 13.
 提供部154は、外部の情報処理装置へ各種情報を提供する。提供部154は、外部の情報処理装置へ各種情報を送信する。提供部154は、生成部153により生成された入力画面を提供する。提供部154は、決定部152により決定された各種情報を提供する。提供部154は、決定部152によりネットワークを示す情報を提供する。提供部154は、決定部152によりネットワークを示す情報をユーザに提供する。提供部154は、決定部152によりネットワークを示す情報を出力部13に表示する。 The providing unit 154 provides various information to an external information processing device. The providing unit 154 transmits various information to an external information processing device. The providing unit 154 provides the input screen generated by the generating unit 153. The providing unit 154 provides various information determined by the determining unit 152. The providing unit 154 provides the information indicating the network by the determining unit 152. The providing unit 154 provides the user with information indicating the network by the determining unit 152. The providing unit 154 causes the determining unit 152 to display information indicating the network on the output unit 13.
 提供部154は、画面IM1をユーザXに提供する。提供部154は、パラメータ「繰り返し数」の推奨値「100」が入力欄BX1に配置され、パラメータ「バッチサイズ」の推奨値「64」が入力欄BX2に配置された画面IM1を出力部13に表示する。 The providing unit 154 provides the screen IM1 to the user X. The providing unit 154 outputs to the output unit 13 the screen IM1 in which the recommended value “100” of the parameter “repetition number” is arranged in the input field BX1 and the recommended value “64” of the parameter “batch size” is arranged in the input field BX2. indicate.
 学習部155は、各種学習を行う。学習部155は、取得部151により取得された情報に基づいて、各種情報を学習する。学習部155は、記憶部14に記憶された情報に基づいて、各種情報を学習する。学習部155は、モデルを学習(生成)する。学習部155は、取得部151により取得された情報に基づいて、モデルを学習する。学習部155は、記憶部14に記憶された情報に基づいて、モデルを学習する。例えば、学習部155は、ネットワークのパラメータを学習する。 The learning unit 155 performs various learning. The learning unit 155 learns various information based on the information acquired by the acquisition unit 151. The learning unit 155 learns various information based on the information stored in the storage unit 14. The learning unit 155 learns (generates) a model. The learning unit 155 learns the model based on the information acquired by the acquisition unit 151. The learning unit 155 learns the model based on the information stored in the storage unit 14. For example, the learning unit 155 learns network parameters.
 学習部155は、種々の機械学習に関する技術を用いて、モデルを学習する。学習部155は、指定された学習方法(学習アルゴリズム)に基づいて、モデルを学習する。学習部155は、8つの学習方法LT1~LT8のうち、指定された一の学習方法(学習アルゴリズム)に基づいて、モデルを学習する。 The learning unit 155 learns a model using various machine learning technologies. The learning unit 155 learns the model based on the designated learning method (learning algorithm). The learning unit 155 learns the model based on the designated one learning method (learning algorithm) among the eight learning methods LT1 to LT8.
 学習部155は、決定部152により決定されたデータの供給方法に関する情報に基づいて、モデルを学習する。学習部155は、決定部152が決定した入力データやパラメータに基づいて、モデルを学習する。学習部155は、決定部152が決定したパラメータ「繰り返し数」の値やパラメータ「バッチサイズ」の値に基づいて、機械学習MLXに対応するモデルを学習する。 The learning unit 155 learns the model based on the information regarding the data supply method determined by the determination unit 152. The learning unit 155 learns the model based on the input data and parameters determined by the determination unit 152. The learning unit 155 learns the model corresponding to the machine learning MLX based on the value of the parameter “repetition number” and the value of the parameter “batch size” determined by the determination unit 152.
 学習部155は、所定の手段により指定された学習方法と、その学習方法に対応するデータの供給方法に基づいて、モデルを学習する。学習部155は、学習方法が教師あり学習である場合、教師あり学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、学習方法が教師なし学習である場合、教師なし学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、学習方法が半教師学習である場合、半教師学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、学習方法が転移学習である場合、転移学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、学習方法が弱教師学習である場合、弱教師学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、学習方法がメトリック学習である場合、メトリック学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、学習方法がメタ学習である場合、メタ学習の種々の従来技術を適宜用いて、モデルを学習する。学習部155は、フューショット学習がメタ学習である場合、フューショット学習の種々の従来技術を適宜用いて、モデルを学習する。 The learning unit 155 learns a model based on a learning method designated by a predetermined means and a data supply method corresponding to the learning method. When the learning method is the supervised learning, the learning unit 155 uses various conventional techniques of supervised learning to appropriately learn the model. If the learning method is unsupervised learning, the learning unit 155 uses various conventional techniques of unsupervised learning to learn the model. When the learning method is the semi-teacher learning, the learning unit 155 learns the model by appropriately using various conventional techniques of the semi-teacher learning. When the learning method is transfer learning, the learning unit 155 uses various conventional transfer learning techniques to learn the model. When the learning method is weak teacher learning, the learning unit 155 learns the model by appropriately using various conventional techniques of weak teacher learning. When the learning method is metric learning, the learning unit 155 learns a model by appropriately using various conventional techniques of metric learning. When the learning method is meta-learning, the learning unit 155 uses various conventional techniques of meta-learning as appropriate to learn the model. When the fuse shot learning is meta learning, the learning unit 155 uses various conventional techniques for fuse shot learning to learn the model.
[1-3.実施形態に係る情報処理の手順]
 次に、図5を用いて、実施形態に係る情報処理の手順について説明する。まず、図5を用いて、本開示の実施形態に係る学習処理の流れについて説明する。図5は、本開示の実施形態に係る情報処理の手順を示すフローチャートである。
[1-3. Information Processing Procedure According to Embodiment]
Next, a procedure of information processing according to the embodiment will be described with reference to FIG. First, the flow of learning processing according to the embodiment of the present disclosure will be described using FIG. 5. FIG. 5 is a flowchart showing a procedure of information processing according to the embodiment of the present disclosure.
 図5に示すように、情報処理装置100は、学習方法を示す方法情報を取得する(ステップS101)。例えば、情報処理装置100は、ユーザにより指定された学習方法を示す方法情報を取得する。 As shown in FIG. 5, the information processing apparatus 100 acquires method information indicating a learning method (step S101). For example, the information processing apparatus 100 acquires method information indicating the learning method designated by the user.
 情報処理装置100は、方法情報に基づいて、機械学習のデータの供給方法を決定する(ステップS102)。例えば、情報処理装置100は、方法情報と、複数の学習方法及び複数の供給方法の対応を示す対応情報との比較に基づいて、供給方法を決定する。 The information processing apparatus 100 determines a method for supplying machine learning data based on the method information (step S102). For example, the information processing apparatus 100 determines the supply method based on the comparison between the method information and the correspondence information indicating the correspondence between the plurality of learning methods and the plurality of supply methods.
 そして、情報処理装置100は、供給方法に関するパラメータの値をユーザに入力させる画面を生成する(ステップS103)。例えば、情報処理装置100は、供給方法に関するパラメータの推奨値を入力欄に配置した画面を生成する。そして、情報処理装置100は、生成した画面を提供する(ステップS104)。例えば、情報処理装置100は、生成した画面を表示する。 Then, the information processing apparatus 100 generates a screen for allowing the user to input the value of the parameter regarding the supply method (step S103). For example, the information processing apparatus 100 generates a screen in which recommended values of parameters regarding the supply method are arranged in the input field. Then, the information processing device 100 provides the generated screen (step S104). For example, the information processing device 100 displays the generated screen.
 ここから、各学習方法について、詳細に説明する。 From here, we will explain each learning method in detail.
[1-4.教師あり学習、教師なし学習]
 まず、図6-図8用いて、図1及び図2で示した教師あり学習と、教師なし学習(以下併せて「教師あり学習等」と記載する場合がある)とのいずれかである場合の学習フローやデータについて説明する。まず、図6を用いて、教師あり学習等の学習フローについて説明する。図6は、本開示に係る教師あり学習等の学習を示すフローチャートである。
[1-4. Supervised learning, unsupervised learning]
First, in the case of either the supervised learning shown in FIGS. 1 and 2 or the unsupervised learning (hereinafter may be collectively referred to as “supervised learning, etc.”) with reference to FIGS. 6 to 8. The learning flow and data of will be explained. First, a learning flow such as supervised learning will be described with reference to FIG. FIG. 6 is a flowchart showing learning such as supervised learning according to the present disclosure.
 図6に示すように、情報処理装置100は、データセットを用意する(ステップS201)。例えば、情報処理装置100は、ラベル有りデータセット、またはラベルなしデータセットを取得する。 As shown in FIG. 6, the information processing apparatus 100 prepares a data set (step S201). For example, the information processing apparatus 100 acquires a labeled data set or an unlabeled data set.
 そして、情報処理装置100は、シャッフルの指定が有るかどうかを判定する(ステップS202)。ここでいうシャッフルは、ラベルありデータあるいはラベルなしデータの順序の並び替えである。 Then, the information processing apparatus 100 determines whether or not shuffle is designated (step S202). The shuffle here is a rearrangement of the order of labeled data or unlabeled data.
 一方、情報処理装置100は、シャッフルの指定が有る場合(ステップS202:Yes)、データセットをシャッフルする(ステップS203)。情報処理装置100は、シャッフルの指定が無い場合(ステップS202:No)、ステップS204の処理を行う。 On the other hand, the information processing apparatus 100 shuffles the data set when the shuffle is designated (step S202: Yes) (step S203). If the shuffle is not designated (step S202: No), the information processing apparatus 100 performs the process of step S204.
 そして、情報処理装置100は、データを供給する(ステップS204)。そして、情報処理装置100は、ミニバッチサイズ分を切り出せるかどうかを判定する(ステップS205)。例えば、データセットからミニバッチが切り出せなくなるまで、つまり、データセットのデータをすべて一回学習に用いるまでを1エポックと称する。情報処理装置100は、ミニバッチサイズ分を切り出せない場合(ステップS205:No)、ステップS202に戻って、例えば先頭から再度提供する処理を繰り返す。 Then, the information processing device 100 supplies data (step S204). Then, the information processing apparatus 100 determines whether the mini-batch size can be cut out (step S205). For example, one epoch is defined until a mini-batch cannot be cut out from the data set, that is, until all data in the data set is used for learning once. When the information processing apparatus 100 cannot cut out the mini-batch size (step S205: No), the information processing apparatus 100 returns to step S202 and repeats the process of providing again from the beginning, for example.
 情報処理装置100は、ミニバッチサイズ分を切り出せる場合(ステップS205:Yes)、学習を行なう(ステップS206)。ステップS206の処理は、ミニバッチのデータをニューラルネットに入力して、ロス計算(Forward)と誤差逆伝搬(Backward)、勾配法による更新(Update)をする処理に対応する。 The information processing device 100 performs learning (step S206) when the mini-batch size can be cut out (step S205: Yes). The process of step S206 corresponds to a process of inputting mini-batch data to the neural network, performing loss calculation (Forward), error back propagation (Backward), and updating by the gradient method (Update).
 そして、情報処理装置100は、アルゴリズムを続ける条件かどうかを判定する(ステップS207)。ステップS207の終了条件は、ミニバッチ学習の最大繰り返し回数や、エポックの最大数、あるいは、ロスの値やロスの改善分が閾値を超えたかどうかなどである。 Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S207). The termination condition of step S207 is the maximum number of iterations of mini-batch learning, the maximum number of epochs, or whether the loss value or the loss improvement amount exceeds a threshold value.
 情報処理装置100は、アルゴリズムを続ける条件を満たす場合(ステップS207:Yes)、ステップS206に戻って、処理を繰り返す。一方、情報処理装置100は、アルゴリズムを続ける条件を満たさない場合(ステップS207:No)、ステップS203に戻って、処理を繰り返す。 If the condition for continuing the algorithm is satisfied (step S207: Yes), the information processing apparatus 100 returns to step S206 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S207: No), the information processing apparatus 100 returns to step S203 and repeats the process.
 例えば、情報処理装置100は、切り出しサイズ(ミニバッチサイズ)や収束条件に関する情報を、GUIを介して取得する。例えば、情報処理装置100は、NeuralNetworkConsoleの技術を用いて、切り出しサイズ(ミニバッチサイズ)や収束条件に関する情報を取得する。 For example, the information processing apparatus 100 acquires information regarding the cutout size (mini-batch size) and the convergence condition via the GUI. For example, the information processing apparatus 100 acquires the information regarding the cutout size (mini-batch size) and the convergence condition by using the technology of NeuralNetworkConsole.
 ここで、図7を用いて、教師あり(Supervised)学習のデータセットを説明する。図7は、本開示に係る教師あり学習のデータセットの一例を示す図である。 Here, the data set for supervised learning will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of a data set for supervised learning according to the present disclosure.
 図7に示す教師あり学習のデータセットであるデータDT1は、データ(Data)とラベル(Label)とが含まれる。ラベルは、データから推定したい概念を示す。例えば、ラベルは、特に概念がクラスに分けられるような場合は、クラスに付与された番号を示す。図7に示す通し番号(DataId)は一例であり、これに限られない。 The data DT1 which is the data set for supervised learning shown in FIG. 7 includes data (Data) and a label (Label). The label indicates the concept to be estimated from the data. For example, the label indicates the number given to the class, especially when the concept is divided into classes. The serial number (DataId) shown in FIG. 7 is an example, and the present invention is not limited to this.
 例えば、情報処理装置100は、図7に示すような教師あり学習のデータセットであるデータDT1からデータの塊(ミニバッチ)を切り出して、供給する。 For example, the information processing apparatus 100 cuts out a data block (mini-batch) from the data DT1 that is a data set for supervised learning as shown in FIG.
 次に、図8を用いて、教師なし(Unsupervised)学習のデータセットを説明する。図8は、本開示に係る教師なし学習のデータセットの一例を示す図である。 Next, the data set for unsupervised learning will be described using FIG. FIG. 8 is a diagram showing an example of a data set for unsupervised learning according to the present disclosure.
 教師なし学習のデータセットであるデータDT2は、データ(Data)のみが含まれる。このように、教師なし学習のデータセットは、データだけで構成されていて、ラベルは用いない。図8に示す通し番号(DataId)は一例であり、これに限られない。 Data DT2, which is a data set for unsupervised learning, contains only data (Data). As described above, the unsupervised learning data set is composed of only data and does not use labels. The serial number (DataId) shown in FIG. 8 is an example, and the present invention is not limited to this.
 例えば、情報処理装置100は、図8に示すような教師なし学習のデータセットであるデータDT2からデータの塊(ミニバッチ)を切り出して、供給する。 For example, the information processing apparatus 100 cuts out a block of data (mini-batch) from the data DT2 that is a data set for unsupervised learning as shown in FIG. 8 and supplies it.
 上記のような、教師あり学習、教師なし学習の学習方法では、情報処理装置100は、例えば図6に示すようなデータの塊(minibatch)の供給による学習を行なう。 In the learning methods of supervised learning and unsupervised learning as described above, the information processing apparatus 100 performs learning by supplying a data batch (minibatch) as shown in FIG. 6, for example.
[1-5.半教師学習、弱教師学習]
 次に半教師学習や弱教師学習について説明する。ここでいう半教師学習とは、ラベルが少ない状況での学習の代表例である。例えば、半教師学習は、データ収集と比べてラベル付与が困難な場合に用いられる。半教師学習では、ラベルが付与されたデータとラベルが付与されていないデータを組み合わせて、データからラベルを導く関数を学習する。ここでいう弱教師学習とは、ラベル付与が困難だが、正式なラベルのヒントとなる比較的付与の簡単なラベルが付与できるときに用いられる。弱教師学習は、ラベルの代わりにヒントがつけられたデータを使って、データからラベルを導く関数を学習する。
[1-5. Semi-teacher learning, weak teacher learning]
Next, the semi-teacher learning and the weak teacher learning will be described. Semi-teaching learning here is a typical example of learning in a situation where there are few labels. For example, semi-supervised learning is used when labeling is more difficult than data collection. In the semi-supervised learning, the labeled data and the unlabeled data are combined to learn a function for deriving a label from the data. The weak teacher learning here is used when it is difficult to give a label, but a relatively easy label that can be a hint of a formal label can be given. Weak teacher learning uses hinted data instead of labels to learn a function that derives a label from the data.
 「半教師学習」では、ラベル有りデータセットとラベルなしデータセットを混在させて学習する。ラベル有りデータセット、ラベルなしデータセットからは、図9に示すようなデータの塊(ミニバッチ)を供給する。図9は、本開示に係る半教師学習のミニバッチの一例を示す図である。図9中のミニバッチであるデータDT3は、教師あり学習用のデータセットと教師なし学習用のデータセットの組み合わせである。 In “Semi-supervised learning,” both labeled and unlabeled datasets are mixed for learning. A data block (mini-batch) as shown in FIG. 9 is supplied from the labeled data set and the unlabeled data set. FIG. 9 is a diagram illustrating an example of a semi-batch learning mini-batch according to the present disclosure. Data DT3, which is a mini-batch in FIG. 9, is a combination of a data set for supervised learning and a data set for unsupervised learning.
 半教師学習のデータ供給のフローは、教師あり学習、教師なし学習と同じであるが、情報処理装置100は、教師あり学習、教師なし学習におけるミニバッチを独立して行う。なお、半教師学習では、ラベル有りデータセットのミニバッチサイズと、ラベルなしデータセットのミニバッチサイズは必ずしも同一である必要はない。 The data supply flow for semi-supervised learning is the same as for supervised learning and unsupervised learning, but the information processing apparatus 100 independently performs mini-batch in supervised learning and unsupervised learning. In the semi-supervised learning, the mini-batch size of the labeled data set and the mini-batch size of the unlabeled data set do not necessarily have to be the same.
 半教師学習の学習方法での設定も、ラベル有りデータと、ラベルなしデータの供給の設定により、実現できる。上述した教師あり学習と、教師なし学習のパラメータ設定は、いずれも、NeuralNetworkConsoleで実現できるため、半教師学習における複数の別々のデータセットの設定も同様に実現することができる。 The setting of the learning method of semi-teacher learning can also be realized by setting the supply of labeled data and unlabeled data. Since the parameter settings for the supervised learning and the unsupervised learning described above can both be realized by the NeuralNetworkConsole, the setting of a plurality of separate data sets in the semi-supervised learning can also be realized similarly.
 上述した教師あり学習、教師なし学習、および、半教師学習については、学習方法を他の学習方法に容易に切り替えるためのインターフェイスなどを情報処理装置100が提供可能である。GUIでの詳細設定等は、NeuralNetworkConsole等の既存の技術の拡張で対応できる。また、弱教師学習については、後述する「転移学習」の設定が必要である。 Regarding the above-mentioned supervised learning, unsupervised learning, and semi-supervised learning, the information processing apparatus 100 can provide an interface for easily switching the learning method to another learning method. Detailed settings on the GUI can be supported by expanding existing technologies such as Neural Network Console. For weak teacher learning, it is necessary to set "transfer learning" described later.
 なお、認識モジュール以外の代表例として、生成モデルが挙げられる。生成モデルは、乱数等からデータを生成する関数であり、変分オートエンコーダ(VAE:Variational Auto Encoder)や敵対的生成ネットワーク(GAN:Generative Adversarial Network)とよばれる特別なニューラルネット構造が知られている。教師なし学習は、このような生成モデルの学習に用いられ、データだけからデータらしさを表現する方法を獲得するために用いられる。 A representative model other than the recognition module is a generative model. The generation model is a function that generates data from random numbers, etc., and a special neural network structure called variational encoder (VAE: Variational Auto Encoder) or adversarial generation network (GAN: Generative Adversarial Network) is known. There is. Unsupervised learning is used for learning such a generative model, and is used for acquiring a method of expressing data-likeness only from data.
 なお、VAEについては例えば下記の文献に開示されている。
 ・Auto-Encoding Variational Bayes, Diederik P Kingma et al. <https://arxiv.org/abs/1312.6114>
The VAE is disclosed in the following document, for example.
・Auto-Encoding Variational Bayes, Diederik P Kingma et al. <https://arxiv.org/abs/1312.6114>
 また、GANについては例えば下記の文献に開示されている。
 ・Generative Adversarial Networks, Ian J. Goodfellow et al. <https://arxiv.org/abs/1406.2661>
Further, GAN is disclosed in the following document, for example.
・Generative Adversarial Networks, Ian J. Goodfellow et al. <https://arxiv.org/abs/1406.2661>
[1-6.メトリック学習]
 次に、メトリック学習について説明する。メトリック学習とは、概念(クラス)の距離を反映した空間を学習する技術である。具体的には、メトリック学習は、複数のデータのペア、ラベルとしてそのデータ間の距離関係を入力して、データを、距離を反映した空間に投射する関数を学習する。Siameseネットワーク(シャミーズネットワーク)や、Tripletネットワーク(トリプレットネットワーク)と呼ばれる構造を使う方法がよく知られる。この場合、情報処理装置100は、二つのデータの所属クラスについて、投射された空間上での距離から、クラスの一致、不一致を判別する。
[1-6. Metric learning]
Next, metric learning will be described. Metric learning is a technique for learning a space that reflects the distance of concepts (classes). Specifically, in the metric learning, a distance relationship between the data is input as a plurality of data pairs and labels, and a function for projecting the data in a space reflecting the distance is learned. It is well known to use a structure called Siamese network (Shamises network) or Triplet network (triplet network). In this case, the information processing apparatus 100 determines the matching or non-matching of the classes of the two data belonging classes from the distance in the projected space.
 メトリック学習による特徴抽出器の学習用ネットワークは、パラメータを共有している複数の特徴抽出器(特徴抽出ネット)と、距離計算レイヤを組み合わせて生成される。例えば、メトリック学習用のネットワークでは、シャミーズネットワーク(SiameseNetwork)と、トリプレットネットワーク(TripletNetwork)が知られている。 The learning network of the feature extractor by metric learning is generated by combining a plurality of feature extractors (feature extraction nets) that share parameters and a distance calculation layer. For example, as networks for metric learning, there are known a Shamese network and a triplet network.
 例えば、ユーザが提供リストLS1のうち、学習方法LT6であるメトリック学習を選択した場合、情報処理装置100は、メトリック学習である学習方法LT6を示す方法情報を取得する。そして、学習方法LT6であるメトリック学習を選択した場合、情報処理装置100は、ネットワークを選択するネットワーク選択画面をユーザに提供する。例えば、ユーザが提供リストLS1のうち、学習方法LT6であるメトリック学習を選択した場合、情報処理装置100は、シャミーズネットワークとトリプレットネットワークのうちいずれを用いるかをユーザに選択(指定)させるためのネットワーク選択画面をユーザに提供する。例えば、情報処理装置100は、ネットワーク選択画面を表示する。情報処理装置100は、ユーザがシャミーズネットワークを選択した場合、シャミーズネットワークを選択したことを示す選択情報を含む方法情報を取得する。情報処理装置100は、ユーザがトリプレットネットワークを選択した場合、トリプレットネットワークを選択したことを示す選択情報を含む方法情報を取得する。 For example, when the user selects the metric learning which is the learning method LT6 from the provision list LS1, the information processing apparatus 100 acquires the method information indicating the learning method LT6 which is the metric learning. When the metric learning which is the learning method LT6 is selected, the information processing apparatus 100 provides the user with a network selection screen for selecting a network. For example, when the user selects metric learning, which is the learning method LT6, from the provision list LS1, the information processing apparatus 100 causes the user to select (designate) which of the Shamisen network and the triplet network is to be used. Provide the user with a network selection screen. For example, the information processing device 100 displays a network selection screen. When the user selects the Shamisen network, the information processing apparatus 100 acquires method information including selection information indicating that the Shamisen network has been selected. When the user selects the triplet network, the information processing apparatus 100 acquires method information including selection information indicating that the triplet network has been selected.
 なお、Siameseネットワークについては例えば下記の文献に開示されている。
 ・Siamese Neural Networks for One-shot Image Recognition, Gregory Koch et al. <https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf>
The Siamese network is disclosed in the following document, for example.
・Siamese Neural Networks for One-shot Image Recognition, Gregory Koch et al. <https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf>
 また、Tripletネットワークについては例えば下記の文献に開示されている。
 ・Deep metric learning using Triplet network, Elad Hoffer et al. <https://arxiv.org/abs/1412.6622>
The Triplet network is disclosed in, for example, the following document.
・Deep metric learning using Triplet network, Elad Hoffer et al. <https://arxiv.org/abs/1412.6622>
[1-6-1.シャミーズネットワーク]
 ここから、図10-図13を用いて、メトリック学習の一例であるシャミーズネットワークのネットワーク構成やデータセットや入力画面や学習フローについて説明する。例えば、深層学習のメトリック学習は、特徴抽出器の学習に用いられる。まず、図10を用いて、メトリック学習のネットワーク構成について説明する。図10は、本開示に係るメトリック学習のネットワーク構成の一例を示す図である。
[1-6-1. Shamisen Network]
From here, the network configuration, the data set, the input screen, and the learning flow of the Shamisen network, which is an example of metric learning, will be described with reference to FIGS. For example, deep learning metric learning is used for learning the feature extractor. First, the network configuration for metric learning will be described with reference to FIG. FIG. 10 is a diagram illustrating an example of a metric learning network configuration according to the present disclosure.
 図10に示すネットワークMD4は、シャミーズネットワークの典型的な構成である。シャミーズネットワークは、2つのパラメータを共有した特徴抽出ネットと、距離計算レイヤ、ロス計算レイヤで構成され、2つのデータと、その関係を表すラベルを入力して、2つの入力各々の特徴量の距離と関係性ラベルの間で算出されるロスを出力する。例えば、図10中の「x1」及び「x2」は、入力される2つのデータに対応し、図10中の「y」は、入力されるラベルに対応する。 The network MD4 shown in FIG. 10 is a typical configuration of a Shamisen network. The Shamisen network is composed of a feature extraction net that shares two parameters, a distance calculation layer and a loss calculation layer, and inputs two data and a label indicating the relationship between them, and inputs the feature amount of each of the two inputs. Outputs the loss calculated between the distance and the relationship label. For example, “x1” and “x2” in FIG. 10 correspond to two pieces of input data, and “y” in FIG. 10 corresponds to an input label.
 シャミーズネットによる学習では、情報処理装置100は、図11に示すようなデータの塊(ミニバッチ)であるデータDT4を供給する。図11は、本開示に係るメトリック学習のミニバッチの一例を示す図である。具体的には、図11は、シャミーズネットワークの学習のミニバッチの一例を示す図である。 In the learning by the Shamisen net, the information processing apparatus 100 supplies the data DT4, which is a block of data (mini-batch) as shown in FIG. FIG. 11 is a diagram illustrating an example of a metric learning mini-batch according to the present disclosure. Specifically, FIG. 11 is a diagram showing an example of a mini-batch for learning the Shamisen network.
 図11のデータDT4に示すように、ラベルが通常のクラスラベルと異なり、2つの入力データx1、x2の間の距離に関するラベルである。この距離ラベルについて、シンプルな方法として、2つのデータが同じクラスに所属するならば「同じ」、2つのデータが違うクラスに所属するならば「違う」をラベルとする。これにより、情報処理装置100は、「同じ」クラスに所属するデータを特徴空間で近くに、「違う」クラスに所属するデータを遠くに射影するような関数の学習ができる。例えば、図11中の項目「Data1」、「Data2」は、2つのデータに対応し、図11中の項目「EqLabel」は、ラベルに対応する。例えば、同じDataIDに対応する項目「Data1」のデータ及び「Data2」のデータのクラスが同じの場合、項目「EqLabel」の値は「0」となる。また、例えば、同じDataIDに対応する項目「Data1」のデータ及び「Data2」のデータのクラスが異なる場合、項目「EqLabel」の値は「1」となる。 As shown in the data DT4 of FIG. 11, the label is a label related to the distance between the two input data x1 and x2, unlike a normal class label. Regarding this distance label, as a simple method, if two data belong to the same class, "same" is used, and if two data belong to different classes, "different" is used. As a result, the information processing apparatus 100 can learn a function that projects data belonging to the “same” class closer in the feature space and data belonging to the “different” class far. For example, the items “Data1” and “Data2” in FIG. 11 correspond to two pieces of data, and the item “EqLabel” in FIG. 11 corresponds to a label. For example, if the data classes of the items “Data1” and “Data2” corresponding to the same DataID have the same class, the value of the item “EqLabel” is “0”. Further, for example, when the classes of the data of the item “Data1” and the data of the “Data2” corresponding to the same DataID are different, the value of the item “EqLabel” is “1”.
 これを実現するためには、アルゴリズム上では、情報処理装置100は、通常の「クラス」ラベルから、「同じ」や「違う」を示すラベルを生成する処理が必要である。また、情報処理装置100は、ランダムに2つのデータのクラスを選択すると、クラス数が増えるにつれて、2つのデータのクラスは「違う」ものである比率が増加する。そのため、情報処理装置100は、これらの点を回避する必要がある。 In order to realize this, the information processing device 100 is required to generate a label indicating “same” or “different” from a normal “class” label in terms of an algorithm. When the information processing apparatus 100 randomly selects two data classes, the ratio of the two data classes being “different” increases as the number of classes increases. Therefore, the information processing apparatus 100 needs to avoid these points.
 ここで、図13に示すようなシャミーズネットワークの学習に関するアルゴリズムに必要となるのは、バッチサイズの二つの入力クラスの一致確率αである。そこで、メトリック学習については、バッチサイズと一致確率を設定するUIがあればよい。そのため、情報処理装置100は、図12に示すようなパラメータ「バッチサイズ」の値とパラメータ「一致確率α」の値を入力させる画面IM4を生成し、ユーザに提供する。図12は、本開示に係るメトリック学習の入力画面の一例を示す図である。 Here, what is required for the algorithm related to learning the Shamisen network as shown in FIG. 13 is the coincidence probability α of two input classes of batch size. Therefore, for metric learning, it is sufficient if there is a UI for setting the batch size and the matching probability. Therefore, the information processing apparatus 100 generates a screen IM4 for inputting the value of the parameter “batch size” and the value of the parameter “match probability α” as shown in FIG. 12, and provides it to the user. FIG. 12 is a diagram illustrating an example of a metric learning input screen according to the present disclosure.
 図12では、情報処理装置100は、パラメータ「バッチサイズ」を示す文字列「バッチサイズ」とともにパラメータ「バッチサイズ」の値を入力する入力欄BX41を含む入力画面である画面IM4を生成する。また、情報処理装置100は、パラメータ「一致確率α」を示す文字列「入力所属クラスの一致確率」とともにパラメータ「一致確率α」の値を入力する入力欄BX42を含む画面IM4を生成する。そして、情報処理装置100は、入力欄BX41にユーザが入力した値をパラメータ「バッチサイズ」の値に決定する。また、情報処理装置100は、入力欄BX42にユーザが入力した値をパラメータ「一致確率α」の値に決定する。 In FIG. 12, the information processing apparatus 100 generates a screen IM4 which is an input screen including an input field BX41 for inputting a value of the parameter “batch size” together with a character string “batch size” indicating the parameter “batch size”. The information processing apparatus 100 also generates a screen IM4 including a character string “match probability of input belonging class” indicating the parameter “match probability α” and an input field BX42 for inputting a value of the parameter “match probability α”. Then, the information processing apparatus 100 determines the value input by the user in the input field BX41 as the value of the parameter "batch size". Further, the information processing apparatus 100 determines the value input by the user in the input field BX42 as the value of the parameter “match probability α”.
 例えば、ユーザがシャミーズネットワークを選択した場合、情報処理装置100は、図12に示すような画面IM4をユーザに提供する。情報処理装置100は、メトリック学習である学習方法LT4を示す方法情報に基づいて、データの供給方法を決定する。例えば、情報処理装置100は、メトリック学習である学習方法LT4を示す方法情報に基づいて、シャミーズネットワークのメトリック学習に用いられる入力データやパラメータ等を、データの供給方法として決定する。例えば、情報処理装置100は、図4中の対応情報記憶部141に示すような、複数の学習方法及び複数の供給方法の対応を示す対応情報を用いて、入力データやパラメータ等を決定する。 For example, when the user selects the Shamisen network, the information processing apparatus 100 provides the user with a screen IM4 as shown in FIG. The information processing apparatus 100 determines the data supply method based on the method information indicating the learning method LT4 that is metric learning. For example, the information processing apparatus 100 determines, as a data supply method, input data, parameters, and the like used for metric learning of a Shamisen network, based on method information indicating a learning method LT4 that is metric learning. For example, the information processing apparatus 100 determines input data, parameters, and the like by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods as shown in the correspondence information storage unit 141 in FIG.
 図12の例では、情報処理装置100は、シャミーズネットワークのメトリック学習に用いられる入力データを「データペア」及び「関係ラベル」に決定する。また、情報処理装置100は、シャミーズネットワークのメトリック学習に用いられるパラメータを図4に示す設定パラメータ情報PINF4を用いて決定する。例えば、設定パラメータ情報PINF4には、シャミーズネットワークのメトリック学習に用いられるパラメータやそのパラメータの値をユーザに入力させるかの指定やそのパラメータの推奨値等が含まれる。情報処理装置100は、メトリック学習に用いられるパラメータを、「バッチサイズ」と「一致確率α」に決定する。 In the example of FIG. 12, the information processing apparatus 100 determines the input data used for the metric learning of the Shamisen network as “data pair” and “relationship label”. Further, the information processing apparatus 100 determines the parameter used for the metric learning of the Shamisen network using the setting parameter information PINF4 shown in FIG. For example, the setting parameter information PINF4 includes a parameter used for metric learning of the Shamisen network, specification of whether the user inputs the value of the parameter, a recommended value of the parameter, and the like. The information processing apparatus 100 determines the parameters used for metric learning as “batch size” and “match probability α”.
 そして、情報処理装置100は、ユーザが入力したパラメータ「バッチサイズ」の値とパラメータ「一致確率α」の値を用いて、図13に示す学習フローを実行する。図13は、本開示に係るメトリック学習の学習を示すフローチャートである。具体的には、図13は、本開示に係るシャミーズネットワークの学習を示すフローチャートである。 Then, the information processing apparatus 100 executes the learning flow shown in FIG. 13 using the value of the parameter “batch size” and the value of the parameter “match probability α” input by the user. FIG. 13 is a flowchart showing learning of metric learning according to the present disclosure. Specifically, FIG. 13 is a flowchart showing learning of the Shamisen network according to the present disclosure.
 図13に示すように、情報処理装置100は、データセットを用意する(ステップS301)。例えば、情報処理装置100は、2つの入力データx1、x2の間の距離に関するラベルが付与されたデータを含むデータセットを取得する。 As shown in FIG. 13, the information processing apparatus 100 prepares a data set (step S301). For example, the information processing apparatus 100 acquires a data set including data to which a label related to the distance between the two input data x1 and x2 is attached.
 そして、情報処理装置100は、片側の入力クラスをランダムに一つ選択する(ステップS302)。例えば、情報処理装置100は、片側の入力クラスを所定の順番で選択する。 Then, the information processing apparatus 100 randomly selects one input class on one side (step S302). For example, the information processing apparatus 100 selects the input class on one side in a predetermined order.
 そして、情報処理装置100は、もう一方のクラスを決定する(ステップS303)。そして、情報処理装置100は、乱数を使って、所定の確率αで0か1をサンプリングする(ステップS304)。例えば、情報処理装置100は、「0」の場合、同じクラスを選択する。また、情報処理装置100は、「1」の場合、異なるクラスを選択する。そして、情報処理装置100は、得られた0または1をラベル(距離ラベル)とする。なお、ステップS304の処理はステップS303内で行われてもよい。 Then, the information processing device 100 determines the other class (step S303). Then, the information processing apparatus 100 uses a random number to sample 0 or 1 with a predetermined probability α (step S304). For example, in the case of “0”, the information processing apparatus 100 selects the same class. In the case of “1”, the information processing apparatus 100 selects a different class. Then, the information processing apparatus 100 uses the obtained 0 or 1 as a label (distance label). The process of step S304 may be performed in step S303.
 そして、情報処理装置100は、それぞれのクラスのサンプルを選択する(ステップS305)。例えば、情報処理装置100は、入力データx1、x2を取得する。 Then, the information processing apparatus 100 selects a sample of each class (step S305). For example, the information processing device 100 acquires the input data x1 and x2.
 そして、情報処理装置100は、バッチサイズ分実行したかどうかを判定する(ステップS306)。情報処理装置100は、バッチサイズ分実行していない場合(ステップS306:No)、ステップS302に戻って、処理を繰り返す。 Then, the information processing apparatus 100 determines whether the batch size has been executed (step S306). If the information processing apparatus 100 has not executed the batch size (step S306: No), the information processing apparatus 100 returns to step S302 and repeats the processing.
 情報処理装置100は、バッチサイズ分実行した場合(ステップS306:Yes)、学習を行なう(ステップS307)。そして、情報処理装置100は、アルゴリズムを続ける条件かどうかを判定する(ステップS308)。ステップS308の条件は、繰り返し回数や、収束の終了条件かどうかなどである。 The information processing apparatus 100, if executed for the batch size (step S306: Yes), performs learning (step S307). Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S308). The condition of step S308 is the number of repetitions, whether it is a convergence end condition, or the like.
 情報処理装置100は、アルゴリズムを続ける条件を満たす場合(ステップS308:Yes)、ステップS307に戻って、処理を繰り返す。一方、情報処理装置100は、アルゴリズムを続ける条件を満たさない場合(ステップS308:No)、ステップS302に戻って、処理を繰り返す。 If the condition for continuing the algorithm is satisfied (step S308: Yes), the information processing apparatus 100 returns to step S307 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S308: No), the information processing apparatus 100 returns to step S302 and repeats the processing.
[1-6-2.トリプレットネットワーク]
 ここから、図14-図18を用いて、メトリック学習の一例であるトリプレットネットワークのネットワーク構成やデータセットや入力画面や学習フローについて説明する。例えば、深層学習のメトリック学習は、特徴抽出器の学習に用いられる。まず、図14を用いて、メトリック学習のネットワーク構成について説明する。図14は、本開示に係るメトリック学習のネットワーク構成の他の一例を示す図である。
[1-6-2. Triplet network]
From here, a network configuration, a data set, an input screen, and a learning flow of a triplet network, which is an example of metric learning, will be described with reference to FIGS. 14 to 18. For example, deep learning metric learning is used for learning the feature extractor. First, the network configuration for metric learning will be described with reference to FIG. FIG. 14 is a diagram illustrating another example of a metric learning network configuration according to the present disclosure.
 図14に示すネットワークMD5は、トリプレットネットワークの典型的な構成である。トリプレットネットワークは、3つのパラメータを共有した特徴抽出ネットと、距離計算レイヤ、ロス計算レイヤで構成される。このネットワークは、3つのデータを入力して、ロスを出力する。3つのデータは、それぞれアンカーと呼ばれるデータ(x_a)、ポジティブと呼ばれるデータ(x_p)、ネガティブと呼ばれるデータ(x_n)である。 The network MD5 shown in FIG. 14 is a typical configuration of a triplet network. The triplet network is composed of a feature extraction net that shares three parameters, a distance calculation layer, and a loss calculation layer. This network inputs three data and outputs loss. The three data are data called anchor (x_a), data called positive (x_p), and data called negative (x_n).
 トリプレットネットワークによる学習では、情報処理装置100は、図15に示すようなデータの塊(ミニバッチ)であるデータDT5を供給する。図15は、本開示に係るメトリック学習のミニバッチの他の一例を示す図である。具体的には、図15は、トリプレットネットワークの学習のミニバッチの一例を示す図である。例えば、図15中の項目「Anchor」は、アンカークラスのデータに対応し、図15中の項目「Positive」は、ポジティブクラスのデータに対応し、図15中の項目「Negative」は、ネガティブクラスに対応する。なお、アンカークラスとポジティブクラスは同じクラスである。また、アンカークラスとネガティブクラスとは異なるクラスである。例えば、同じDataIDに対応する項目「Anchor」及び「Positive」のデータは、同じクラスに属するデータである。また、例えば、同じDataIDに対応する項目「Anchor」及び「Negative」のデータは、各々が異なるクラスに属するデータである。 In the learning by the triplet network, the information processing apparatus 100 supplies the data DT5 which is a data batch (mini-batch) as shown in FIG. FIG. 15 is a diagram showing another example of the metric learning mini-batch according to the present disclosure. Specifically, FIG. 15 is a diagram illustrating an example of a mini-batch for learning a triplet network. For example, the item “Anchor” in FIG. 15 corresponds to anchor class data, the item “Positive” in FIG. 15 corresponds to positive class data, and the item “Negative” in FIG. 15 is negative class. Corresponding to. The anchor class and the positive class are the same class. Also, the anchor class and the negative class are different classes. For example, the data of the items “Anchor” and “Positive” corresponding to the same DataID are data belonging to the same class. Further, for example, the data of the items “Anchor” and “Negative” corresponding to the same DataID are data belonging to different classes.
 図15のデータDT5に示すように、トリプレットネットワークのミニバッチはラベルが無く、3つのデータで構成される。例えば、トリプレットネットワークのミニバッチは、アンカークラス、ポジティブクラス、及びネガティブクラスのそれぞれに対応するデータが含まれる。図15に示すようなデータDT5をサンプリングして学習するアルゴリズムは、後述する図17や図18に示すようなフローになる。 As shown in data DT5 of FIG. 15, the triplet network mini-batch has no label and is composed of three data. For example, a mini-batch of a triplet network contains data corresponding to anchor classes, positive classes, and negative classes, respectively. The algorithm for sampling and learning the data DT5 as shown in FIG. 15 has a flow as shown in FIGS. 17 and 18 described later.
 ここで、トリプレットネットワークによる距離学習と、シャミーズネットワークによる距離学習の差異について説明する。シャミーズネットワークの場合、特に工夫をしなければ2つの入力データの所属クラスが異なる方に偏る傾向が有り、確率の制御が必要となる。一方、トリプレットネットワークは自然と組み合わせが生成できるという特徴がある。また、上記のように、シャミーズネットワークでは距離ラベルが必要であるが、トリプレットではラベルが必要ないことも差異の一つである。 Here, I will explain the difference between distance learning by triplet network and distance learning by chamises network. In the case of a Shamisen network, the belonging classes of two input data tend to be biased toward different classes unless special measures are taken, and it is necessary to control the probability. On the other hand, the triplet network has a characteristic that a combination can be generated naturally. Further, as described above, the distance label is required in the Shamisen network, but the label is not required in the triplet, which is one difference.
 ここで、トリプレットネットワークの学習では、図17に示すようなアルゴリズム及び図18に示すようなハードネガティブマイニングと呼ばれるアルゴリズムの選択やハードネガティブマイニングの場合の詳細設定が必要となる。そこで、トリプレットネットワークの学習については、バッチサイズとハードネガティブマイニングのOn/OFFの切換えとハードネガティブマイニングの場合のクラス代表の選択を設定するUIがあればよい。そのため、情報処理装置100は、図16に示すようなパラメータ「バッチサイズ」の値とパラメータ「ハードネガティブマイニング」の値を入力させ、ハードネガティブマイニングの場合のクラス代表点を選択させる画面IM5を生成し、ユーザに提供する。図16は、本開示に係るメトリック学習の入力画面の他の一例を示す図である。 Here, in the learning of the triplet network, it is necessary to select an algorithm shown in FIG. 17 and an algorithm called hard negative mining as shown in FIG. 18, and to make detailed settings in the case of hard negative mining. Therefore, for the learning of the triplet network, a UI for setting batch size, On/OFF switching of hard negative mining, and selection of class representative in the case of hard negative mining is sufficient. Therefore, the information processing apparatus 100 generates a screen IM5 as shown in FIG. 16 in which the value of the parameter “batch size” and the value of the parameter “hard negative mining” are input and the class representative point in the case of hard negative mining is selected. And provide it to the user. FIG. 16 is a diagram showing another example of the metric learning input screen according to the present disclosure.
 図16では、情報処理装置100は、パラメータ「バッチサイズ」を示す文字列「バッチサイズ」とともにパラメータ「バッチサイズ」の値を入力する入力欄BX51を含む入力画面である画面IM5を生成する。また、情報処理装置100は、パラメータ「ハードネガティブマイニング」を示す文字列「ハードネガティブマイニング(近傍クラスを選択的に遠ざける)」とともにパラメータ「ハードネガティブマイニング」の値を入力する入力欄BX52を含む画面IM5を生成する。また、情報処理装置100は、パラメータ「クラス代表点」を示す文字列「ハードネガティブマイニング設定」とともにパラメータ「クラス代表点」の値を選択させるコンボボックスである選択リストCB5を含む画面IM5を生成する。例えば、選択リストCB5には、「クラス別ランダム」や「クラスの重心」や「クラスのメディアン」といったパラメータ「クラス代表点」に対応する選択肢が含まれる。そして、情報処理装置100は、入力欄BX51にユーザが入力した値をパラメータ「バッチサイズ」の値に決定する。また、情報処理装置100は、入力欄BX52にユーザが入力した値をパラメータ「ハードネガティブマイニング」の値に決定する。また、情報処理装置100は、選択リストCB5のうちユーザが指定した値をパラメータ「クラス代表点」の値に決定する。 In FIG. 16, the information processing apparatus 100 generates a screen IM5 which is an input screen including an input field BX51 for inputting a value of the parameter “batch size” together with a character string “batch size” indicating the parameter “batch size”. Further, the information processing apparatus 100 is a screen including an input field BX52 for inputting a value of the parameter "hard negative mining" together with a character string "hard negative mining (selectively distance neighboring classes)" indicating the parameter "hard negative mining". Generate IM5. The information processing apparatus 100 also generates a screen IM5 including a selection list CB5 which is a combo box for selecting the value of the parameter “class representative point” together with the character string “hard negative mining setting” indicating the parameter “class representative point”. .. For example, the selection list CB5 includes options corresponding to the parameter “class representative point” such as “random for each class”, “class center of gravity”, or “class median”. Then, the information processing apparatus 100 determines the value input by the user in the input field BX51 as the value of the parameter "batch size". The information processing apparatus 100 also determines the value input by the user in the input field BX52 as the value of the parameter “hard negative mining”. Further, the information processing apparatus 100 determines the value designated by the user in the selection list CB5 as the value of the parameter “class representative point”.
 例えば、ユーザがトリプレットネットワークを選択した場合、情報処理装置100は、図16に示すような画面IM5をユーザに提供する。情報処理装置100は、トリプレットネットワークのメトリック学習を示す方法情報に基づいて、データの供給方法を決定する。例えば、情報処理装置100は、トリプレットネットワークのメトリック学習を示す方法情報に基づいて、トリプレットネットワークのメトリック学習に用いられる入力データやパラメータ等を、データの供給方法として決定する。例えば、情報処理装置100は、図4の対応情報記憶部141に記憶されたトリプレットネットワークのメトリック学習に対応する対応情報を用いて、入力データやパラメータ等を決定する。 For example, when the user selects the triplet network, the information processing apparatus 100 provides the screen IM5 as shown in FIG. 16 to the user. The information processing apparatus 100 determines the data supply method based on the method information indicating the metric learning of the triplet network. For example, the information processing apparatus 100 determines input data, parameters, and the like used for metric learning of the triplet network as a data supply method based on method information indicating metric learning of the triplet network. For example, the information processing apparatus 100 determines input data, parameters, and the like by using the correspondence information corresponding to the metric learning of the triplet network stored in the correspondence information storage unit 141 of FIG.
 図16の例では、情報処理装置100は、トリプレットネットワークのメトリック学習に用いられる入力データを「ラベルなしの3つのデータ」に決定する。また、情報処理装置100は、トリプレットネットワークのメトリック学習に用いられるパラメータを、図4の対応情報記憶部141に記憶された設定パラメータ情報(設定パラメータ情報PINFX)を用いて決定する。例えば、設定パラメータ情報PINFXには、トリプレットネットワークのメトリック学習に用いられるパラメータやそのパラメータの値をユーザに入力させるかの指定やそのパラメータの推奨値等が含まれる。情報処理装置100は、メトリック学習に用いられるパラメータを、「バッチサイズ」と「ハードネガティブマイニング」と「クラス代表点」とに決定する。 In the example of FIG. 16, the information processing apparatus 100 determines the input data used for metric learning of the triplet network as “three data without labels”. Further, the information processing apparatus 100 determines the parameter used for the metric learning of the triplet network using the setting parameter information (setting parameter information PINFX) stored in the correspondence information storage unit 141 of FIG. For example, the setting parameter information PINFX includes a parameter used for metric learning of the triplet network, specification of whether the user inputs a value of the parameter, a recommended value of the parameter, and the like. The information processing apparatus 100 determines the parameters used for metric learning as "batch size", "hard negative mining", and "class representative point".
 そして、情報処理装置100は、ユーザが入力したパラメータ「バッチサイズ」の値とパラメータ「ハードネガティブマイニング」の値とパラメータ「クラス代表点」の値とを用いて、図17または図18に示す学習フローを実行する。情報処理装置100は、パラメータ「ハードネガティブマイニング」の値がハードネガティブマイニングのOFFに対応する場合、図17の学習フローを実行する。なお、この場合、パラメータ「クラス代表点」の選択は不要である。 Then, the information processing apparatus 100 uses the value of the parameter “batch size”, the value of the parameter “hard negative mining”, and the value of the parameter “class representative point” input by the user to perform the learning illustrated in FIG. 17 or FIG. Run the flow. When the value of the parameter “hard negative mining” corresponds to OFF of the hard negative mining, the information processing apparatus 100 executes the learning flow of FIG. In this case, it is not necessary to select the parameter "class representative point".
 図17は、本開示に係るメトリック学習の他の学習を示すフローチャートである。具体的には、図17は、本開示に係るハードネガティブマイニングでない場合のトリプレットネットワークの学習を示すフローチャートである。 FIG. 17 is a flowchart showing another learning of the metric learning according to the present disclosure. Specifically, FIG. 17 is a flowchart showing learning of a triplet network in the case of not performing hard negative mining according to the present disclosure.
 図17に示すように、情報処理装置100は、データセットを用意する(ステップS401)。そして、情報処理装置100は、アンカークラスとポジティブクラスをランダムに一つ選択する(ステップS402)。なお、アンカークラスとポジティブクラスは同じクラスである。 As shown in FIG. 17, the information processing device 100 prepares a data set (step S401). Then, the information processing apparatus 100 randomly selects one anchor class and one positive class (step S402). The anchor class and the positive class are the same class.
 そして、情報処理装置100は、ネガティブクラスを、アンカークラスと異なるように一つ選択する(ステップS403)。情報処理装置100は、アンカー、ポジティブ、ネガティブクラスからそれぞれ一つデータをサンプリングする(ステップS404)。そして、情報処理装置100は、学習を行なう(ステップS405)。そして、情報処理装置100は、アルゴリズムを続ける条件かどうかを判定する(ステップS406)。ステップS406の条件は、繰り返し回数や、収束の終了条件かどうかなどである。 Then, the information processing apparatus 100 selects one negative class so as to be different from the anchor class (step S403). The information processing apparatus 100 samples one data each from the anchor, positive class, and negative class (step S404). Then, the information processing device 100 performs learning (step S405). Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S406). The condition of step S406 is the number of repetitions, whether it is a convergence end condition, or the like.
 情報処理装置100は、アルゴリズムを続ける条件を満たす場合(ステップS406:Yes)、ステップS405に戻って、処理を繰り返す。一方、情報処理装置100は、アルゴリズムを続ける条件を満たさない場合(ステップS406:No)、ステップS402に戻って、処理を繰り返す。 If the condition for continuing the algorithm is satisfied (step S406: Yes), the information processing apparatus 100 returns to step S405 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S406: No), the information processing apparatus 100 returns to step S402 and repeats the processing.
 なお、図17に示すフローに対応するアルゴリズムでは、アンカー・ポジティブクラスに対して、容易にネガティブと判別されるクラスをネガティブクラスとして選択することを許容している。このため、図17に示すフローでは、ネガティブの学習が不十分であることもある。そこで、図18に示すハードネガティブマイニングと称される処理のように、アンカー・ポジティブクラスに対して、近いネガティブを選択的にネガティブクラスとして選択することが考えられる。 Note that the algorithm corresponding to the flow shown in Fig. 17 allows the anchor/positive class to be selected as a negative class that is easily determined to be negative. Therefore, in the flow shown in FIG. 17, negative learning may be insufficient. Therefore, it is conceivable to selectively select a close negative as a negative class with respect to the anchor positive class, as in the processing called hard negative mining shown in FIG.
 情報処理装置100は、パラメータ「ハードネガティブマイニング」の値がハードネガティブマイニングのONに対応する場合、図18の学習フローを実行する。図18は、本開示に係るハードネガティブマイニングの場合の学習を示すフローチャートである。 The information processing apparatus 100 executes the learning flow of FIG. 18 when the value of the parameter “hard negative mining” corresponds to ON of hard negative mining. FIG. 18 is a flowchart showing learning in the case of hard negative mining according to the present disclosure.
 図18に示すように、情報処理装置100は、データセットを用意する(ステップS451)。そして、情報処理装置100は、特徴抽出器を使って、クラスごとに特徴空間上の代表点を導出する(ステップS452)。例えば、情報処理装置100は、現時点(処理時点)での特徴抽出器を使って、クラスごとに特徴空間上の代表点を求める。 As shown in FIG. 18, the information processing apparatus 100 prepares a data set (step S451). Then, the information processing apparatus 100 uses the feature extractor to derive a representative point on the feature space for each class (step S452). For example, the information processing apparatus 100 obtains a representative point on the feature space for each class by using the feature extractor at the current time (processing time).
 そして、情報処理装置100は、各クラスについて、特徴点が最も近いクラスのペアのリストを生成する(ステップS453)。情報処理装置100は、アンカークラスとポジティブクラスをランダムに一つ選択する(ステップS454)。なお、アンカークラスとポジティブクラスは同じクラスである。 Then, the information processing apparatus 100 generates a list of pairs of classes having the closest feature points for each class (step S453). The information processing apparatus 100 randomly selects one anchor class and one positive class (step S454). The anchor class and the positive class are the same class.
 そして、情報処理装置100は、ネガティブクラスを、アンカークラスに最も近いクラスに設定する(ステップS455)。情報処理装置100は、アンカー、ポジティブ、ネガティブクラスからそれぞれ一つデータをサンプリングする(ステップS456)。 Then, the information processing apparatus 100 sets the negative class to the class closest to the anchor class (step S455). The information processing apparatus 100 samples one data each from the anchor, positive class, and negative class (step S456).
 そして、情報処理装置100は、学習を行なう(ステップS457)。そして、情報処理装置100は、アルゴリズムを続ける条件かどうかを判定する(ステップS458)。ステップS458の条件は、繰り返し回数や、収束の終了条件かどうかなどである。 Then, the information processing device 100 performs learning (step S457). Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S458). The condition of step S458 is the number of repetitions, whether it is a convergence end condition, or the like.
 情報処理装置100は、アルゴリズムを続ける条件を満たす場合(ステップS458:Yes)、ステップS457に戻って、処理を繰り返す。一方、情報処理装置100は、アルゴリズムを続ける条件を満たさない場合(ステップS458:No)、ステップS452に戻って、処理を繰り返す。 If the condition for continuing the algorithm is satisfied (step S458: Yes), the information processing apparatus 100 returns to step S457 and repeats the processing. On the other hand, if the condition for continuing the algorithm is not satisfied (step S458: No), the information processing apparatus 100 returns to step S452 and repeats the processing.
[1-7.メタ学習]
 ここでいうメタ学習とは、学習アルゴリズムの学習に対応する。すなわち、メタ学習の概念は、学習アルゴリズムの学習である。いわゆるワンショット学習やフューショット学習と呼ばれる少ないデータでの学習が注目されている。ワンショット学習やフューショット学習とは、少ないデータでの学習であり、以下ではこれらの学習に対するメタ学習について説明する。
[1-7. Meta learning]
The meta-learning here corresponds to learning of a learning algorithm. That is, the concept of meta-learning is learning of a learning algorithm. Attention is focused on learning with a small amount of data, which is so-called one-shot learning or fushot learning. One-shot learning and fushot learning are learning with a small amount of data, and the meta-learning for these learning will be described below.
 まず、ここでいうワンショット学習やフューショット学習は、データが少ない学習の代表例である。例えば、ワンショット学習やフューショット学習は、1から数サンプル等のごく僅かなラベルつきデータから、そのクラスの概念を学習し、あらたにデータを入力したときにクラスの分類を実現する。このように、ワンショット学習(フューショット学習)は、データが少ないという単なる設定であり、学習技術ではない。僅かなデータだが、通常の教師あり学習をしてもよい。しかし、その場合、データが少なすぎてクラスの「概念」を統計的に獲得できないという問題があり、汎化しないことや、過学習するということが生じる。これを回避するため「メタ学習」を用いたアプローチでモデルを事前に学習しておくことが多い。 First, the one-shot learning and the fushot learning described here are typical examples of learning with a small amount of data. For example, in the one-shot learning or the fushot learning, the concept of the class is learned from a very small number of labeled data such as 1 to several samples, and the classification of the class is realized when the data is newly input. As described above, the one-shot learning (fuse shot learning) is merely a setting that the amount of data is small, and is not a learning technique. Although it is a small amount of data, normal supervised learning may be performed. However, in that case, there is a problem that the "concept" of the class cannot be statistically acquired due to too small amount of data, and generalization and overlearning occur. In order to avoid this, the model using "meta-learning" is often learned in advance.
 ここでいうメタ学習は、学習アルゴリズム自体を学習する学習とされる。例えば、ワンショット学習用のメタ学習では、ワンショット学習の「わずかな学習データを学習して、テストデータを分類する」アルゴリズム自体を学習する。その方法には、「メトリック学習」ベースの方法や、「転移学習」ベース(勾配ベースとも称される)の方法がある。 ≪Meta-learning here means learning that learns the learning algorithm itself. For example, in the meta-learning for one-shot learning, the one-shot learning “learning a small amount of learning data and classifying test data” algorithm itself is learned. The methods include "metric learning" based methods and "transfer learning" based (also called gradient based) methods.
 ここでいうメトリック学習ベースのメタ学習は、データのペアとそれに対するラベルの代わりに、学習データと、ワンショット学習設定時のラベルを用いて学習を行う。ワンショット学習の学習データとテストデータをこの空間に射影して距離をみることで、テストデータが学習データのどのクラスに所属するか推定できる。 In the metric learning-based meta-learning here, learning is performed using the learning data and the label at the time of one-shot learning setting, instead of the pair of data and the label for it. By projecting the learning data of the one-shot learning and the test data in this space and checking the distance, it is possible to estimate which class of the learning data the test data belongs to.
 上述のように、ワンショット学習、フューショット学習とは、クラスあたりの学習データが1ないし数サンプルという極めて少ない場合の学習である。ワンショット学習の処理を説明すると、ワンショット学習では、情報処理装置100は、学習したいクラスを選択する。このようなクラスは、サポートクラスと称される。そして、情報処理装置100は、クラスあたり一サンプルないし数サンプルを選択してデータセットとする。このようなデータセットは、サポートセットと称される。情報処理装置100は、サポートセットを使って、サポートクラス分類モデルを構築する。このような処理は、ワンショット学習やフューショット学習と称される。 As described above, the one-shot learning and the fushot learning are learning when the learning data per class is extremely small, from 1 to several samples. The processing of the one-shot learning will be described. In the one-shot learning, the information processing apparatus 100 selects a class to be learned. Such classes are called support classes. Then, the information processing apparatus 100 selects one sample or several samples per class as a data set. Such a data set is called a support set. The information processing apparatus 100 uses the support set to construct a support class classification model. Such processing is called one-shot learning or fuse-shot learning.
 情報処理装置100は、予測したい1以上のサンプルを選択する。このようなサンプルは、クエリセットと称される。また、通常、クエリのクラスはサポートクラスのどれかであることが保証される。情報処理装置100は、クエリをサポートクラスのどれかに分類する。 The information processing device 100 selects one or more samples to be predicted. Such a sample is called a query set. Also, the query class is usually guaranteed to be one of the support classes. The information processing apparatus 100 classifies the query into any of the support classes.
 上記のフローに示すように、ワンショット学習やフューショット学習は、サポートセットとクエリセットで構成される。このようなサポートセットとクエリセットは、ワンショット学習ではエピソードと称される。 As shown in the flow above, one-shot learning and future shot learning consist of a support set and a query set. Such support sets and query sets are called episodes in one-shot learning.
 例えば、情報処理装置100は、サポートクラスをランダムにいくつか選択する。なお、サポートクラスの個数はN-wayと称される。例えば、サポートクラスが5個である場合、5-wayと称される。情報処理装置100は、各サポートクラスについて、ランダムに所定数のサンプルを選択する。なお、クラスごとのサンプル選択個数は、N-shotと称される。例えば、クラスごとのサンプル選択個数が1個である場合、1-shotと称される。 For example, the information processing apparatus 100 randomly selects some support classes. The number of support classes is called N-way. For example, if there are five support classes, it is called 5-way. The information processing apparatus 100 randomly selects a predetermined number of samples for each support class. The number of samples selected for each class is referred to as N-shot. For example, when the number of samples selected for each class is 1, it is called 1-shot.
 情報処理装置100は、クエリクラスを、サポートクラスの中からランダムに選択する。また、情報処理装置100は、このクエリクラスから、ランダムにいくつかのサンプルを選択する。そして、情報処理装置100は、これらを組み合わせてエピソードを生成する。 The information processing device 100 randomly selects a query class from the support classes. Further, the information processing apparatus 100 randomly selects some samples from this query class. Then, the information processing apparatus 100 combines these to generate an episode.
 ここから、ワンショット学習用のメタ学習について説明する。上記のように、ワンショット学習は、単に学習データが少ない場合の学習に過ぎず、ニューラルネットを使うか、階層ベイズを使うか様々なアプローチが考えられる。しかしながら、いずれアプローチを採用しても、少量の学習データだけで作ったモデルでは、統計的な特性を十分反映することが難しい。そのため、ワンショット学習で生成されたモデルでは、学習データから少し異なるデータをきちんと分類することができないといった問題がある。このような問題については、データが少ないので「汎化できない」や「過学習がおきる」などと称される。 From here, I will explain the meta-learning for one-shot learning. As described above, the one-shot learning is merely learning when there is a small amount of learning data, and various approaches such as using a neural net or hierarchical Bayes can be considered. However, no matter which approach is adopted, it is difficult to sufficiently reflect the statistical characteristics in the model created with only a small amount of training data. Therefore, in the model generated by the one-shot learning, there is a problem that it is not possible to properly classify slightly different data from the learning data. Such a problem is called "cannot generalize" or "over-learning occurs" because there is little data.
 上記の問題を解決するには、事前に知識を獲得しておくことが有効である。ここでいう知識とは、例えば、「手書き文字」のワンショット分類では、文字とはどこに注目すれば同じか、違うかを区別できるかを事前に学習することである。この場合の知識は、「文字である」という前提のもとに、初めてみた文字のセットを覚えて、次にみたときに分類できるようにする知識に対応する。 In order to solve the above problems, it is effective to acquire knowledge in advance. The knowledge referred to here is, for example, to learn in advance in one-shot classification of “handwritten characters” how to distinguish between a character and whether it is the same or different. The knowledge in this case corresponds to the knowledge of remembering the set of characters seen for the first time and classifying them the next time, on the assumption that they are characters.
 例えば、ワンショット学習のメタ学習において、様々な手書き文字のエピソードを用意して、これらで正しくクエリを分類できるように学習すれば、知識を獲得することが可能となる。この場合、情報処理装置100は、初めて手書き文字データセットのサポートセットに対して、クエリとなるデータのサポートクラスを推定することができる。このようなアルゴリズムは図22において詳述する。 For example, in one-shot learning meta-learning, knowledge can be acquired by preparing episodes of various handwritten characters and learning so that queries can be correctly classified with these episodes. In this case, the information processing apparatus 100 can estimate the support class of the query data for the support set of the handwritten character data set for the first time. Such an algorithm will be described in detail in FIG.
 なお、ワンショット学習(フューショット学習)については例えば下記のような文献が開示されている。
 ・Matching Networks for One Shot Learning, Oriol Vinyals et al. <https://arxiv.org/abs/1606.04080>
 ・Meta-Transfer Learning for Few-Shot Learning, Qianru Sun et al. <https://arxiv.org/abs/1812.02391>
Regarding the one-shot learning (fushot learning), for example, the following documents are disclosed.
・Matching Networks for One Shot Learning, Oriol Vinyals et al. <https://arxiv.org/abs/1606.04080>
・Meta-Transfer Learning for Few-Shot Learning, Qianru Sun et al. <https://arxiv.org/abs/1812.02391>
 また、メタ学習については例えば下記のような文献が開示されている。
 ・Deep Meta-Learning: Learning to Learn in the Concept Space, Fengwei Zhou et al. <https://arxiv.org/abs/1802.03596>
 ・Learning to Generalize: Meta-Learning for Domain Generalization, Da Li et al. <https://arxiv.org/abs/1710.03463>
Further, for meta-learning, for example, the following documents are disclosed.
・Deep Meta-Learning: Learning to Learn in the Concept Space, Fengwei Zhou et al. <https://arxiv.org/abs/1802.03596>
・Learning to Generalize: Meta-Learning for Domain Generalization, Da Li et al. <https://arxiv.org/abs/1710.03463>
 ここで、図19-図22を用いて、メタ学習のネットワーク構成やデータセットや入力画面や学習フローについて説明する。まず、図19を用いて、メタ学習のネットワーク構成について説明する。図19は、本開示に係るメタ学習のネットワーク構成の一例を示す図である。 Here, the network configuration of meta-learning, the data set, the input screen, and the learning flow will be described with reference to FIGS. 19 to 22. First, the network configuration for meta-learning will be described with reference to FIG. FIG. 19 is a diagram illustrating an example of a network configuration of meta learning according to the present disclosure.
 図19に示すネットワークMD6は、エピソードを入力するメタ学習のネットワークの一例を示す。メトリック学習ベースのメタ学習はネットワークMD6のようなネットワークの構成をしている。 The network MD6 shown in FIG. 19 shows an example of a meta-learning network for inputting episodes. The metric learning-based meta-learning constitutes a network such as the network MD6.
 図19のネットワークMD6に示すように、メトリックベースのメタ学習は、クエリ(xq)を入力するネットワークと、サポート(xs)を入力するネットワークがある。そして、ネットワークMD6は、サポートクラスごとに、クエリと該当するクラスのサポートを入力して、クエリの尤度のようなもの(ロジットともいう)を計算するブロックと、これらの尤度(ロジット)と、サポートクラスのラベル(y)を入力してロスを計算するブロックで構成されている。 As shown in network MD6 of FIG. 19, metric-based meta-learning includes a network for inputting a query (xq) and a network for inputting support (xs). Then, the network MD6 inputs a query and support of the corresponding class for each support class and calculates a block like the likelihood of the query (also referred to as logit), and these likelihoods (logit). , A block for calculating the loss by inputting the label (y) of the support class.
 メトリックベースのメタ学習の代表的なネットワークには、マッチングネットワーク、プロトタイプネットワークがある。マッチングネットワークとプロトタイプネットワークとには、クエリとサポートの尤度を計算するブロックの点で差異がある。例えば、マッチングネットワークの場合、情報処理装置100は、特徴空間上でクエリの最近傍(ソフトマックス)のサポートに対する距離を算出する。一方、プロトタイプネットワークの場合、情報処理装置100は、クエリと、サポートの平均(プロトタイプ)の距離を算出する。なお、距離指標は、コサイン距離やユークリッド距離、あるいは、その拡張など種々の指標が用いられてもよい。 Matching networks and prototype networks are typical networks for metric-based meta-learning. There is a difference between the matching network and the prototype network in the blocks that calculate the likelihood of queries and support. For example, in the case of a matching network, the information processing apparatus 100 calculates the distance to the support of the nearest neighbor (softmax) of the query in the feature space. On the other hand, in the case of the prototype network, the information processing apparatus 100 calculates the distance between the query and the average support (prototype). As the distance index, various indices such as cosine distance, Euclidean distance, or extension thereof may be used.
 メトリックベースのメタ学習は、近傍法(最近傍法)によるクラス分類の学習をフューショット学習として内包するマッチングネットワークと、プロトタイプ分類の学習をフューショット学習として内包するプロトタイプネットワークがある。そこから類推される方法として、多数決法の学習を内包するヴォーティングネットワークのようなものがあってもよい。この場合、情報処理装置100は、クエリと各サポートの距離を算出して、それを単純に加算したものを、そのクエリにサポートクラスの尤度(ロジット)として用いる。 Metric-based meta-learning includes a matching network that includes learning of class classification by the neighborhood method (nearest neighbor method) as fushot learning, and a prototype network that includes learning of prototype classification as fushot learning. As a method inferred from it, there may be a method such as a voting network that includes learning of the majority method. In this case, the information processing apparatus 100 calculates the distance between the query and each support, and simply adds the distances to use as the likelihood (logit) of the support class for the query.
 なお、ショット数が1のときは、クエリとサポートの尤度を計算するブロックが同一となり、情報処理装置100は、単にサポートとクエリの距離を計算する。このネットワーク構成は、n-pairネットワークと呼ばれるTripletネットワークの拡張版と等価である。 Note that when the number of shots is 1, the blocks for calculating the likelihood of the query and the support are the same, and the information processing apparatus 100 simply calculates the distance between the support and the query. This network configuration is equivalent to an extended version of the Triplet network called the n-pair network.
 メタ学習による学習では、情報処理装置100は、図20に示すようなデータの塊(ミニバッチ)であるデータDT6を供給する。図20は、本開示に係るメタ学習のミニバッチの一例を示す図である。具体的には、図20は、エピソードを用いたメタ学習のミニバッチの一例を示す図である。 In the learning by meta-learning, the information processing apparatus 100 supplies the data DT6 which is a data batch (mini-batch) as shown in FIG. FIG. 20 is a diagram showing an example of a meta-learning mini-batch according to the present disclosure. Specifically, FIG. 20 is a diagram showing an example of a mini-batch of meta-learning using episodes.
 図20のデータDT6は、エピソードの構成を示す。図20のデータDT6は、説明の簡略化のために、クラス数が1の場合のエピソードを示すが、通常、クラス数は1よりも多く、それぞれの単位が繰り返される。 Data DT6 in FIG. 20 shows the structure of the episode. The data DT6 of FIG. 20 shows an episode when the number of classes is 1, for simplification of description, but the number of classes is usually larger than 1, and each unit is repeated.
 ここで、図22に示すようなメタ学習に関するアルゴリズムに必要となるのは、サポートクラス数やクラス単位ごとのショット数(単に「ショット数」ともいう)やクラス単位ごとのクエリ数(単に「クエリ数」ともいう)と学習の繰り返し数である。そこで、メタ学習については、サポートクラス数とショット数とクエリ数と学習繰り返し数とを設定するUIがあればよい。 Here, the algorithm related to meta-learning as shown in FIG. 22 requires the number of support classes, the number of shots for each class (also simply referred to as “shot number”), and the number of queries for each class (simply “query”). It is also called the "number") and the number of repetitions of learning. Therefore, for meta-learning, a UI for setting the number of support classes, the number of shots, the number of queries, and the number of learning repetitions is sufficient.
 そのため、ユーザが「メタ学習」を選択した場合に、遷移する入力画面は図21のようなものが考えられる。図21は、本開示に係るメタ学習の入力画面の一例を示す図である。情報処理装置100は、図21に示すようなパラメータ「サポートクラス数」の値とパラメータ「ショット数」の値とパラメータ「クエリ数」の値とパラメータ「繰り返し数」の値とを入力させる画面IM6を生成し、ユーザに提供する。 Therefore, when the user selects "meta-learning", the transition of the input screen shown in Fig. 21 can be considered. FIG. 21 is a diagram illustrating an example of a meta-learning input screen according to the present disclosure. The information processing apparatus 100 displays a screen IM6 for inputting the value of the parameter "number of support classes", the value of the parameter "shot number", the value of the parameter "query number", and the value of the parameter "repetition number" as shown in FIG. Is generated and provided to the user.
 図21では、情報処理装置100は、パラメータ「サポートクラス数」を示す文字列「サポートクラス数」とともにパラメータ「サポートクラス数」の値を入力する入力欄BX61を含む入力画面である画面IM6を生成する。また、情報処理装置100は、パラメータ「ショット数」を示す文字列「ショット数/クラス」とともにパラメータ「ショット数」の値を入力する入力欄BX62を含む画面IM6を生成する。また、情報処理装置100は、パラメータ「クエリ数」を示す文字列「クエリ数/クラス」とともにパラメータ「クエリ数」の値を入力する入力欄BX63を含む画面IM6を生成する。また、情報処理装置100は、パラメータ「繰り返し数」を示す文字列「学習繰り返し数」とともにパラメータ「繰り返し数」の値を入力する入力欄BX64を含む画面IM6を生成する。 In FIG. 21, the information processing apparatus 100 generates a screen IM6 which is an input screen including a character string “support class number” indicating the parameter “support class number” and an input field BX61 for inputting the value of the parameter “support class number”. To do. The information processing apparatus 100 also generates a screen IM6 including a character string “shot number/class” indicating the parameter “shot number” and an input field BX62 for inputting the value of the parameter “shot number”. The information processing apparatus 100 also generates a screen IM6 including a character string “query count/class” indicating the parameter “query count” and an input field BX63 for inputting the value of the parameter “query count”. The information processing apparatus 100 also generates a screen IM6 including a character string “learning repetition number” indicating the parameter “repetition number” and an input field BX64 for inputting the value of the parameter “repetition number”.
 そして、情報処理装置100は、入力欄BX61にユーザが入力した値をパラメータ「サポートクラス数」の値に決定する。また、情報処理装置100は、入力欄BX62にユーザが入力した値をパラメータ「ショット数」の値に決定する。また、情報処理装置100は、入力欄BX63にユーザが入力した値をパラメータ「クエリ数」の値に決定する。また、情報処理装置100は、入力欄BX64にユーザが入力した値をパラメータ「繰り返し数」の値に決定する。 Then, the information processing apparatus 100 determines the value input by the user in the input field BX61 as the value of the parameter “number of support classes”. Further, the information processing apparatus 100 determines the value input by the user in the input field BX62 as the value of the parameter “number of shots”. In addition, the information processing apparatus 100 determines the value input by the user in the input field BX63 as the value of the parameter “query count”. Further, the information processing apparatus 100 determines the value input by the user in the input field BX64 as the value of the parameter “repetition number”.
 例えば、ユーザが提供リストLS1のうち、学習方法LT7であるメタ学習や学習方法LT8であるフューショット学習を選択した場合、情報処理装置100は、図21に示すような画面IM6をユーザに提供する。例えば、情報処理装置100は、メタ学習である学習方法LT7を示す方法情報を取得する。 For example, when the user selects the meta learning that is the learning method LT7 or the fushot shot learning that is the learning method LT8 in the provision list LS1, the information processing apparatus 100 provides the screen IM6 as shown in FIG. 21 to the user. .. For example, the information processing apparatus 100 acquires method information indicating the learning method LT7 that is meta-learning.
 情報処理装置100は、メタ学習である学習方法LT7を示す方法情報に基づいて、データの供給方法を決定する。例えば、情報処理装置100は、メタ学習である学習方法LT7を示す方法情報に基づいて、メタ学習に用いられる入力データやパラメータ等を、データの供給方法として決定する。例えば、情報処理装置100は、図4中の対応情報記憶部141に示すような、複数の学習方法及び複数の供給方法の対応を示す対応情報を用いて、入力データやパラメータ等を決定する。 The information processing apparatus 100 determines the data supply method based on the method information indicating the learning method LT7 that is meta-learning. For example, the information processing apparatus 100 determines input data, parameters, and the like used for meta-learning as the data supply method based on the method information indicating the learning method LT7 that is meta-learning. For example, the information processing apparatus 100 determines input data, parameters, and the like by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods as shown in the correspondence information storage unit 141 in FIG.
 図21の例では、情報処理装置100は、メタ学習に用いられる入力データを「サポートデータ」及び「クエリデータ」に決定する。また、情報処理装置100は、メタ学習に用いられるパラメータを図4に示す設定パラメータ情報PINF7を用いて決定する。例えば、設定パラメータ情報PINF7には、メタ学習に用いられるパラメータやそのパラメータの値をユーザに入力させるかの指定やそのパラメータの推奨値等が含まれる。情報処理装置100は、メタ学習に用いられるパラメータを、「サポートクラス数」と「ショット数」と「クエリ数」と「繰り返し数」に決定する。 In the example of FIG. 21, the information processing apparatus 100 determines the input data used for meta-learning as “support data” and “query data”. Further, the information processing apparatus 100 determines the parameter used for meta-learning by using the setting parameter information PINF7 shown in FIG. For example, the setting parameter information PINF7 includes a parameter used for meta-learning, designation of whether to input the value of the parameter to the user, recommended value of the parameter, and the like. The information processing apparatus 100 determines the parameters used for meta-learning as “the number of support classes”, “the number of shots”, “the number of queries”, and “the number of repetitions”.
 例えば、情報処理装置100は、ユーザが入力したパラメータ「サポートクラス数」の値とパラメータ「ショット数」の値とパラメータ「クエリ数」の値とパラメータ「繰り返し数」の値を用いて、図22に示す学習フローを実行する。図22は、本開示に係るメタ学習の学習を示すフローチャートである。 For example, the information processing apparatus 100 uses the value of the parameter “number of support classes”, the value of the parameter “shot number”, the value of the parameter “query number”, and the value of the parameter “repetition number” input by the user, as illustrated in FIG. The learning flow shown in is executed. FIG. 22 is a flowchart showing learning of meta learning according to the present disclosure.
 図22に示すように、情報処理装置100は、データセットを用意する(ステップS501)。なお、この場合、クラス数が多いデータセットが望ましい。そして、情報処理装置100は、サポートクラスをランダムに所定数だけ選択する(ステップS502)。例えば、情報処理装置100は、サポートクラスを1よりも多い所定数だけ選択する。 As shown in FIG. 22, the information processing apparatus 100 prepares a data set (step S501). In this case, a data set with a large number of classes is desirable. Then, the information processing apparatus 100 randomly selects a predetermined number of support classes (step S502). For example, the information processing apparatus 100 selects a predetermined number of support classes greater than one.
 そして、情報処理装置100は、クエリクラスをサポートクラスの中からランダムに選択する(ステップS503)。情報処理装置100は、サポートクラスからそれぞれ数サンプル選択するクエリセットを生成する(ステップS504)。 Then, the information processing apparatus 100 randomly selects a query class from the support classes (step S503). The information processing apparatus 100 generates a query set that selects several samples from each support class (step S504).
 そして、情報処理装置100は、クエリクラスからそれぞれ数サンプル選択してクエリセットを生成する(ステップS505)。情報処理装置100は、サポートセットと、クエリセットを組み合わせたエピソードを生成する(ステップS506)。情報処理装置100は、サポートセットとクエリセットをメタ学習ネットワークに入力する(ステップS507)。 Then, the information processing apparatus 100 selects several samples from each query class to generate a query set (step S505). The information processing apparatus 100 generates an episode in which the support set and the query set are combined (step S506). The information processing apparatus 100 inputs the support set and the query set into the meta learning network (step S507).
 そして、情報処理装置100は、メタ学習を行なう(ステップS508)。そして、情報処理装置100は、アルゴリズムを続ける条件かどうかを判定する(ステップS509)。ステップS509の条件は、繰り返し回数や、収束の終了条件かどうかなどである。 Then, the information processing device 100 performs meta learning (step S508). Then, the information processing apparatus 100 determines whether it is a condition for continuing the algorithm (step S509). The condition of step S509 is the number of repetitions, whether it is a convergence end condition, or the like.
 情報処理装置100は、アルゴリズムを続ける条件を満たす場合(ステップS509:Yes)、ステップS508に戻って、処理を繰り返す。一方、情報処理装置100は、アルゴリズムを続ける条件を満たさない場合(ステップS509:No)、ステップS502に戻って、処理を繰り返す。 If the condition for continuing the algorithm is satisfied (step S509: Yes), the information processing apparatus 100 returns to step S508 and repeats the processing. On the other hand, when the condition for continuing the algorithm is not satisfied (step S509: No), the information processing apparatus 100 returns to step S502 and repeats the processing.
[1-8.転移学習]
 ここでいう転移学習は、学習済みモデルを転用して、新たなデータセットを学習する技術である。転移学習には、事前に学習済みのデータから得られる知識を転用できる特徴がある。ニューラルネットの場合、情報処理装置100は、大量データ(たとえばImageNet等)で学習したニューラルネットの最後の全結合層を、新たな学習データセットのクラスに合わせて生成し直し、この全結合層、もしくは全体を再学習する。
[1-8. Transfer learning]
The transfer learning referred to here is a technique for learning a new data set by diverting a trained model. Transfer learning has a feature that knowledge obtained from pre-learned data can be diverted. In the case of a neural network, the information processing apparatus 100 regenerates the final fully connected layer of the neural network learned with a large amount of data (for example, ImageNet or the like) according to the class of the new learning data set, and the fully connected layer, Or re-learn the whole thing.
 なお、転移学習については例えば下記のような開示がされている。
 ・Transfer Learning - Machine Learning's Next Frontier, Sebastian Ruder <http://ruder.io/transfer-learning/>
Regarding transfer learning, for example, the following disclosures are made.
・Transfer Learning-Machine Learning's Next Frontier, Sebastian Ruder <http://ruder.io/transfer-learning/>
 また、転移学習ベースのメタ学習(勾配ベースのメタ学習とも称される)は、ワンショット学習を、転移学習において「一回の更新」だけで行えるような「転移学習の事前学習」のことである。この「転移学習の事前学習」では、通常の転移学習と異なり、乱択されたワンショット学習のデータセット(ワンショット用の学習データとテストデータ)で、学習データから一回のパラメータ更新でテストデータを正しく分類できるように学習する。 Transfer learning-based meta-learning (also called gradient-based meta-learning) is "pre-learning of transfer learning" that allows one-shot learning to be performed by "one update" in transfer learning. is there. In this "pre-learning of transfer learning", unlike normal transfer learning, a randomized one-shot learning data set (learning data and test data for one-shot) is used to test with one parameter update from the learning data. Learn to classify data correctly.
 ユーザが「転移学習」を選択した場合に、遷移する入力画面は図23のようなものが考えられる。図23は、本開示に係る転移学習の入力画面の一例を示す図である。情報処理装置100は、図23に示すようなパラメータ「学習済みモデルパス」の値とパラメータ「転移するレイヤ」の値とパラメータ「転移モデルの名前」の値とを入力させる画面IM7を生成し、ユーザに提供する。 When the user selects “transfer learning”, the transition input screen may be as shown in FIG. 23. FIG. 23 is a diagram illustrating an example of a transfer learning input screen according to the present disclosure. The information processing apparatus 100 generates a screen IM7 for inputting the value of the parameter “learned model path”, the value of the parameter “layer to be transferred”, and the value of the parameter “transfer model name” as shown in FIG. Provide to users.
 図23では、情報処理装置100は、パラメータ「学習済みモデルパス」を示す文字列「学習済みモデルPath」とともにパラメータ「学習済みモデルパス」の値を入力する入力欄BX71を含む入力画面である画面IM7を生成する。また、情報処理装置100は、パラメータ「転移するレイヤ」を示す文字列「転移するレイヤ」とともにパラメータ「転移するレイヤ」の値を選択させるプルダウンメニューであるである選択リストCB7を含む画面IM7を生成する。例えば、スライドバーにより一覧をスライドさせる選択リストCB7には、「Convolution_5」、「BatchNormalization_5」、「Rule_5」、「Affine_6」といったレイヤ(階層)を指定する選択肢が含まれる。また、情報処理装置100は、パラメータ「転移モデルの名前」を示す文字列「転移モデルの名前」とともにパラメータ「転移モデルの名前」の値を入力する入力欄BX72を含む画面IM7を生成する。 In FIG. 23, the information processing apparatus 100 is an input screen including an input field BX71 for inputting the value of the parameter “learned model path” together with the character string “learned model Path” indicating the parameter “learned model path”. Generate IM7. The information processing apparatus 100 also generates a screen IM7 including a selection list CB7 that is a pull-down menu for selecting the value of the parameter “layer to be transferred” together with the character string “layer to be transferred” indicating the parameter “layer to be transferred”. To do. For example, the selection list CB7 in which the list is slid by the slide bar includes options for specifying layers (layers) such as "Convolution_5", "BatchNormalization_5", "Rule_5", and "Affine_6". The information processing apparatus 100 also generates a screen IM7 including a character string “transition model name” indicating the parameter “transition model name” and an input field BX72 for inputting the value of the parameter “transition model name”.
 ここでいう「学習済みモデルパス」に対応する入力欄BX71は、学習済モデルのファイルが保存されているフォルダや、ディレクトリを入力する箇所である。ここでいう「転移するレイヤ」に対応する選択リストCB7は、学習済みモデルの入力から出力までのレイヤがプルダウンメニューとなっていて、スライドバーなどを介して閲覧できる。また、選択リストCB7のプルダウンメニューうち、その一つを選択すると、このレイヤを最終層とするモジュールを切り出すことを指示できる。 The input field BX71 corresponding to the "learned model path" here is a place where the folder or directory in which the learned model files are stored is input. In the selection list CB7 corresponding to the “layer to be transferred” here, the layers from the input of the learned model to the output are pull-down menus, which can be viewed via a slide bar or the like. If one of the pull-down menus in the selection list CB7 is selected, it is possible to instruct to cut out a module having this layer as the final layer.
 また、ここでいう「転移モデルの名前」に対応する入力欄BX72は、プルダウンメニューである選択リストCB7を介して切り出したモジュールに付する名前を指定する箇所である。入力欄BX72に入力されるネットワークの名前は、ネットワーク設計部分でのモジュールの名前と連動しており、その部分にはめ込む形式で設定がなされる。 Also, the input field BX72 corresponding to the "transition model name" here is a place for designating the name to be given to the module cut out via the selection list CB7 which is a pull-down menu. The network name input to the input field BX72 is linked with the module name in the network design portion, and the setting is made in a format fitted in that portion.
 そして、情報処理装置100は、入力欄BX71にユーザが入力した値をパラメータ「学習済みモデルパス」の値に決定する。また、情報処理装置100は、選択リストCB7のうちユーザが指定した値をパラメータ「転移するレイヤ」の値に決定する。また、情報処理装置100は、入力欄BX72にユーザが入力した値をパラメータ「転移モデルの名前」の値に決定する。 Then, the information processing apparatus 100 determines the value input by the user in the input field BX71 as the value of the parameter “learned model path”. Further, the information processing apparatus 100 determines the value designated by the user in the selection list CB7 as the value of the parameter “layer to be transferred”. In addition, the information processing apparatus 100 determines the value input by the user in the input field BX72 as the value of the parameter “transition model name”.
 例えば、ユーザが提供リストLS1のうち、学習方法LT4である転移学習を選択した場合、情報処理装置100は、図23に示すような画面IM7をユーザに提供する。例えば、情報処理装置100は、転移学習である学習方法LT4を示す方法情報を取得する。 For example, when the user selects the transfer learning which is the learning method LT4 in the provision list LS1, the information processing apparatus 100 provides the screen IM7 as shown in FIG. 23 to the user. For example, the information processing apparatus 100 acquires method information indicating the learning method LT4 that is transfer learning.
 情報処理装置100は、転移学習である学習方法LT4を示す方法情報に基づいて、データの供給方法を決定する。例えば、情報処理装置100は、転移学習である学習方法LT4を示す方法情報に基づいて、転移学習に用いられる入力データやパラメータ等を、データの供給方法として決定する。例えば、情報処理装置100は、図4中の対応情報記憶部141に示すような、複数の学習方法及び複数の供給方法の対応を示す対応情報を用いて、入力データやパラメータ等を決定する。 The information processing apparatus 100 determines a data supply method based on method information indicating a learning method LT4 that is transfer learning. For example, the information processing apparatus 100 determines input data, parameters, and the like used for transfer learning as a data supply method based on method information indicating a learning method LT4 that is transfer learning. For example, the information processing apparatus 100 determines input data, parameters, and the like by using correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods as shown in the correspondence information storage unit 141 in FIG.
 図23の例では、情報処理装置100は、転移学習に用いられる入力データを「事前学習モデル」及び「ラベルつきデータ」に決定する。また、情報処理装置100は、転移学習に用いられるパラメータを図4に示す設定パラメータ情報PINF4を用いて決定する。例えば、設定パラメータ情報PINF4には、転移学習に用いられるパラメータやそのパラメータの値をユーザに入力させるかの指定やそのパラメータの推奨値等が含まれる。情報処理装置100は、転移学習に用いられるパラメータを、「学習済みモデルパス」と「転移するレイヤ」と「転移モデルの名前」に決定する。 In the example of FIG. 23, the information processing apparatus 100 determines the input data used for transfer learning as “preliminary learning model” and “labeled data”. Further, the information processing apparatus 100 determines the parameter used for transfer learning using the setting parameter information PINF4 shown in FIG. For example, the setting parameter information PINF4 includes a parameter used for transfer learning, specification of whether the user inputs a value of the parameter, a recommended value of the parameter, and the like. The information processing apparatus 100 determines the parameters used for transfer learning as “learned model path”, “layer to be transferred”, and “transfer model name”.
 また、情報処理装置100は、図24に示すようなネットワーク設計画面をユーザに提供してもよい。情報処理装置100は、図24に示すような画面IM71を生成する。図24は、本開示に係る転移学習のネットワーク設計画面の一例を示す図である。図24中のネットワーク設計画面である画面IM71には、入力層、移転モジュール、付加層1(全結合層)、付加層2(ロス)といった複数のブロックが含まれる。画面IM71中の移転モジュールの箇所が、図23において指定した転移するレイヤに対応する。例えば、画面IM71中の移転モジュールには、図23において指定した転移モデルの名前が付される。 The information processing apparatus 100 may also provide the user with a network design screen as shown in FIG. The information processing device 100 generates a screen IM71 as shown in FIG. FIG. 24 is a diagram showing an example of a transfer learning network design screen according to the present disclosure. A screen IM71, which is a network design screen in FIG. 24, includes a plurality of blocks such as an input layer, a transfer module, an additional layer 1 (total coupling layer), and an additional layer 2 (loss). The location of the transfer module in the screen IM71 corresponds to the transfer layer specified in FIG. For example, the transfer module in the screen IM71 is given the name of the transfer model specified in FIG.
 なお、転移学習の場合、学習データの供給方式は、転移学習の設定により何を学習したいかに基づいて決定される。例えば、「転移学習」でかつ、「教師あり学習」、あるいは、「半教師学習」など種々のパターンがある。そのため、情報処理装置100は、これらの設定が行われた後、学習方法の種別を決定してもよい。 In the case of transfer learning, the learning data supply method is determined based on what you want to learn by setting transfer learning. For example, there are various patterns such as "transfer learning" and "supervised learning" or "semi-supervised learning". Therefore, the information processing apparatus 100 may determine the type of learning method after these settings are made.
[2.その他の実施形態]
 上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態(変形例)にて実施されてよい。データの提供方法を決定する情報処理装置は、上述した例に限らず、種々の態様であってもよい。この点について、図25-図30を用いて説明する。なお、以下では、実施形態に係る情報処理装置100と同様の点については、適宜説明を省略する。
[2. Other Embodiments]
The processing according to each of the above-described embodiments may be implemented in various different modes (modifications) other than each of the above-described embodiments. The information processing device that determines the data providing method is not limited to the example described above, and may have various modes. This point will be described with reference to FIGS. 25 to 30. Note that, in the following, description of the same points as those of the information processing apparatus 100 according to the embodiment will be appropriately omitted.
[2-1.変形例1(その他の構成例)]
 例えば、上述した例では、情報処理を行う情報処理装置が情報処理装置100である例を示したが、情報処理装置と、GUIを表示する端末装置とは別体であってもよい。この点について、図25及び図26を用いて説明する。図25は、本開示の変形例に係る情報処理システムの構成例を示す図である。図26は、本開示の変形例に係る情報処理装置の構成例を示す図である。
[2-1. Modification 1 (other configuration example)]
For example, in the above-described example, the information processing device that performs information processing is the information processing device 100, but the information processing device and the terminal device that displays the GUI may be separate entities. This point will be described with reference to FIGS. 25 and 26. FIG. 25 is a diagram illustrating a configuration example of the information processing system according to the modified example of the present disclosure. FIG. 26 is a diagram illustrating a configuration example of the information processing device according to the modified example of the present disclosure.
 図25に示すように、情報処理システム1には、端末装置10と、情報処理装置100Aとが含まれる。端末装置10及び情報処理装置100AはネットワークNを介して、有線又は無線により通信可能に接続される。なお、図25に示した情報処理システム1には、複数台の端末装置10や、複数台の情報処理装置100Aが含まれてもよい。この場合、情報処理装置100Aは、ネットワークNを介して端末装置10と通信し、端末装置10への情報の提供やユーザが端末装置10を介して指定したパラメータ等の情報を基に、モデルの学習を行なったりしてもよい。 As shown in FIG. 25, the information processing system 1 includes a terminal device 10 and an information processing device 100A. The terminal device 10 and the information processing device 100A are communicably connected to each other via a network N in a wired or wireless manner. Note that the information processing system 1 illustrated in FIG. 25 may include a plurality of terminal devices 10 and a plurality of information processing devices 100A. In this case, the information processing apparatus 100A communicates with the terminal device 10 via the network N, provides information to the terminal device 10, and based on information such as parameters specified by the user via the terminal device 10, the model You may also study.
 端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、ノート型PC(Personal Computer)や、デスクトップPCや、スマートフォンや、タブレット型端末や、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、端末装置10は、情報処理装置100Aが提供する情報を表示可能であればどのような端末装置であってもよい。 The terminal device 10 is an information processing device used by a user. The terminal device 10 is realized by, for example, a notebook PC (Personal Computer), a desktop PC, a smartphone, a tablet terminal, a mobile phone, a PDA (Personal Digital Assistant), or the like. The terminal device 10 may be any terminal device as long as it can display the information provided by the information processing device 100A.
 また、端末装置10は、ユーザによる操作を受け付ける。図25に示す例において、端末装置10は、情報処理装置100Aが提供する情報を画面に表示する。また、端末装置10は、ユーザが入力したパラメータの値等の情報を情報処理装置100Aへ送信する。 Further, the terminal device 10 receives an operation by the user. In the example illustrated in FIG. 25, the terminal device 10 displays the information provided by the information processing device 100A on the screen. In addition, the terminal device 10 transmits information such as parameter values input by the user to the information processing device 100A.
 情報処理装置100Aは、端末装置10に情報を提供し、端末装置10から取得したパラメータの値を用いる点で情報処理装置100と相違する以外は、情報処理装置100と同様の情報処理を実現する。 The information processing apparatus 100A provides information to the terminal apparatus 10 and implements the same information processing as the information processing apparatus 100, except that the information processing apparatus 100A differs from the information processing apparatus 100 in that the values of the parameters acquired from the terminal apparatus 10 are used. ..
 図26に示すように、情報処理装置100Aは、通信部11と、記憶部14と、制御部15Aとを有する。通信部11は、ネットワークN(インターネット等)と有線又は無線で接続され、ネットワークNを介して、端末装置10との間で情報の送受信を行う。この場合、情報処理装置100Aは、情報処理装置100のようなGUIの機能を有しなくてもよい。なお、情報処理装置100Aは、情報処理装置100Aの管理者等が利用する入力部(例えば、キーボードやマウス等)や出力部(例えば、液晶ディスプレイ等)を有してもよい。また、情報処理装置100Aは、情報処理装置100Aを管理する管理者等から各種操作を受け付けない場合、入力部や、各種情報を表示するための出力部を有しなくてもよい。 As shown in FIG. 26, the information processing device 100A includes a communication unit 11, a storage unit 14, and a control unit 15A. The communication unit 11 is connected to a network N (Internet or the like) by wire or wirelessly, and transmits/receives information to/from the terminal device 10 via the network N. In this case, the information processing apparatus 100A may not have the GUI function like the information processing apparatus 100. The information processing apparatus 100A may include an input unit (for example, a keyboard or a mouse) or an output unit (for example, a liquid crystal display) used by an administrator of the information processing apparatus 100A. Further, the information processing apparatus 100A may not have an input unit or an output unit for displaying various information when it does not accept various operations from an administrator or the like who manages the information processing apparatus 100A.
 制御部15Aは、例えば、CPUやMPU等によって、情報処理装置100A内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM等を作業領域として実行されることにより実現される。また、制御部15Aは、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。 The control unit 15A is realized by, for example, a CPU, an MPU, or the like executing a program (for example, the information processing program according to the present disclosure) stored inside the information processing apparatus 100A using a RAM or the like as a work area. The control unit 15A is a controller, and may be realized by an integrated circuit such as an ASIC or FPGA.
 図26に示すように、制御部15Aは、取得部151Aと、決定部152と、生成部153と、提供部154Aと、学習部155とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15Aの内部構成は、図26に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As shown in FIG. 26, the control unit 15A includes an acquisition unit 151A, a determination unit 152, a generation unit 153, a provision unit 154A, and a learning unit 155, and the functions and actions of information processing described below. Realize or execute. The internal configuration of the control unit 15A is not limited to the configuration shown in FIG. 26, and may be another configuration as long as it is a configuration for performing information processing described later.
 取得部151Aは、取得部151と同様に各種情報を取得する。取得部151Aは、端末装置10から各種情報を取得する。取得部151Aは、端末装置10からパラメータの値を取得する。取得部151Aは、記憶部14から各種情報を取得する。 The acquisition unit 151A acquires various types of information, similar to the acquisition unit 151. The acquisition unit 151A acquires various kinds of information from the terminal device 10. The acquisition unit 151A acquires the parameter value from the terminal device 10. The acquisition unit 151A acquires various types of information from the storage unit 14.
 提供部154Aは、提供部154と同様に各種情報の提供を行う。提供部154Aは、端末装置10に各種情報を提供する。提供部154Aは、端末装置10へ各種情報を送信する。提供部154Aは、生成部153により生成された入力画面を端末装置10に提供する。 The providing unit 154A provides various information similarly to the providing unit 154. The providing unit 154A provides various information to the terminal device 10. The providing unit 154A transmits various information to the terminal device 10. The providing unit 154A provides the terminal device 10 with the input screen generated by the generating unit 153.
[2-2.変形例2(学習方法の推定)]
 図1の例では、ユーザが学習方法を指定する場合を示したが、学習方法を推定し、推定した学習方法を示す方法情報に基づいて、データの提供方法が決定されてもよい。この点について、図27を用いて説明する。図27は、本開示の変形例に係る情報処理装置の他の構成例を示す図である。
[2-2. Modification 2 (estimation of learning method)]
In the example of FIG. 1, the case where the user specifies the learning method is shown, but the learning method may be estimated, and the data providing method may be determined based on the method information indicating the estimated learning method. This point will be described with reference to FIG. FIG. 27 is a diagram illustrating another configuration example of the information processing device according to the modified example of the present disclosure.
 図27に示すように、情報処理装置100Bは、通信部11と、入力部12と、出力部13と、記憶部14と、制御部15Bとを有する。図27の例では、情報処理装置100Bは、推定部156を有する点で情報処理装置100と相違する。 As shown in FIG. 27, the information processing device 100B has a communication unit 11, an input unit 12, an output unit 13, a storage unit 14, and a control unit 15B. In the example of FIG. 27, the information processing device 100B is different from the information processing device 100 in that the information processing device 100B includes an estimation unit 156.
 図27に戻り、説明を続ける。制御部15Bは、例えば、CPU等によって、情報処理装置100B内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM等を作業領域として実行されることにより実現される。また、制御部15Bは、例えば、ASICやFPGA等の集積回路により実現されてもよい。 Return to FIG. 27 and continue the explanation. The control unit 15B is realized by, for example, a CPU or the like executing a program (for example, an information processing program according to the present disclosure) stored inside the information processing apparatus 100B using a RAM or the like as a work area. Further, the control unit 15B may be realized by, for example, an integrated circuit such as ASIC or FPGA.
 図27に示すように、制御部15Bは、取得部151Bと、決定部152Bと、生成部153と、提供部154と、学習部155と、推定部156とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15Bの内部構成は、図27に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。 As illustrated in FIG. 27, the control unit 15B includes an acquisition unit 151B, a determination unit 152B, a generation unit 153, a provision unit 154, a learning unit 155, and an estimation unit 156, and information described below. Realize or execute processing functions and actions. The internal configuration of the control unit 15B is not limited to the configuration shown in FIG. 27, and may be another configuration as long as it is a configuration for performing information processing described later.
 取得部151Bは、推定部156により推定された学習方法を示す方法情報を取得する。取得部151Bは、機械学習に用いる学習用データを取得する。取得部151Bは、機械学習により学習されるネットワークを示す情報を取得する。 The acquisition unit 151B acquires method information indicating the learning method estimated by the estimation unit 156. The acquisition unit 151B acquires learning data used for machine learning. The acquisition unit 151B acquires information indicating a network learned by machine learning.
 決定部152Bは、決定部152と同様に各種決定を行う。決定部152Bは、推定部156により推定された学習方法を示す方法情報に基づいて、機械学習のデータの供給方法を決定する。決定部152Bは、取得部151Bにより取得された学習方法を示す方法情報に基づいて、機械学習のデータの供給方法を決定する。 The decision unit 152B makes various decisions in the same manner as the decision unit 152. The determining unit 152B determines the machine learning data supply method based on the method information indicating the learning method estimated by the estimating unit 156. The determination unit 152B determines the machine learning data supply method based on the method information indicating the learning method acquired by the acquisition unit 151B.
 推定部156は、各種推定を行う。推定部156は、取得部151により取得された情報に基づいて、各種情報を推定する。推定部156は、記憶部14に記憶された情報に基づいて、各種情報を推定する。 The estimation unit 156 makes various estimations. The estimation unit 156 estimates various types of information based on the information acquired by the acquisition unit 151. The estimation unit 156 estimates various types of information based on the information stored in the storage unit 14.
 推定部156は、学習用データに基づいて、学習方法を推定する。推定部156は、学習用データの構造を示す情報に基づいて、学習方法を推定する。例えば、推定部156は、学習用データセット情報に基づいて、学習方法を推定する。例えば、推定部156は、学習用データセットに含まれるファイルの拡張子などに基づいてドメインを推定し、推定したドメインに基づいて学習方法であると推定してもよい。 The estimation unit 156 estimates the learning method based on the learning data. The estimation unit 156 estimates the learning method based on the information indicating the structure of the learning data. For example, the estimation unit 156 estimates the learning method based on the learning data set information. For example, the estimation unit 156 may estimate a domain based on the extension of a file included in the learning data set, and estimate that the learning method is based on the estimated domain.
 推定部156は、取得部151により取得された学習用データセットと、各学習方法に用いられるデータセットの構造を示す情報とに基づいて、学習方法を推定してもよい。推定部156は、学習用データセットにラベルが含まれない場合、学習方法を教師なし学習かトリプレットネットワークのメトリック学習であると推定してもよい。例えば、推定部156は、学習用データセットにラベルが含まれず、2つのデータペアである場合、学習方法を教師なし学習と推定してもよい。例えば、推定部156は、学習用データセットにラベルが含まれず、3つのデータの組みである場合、学習方法をトリプレットネットワークのメトリック学習であると推定してもよい。推定部156は、学習用データセットにラベルありとラベルなしが混在する場合、学習方法を半教師学習と推定してもよい。推定部156は、学習用データセットにラベルが含まれる場合、学習方法を教師あり学習かシャミーズネットワークのメトリック学習であると推定してもよい。例えば、推定部156は、学習用データセットにラベルが含まれ、ラベルが同じクラスか否かを示す情報である場合、学習方法をシャミーズネットワークのメトリック学習であると推定してもよい。なお、上記は一例であり、推定部156は、種々の情報を適宜用いて、学習方法を推定してもよい。 The estimation unit 156 may estimate the learning method based on the learning data set acquired by the acquisition unit 151 and the information indicating the structure of the data set used for each learning method. The estimation unit 156 may estimate the learning method as unsupervised learning or triplet network metric learning when the learning data set does not include a label. For example, the estimation unit 156 may estimate the learning method as unsupervised learning when the learning data set does not include a label and has two data pairs. For example, the estimation unit 156 may estimate that the learning method is triplet network metric learning when the learning data set does not include a label and is a set of three data. The estimation unit 156 may estimate the learning method as semi-supervised learning when the learning data set includes both labeled and unlabeled data. When the learning data set includes a label, the estimation unit 156 may estimate the learning method to be supervised learning or Shame's network metric learning. For example, when the learning data set includes a label and the information indicates whether or not the label is in the same class, the estimation unit 156 may estimate the learning method as the metric learning of the Shamisen network. Note that the above is an example, and the estimation unit 156 may estimate the learning method by appropriately using various information.
 推定部156は、ネットワークを示す情報に基づいて、学習方法を推定する。例えば、推定部156は、学習用データセットから、ユーザが解こうとしている問題が回帰問題であるとして推定し、学習方法が回帰問題に対応する学習方法であると推定する。例えば、推定部156は、学習用データセットのラベルが実数値である場合、ユーザが解こうとしている問題が回帰問題であるとして推定してもよい。 The estimation unit 156 estimates the learning method based on the information indicating the network. For example, the estimation unit 156 estimates from the learning data set that the problem that the user is trying to solve is a regression problem, and estimates that the learning method is a learning method corresponding to the regression problem. For example, the estimation unit 156 may estimate that the problem that the user is trying to solve is a regression problem when the label of the learning data set is a real value.
 例えば、推定部156は、ラベルの型が連続値である場合(ラベルの値が小数値である場合)、回帰問題を解こうとしていることが推定し、ロス関数として二乗誤差関数を選択する。例えば、推定部156は、学習用データセットから、ユーザが解こうとしている問題が分類問題であるとして推定し、学習方法が分類問題に対応する学習方法であると推定する。例えば、推定部156は、学習用データセットのラベルが整数値である場合、ユーザが解こうとしている問題が分類問題であると推定してもよい。例えば、推定部156は、学習用データセットのラベルを表す整数値が2種類以上である場合、ユーザが解こうとしている問題が多値分類問題であるとして推定してもよい。例えば、推定部156は、学習用データセットのラベルを表す整数値が2種類である場合、ユーザが解こうとしている問題が二値分類問題であるとして推定してもよい。 For example, when the label type is a continuous value (when the label value is a decimal value), the estimation unit 156 estimates that the regression problem is about to be solved and selects the square error function as the loss function. For example, the estimation unit 156 estimates from the learning data set that the problem that the user is trying to solve is a classification problem, and estimates that the learning method is a learning method corresponding to the classification problem. For example, when the label of the learning data set has an integer value, the estimation unit 156 may estimate that the problem that the user is trying to solve is a classification problem. For example, the estimation unit 156 may estimate that the problem that the user is trying to solve is a multi-value classification problem when there are two or more integer values that represent the label of the learning data set. For example, the estimation unit 156 may estimate that the problem that the user is trying to solve is a binary classification problem when there are two types of integer values that represent the labels of the learning data set.
 例えば、図28に示すような画面を介して学習用データに関する情報やネットワークを示す情報を取得してもよい。図28は、本開示のネットワーク設計支援の表示画面の例を示す図である。例えば、図28は、NeuralNetworkConsoleのネットワーク設計画面であってもよい。 For example, the information regarding the learning data or the information indicating the network may be acquired through the screen as shown in FIG. FIG. 28 is a diagram illustrating an example of a display screen of network design support according to the present disclosure. For example, FIG. 28 may be a network design screen of NeuralNetworkConsole.
 図28に示す画面IM2の上方にはツールの選択に用いられるボタンが並ぶツールバーが表示され、その下に、第1領域AR21と第2領域AR22が設けられる。 A toolbar in which buttons used for selecting a tool are arranged is displayed above the screen IM2 shown in FIG. 28, and a first area AR21 and a second area AR22 are provided below the toolbar.
 図28中の左端部に設けられる矩形状の第1領域AR21は、ネットワークを構成する各種のコンポーネント等の選択に用いられる領域である。図28の例においては、各コンポーネントが、「IO」、「Loss」、「Parameter」、「Basic」、「Pooling」等のカテゴリ毎に表示される。 The rectangular first area AR21 provided at the left end in FIG. 28 is an area used for selection of various components that configure the network. In the example of FIG. 28, each component is displayed for each category such as “IO”, “Loss”, “Parameter”, “Basic”, and “Pooling”.
 例えば、「Loss」のコンポーネントには、「SquaredError」、「HuberLoss」、「AbsoluteError」等が含まれる。「Parameter」のコンポーネントには、「Parameter」、「WorkingMemory」等が含まれる。また、「Basic」のコンポーネントには、「Affine」、「Convolution」、「Deconvolution」、「Embed」等が含まれる。 For example, "Loss" components include "SquaredError", "HuberLoss", "AbsoluteError", etc. The components of "Parameter" include "Parameter", "Working Memory" and the like. Further, the "Basic" component includes "Affine", "Convolution", "Deconvolution", "Embed", and the like.
 第2領域AR22は、第1領域AR21に示すようなコンポーネントを用いて設計したネットワークが表示される領域である。図28の例においては、「Input」、「Affine」、「Sigmoid」、「BinaryCrossEntropy」の各コンポーネントが順に選択された場合を示し、各コンポーネントを表すブロックBK1~BK4が並べて表示されている。図28に示すブロックBK1は、入力層に対応し、ブロックBK2は、線形層に対応し、ブロックBK3は、活性化層に対応し、ブロックBK4は、ロス関数層に対応する。このように、図28に示すブロックBK1~BK4は、入力層、線形層、活性化層、ロス関数層を含むネットワーク(学習器)を表す。  The second area AR22 is an area in which a network designed using the components shown in the first area AR21 is displayed. In the example of FIG. 28, the case where each component of “Input”, “Affine”, “Sigmoid”, and “BinaryCrossEntropy” is selected in order is shown, and blocks BK1 to BK4 representing each component are displayed side by side. The block BK1 shown in FIG. 28 corresponds to the input layer, the block BK2 corresponds to the linear layer, the block BK3 corresponds to the activation layer, and the block BK4 corresponds to the loss function layer. As described above, blocks BK1 to BK4 shown in FIG. 28 represent networks (learners) including an input layer, a linear layer, an activation layer, and a loss function layer. ‥
 そして、学習用データセットが指定され、学習の実行をユーザが指示した場合、このネットワークを用いた学習が行われる。このように、ユーザは、第1領域AR21からコンポーネントを選択することでネットワークの設計を行うことができる。 Then, when a learning data set is specified and the user instructs execution of learning, learning using this network is performed. In this way, the user can design the network by selecting the component from the first area AR21.
 例えば、推定部156は、図28に示すような画面IM2により生成されたネットワークに基づいて、学習方法を推定してもよい。推定部156は、取得部151により取得されたネットワークを示す情報と、各学習方法で学習されるネットワークの型を示す情報とに基づいて、学習方法を推定してもよい。 For example, the estimation unit 156 may estimate the learning method based on the network generated by the screen IM2 as shown in FIG. The estimation unit 156 may estimate the learning method based on the information indicating the network acquired by the acquisition unit 151 and the information indicating the type of the network learned by each learning method.
[2-3.変形例3(開発フレームワーク内での利用)]
 また、上述した例では、GUIを一例として説明したが、データの提供方法の決定等の情報処理に関するサービスが提供可能であれば、どのような提供態様であってもよい。例えば、上述した情報処理が普通のコーディングを使う開発フレームワーク内で利用できるようになっていてもよい。
[2-3. Modification 3 (use within development framework)]
Further, in the above-described example, the GUI has been described as an example, but any providing mode may be used as long as a service related to information processing such as determination of a data providing method can be provided. For example, the information processing described above may be made available within a development framework using ordinary coding.
 例えば、C言語やPythonなどのプログラミング言語を用いた開発環境(開発フレームワーク)には、例えばTensorflow等種々の開発フレームワーク(単に「フレームワーク」ともいう)が提供されている。例えば、Tensorflowの他にもTheano、Caffe、Torch、Chainer、Keras、CNTK、MxNet、PyTorch、NNabla等の種々のフレームワークが提供されている。これらのフレームワークは、プログラミング言語を介してニューラルネットの設計、学習の設定を行う。 For example, a development environment (development framework) using a programming language such as C language or Python is provided with various development frameworks (also simply referred to as “framework”) such as Tensorflow. For example, in addition to Tensorflow, various frameworks such as Theano, Caffe, Torch, Chainer, Keras, CNTK, MxNet, PyTorch, NNabla are provided. These frameworks design neural networks and set learning by using programming languages.
 そして、これらのフレームワークでは、多くの場合、関数群やソルバー群といった基本機能が用意されている。そして、これら実際に使った学習サンプルとしては、グラフ設計部、最適化設定部、データ供給設定部や性能評価部を含む学習実行ループが記述されたサンプルが用意されている。 In many cases, these frameworks have basic functions such as functions and solvers. As the learning samples actually used, samples in which a learning execution loop including a graph designing unit, an optimization setting unit, a data supply setting unit, and a performance evaluation unit are described are prepared.
 図29に示す例では、上記の機能に加えて、学習実行サンプルにおけるデータ供給に関するものであるが、データ供給は、データ供給設定のクラスを多数用意する。図29は、本開示の変形例に係る情報処理の提供態様の例を示す図である。図29に示すフレームワーク構成ST2は、データ供給に対してデータプロバイダ群が設けられる。 In the example shown in FIG. 29, in addition to the above-mentioned functions, it relates to the data supply in the learning execution sample. For the data supply, many data supply setting classes are prepared. FIG. 29 is a diagram illustrating an example of a provision mode of information processing according to the modified example of the present disclosure. In the framework configuration ST2 shown in FIG. 29, a data provider group is provided for data supply.
 なお、現状でもデータプロバイダ群に複数のクラスが用意されている開発フレームワークは存在する(例えばNNabla)。しかし、それらのクラスは、データをどのようなソースから読み取るか、分散学習でのデータ供給方法などに対応できるファイルから読み取るかなど、ハードウェアやシステム設定に関するバリエーションに過ぎない。 Even at present, there is a development framework in which multiple classes are prepared for the data provider group (eg NNabla). However, those classes are only variations regarding hardware and system settings such as what kind of source to read data from, and whether to read from a file that can support the data supply method in distributed learning.
 一方で、図29のフレームワーク構成ST2では、データプロバイダ群として、さまざまな学習アルゴリズムに固有のデータプロバイダ群がラインナップとして用意する。データプロバイダ群のデータプロバイダは、メタ学習データプロバイダ、メトリック学習データプロバイダ等の学習アルゴリズムが明に付与されたクラスであっても良い。また、データプロバイダ群のデータプロバイダは、シャミーズネットデータ生成器、トリプレット生成器、エピソード生成器等のデータ供給方式が付与されたクラスであっても良い。 On the other hand, in the framework configuration ST2 of FIG. 29, as a data provider group, a data provider group specific to various learning algorithms is prepared as a lineup. The data providers of the data provider group may be classes to which learning algorithms such as meta learning data provider and metric learning data provider are explicitly added. Further, the data providers of the data provider group may be classes to which a data supply method such as a Shamisen net data generator, a triplet generator, an episode generator, etc. is added.
[2-4.変形例4(単体アプリケーションとしての提供)]
 上述したデータの供給方法に関する情報処理を実行する機能のみを提供してもよい。例えば、データの供給方法に関する情報処理を実行する機能を、個別の開発環境にプラグインせず単体アプリケーションとして提供してもよい。
[2-4. Modification 4 (provided as a standalone application)]
You may provide only the function which performs the information processing regarding the above-mentioned data supply method. For example, the function of executing information processing relating to the data supply method may be provided as a single application without being plugged into an individual development environment.
 上述したように、データの提供方法の決定に関する情報処理の具体的な実施は、図2等に示すようなGUI開発フレームワーク(VisualProgramingの環境)でのUIと機能の追加に限られない。具体的には、図29で示すように既存のよく知られた開発フレームワーク(sdkのようなもの)への関数(機能)の追加、あるいは、上述したように単体アプリケーションとしての提供等により、開発者が独自で構築して深層学習への支援ツールとしての実施等、種々の実施形態であってもよい。 As described above, the specific implementation of information processing regarding the determination of the data providing method is not limited to the addition of the UI and the function in the GUI development framework (Visual Programming environment) as shown in FIG. Specifically, as shown in FIG. 29, by adding a function (function) to an existing well-known development framework (such as sdk), or by providing it as a single application as described above, There may be various embodiments such as a developer independently constructing and implementing as a support tool for deep learning.
 上述した種々の情報処理は、深層学習の開発者が、様々な学習方法に応じて異なる、データの供給手順を深い知識がなくても簡単に実現できるようにするものである。ここで、データ供給部分は、ニューラルネットの学習に固有な構造から独立した構造を有する。例えば、データ供給部分は、データと勾配を両方持つような変数構造などを有する。このため、上述した情報処理により利用できる深層学習の開発環境は、GUIのように、プログラミングの初学者でも簡単に開発ができるような開発環境やフレームワークのように、プログラミングの中級者ならば簡単にできるような開発環境のみならず、自力で深層学習開発環境を構築しようとする上級者にとっても有益である。 The various information processings described above enable deep learning developers to easily realize different data supply procedures according to various learning methods without deep knowledge. Here, the data supply portion has a structure independent of the structure unique to the learning of the neural network. For example, the data supply part has a variable structure having both data and gradient. Therefore, the deep learning development environment that can be used by the above-mentioned information processing is easy for intermediate programming people, such as a development environment or a framework that can be easily developed even by a beginner in programming such as GUI. It is useful not only for the development environment that can be done, but also for advanced users who want to build a deep learning development environment by themselves.
 これらの学習方法別データ供給開発の仕組みが単体アプリケーション、あるいは、開発アプリケーション内での組み込みで実現されることで、深層学習によるモジュールの開発がさらに加速し、深層学習モジュールの開発者のみならず、深層学習モジュールの利用者、ひいては、ユーザに至るまで広範にわたる有益な効果をもたらすことが期待される。 By realizing the data supply development mechanism for each of these learning methods as a stand-alone application or as a built-in application within a development application, module development by deep learning is further accelerated, and not only developers of deep learning modules, It is expected to bring a wide range of beneficial effects to users of the deep learning module and eventually to users.
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。 Further, of the processes described in the above embodiments, all or part of the processes described as being automatically performed may be manually performed, or the processes described as being manually performed. All or part of the above can be automatically performed by a known method. In addition, the processing procedures, specific names, and information including various data and parameters shown in the above documents and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Also, each component of each device shown in the drawings is functionally conceptual, and does not necessarily have to be physically configured as shown. That is, the specific form of distribution/integration of each device is not limited to that shown in the figure, and all or part of the device may be functionally or physically distributed/arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Also, the above-described respective embodiments and modified examples can be appropriately combined within a range in which the processing content is not inconsistent.
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。 Also, the effects described in this specification are merely examples and are not limited, and there may be other effects.
[3.ハードウェア構成]
 上述してきた各実施形態に係る情報処理装置100、100A、100B等の情報機器は、例えば図30に示すような構成のコンピュータ1000によって実現される。図30は、情報処理装置100、100A、100B等の情報処理装置の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。以下、実施形態に係る情報処理装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
[3. Hardware configuration]
The information devices such as the information processing devices 100, 100A, and 100B according to the above-described embodiments are realized by the computer 1000 having the configuration illustrated in FIG. 30, for example. FIG. 30 is a hardware configuration diagram illustrating an example of a computer 1000 that realizes the functions of the information processing apparatuses such as the information processing apparatuses 100, 100A, and 100B. Hereinafter, the information processing apparatus 100 according to the embodiment will be described as an example. The computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input/output interface 1600. The respective units of the computer 1000 are connected by a bus 1050.
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。 The CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands a program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。 The ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 starts up, a program dependent on the hardware of the computer 1000, and the like.
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。 The HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100, data used by the program, and the like. Specifically, the HDD 1400 is a recording medium that records an information processing program according to the present disclosure, which is an example of the program data 1450.
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。 The communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet). For example, the CPU 1100 receives data from another device or transmits the data generated by the CPU 1100 to another device via the communication interface 1500.
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。 The input/output interface 1600 is an interface for connecting the input/output device 1650 and the computer 1000. For example, the CPU 1100 receives data from an input device such as a keyboard or a mouse via the input/output interface 1600. The CPU 1100 also transmits data to an output device such as a display, a speaker, a printer, etc. via the input/output interface 1600. The input/output interface 1600 may also function as a media interface for reading a program or the like recorded in a predetermined recording medium (medium). Examples of media include optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, and semiconductor memory. Is.
 例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部15等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部14内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。 For example, when the computer 1000 functions as the information processing device 100 according to the embodiment, the CPU 1100 of the computer 1000 realizes the functions of the control unit 15 and the like by executing the information processing program loaded on the RAM 1200. Further, the HDD 1400 stores the information processing program according to the present disclosure and the data in the storage unit 14. Note that the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program data, but as another example, these programs may be acquired from another device via the external network 1550.
 なお、本技術は以下のような構成も取ることができる。
(1)
 機械学習に関する学習方法を示す方法情報を取得する取得部と、
 前記取得部により取得された前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する決定部と、
 を備える情報処理装置。
(2)
 前記決定部は、
 前記方法情報と、複数の学習方法及び複数の供給方法の対応を示す対応情報との比較に基づいて、前記供給方法を決定する、
 前記(1)に記載の情報処理装置。
(3)
 前記決定部は、
 前記方法情報に基づいて、所定のユーザに値を入力させる前記供給方法に関するパラメータを決定する、
 前記(1)または前記(2)に記載の情報処理装置。
(4)
 前記決定部は、
 前記学習方法に対応するパラメータ情報に基づいて、前記所定のユーザに値を入力させる前記パラメータを決定する、
 前記(3)に記載の情報処理装置。
(5)
 前記決定部により決定された前記パラメータの値を入力させる入力画面を生成する生成部、
 を備える、
 前記(3)または前記(4)に記載の情報処理装置。
(6)
 前記生成部により生成された前記入力画面を提供する提供部、
 を備える、
 前記(5)に記載の情報処理装置。
(7)
 前記決定部は、
 前記方法情報に基づいて、前記所定のユーザに推奨する前記パラメータの推奨値を決定する、
 前記(3)~(6)のいずれか1項に記載の情報処理装置。
(8)
 前記決定部は、
 前記機械学習を実行する装置の性能に基づいて、前記推奨値を決定する、
 前記(7)に記載の情報処理装置。
(9)
 前記決定部は、
 前記機械学習により学習されるネットワークに基づいて、前記推奨値を決定する、
 前記(7)または前記(8)に記載の情報処理装置。
(10)
 前記取得部は、
 前記学習方法を指定するユーザから前記方法情報を取得する、
 前記(1)~(9)のいずれか1項に記載の情報処理装置。
(11)
 前記取得部は、
 複数の学習方法から前記ユーザが選択した前記学習方法を示す前記方法情報を取得する、
 前記(10)に記載の情報処理装置。
(12)
 前記学習方法を推定する推定部、
 を備え、
 前記取得部は、
 前記推定部により推定された前記学習方法を示す前記方法情報を取得する、
 前記(1)~(9)のいずれか1項に記載の情報処理装置。
(13)
 前記取得部は、
 前記機械学習に用いる学習用データを取得し、
 前記推定部は、
 前記学習用データに基づいて、前記学習方法を推定する、
 前記(12)に記載の情報処理装置。
(14)
 前記推定部は、
 前記学習用データの構造を示す情報に基づいて、前記学習方法を推定する、
 前記(13)に記載の情報処理装置。
(15)
 前記決定部は、
 前記供給方法に基づいて、前記機械学習により学習するネットワークを決定する、
 前記(1)~(14)のいずれか1項に記載の情報処理装置。
(16)
 前記決定部は、
 前記供給方法に対応するパラメータに基づいて、前記機械学習により学習するネットワークを決定する、
 前記(1)~(15)のいずれか1項に記載の情報処理装置。
(17)
 前記決定部は、
 前記供給方法により供給される供給データに基づいて、前記ネットワークの構造を決定する、
 前記(15)または前記(16)に記載の情報処理装置。
(18)
 前記決定部は、
 前記供給データのドメインに基づいて、前記ネットワークの構造を決定する、
 前記(17)に記載の情報処理装置。
(19)
 機械学習に関する学習方法を示す方法情報を取得し、
 取得した前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する、
 処理を実行する情報処理方法。
(20)
 機械学習に関する学習方法を示す方法情報を取得し、
 取得した前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する、
 処理を実行させる情報処理プログラム。
Note that the present technology may also be configured as below.
(1)
An acquisition unit that acquires method information indicating a learning method related to machine learning,
Based on the method information acquired by the acquisition unit, a determination unit that determines a method of supplying the machine learning data,
An information processing apparatus including.
(2)
The determination unit is
Determining the supply method based on a comparison between the method information and correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods,
The information processing device according to (1) above.
(3)
The determination unit is
Determining a parameter related to the supply method that allows a predetermined user to input a value, based on the method information,
The information processing apparatus according to (1) or (2) above.
(4)
The determination unit is
Determining, based on parameter information corresponding to the learning method, the parameter that allows the predetermined user to input a value;
The information processing device according to (3).
(5)
A generation unit that generates an input screen for inputting the value of the parameter determined by the determination unit,
With
The information processing apparatus according to (3) or (4) above.
(6)
A providing unit that provides the input screen generated by the generating unit,
With
The information processing device according to (5) above.
(7)
The determination unit is
Determining a recommended value of the parameter recommended to the predetermined user based on the method information,
The information processing apparatus according to any one of (3) to (6) above.
(8)
The determination unit is
Determining the recommended value based on the performance of the device that executes the machine learning,
The information processing device according to (7).
(9)
The determination unit is
Determining the recommended value based on the network learned by the machine learning,
The information processing device according to (7) or (8).
(10)
The acquisition unit is
Obtaining the method information from a user who specifies the learning method,
The information processing apparatus according to any one of (1) to (9) above.
(11)
The acquisition unit is
Acquiring the method information indicating the learning method selected by the user from a plurality of learning methods,
The information processing device according to (10).
(12)
An estimation unit that estimates the learning method,
Equipped with
The acquisition unit is
Acquiring the method information indicating the learning method estimated by the estimation unit,
The information processing apparatus according to any one of (1) to (9) above.
(13)
The acquisition unit is
Acquire the learning data used for the machine learning,
The estimation unit is
Estimating the learning method based on the learning data,
The information processing device according to (12).
(14)
The estimation unit is
Estimating the learning method based on information indicating the structure of the learning data,
The information processing device according to (13).
(15)
The determination unit is
Determining a network to be learned by the machine learning based on the supply method,
The information processing apparatus according to any one of (1) to (14) above.
(16)
The determination unit is
Determining a network to be learned by the machine learning based on a parameter corresponding to the supply method,
The information processing apparatus according to any one of (1) to (15) above.
(17)
The determination unit is
Determining the structure of the network based on the supply data supplied by the supply method,
The information processing device according to (15) or (16).
(18)
The determination unit is
Determining the structure of the network based on the domain of the supply data,
The information processing device according to (17).
(19)
Acquire method information indicating the learning method related to machine learning,
Based on the acquired method information, determine the method of supplying the machine learning data,
An information processing method for performing processing.
(20)
Acquire method information indicating the learning method related to machine learning,
Based on the acquired method information, determine the method of supplying the machine learning data,
An information processing program that causes processing to be executed.
 100、100A、100B 情報処理装置
 11 通信部
 12 入力部
 13 出力部(ディスプレイ)
 14 記憶部
 141 対応情報記憶部
 142 データ記憶部
 15、15A、15B 制御部
 151、151A、151B 取得部
 152、152B 決定部
 153 生成部
 154、154A 提供部
 155 学習部
 156 推定部
100, 100A, 100B Information processing device 11 Communication unit 12 Input unit 13 Output unit (display)
14 storage unit 141 correspondence information storage unit 142 data storage unit 15, 15A, 15B control unit 151, 151A, 151B acquisition unit 152, 152B determination unit 153 generation unit 154, 154A provision unit 155 learning unit 156 estimation unit

Claims (20)

  1.  機械学習に関する学習方法を示す方法情報を取得する取得部と、
     前記取得部により取得された前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する決定部と、
     を備える情報処理装置。
    An acquisition unit that acquires method information indicating a learning method related to machine learning,
    Based on the method information acquired by the acquisition unit, a determination unit that determines a method of supplying the machine learning data,
    An information processing apparatus including.
  2.  前記決定部は、
     前記方法情報と、複数の学習方法及び複数の供給方法の対応を示す対応情報との比較に基づいて、前記供給方法を決定する、
     請求項1に記載の情報処理装置。
    The determination unit is
    Determining the supply method based on a comparison between the method information and correspondence information indicating correspondence between a plurality of learning methods and a plurality of supply methods,
    The information processing apparatus according to claim 1.
  3.  前記決定部は、
     前記方法情報に基づいて、所定のユーザに値を入力させる前記供給方法に関するパラメータを決定する、
     請求項1に記載の情報処理装置。
    The determination unit is
    Determining a parameter related to the supply method that allows a predetermined user to input a value, based on the method information,
    The information processing apparatus according to claim 1.
  4.  前記決定部は、
     前記学習方法に対応するパラメータ情報に基づいて、前記所定のユーザに値を入力させる前記パラメータを決定する、
     請求項3に記載の情報処理装置。
    The determination unit is
    Determining, based on parameter information corresponding to the learning method, the parameter that allows the predetermined user to input a value;
    The information processing device according to claim 3.
  5.  前記決定部により決定された前記パラメータの値を入力させる入力画面を生成する生成部、
     を備える、
     請求項3に記載の情報処理装置。
    A generation unit that generates an input screen for inputting the value of the parameter determined by the determination unit,
    With
    The information processing device according to claim 3.
  6.  前記生成部により生成された前記入力画面を提供する提供部、
     を備える、
     請求項5に記載の情報処理装置。
    A providing unit that provides the input screen generated by the generating unit,
    With
    The information processing device according to claim 5.
  7.  前記決定部は、
     前記方法情報に基づいて、前記所定のユーザに推奨する前記パラメータの推奨値を決定する、
     請求項3に記載の情報処理装置。
    The determination unit is
    Determining a recommended value of the parameter recommended to the predetermined user based on the method information,
    The information processing device according to claim 3.
  8.  前記決定部は、
     前記機械学習を実行する装置の性能に基づいて、前記推奨値を決定する、
     請求項7に記載の情報処理装置。
    The determination unit is
    Determining the recommended value based on the performance of the device that executes the machine learning,
    The information processing device according to claim 7.
  9.  前記決定部は、
     前記機械学習により学習されるネットワークに基づいて、前記推奨値を決定する、
     請求項7に記載の情報処理装置。
    The determination unit is
    Determining the recommended value based on the network learned by the machine learning,
    The information processing device according to claim 7.
  10.  前記取得部は、
     前記学習方法を指定するユーザから前記方法情報を取得する、
     請求項1に記載の情報処理装置。
    The acquisition unit is
    Obtaining the method information from a user who specifies the learning method,
    The information processing apparatus according to claim 1.
  11.  前記取得部は、
     複数の学習方法から前記ユーザが選択した前記学習方法を示す前記方法情報を取得する、
     請求項10に記載の情報処理装置。
    The acquisition unit is
    Acquiring the method information indicating the learning method selected by the user from a plurality of learning methods,
    The information processing device according to claim 10.
  12.  前記学習方法を推定する推定部、
     を備え、
     前記取得部は、
     前記推定部により推定された前記学習方法を示す前記方法情報を取得する、
     請求項1に記載の情報処理装置。
    An estimation unit that estimates the learning method,
    Equipped with
    The acquisition unit is
    Acquiring the method information indicating the learning method estimated by the estimation unit,
    The information processing apparatus according to claim 1.
  13.  前記取得部は、
     前記機械学習に用いる学習用データを取得し、
     前記推定部は、
     前記学習用データに基づいて、前記学習方法を推定する、
     請求項12に記載の情報処理装置。
    The acquisition unit is
    Acquire the learning data used for the machine learning,
    The estimation unit is
    Estimating the learning method based on the learning data,
    The information processing apparatus according to claim 12.
  14.  前記推定部は、
     前記学習用データの構造を示す情報に基づいて、前記学習方法を推定する、
     請求項13に記載の情報処理装置。
    The estimation unit is
    Estimating the learning method based on information indicating the structure of the learning data,
    The information processing device according to claim 13.
  15.  前記決定部は、
     前記供給方法に基づいて、前記機械学習により学習するネットワークを決定する、
     請求項1に記載の情報処理装置。
    The determination unit is
    Determining a network to be learned by the machine learning based on the supply method,
    The information processing apparatus according to claim 1.
  16.  前記決定部は、
     前記供給方法に対応するパラメータに基づいて、前記機械学習により学習するネットワークを決定する、
     請求項1に記載の情報処理装置。
    The determination unit is
    Determining a network to be learned by the machine learning based on a parameter corresponding to the supply method,
    The information processing apparatus according to claim 1.
  17.  前記決定部は、
     前記供給方法により供給される供給データに基づいて、前記ネットワークの構造を決定する、
     請求項15に記載の情報処理装置。
    The determination unit is
    Determining the structure of the network based on the supply data supplied by the supply method,
    The information processing device according to claim 15.
  18.  前記決定部は、
     前記供給データのドメインに基づいて、前記ネットワークの構造を決定する、
     請求項17に記載の情報処理装置。
    The determination unit is
    Determining the structure of the network based on the domain of the supplied data,
    The information processing apparatus according to claim 17.
  19.  機械学習に関する学習方法を示す方法情報を取得し、
     取得した前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する、
     処理を実行する情報処理方法。
    Acquire method information that indicates the learning method related to machine learning,
    Determining a method of supplying the machine learning data based on the acquired method information,
    An information processing method for performing processing.
  20.  機械学習に関する学習方法を示す方法情報を取得し、
     取得した前記方法情報に基づいて、前記機械学習のデータの供給方法を決定する、
     処理を実行させる情報処理プログラム。
    Acquire method information that indicates the learning method related to machine learning,
    Determining a method of supplying the machine learning data based on the acquired method information,
    An information processing program that causes processing to be executed.
PCT/JP2019/049300 2019-02-01 2019-12-17 Information processing device, information processing method, and information processing program WO2020158217A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-017255 2019-02-01
JP2019017255 2019-02-01

Publications (1)

Publication Number Publication Date
WO2020158217A1 true WO2020158217A1 (en) 2020-08-06

Family

ID=71842087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/049300 WO2020158217A1 (en) 2019-02-01 2019-12-17 Information processing device, information processing method, and information processing program

Country Status (1)

Country Link
WO (1) WO2020158217A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112786030A (en) * 2020-12-30 2021-05-11 中山大学 Countersampling training method and device based on meta-learning
CN113095377A (en) * 2021-03-26 2021-07-09 中国科学院电工研究所 Dangerous driving scene data random generation method and system
CN113721149A (en) * 2021-07-21 2021-11-30 福建星云软件技术有限公司 Lithium battery capacity prediction method based on semi-supervised transfer learning
WO2022044367A1 (en) * 2020-08-26 2022-03-03 株式会社Jvcケンウッド Machine learning device and far-infrared imaging device
JP2023502817A (en) * 2020-10-26 2023-01-26 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Method for Establishing Region Heat Prediction Model, Method and Apparatus for Region Heat Prediction
WO2023012967A1 (en) * 2021-08-05 2023-02-09 富士通株式会社 Generation method, information processing device, and generation program
JP2023079140A (en) * 2021-11-26 2023-06-07 株式会社Datafluct Information processing system, information processing method and information processing program
JP7509279B2 (ja) 2022-06-28 2024-07-02 株式会社リコー プロトタイプネットワークの訓練方法、装置および記憶媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141678A (en) * 2010-01-06 2011-07-21 Sumitomo Electric Ind Ltd Information processing apparatus, computer program, and information processing method
US20160232457A1 (en) * 2015-02-11 2016-08-11 Skytree, Inc. User Interface for Unified Data Science Platform Including Management of Models, Experiments, Data Sets, Projects, Actions and Features
JP2018097671A (en) * 2016-12-14 2018-06-21 株式会社グルーヴノーツ Service construction device, service construction method, and service construction program
US20180357541A1 (en) * 2017-06-09 2018-12-13 Htc Corporation Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141678A (en) * 2010-01-06 2011-07-21 Sumitomo Electric Ind Ltd Information processing apparatus, computer program, and information processing method
US20160232457A1 (en) * 2015-02-11 2016-08-11 Skytree, Inc. User Interface for Unified Data Science Platform Including Management of Models, Experiments, Data Sets, Projects, Actions and Features
JP2018097671A (en) * 2016-12-14 2018-06-21 株式会社グルーヴノーツ Service construction device, service construction method, and service construction program
US20180357541A1 (en) * 2017-06-09 2018-12-13 Htc Corporation Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022044367A1 (en) * 2020-08-26 2022-03-03 株式会社Jvcケンウッド Machine learning device and far-infrared imaging device
JP2023502817A (en) * 2020-10-26 2023-01-26 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド Method for Establishing Region Heat Prediction Model, Method and Apparatus for Region Heat Prediction
CN112786030A (en) * 2020-12-30 2021-05-11 中山大学 Countersampling training method and device based on meta-learning
CN112786030B (en) * 2020-12-30 2022-04-29 中山大学 Countersampling training method and device based on meta-learning
CN113095377A (en) * 2021-03-26 2021-07-09 中国科学院电工研究所 Dangerous driving scene data random generation method and system
CN113721149A (en) * 2021-07-21 2021-11-30 福建星云软件技术有限公司 Lithium battery capacity prediction method based on semi-supervised transfer learning
WO2023012967A1 (en) * 2021-08-05 2023-02-09 富士通株式会社 Generation method, information processing device, and generation program
JP2023079140A (en) * 2021-11-26 2023-06-07 株式会社Datafluct Information processing system, information processing method and information processing program
JP7509279B2 (ja) 2022-06-28 2024-07-02 株式会社リコー プロトタイプネットワークの訓練方法、装置および記憶媒体

Similar Documents

Publication Publication Date Title
WO2020158217A1 (en) Information processing device, information processing method, and information processing program
JP6889270B2 (en) Neural network architecture optimization
US20220414544A1 (en) Parallel Development and Deployment for Machine Learning Models
EP3956763B1 (en) Systems and methods for semi-automated data transformation and presentation of content through adapted user interface
US11636341B2 (en) Processing sequential interaction data
Jeong et al. An evolutionary algorithm with the partial sequential forward floating search mutation for large-scale feature selection problems
CN107004159A (en) Active machine learning
CN110737778A (en) Knowledge graph and Transformer based patent recommendation method
CN115244587A (en) Efficient ground truth annotation
JP2017097845A (en) Organization and visualization of content from multiple media sources
CN113011529B (en) Training method, training device, training equipment and training equipment for text classification model and readable storage medium
US20180121792A1 (en) Differentiable set to increase the memory capacity of recurrent neural networks
US9129216B1 (en) System, method and apparatus for computer aided association of relevant images with text
JP2022530447A (en) Chinese word division method based on deep learning, equipment, storage media and computer equipment
US20130151519A1 (en) Ranking Programs in a Marketplace System
CN105446952A (en) Method and system for processing semantic fragments
WO2022116827A1 (en) Automatic delineation and extraction of tabular data in portable document format using graph neural networks
Liu et al. ProjFE: Prediction of fuzzy entity and relation for knowledge graph completion
KR20210098820A (en) Electronic device, method for controlling the electronic device and readable recording medium
Zhao et al. Multi-view multi-label active learning with conditional Bernoulli mixtures
Ge et al. A semisupervised framework for automatic image annotation based on graph embedding and multiview nonnegative matrix factorization
KR102492277B1 (en) Method for qa with multi-modal information
Wang et al. Capturing semantic and syntactic information for link prediction in knowledge graphs
Phan et al. Enhancing clinical name entity recognition based on hybrid deep learning scheme
CN113342982A (en) Enterprise industry classification method integrating RoBERTA and external knowledge base

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19913830

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP