Information processing device, method of processing information, and method of providing information

There is provided an information processing device capable of intuitively adding a hardware resource intended to execute the learning, the information processing device including: a display control unit configured to control display of information indicating progress of a learning process and an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed.

CROSS REFERENCE TO PRIOR APPLICATION

This application is a National Stage Patent Application of PCT International Patent Application No. PCT/JP/2016/087116 (filed on Dec. 13, 2016) under 35 U.S.C. § 371, which claims priority to Japanese Patent Application No. 2016-063154 (filed on Mar. 28, 2016), which are all hereby incorporated by reference in their entirety.

TECHNICAL FIELD

The present disclosure relates to an information processing device, a method of processing information, and a method of providing information.

BACKGROUND ART

In recent years, there are various technologies as a technique relating to learning using a neural network (e.g., see Patent Literature 1). The neural network is roughly divided into three layers (input, intermediate, and output layers). Among these layers, those having a relatively large number of intermediate layers are called deep learning. The deep learning is applicable to a task with higher difficulty by using a neural network having many intermediate layers.

CITATION LIST

Patent Literature

DISCLOSURE OF INVENTION

Technical Problem

Here, in the learning using a neural network, in some cases, the user may want to add a hardware resource intended to execute the learning in a case where the learning does not progress as expected. Thus, it is desirable to provide a technology capable of intuitively adding a hardware resource intended to execute the learning.

Solution to Problem

According to the present disclosure, there is provided an information processing device including: a display control unit configured to control display of information indicating progress of a learning process and an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed.

According to the present disclosure, there is provided a method of processing information, the method including: controlling, by a processor, display of information indicating progress of a learning process and an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed.

According to the present disclosure, there is provided a method of providing information, the method including: providing information indicating progress of a learning process; and adding, when an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed is pressed, the second hardware resource.

Advantageous Effects of Invention

According to the present disclosure as described above, there is provided a technology capable of intuitively adding a hardware resource intended to execute the learning. Note that the effects described above are not necessarily limitative. With or in the place of the above effects, there may be achieved any one of the effects described in this specification or other effects that may be grasped from this specification.

MODE(S) FOR CARRYING OUT THE INVENTION

Hereinafter, (a) preferred embodiment(s) of the present disclosure will be described in detail with reference to the appended drawings. In this specification and the appended drawings, structural elements that have substantially the same function and structure are denoted with the same reference numerals, and repeated description of these structural elements is omitted.

Note that, in this description and the drawings, structural elements that have substantially the same function and structure are sometimes distinguished from each other using different numerals after the same reference sign. However, when there is no need in particular to distinguish structural elements that have substantially the same function and structure, the same reference sign alone is attached.

Moreover, the description will be given in the following order.

1. Embodiment of present disclosure

1.1 System configuration example

1.2. Functional configuration example

1.3. Details of functions of information processing system

1.4. Hardware configuration example

There are various technologies as a technique relating to learning using a neural network (e.g., see JP H5-135000A). The neural network is roughly divided into three layers (input, intermediate, and output layers). Among these layers, those having a relatively large number of intermediate layers are called deep learning. The deep learning is applicable to a task with higher difficulty by using a neural network having many intermediate layers.

Here, in the learning using a neural network, in some cases, the user may want to add a hardware resource intended to execute the learning in a case where the learning does not progress as expected. Thus, in this specification, the technology capable of intuitively adding a hardware resource intended to execute the learning is mainly described. Moreover, in this specification, it is mainly assumed to use deep learning as learning, but the form of learning is not particularly limited to deep learning.

1. EMBODIMENT OF PRESENT DISCLOSURE

1.1. System Configuration Example

A configuration example of an information processing system according to an embodiment of the present disclosure is now described with reference to the drawings.FIG. 1is a diagram illustrating a configuration example of the information processing system according to an embodiment of the present disclosure. As illustrated inFIG. 1, the information processing system1according to the present embodiment is configured to include an information processing device10and an information providing device20. The information processing device10and the information providing device20are capable of communicating with each other via a communication network931.

Moreover, in the example illustrated inFIG. 1, the form of the information processing device10is not limited to a particular form. In one example, the information processing device10may be a game console, a smartphone, a mobile phone, a tablet terminal, and a personal computer (PC). In addition, the information providing device20is assumed to be a computer such as a server.

The configuration example of the information processing system1according to the present embodiment is described above.

1.2. Functional Configuration Example

Subsequently, a functional configuration example of the information processing device10according to the present embodiment is described.FIG. 2is a block diagram illustrating a functional configuration example of the information processing device10according to the present embodiment. As illustrated inFIG. 2, the information processing device10is configured to include an operation unit110, a control unit120, a communication unit130, a storage unit140, and a display unit150. These functional blocks included in the information processing device10are described below.

The operation unit110has a function of receiving a user's operation. In one example, the operation unit110may include an input device such as a mouse and a keyboard. In addition, the operation unit110may include a touch panel as long as it has a function of receiving the user's operation. A type of the touch panel to be employed is not limited to a particular type, and may be an electrostatic capacitive, resistive-film, infrared, or ultrasonic type. In addition, the operation unit110may include a camera.

The control unit120controls the respective units included in the information processing device10. As illustrated inFIG. 2, the control unit120is configured to include an operation acquisition unit121, a transmission control unit122, a data acquisition unit123, and a display control unit124. Details of these functional blocks equipped in the control unit120will be described later. Moreover, the control unit120may be composed of, in one example, a central processing unit (CPU), or the like. In the case where the control unit120is composed of a processing device such as a CPU, such a processing device may be composed of an electronic circuit.

The communication unit130has a function of communicating with the information providing device20. In one example, the communication unit130is composed of a communication interface. In one example, the communication unit130is capable of communicating with the information providing device20via the communication network931(FIG. 1).

The storage unit140is a recording medium that stores a program to be executed by the control unit120and stores data necessary for execution of the program. In addition, the storage unit140temporarily stores data for computation by the control unit120. The storage unit140may be a magnetic storage unit device, a semiconductor storage device, an optical storage device, or a magneto-optical storage device.

The display unit150has a function of displaying various types of information. In one example, the display unit150may be a liquid crystal display, an organic electro-luminescence (EL) display, or a head-mounted display (HMD). However, the display unit150may be other forms of display as long as it has the function of displaying various types of information.

The functional configuration example of the information processing device10according to the present embodiment is described above.

Subsequently, the functional configuration example of the information providing device20according to the present embodiment is described.FIG. 3is a block diagram illustrating the functional configuration example of the information providing device20according to the present embodiment. As illustrated inFIG. 3, the information providing device20is configured to include a control unit220, a communication unit230, and a storage unit240. These functional blocks included in the information providing device20are described below.

The control unit220controls the respective units included in the information providing device20. As illustrated inFIG. 3, the control unit220is configured to include an acquisition unit221, a learning processing unit222, a data processing unit223, and a transmission control unit224. Details of these functional blocks equipped in the control unit220will be described later. Moreover, the control unit220may be composed of, in one example, a central processing unit (CPU), or the like. In the case where the control unit220is composed of a processing device such as a CPU, such a processing device may be composed of an electronic circuit.

The communication unit230has a function of communicating with the information processing device10. In one example, the communication unit230is composed of a communication interface. In one example, the communication unit230is capable of communicating with the information processing device10via the communication network931(FIG. 1).

The storage unit240is a recording medium that stores a program to be executed by the control unit220and stores data necessary for execution of the program. In addition, the storage unit240temporarily stores data for computation by the control unit220. The storage unit240may be a magnetic storage device, a semiconductor storage device, an optical storage device, or a magneto-optical storage device.

The functional configuration example of the information providing device20according to the present embodiment is described above.

1.3. Details of Functions of Information Processing System

Subsequently, the details of functions of the information processing system1are described. In the information providing device20, the learning processing unit222performs a learning process of a network group to which a learning data set is input, thereby generating a learned network group, and the learned network group to which an evaluation data set is input is evaluated. As a result obtained by evaluating the learned network group, the performance (accuracy) and the computational complexity for each of the learned network groups are obtained.

Furthermore, the learning processing unit222searches for a learned network whose performance is higher than a predetermined performance and whose computational complexity is smaller than a predetermined computational complexity. Such learning process, evaluation, and searching for the network group are referred to as network structure automatic search.

The learning process is executed by a first hardware resource (hereinafter also referred to as “single computation node”). The transmission control unit224controls transmission of information (total learning process throughput and completed learning throughput), which indicates progress of the learning process by the learning processing unit222, to the information processing device10. In the information processing device10, the data acquisition unit123acquires the information indicating the progress via the communication unit130.

FIG. 4is a diagram illustrating a first example of a screen displayed on the information processing device10. As illustrated inFIG. 4, the display control unit124controls display of a progress screen G10corresponding to the information indicating the progress acquired by the data acquisition unit123. The progress screen G10includes a progress bar G11indicating the progress, a progress rate G14indicating a ratio of the completed learning process to the entire learning process, an elapsed time G15from the start of learning, a remaining learning process time G16, and a total learning process time G17.

In a case where the learning process does not progress as expected during checking the information indicating the progress, in some cases the user may want to add a second hardware resource (hereinafter referred to as “additional computation node”) to improve the speed of the learning process. Thus, the display control unit124controls display of an addition button used to add dynamically an additional computation node intended to execute the learning process when the learning process is being executed. This makes it possible for the user to add intuitively the additional computation node intended to execute the learning process.

In one example, the display control unit124controls display of a distributed computation resource addition button (first addition button) G12, which is used to execute a learning process of an identical network in a distributed manner between the single computation node and the additional computation node, as the addition button. In addition, the display control unit124controls display of a parallel computation resource addition button (second addition button) G13, which is used to execute learning processes of different networks in parallel between the single computation node and the additional computation node, as the addition button.

The operation acquisition unit121is capable of acquiring the user's operation through the operation unit110. First, the distributed computation resource addition button G12is assumed to be pressed. In this event, the operation acquisition unit121detects whether the distributed computation resource addition button G12is pressed through the operation unit110. In the case where the operation acquisition unit121detects that the distributed computation resource addition button G12is pressed, the display control unit124may control the display of a distributed computation check screen G20.

As illustrated inFIG. 4, the learning process is performed currently by the single computation node, so the display control unit124may control the display of “1” as the number of current computation resources. In addition, as illustrated inFIG. 4, the display control unit124may control the display of a time of “19 minutes and 30 seconds”, which is estimated to be necessary for the learning process (hereinafter also referred to as “estimated learning necessary time”) in the case where the learning process is performed by the current computation resource. Moreover, the display of an estimated learning end time, instead of or in addition to the estimated learning necessary time, may be controlled.

Further, the user is able to specify the number of additional computation resources on the distributed computation check screen G20. There is a case where the user performs an operation of specifying “3” as the number of additional computation resources in an additional computation resource number specifying field G21and the operation acquisition unit121acquires the operation of specifying the number of additional computation resources. In this case, the display control unit124controls the display of “4”, as the number of total computation resources (sum of the numbers of single computation node and additional computation node).

Further, as illustrated inFIG. 4, the display control unit124may control the display of the estimated learning necessary time, “5 minutes and 01 seconds”, in the case where the learning process is performed by the total computation resources on the basis of the number of total computation resources. Moreover, the display of the estimated learning end time, instead of or in addition to the estimated learning necessary time, may be controlled. In other words, the display control unit124may control the display of at least one of the estimated learning necessary time and the estimated learning end time on the basis of the number of total computation resources.

Further, during execution of the learning process by the additional computation resource, the cost corresponding to the number of additional computation resources is subtracted from the balance at predetermined time intervals. The following description is given on the assumption that a point is taken as an example of the cost and the earned point of the user is taken as an example of the balance. However, the cost is not limited to a point, and may be currency or the like. The point will be described by taking as an example of the case where the user spends on purchases in a prepaid manner, but the user may be billed in a postpaid manner after use of points. The display control unit124may control the display of the cost corresponding to the number of additional computation resources.

In one example, the display control unit124displays a consumed point taken at predetermined time intervals (in the example illustrated inFIG. 4, consumed point, “3 points per minute”) and an estimated consumed point taken until the learning process is completed (in the example illustrated inFIG. 4, estimated consumed point, “15 points”). Moreover, in the example illustrated inFIG. 4, both the consumed point taken at predetermined time intervals and the estimated consumed point are displayed. However, at least one of the consumed point taken at predetermined time intervals and the estimated consumed point taken until the learning process is completed may be displayed.

Further, the display control unit124may control the display of the earned point of the user, “5024 points”. This allows the user to determine the number of additional operation resources on the basis of a result obtained by checking the displayed earned point. The distributed computation check screen G20includes an OK button G22and a cancel button G23. In the case where the OK button G22is detected to be pressed, the learning processing unit222may add a computation node.

More specifically, in the case where the operation acquisition unit121detects that the OK button G22is pressed, the learning processing unit222may add an additional operation node intended to execute a learning process of a network to be subjected to the learning process being executed by the single operation node so that the learning process is distributed between additional operation node and the single operation node. Moreover, the description in this specification is mainly given of an example in which an additional computation node is added in the case where that the OK button G22is detected to be pressed. However, in the case where the distributed computation check screen G20is not displayed, the additional computation node may be added when the distributed operation resource addition button G12is detected to be pressed.

Further, it is preferable for the learning process to pause to change the number of computation nodes. In other words, in the case the operation acquisition unit121detects that the OK button G22is pressed, the learning processing unit222may hold its state until the learning process being executed by the single computation node can be paused. When the learning process can be paused, the learning processing unit222may distribute the single computation between the single computation node and as many of the additional computation nodes as the user-specified number so that these nodes execute the single computation.

Further, in a case where the earned point of the user falls below a predetermined value, it is preferable to stop the learning by the additional computation resource. In other words, in a case where the earned point of the user falls below a predetermined value, the learning processing unit222may hold its state until the learning process being executed by the single computation node can be paused. Then, the learning processing unit222may stop the learning process executed by the additional computation node and may cause the single computation node to resume the learning process.

On the other hand, in a case where the cancel button G23is detected to be pressed, the display control unit124may close the distributed computation check screen G20without addition of a computation node.

Subsequently, an operation example in the case where distributed computation resource addition button G12is detected to be pressed and the OK button G22is detected to be pressed is described.FIG. 5is a flowchart illustrating an operation example in the case where the distributed computation resource addition button G12is detected to be pressed. The single computation node executes the learning process by the learning processing unit222before it is detected that the distributed computation resource addition button G12is pressed.

If the operation acquisition unit121detects that the distributed computation resource addition button G12is pressed (and the OK button G22is pressed) (S11), the transmission control unit122controls the transmission of a distributed computation resource addition request to the information providing device20. In the information providing device20, if the acquisition unit221acquires the distributed computation resource addition request, the learning processing unit222holds its state until the learning process can be paused (S12).

Subsequently, the learning processing unit222activates an instance of an additional operation node, which executes a learning process of a network to be subjected to the learning process being executed by the single operation node by distributing it between the single operation node and the additional operation node (S13). In this case, the number of instances to be activated is specified by the user. Then, the learning processing unit222causes the learning process to be resumed by a plurality of computation nodes (single computation node and additional computation node) (S14). Subsequently, the operation performed in the case where it is detected that the distributed computation resource addition button G12is pressed and the OK button G22is pressed is ended (S15).

FIG. 6is a flowchart illustrating an example of a learning process executed after addition of the distributed computation node. During execution of the learning (S21), the data processing unit223consumes a point every minute depending on the number of additional computation nodes from the earned point of the user (S22). In a case where the learning process is completed (“Yes” in S23), the learning processing unit222ends the learning process (S23).

On the other hand, in a case where the learning process is not completed (“No” in S23), if the earned point of the user is not exhausted (“No” in S24), the learning processing unit222shifts the operation to S22. However, in this case, if the earned point of the user is exhausted (“Yes” in S24), the learning processing unit222holds its state until the learning process can be paused (S25).

Moreover, in this case, it is assumed to determine whether the earned point of the user is completely exhausted, but it may be determined whether the earned point of the user is likely to be exhausted. In other words, it may be determined whether the earned point of the user falls below a predetermined value. Subsequently, in the case where the learning process can be paused, the learning processing unit222stops the instance of the additional computation node (S26), causes the single computation node to resume the learning process (S27), and shifts the operation to S22.

The operation example in the case where distributed computation resource addition button G12is detected to be pressed and the OK button G22is detected to be pressed is described above. Subsequently, it is assumed that the parallel computation resource addition button G13is pressed.FIG. 7is a diagram illustrating a second example of a screen displayed on the information processing device10. As illustrated inFIG. 7, the display control unit124controls the display of the progress screen G10depending on the information indicating the progress acquired by the data acquisition unit123.

In this event, the operation acquisition unit121detects whether the parallel computation resource addition button G13is pressed through the operation unit110. If the operation acquisition unit121detects that the parallel computation resource addition button G13is pressed, the display control unit124may control the display of a parallel computation check screen G30.

As illustrated inFIG. 7, the learning process is currently performed by the single computation node, so the display control unit124may control the display of “1” as the number of current computation resources. In addition, the user is able to specify the number of additional computation resources on the parallel computation check screen G30. There is a case where the user performs an operation of specifying “3” as the number of additional computation resources in an additional computation resource number specifying field G31and the operation acquisition unit121acquires the operation of specifying the number of additional computation resources. In this case, the display control unit124controls the display of “4” as the number of total computation resources (the sum of single computation node and additional computation node).

The display control unit124may control the display of a consumed point (in the example illustrated inFIG. 7, the consumed point, “3 points per minute”) taken at predetermined time intervals. In addition, the display control unit124may control display of the earned point of the user, “5024 points”. Then, the user is able to determine the number of additional operation resources on the basis of the result obtained by checking the displayed earned point. The parallel computation check screen G30includes an OK button G32and a cancel button G33. In a case where the OK button G32is detected to be pressed, the learning processing unit222may add a computation node.

More specifically, in the case where the operation acquisition unit121detects that the OK button G32is pressed, the learning processing unit222may add an additional operation node intended to execute a learning process of a network different from the network to be subjected to the learning process being executed by the single operation node in parallel with the learning process executed by the single operation node. Moreover, the description in this specification is mainly given of an example in which an additional computation node is added in the case where the OK button G32is detected to be pressed. However, in the case where the parallel computation check screen G30is not displayed, the additional computation node may be added when the parallel operation resource addition button G13is detected to be pressed.

Further, in the case where the operation acquisition unit121detects that the OK button G332is pressed and there are one or more paused learning processes, the learning processing unit222may assign some or all of the additional operation nodes to each of the paused learning processes one by one. Then, the learning processing unit222may cause the additional computation node assigned to the paused learning process to resume the paused learning process. In this way, it is possible to utilize effectively the learning process executed halfway.

On the other hand, the learning processing unit222may cause each of the additional computation nodes that are not assigned to the paused learning process to individually execute the learning process of the network.

Further, in the case where the earned point of the user falls below the predetermined value, it is preferable to stop the learning by the additional computation resources. In other words, in the case where the earned point of the user falls below the predetermined value, the learning processing unit222preferably stops the learning process by the additional computation node.

On the other hand, in the case where the cancel button G33is detected to be pressed, the display control unit124may close the parallel computation check screen G30without addition of a computation node.

Subsequently, an operation example in the case where the parallel computation resource addition button G13is detected to be pressed and the OK button G32is detected to be pressed is described.FIG. 8is a flowchart illustrating an operation example in the case where the parallel computation resource addition button G13is detected to be pressed. The single computation node executes the learning process by the learning processing unit222before it is detected that the parallel computation resource addition button G13is pressed.

If the operation acquisition unit121detects that the parallel computation resource addition button G13is pressed (and the OK button G32is pressed) (S31), the transmission control unit122controls the transmission a parallel computation resource addition request to the information providing device20. In the information providing device20, if the acquisition unit221acquires the parallel computation resource addition request, the learning processing unit222activates as many of the instances of the additional computation node as the user-specified number (S32).

Then, if there is a paused learning process and there is no free computation node capable of executing the paused learning process (“No” in S33), the learning processing unit222shifts the operation to S35. On the other hand, if there is a paused learning process and there is a free computation node capable of executing the paused learning process (“Yes” in S33), the learning processing unit222causes the free computation node to resume the paused learning process (S34). This reduces the number of free computation nodes.

Subsequently, the learning processing unit222creates as many networks as the number of free computation nodes and starts a learning process of the created network (S35). Subsequently, the operation in the case where the parallel computation resource addition button G13is detected to be pressed and the OK button G32is detected to be pressed is ended (S36).

FIG. 9is a flowchart illustrating an example of a learning process executed after addition of a parallel computation node. During execution of the learning (S41), the data processing unit223consumes a point every minute depending on the number of additional computation nodes from the earned point of the user (S42). If there is a paused learning process and there is a free computation node capable of executing the paused learning process (“Yes” in S43), the learning processing unit222causes the free computation node to resume the paused learning process (S44) and shifts the operation to shift to S42.

On the other hand, if there is no paused learning process or there is no free computation node capable of executing the paused learning process (“No” in S43), the learning processing unit222shifts the operation to S45. If the learning process is completed (“Yes” in S45), the learning processing unit222ends the learning process (S49).

On the other hand, in the case where the learning process is not completed (“No” in S45), if the earned point of the user is not exhausted (“No” in S46), the learning process unit222shifts the operation to S42(“Yes” in S46). However, in this case, if the earned point of the user is exhausted (“YES” in S46), the learning process unit222pauses the learning process by the additional operation node (S47), stops the instance of the additional operation node (S48), and shifts the operation to S42.

Moreover, in this case, it is assumed that it is determined whether the earned point of the user is completely exhausted, but it may be determined whether the earned point of the user is likely to be exhausted. In other words, it may be determined whether the earned point of the user falls below a predetermined value.

The operation example in the case where the parallel computation resource addition button G13is detected to be pressed and the OK button G32is detected to be pressed is described above.

The above description is given of the case where the earned point of the user is subtracted depending on the number of additional computation nodes. On the other hand, the earned point of the user can be increased appropriately. In one example, in the case where the operation acquisition unit121detects an operation for increasing the earned point of the user, the data processing unit223may execute an addition process on the earned point of the user. In one example, the addition process on the earned point of the user may be performed by using the point purchase as a trigger. In one example, the point purchase may be made by prepaid method.

FIG. 10is a diagram illustrating an example of a point purchase screen. In one example, if the operation acquisition unit121detects a predetermined point purchase operation by the user, the display control unit124controls the display of a point purchase screen G40. In the example illustrated inFIG. 10, a purchase button G41used to purchase 500 points for 500 yen, a purchase button G42used to purchase 2000 points for 2,000 yen, and a purchase button G43used to purchase 5000 points for 5,000 yen are displayed.

In one example, if the purchase button G41is detected to be pressed, the data processing unit223subtracts 500 yen from a predetermined balance of the user, adds 500 yen to a predetermined balance on the service side, and adds 500 points to the earned point of the user. Similarly, it the purchase button G42is detected to be pressed, the data processing unit223subtracts 2,000 yen from the predetermined balance of the user, adds 2,000 yen to the predetermined balance on the service side, and adds 2000 points to the earned point of the user. In addition, if the purchase button G43is detected to be pressed, the data processing unit223subtracts 5,000 yen from the predetermined balance of the user, adds 5,000 yen to the predetermined balance on the service side, and adds 5000 points to the earned point of the user.

Moreover, inFIG. 10, an example in which it costs 1 yen to purchase per point is illustrated, but correspondence between points and amounts is not limited to the particular relationship. In addition, the types of points available for purchase are not limited to 500 points, 2000 points, and 5000 points. The point purchase screen G40also includes a cancel button G44. In the case where the cancel button G44is detected to be pressed, the display control unit124may close the point purchase screen G40without purchasing points.

Further, here, an example is illustrated in which the display control unit124controls the display of the point purchase screen G40in the case where the operation acquisition unit121detects a predetermined point purchase operation performed by the user. However, the timing at which the display control of the point purchase screen G40is performed is not limited to this example. In one example, there is a case where the earned point of the user falls below the predetermined value during execution of the learning process by the additional computation node. In this case, the display control unit124may control display of the point purchase screen G40, thereby prompting the user to purchase points, oft causing the additional operation node to pause the learning process. In this case, if a point is purchased, the learning process by the additional computation resources may be resumed.

The above description is based on the assumption that the user who causes the learning process to be performed uses the result of the learning, but the learning result may be shared to others. In other words, in the case where a share button used to share the learning result of the network on a predetermined publishing screen is detected to be pressed, the data processing unit223may share the network structure and the data set used for the learning process or identification information of the data set and the performance of the network structure in a range specified by the user.

Then, in the case where the share button is detected to be pressed, the data processing unit223may cause addition process on the earned point of the user (points reward to the user) to be performed.FIG. 11is a diagram illustrated to describe an example of the addition process on the earned point by publishing the learning result. In one example, the data processing unit223generates a ranking table T10in which the names of users who have published the learning results in a predetermined period (e.g., monthly) are arranged in order of high performance of the network. In addition, a correspondence table T20between the network performance ranks and points is prepared in advance.

Here, the data processing unit223may add the point to the earned point of the user placed in the order in which the points are described in the correspondence table T20. This allows the research motivations of the user who intends to publish the learning result to be promoted and the efficiency of the network search by other users using the learning result to be improved. Moreover, the performance of each network may be calculated by the learning processing unit222(e.g., the average value of the performance obtained by performing a plurality of learning processes on one network may be calculated as the performance of the network).

Further, a function of making it possible to provide a learned network at a cost for publishing may be provided. More specifically, when the user performs a predetermined learned network purchase operation and the operation acquisition unit121detects the operation, the display control unit124controls the display of a learned network purchase screen.FIG. 12is a diagram illustrating an example of a learned network purchase screen. As illustrated inFIG. 12, a learned network purchase screen G50includes a combination of structure of the learned network, performance of the learned network, name of the publisher of the learned network, and purchase points.

Specifically, the learned network purchase screen G50includes a purchase button G51corresponding to the first learned network, a purchase button G52corresponding to the second learned network, and a purchase button G53corresponding to the third learned network. However, the number of purchasable learned networks is not limited. In one example, the data processing unit223may be capable of selectively purchasing a learned network having performance exceeding the predetermined performance, or may be capable of selectively purchasing a learned network showing a public intention. In addition, a function of allowing a publisher to set purchase points of the learned network.

When the user performs a predetermined purchase operation on the learned network and the operation acquisition unit121detects the operation, the data processing unit223may subtract a predetermined purchase point from the earned point of the user and may provide the user with the learned network. This makes it possible for the user to obtain the high-performance technology (e.g., the image recognition technology) without having to perform a new learning process.

In one example, when it is detected that the user presses the purchase button G51, the data processing unit223subtracts 2000 points from the earned point of the user and provides the user with the learned network corresponding to the button. Similarly, when it is detected that the user presses the purchase button G52, the data processing unit223subtracts 1000 points from the earned point of the user and provides the user with the learned network corresponding to the button. In addition, when it is detected that the user presses the purchase button G53, the data processing unit223subtracts 3000 points from the earned point of the user and provides the user with the learned network corresponding to the button.

Further, in a case where the user purchases a learned network, the data processing unit223may add a part of the sales points (e.g., 70%, etc.) to the earned point of the publisher (alternatively, a part of the sales (e.g., 70%) may be added to the predetermined balance held by the publisher). In this way, it is possible to promote learned network publication by giving the publisher the benefit to the learned network publication.

Further, the user, when selling a learned network, may attach information for allowing the user to notify the learned network that the user is the creator of the learned network (e.g., a character string such as a name). This makes it possible to prevent other users from uploading falsely the learned network by assuming a creator of the learned network.

Moreover, the display control unit124may control the display of the structure of the learned network and the problem to be solved by the learned network. In one example, the problem to be solved by the learned network may be entered from the publisher in the form of text data. Then, the user who purchases the learned network is able to purchase a learned network with high similarity to the problem to be solved, while seeing the problem to be solved.

Here, a label is necessary to be attached more accurately to the input data (particularly, data set for evaluation) used for the learning process. In view of this, in a case where the operation acquisition unit121detects attachment or change of a label to the input data used for learning process, the data processing unit223performs addition process on the earned point of a user who attaches or changes a label. This makes it possible to prompt users to attach or change a label.

FIG. 13is a diagram illustrated to describe attachment of a label to the input data. As illustrated inFIG. 13, the display control unit124controls the display of input data Im10, input data Im20, input data Im30, and input data Im40. In the example illustrated inFIG. 13, the input data Im10is a hamster image, the input data Im20is a cat image, the input data Im30is a dog image, and the input data Im40is a cat image. However, the types of input data are not limited to particular type, and it may be voice data, sensor data detected by a sensor, text data, or other kind of data.

The timing at which these input data types are displayed is also not limited. In one example, in a case where a predetermined label editing operation by the user is detected, the display control unit124may control the display of the input data. Alternatively, the display control unit124, when controlling the display of the display screen of the evaluation result, may control the display unit150, so that the display unit150may display input data with a high possibility that the label is erroneous. In the example illustrated inFIG. 13, a label R20of “Cat” is attached to the input data Im20that is the cat image, and a label R40of “Cat” is attached to the input data Im40that is the cat image.

Moreover, it is also expected that there is a user who attaches or modifies a label with malicious intent to acquire points. In addition, there is a possibility that the user may erroneously attach or modify a label. Thus, the data processing unit223identifies labels that are input from a plurality of users, then may check attachment or change of labels and may execute addition processing on the earned points of users who attaches or changes the label.

Further, it is undesirable that the character string described as a label varies depending on the user who inputs it, and so it is desirable to have uniformity to some extent. Thus, the display control unit124may predict and display the entire label following the first character at the stage when the user inputs the first character of the label. In addition, here, the example is described in which addition process is executed on the earned point of a user who attaches or changes a label. However, the data processing unit223may perform addition process on the earned point of a user who uploads the data set to which the label is attached.

In the above description, the user specifies the number of additional computation nodes, but the number of additional computation nodes may be proposed to the user.FIG. 14is a diagram illustrating an example of a condition input screen. As illustrated inFIG. 14, a condition input screen G60includes a selection column for a budget (upper limit cost applied to a learning process by the additional computation node) and a selection column for a development period (upper limit time applied to a learning process). In addition, as illustrated inFIG. 14, the condition input screen G60includes the prediction performance after being optimized depending on the budget and development period and the number of additional operation resources (additional computation nodes).

More specifically, in the case where the user specifies the budget and the development period, the display control unit124controls the display of the upper limit number of additional operation nodes that can be added depending on a point that does not exceed the budget and the time that does not exceed the development period. In addition, the display control unit124controls the display of the prediction performance of the network after addition of the addition computation nodes of the upper limit number. In the example illustrated inFIG. 14, it is determined that the optimum number of additional computation resources (additional computation nodes) is “1” (i.e., two-parallel execution in which one single computation node and one additional computation node are combined). This will be described with reference toFIG. 15.

FIG. 15is a diagram illustrating an example of the relationship between the elapsed time from the start of a learning process and the performance of the network. As illustrated inFIG. 15, when the learning process is started, the performance increases with the lapse of time. In addition, as the number of parallel execution processes increases, the performance rising speed increases. As illustrated inFIG. 14, it is assumed that the user specifies “10000 points” as the budget and “7 days” as the development period. In such a case, if there is four-parallel execution, the performance reaches 97% at a time point when 3.5 days elapse after the start of the learning process, but it is out of the budget.

On the other hand, if there is one-parallel execution, in the case where the budget is 10000 points or less, the performance is 95% (does not reach 97%) at a time point when 7 days elapse from the start of a learning process. Thus, in order for the budget to be 8000 points and for the performance to reach 97%, “10 days” are necessary as the development period. If there is two-parallel execution, in the case the budget is 10000 points, the performance reaches 97% at a time point when 7 days elapse after the start of a learning process, and so the performance of “97%” and the budget and development period specified by the user are satisfied. Thus, the display control unit124may control the display of “1” as the number of additional computation nodes,

1.4. Hardware Configuration Example

Next, the hardware configuration of the information processing device10according to an embodiment of the present disclosure is described with reference toFIG. 16.FIG. 16is a block diagram illustrating a hardware configuration example of the information processing device10according to an embodiment of the present disclosure.

As illustrated inFIG. 16, the information processing device10includes a central processing unit (CPU)801, a read-only memory (ROM)803, and a random-access memory (RAM)805. In addition, the information processing device10may include a host bus807, a bridge809, an external bus811, an interface813, an input device815, an output device817, a storage device819, a drive821, a connection port823, and a communication device825. The information processing device10may further include an image capturing device833and a sensor835as necessary. In conjunction with, or in place of, the CPU801, the information processing device10may have a processing circuit called a digital signal processor (DSP) or application specific integrated circuit (ASIC).

The CPU801functions as an arithmetic processing unit and a control unit, and controls the overall operation in the information processing device10or a part thereof in accordance with various programs recorded in the ROM803, the RAM805, the storage device819, or a removable recording medium827. The ROM803stores, in one example, programs and operation parameters used by the CPU801. The RAM805temporarily stores programs used in the execution by the CPU801and parameters that vary as appropriate in the execution. The CPU801, the ROM803, and the RAM805are connected with each other via the host bus807that is composed of an internal bus such as a CPU bus. Furthermore, the host bus807is connected to the external bus811such as peripheral component interconnect/interface (PCI) bus via the bridge809.

The input device815is, in one example, a device operated by a user, such as a mouse, a keyboard, a touch panel, a button, a switch, and a lever. The input device815may include a microphone for detecting user's speech. The input device815may be, in one example, a remote control device using infrared rays or other radio waves, or may be an external connection device829such as a cellular phone that supports the operation of the information processing device10. The input device815includes an input control circuit that generates an input signal on the basis of the information input by the user and outputs it to the CPU801. The user operates the input device815to input various data to the information processing device10and to instruct the information processing device10to perform a processing operation. In addition, the image capturing device833, which will be described later, can also function as an input device by capturing the motion of the user's hand, user's finger, or the like. In this case, the pointing position may be determined depending on the motion of the hand or the direction of the finger.

The output device817is composed of a device capable of notifying visually or audibly the user of the acquired information. The output device817may be a display device such as a liquid crystal display (LCD), a plasma display panel (PDP), an organic electroluminescence (EL) display, and a projector, a hologram display device, an audio output device such as a speaker and a headphone, as well as printer devices or the like. The output device817outputs the result obtained by the processing of the information processing device10as a video such as a text or an image, or outputs it as audio such as a speech or sound. In addition, the output device817may include, in one example, a light for lighting up the surroundings.

The storage device819is a data storage device configured as an example of a storage portion of the information processing device10. The storage device819is composed of, in one example, a magnetic storage device such as hard disk drive (HDD), a semiconductor storage device, an optical storage device, and a magneto-optical storage device. The storage device819stores programs executed by the CPU801, various data, various types of data obtained from the outside, and the like.

The drive821is a reader-writer for a removable recording medium827such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory, and is incorporated in the information processing device10or externally attached thereto. The drive821reads the information recorded on the loaded removable recording medium827and outputs it to the RAM805. In addition, the drive821writes a record in the loaded removable recording medium827.

The connection port823is a port for directly connecting the device to the information processing device10. The connection port823may be, in one example, a universal serial bus (USB) port, an IEEE 1394 port, or a small computer device interface (SCSI) port. In addition, the connection port823may be, in one example, an RS-232C port, an optical audio terminal, or high-definition multimedia interface (HDMI, registered trademark) port. The connection of the external connection device829to the connection port823makes it possible to exchange various kinds of data between the information processing device10and the external connection device829.

The communication device825is, in one example, a communication interface composed of a communication device or the like, which is used to be connected to the communication network931. The communication device825may be, in one example, a communication card for wired or wireless local area network (LAN), Bluetooth (registered trademark), or wireless USB (WUSB). In addition, the communication device825may be, in one example, a router for optical communication, a router for asymmetric digital subscriber line (ADSL), or a modem for various communications. The communication device825transmits and receives signals or the like using a predetermined protocol such as TCP/IP, in one example, with the Internet or other communication devices. In addition, the communication network931connected to the communication device825is a network connected by wire or wireless, and is, in one example, the Internet, home LAN, infrared communication, radio wave communication, satellite communication, or the like.

The image capturing device833is a device that captures a real space and generates a captured image, by using an image sensor such as charge-coupled device (CCD) or complementary-metal-oxide semiconductor (CMOS) and various members such as a lens for controlling imaging of a subject image on the image sensor. The image capturing device833may capture a still image or a moving image.

The sensor835is, in one example, various sensors such as an acceleration sensor, a gyro sensor, a geomagnetic sensor, an optical sensor, and a sound sensor. The sensor835acquires information on the state of the information processing device10such as the attitude of the casing of the information processing device10, and acquires information on the surrounding environment of the information processing device10such as brightness or noise around the information processing device10. The sensor835may also include a GPS sensor that receives global positioning system (GPS) signals and measures the latitude, longitude, and altitude of the device.

Next, the hardware configuration of the information providing device20according to an embodiment of the present disclosure is described with reference toFIG. 17.FIG. 17is a block diagram illustrating a hardware configuration example of the information providing device20according to an embodiment of the present disclosure.

As illustrated inFIG. 17, the information providing device20includes a central processing unit (CPU)901, a read-only memory (ROM)903, and a random-access memory (RAM)905. In addition, the information providing device20may include a host bus907, a bridge909, an external bus911, an interface913, an input device915, an output device917, a storage device919, a drive921, a connection port923, and a communication device925. In conjunction with, or in place of, the CPU901, the information processing device10may have a processing circuit called a digital signal processor (DSP) or application specific integrated circuit (ASIC).

The CPU901functions as an arithmetic processing unit and a control unit, and controls the overall operation in the information providing device20or a part thereof in accordance with various programs recorded in the ROM903, the RAM905, the storage device919, or a removable recording medium927. The RUM903stores, in one example, programs and operation parameters used by the CPU901. The RAM905temporarily stores programs used in the execution by the CPU901and parameters that vary as appropriate in the execution. The CPU901, the ROM903, and the RAM905are connected with each other via the host bus907that is composed of an internal bus such as a CPU bus. Furthermore, the host bus907is connected to the external bus911such as peripheral component interconnect/interface (PCI) bus via the bridge909.

The storage device919is a data storage device configured as an example of a storage portion of the information providing device20. The storage device919is composed of, in one example, a magnetic storage device such as hard disk drive (HDD), a semiconductor storage device, an optical storage device, and a magneto-optical storage device. The storage device919stores programs executed by the CPU901, various data, various types of data obtained from the outside, and the like.

The drive921is a reader-writer for a removable recording medium927such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor memory, and is incorporated in the information providing device20or externally attached thereto. The drive921reads the information recorded on the loaded removable recording medium927and outputs it to the RAM905. In addition, the drive921writes a record in the loaded removable recording medium927.

The connection port923is a port for directly connecting the device to the information providing device20. The connection port923may be, in one example, a universal serial bus (USB) port, an IEEE 1394 port, or a small computer system interface (SCSI) port. In addition, the connection port923may be, in one example, an RS-232C port, an optical audio terminal, or high-definition multimedia interface (HDMI, registered trademark) port. The connection of the external connection device929to the connection port923makes it possible to exchange various kinds of data between the information providing device20and the external connection device929.

The communication device925is, in one example, a communication interface composed of a communication device or the like, which is used to be connected to a communication network931. The communication device925may be, in one example, a communication card for wired or wireless local area network (LAN), Bluetooth (registered trademark), or wireless USB (WUSB). In addition, the communication device925may be, in one example, a router for optical communication, a router for asymmetric digital subscriber line (ADSL), or a modem for various communications. The communication device925transmits and receives signals or the like using a predetermined protocol such as TCP/IP, in one example, with the Internet or other communication devices. In addition, the communication network931connected to the communication device925is a network connected by wire or wireless, and is, in one example, the Internet, home LAN, infrared communication, radio wave communication, satellite communication, or the like.

As described above, according to the embodiment of the present disclosure, there is provided the information processing device10including the display control unit124configured to control the display of the information indicating the progress of the learning process and the additional button used to dynamically add the second hardware resource for executing the learning process to the first hardware resource during execution of the learning process. Such configuration makes it possible to add intuitively a hardware resource for executing the learning.

In one example, the above description is given of the case where it is possible to press the distributed computation resource addition button G12once and the case where it is possible to press the parallel computation resource addition button G13once are described. However, even after one of the distributed computation resource addition button G12and the parallel computation resource addition button G13is pressed and a computation resource is added, it may be possible to press the distributed computation resource addition button G12or the parallel computation resource addition button G13. In such a case, the display control unit124may control the display of the distributed computation check screen G20or the parallel computation check screen G30.

An information processing device including:

a display control unit configured to control display of information indicating progress of a learning process and an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed.

The information processing device according to (1),

in which, during execution of the learning process by the second hardware resource, a cost corresponding to the number of second hardware resources is subtracted from a balance at predetermined time intervals.

The information processing device according to (2),

in which, in a case where a first addition button is detected to be pressed, the second hardware resource intended to execute a learning process of a network subjected to the learning process being executed by the first hardware resource in distribution with the first hardware resource is added.

The information processing device according to (3),

in which, in the case where the first addition button is detected to be pressed, the learning process being executed by the first hardware resource is held until the learning process is capable of being paused, and then the learning process is distributed between the first hardware resource and as many of the second hardware resources as a user-specified number and executed by the first hardware resource and the second hardware resources.

The information processing device according to (3) or (4),

in which, in a case where the balance falls below a predetermined value, the learning process being executed by the first hardware resource is held until the learning process is capable of being paused, and then the learning process by the second hardware resource is stopped and the learning process by the first hardware resource is resumed.

The information processing device according to (2),

in which, in a case where a second addition button is detected to be pressed, the second hardware resource intended to execute a learning process of a network different from a network subjected to the learning process executed by the first hardware resource in parallel with the learning process by the first hardware resource is added.

The information processing device according to (6),

in which, in a case where the second addition button is detected to be pressed and there are one or a plurality of paused learning processes, some or all of the second hardware resources are assigned to each of the paused learning processes one by one and the paused learning process is resumed by the assigned second hardware resources.

The information processing device according to (7),

in which the learning process of the network is executed individually by each of the second hardware resources that are not assigned to the paused learning process.

The information processing device according to any one of (6) to (8),

in which, in a case where the balance falls below a predetermined value, the learning process by the second hardware resource is stopped.

The information processing device according to any one of (2) to (9),

in which, in a case where an operation for increasing the balance is detected, an addition process is executed on the balance.

The information processing device according to any one of (2) to (10),

in which, in a case where a share button used to share a result obtained by the learning is detected to be pressed, a network structure in which the learning process is executed and a data set used for the learning process or identification information of the data set and performance of the network structure are shared in a user-specified range.

The information processing device according to (11),

in which, in a case where the share button is detected to be pressed, an addition process is executed on the balance.

The information processing device according to any one of (2) to (12),

in which, in a case where a label to input data used for the learning process is detected to be attached or changed, an addition process is executed on the balance.

in which the display control unit controls display of at least one of an estimated learning necessary time and an estimated learning end time by the first hardware resource and the second hardware resource on the basis of the number of second hardware resources.

in which the display control unit controls display of a cost corresponding to the number of second hardware resources.

The information processing device according to (15),

in which the cost includes at least one of a cost taken at predetermined time intervals and a cost taken until the learning process is completed.

an operation acquisition unit configured to acquire an operation used to specify the number of second hardware resources.

The information processing device according to any one of (1) to (7),

in which the display control unit, in a case where a user specifies an upper limit cost taken for the learning process by the second hardware resource and an upper limit time taken for the learning process, controls display of an upper limit number of the second hardware resources that is capable of being added depending on a cost not exceeding the upper limit cost and a time not exceeding the upper limit time.

A method of processing information, the method including:

controlling, by a processor, display of information indicating progress of a learning process and an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed.

A method of providing information, the method including:

providing information indicating progress of a learning process; and

adding, when an addition button used to add dynamically a second hardware resource intended to execute the learning process to a first hardware resource on which the learning process is being executed is pressed, the second hardware resource.

REFERENCE SIGNS LIST