Trained model generation system
Patent Information
- Application Number
- JP2021092119
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-01
- Publication Date
- 2025-02-17
- Estimated Expiration
- 2041-06-01
Smart Images

Figure 0007630356000001 
Figure 0007630356000002 
Figure 0007630356000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a trained model generation system that generates a trained model. [Background technology]
[0002] Conventionally, it has been proposed to recommend songs to a user based on the user's singing history in karaoke (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2012-78387 A Summary of the Invention [Problem to be solved by the invention]
[0004] The key of a song is important when singing karaoke. Therefore, similar to the song recommendations described above, it is possible to recommend a key for the user to sing. The key recommendation can be performed using a trained model generated by machine learning. For example, it is possible to output a value indicating the degree of recommendation for each of 15 key levels from 0 to 14 using the trained model.
[0005] The keys are ordered according to the magnitude relationship. Therefore, the values output by the trained model should be in the order of the keys. For example, if the key with the highest degree of recommendation indicated by the value output from the trained model is key 7, it is not appropriate for the next key with the highest degree to be key 5, skipping key 6. However, if the trained model is simply a nonlinear model obtained by deep learning, the output from the trained model is not necessarily in the above order. In other words, there is a risk that the output from the trained model will not be appropriate.
[0006] The present invention has been made in consideration of the above, and aims to provide a trained model generation system capable of generating a trained model that outputs more appropriate values. [Means for solving the problem]
[0007] In order to achieve the above-mentioned object, the trained model generation system of the present invention is a trained model generation system that inputs input data and generates a trained model that outputs estimated values for a plurality of candidates ordered by a magnitude relationship, and includes a training data acquisition unit that acquires training input data corresponding to the input data and training output data corresponding to the estimated values, used for generating the trained model, a teacher value generation unit that generates teacher values from the training output data acquired by the training data acquisition unit and a preset reference candidate, and a trained model generation unit that performs machine learning using the training input data acquired by the training data acquisition unit and the teacher values generated by the teacher value generation unit as teacher data to generate a trained model, and the trained model generated by the trained model generation unit is a trained model in which candidates are divided into groups according to the reference candidate and the order of each candidate, and an estimated value for each candidate is generated and output from a bias term set for each candidate for each group and a value for each group calculated by the trained model.
[0008] In the trained model generation system according to the present invention, the above teaching values are generated, and the trained model is generated. The trained model generated in this manner can output an appropriate estimated value according to the order. That is, the trained model generation system according to the present invention can generate a trained model that outputs a more appropriate value. Effect of the Invention
[0009] According to the present invention, it is possible to generate a trained model that outputs more reasonable values. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating a functional configuration of a trained model generation system according to an embodiment of the present invention. [Diagram 2] 1 is a table showing an example of output from a trained model. [Diagram 3] 1 is a table showing examples of teacher labels used in machine learning. [Figure 4] 1 is a flowchart showing processing executed in a trained model generation system according to an embodiment of the present invention. [Diagram 5] FIG. 1 is a diagram illustrating a hardware configuration of a trained model generation system according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of a trained model generation system according to the present invention will be described in detail with reference to the drawings. In the description of the drawings, the same elements are given the same reference numerals and duplicated explanations will be omitted.
[0012] FIG. 1 shows the functional configuration of a trained model generation system 10 according to this embodiment. The trained model generation system 10 is a system (device) that generates (infers) a trained model by machine learning. The trained model receives input data and outputs estimated values for multiple candidates that are ordered according to magnitude relationships. For example, the trained model is used to recommend keys (key changes) when a user sings a song at karaoke. In this case, the multiple candidates related to the estimated values output from the trained model are keys.
[0013] The multiple keys recommended to the user are ordered according to their magnitude. For example, karaoke keys have 15 levels, from 0 to 14. Usually, of the 15 levels, key 7 is the standard key and the default key. The keys 0 to 6 are keys that go down in pitch from key 7. Key 6 is one step (one tone) lower than key 7, and the keys 5, 4, 3, 2, 1, and 0 come in increasing numbers. The keys 8 to 14 are keys that go up in pitch from key 7. Key 8 is one step (one tone) higher than key 7, and the keys 9, 10, 11, 12, 13, and 14 come in increasing numbers.
[0014] A key recommendation is made, for example, by indicating whether the key is raised or lowered from the default key 7. Usually, at least one of the key raising and lowering is made in one recommendation. This is because it is not appropriate to recommend both raising and lowering the standard key.
[0015] For example, the trained model outputs an estimated value (estimated probability) for each key as shown in FIG. 2. This estimated value indicates whether or not the corresponding key can be recommended to the user. For example, a key whose estimated value exceeds a preset threshold (e.g., 0.5) indicates that it can be recommended to the user. Note that a larger estimated value does not necessarily indicate a key that is more suitable for the user. This will be described later. In this way, the trained model outputs estimated values for multiple candidates that are ordered by magnitude relationship. Also, as will be described later, the trained model outputs an estimated value of the propensity score in addition to the estimated value for each key described above.
[0016] The input data to the trained model when outputting the estimated value can be any data that can be input to a conventional trained model. For example, when the trained model is used for key recommendation as described above, the input data can be information related to the user who sings the song, and information indicating the song related to the recommended key, i.e., the song that the user is about to sing (the song that is the target of the recommended key). The information related to the user who sings the song can be data based on the user's voice recorded when the user sings the song at karaoke (for example, data indicating the pitch of the voice). Alternatively, the information related to the user who sings the song can be information such as the user's age and gender. The trained model can perform feature quantification of the input data.
[0017] It is appropriate that the estimated values output by the trained model correspond to the order of the keys. For example, it is not appropriate that the estimated values of the keys 5 and 7 indicate that they can be recommended to the user, while the estimated value of the key 6 between 5 and 7 does not indicate that it can be recommended to the user. However, if the trained model is simply a nonlinear model obtained by deep learning, an invalid estimated value such as the above may be output from the trained model. The trained model generated by the trained model generation system 10 according to this embodiment prevents the output of an invalid estimated value such as the above, or reduces the possibility of such output.
[0018] The trained model generated by the trained model generation system 10 does not need to output an estimated value related to a key recommended to a user, but only needs to output an estimated value for a plurality of candidates ordered by a magnitude relationship similar to that of the present embodiment. The input data to the trained model does not need to be the above example, but only needs to correspond to the candidates related to the output from the trained model.
[0019] The trained model generation system 10 is realized by a computer such as a PC (personal computer) or a server device. The trained model generation system 10 may also be realized by a plurality of computers, that is, a computer system.
[0020] Next, a description will be given of functions of the trained model generation system 10 according to this embodiment. As shown in FIG. 1, the trained model generation system 10 includes a training data acquisition unit 11, a teacher value generation unit 12, and a trained model generation unit 13.
[0021] The learning data acquisition unit 11 is a functional unit that acquires learning input data corresponding to the input data and learning output data corresponding to the estimated values, which are used to generate a trained model. The learning output data may be data indicating any one of a plurality of candidates. The input data includes data related to a song to be sung, and the candidates may be the key in which the song is sung. Specifically, the learning data acquisition unit 11 acquires the learning input data and the learning output data as follows.
[0022] As the learning input data and the learning output data, for example, data related to actual examples is used. In the key recommendation as in this embodiment, information indicating the key when the song was sung (i.e., data indicating any one of a plurality of candidates) is set as the learning output data. Also, information corresponding to the input data at that time, for example, information related to the user who sang the above-mentioned song and the sung song (information corresponding to the song related to the recommended key) is set as the learning input data. The user related to the learning input data and the learning output data (i.e., the user who sang the song) may be different from the user to be recommended. The learning input data and the learning output data are a combination corresponding to the singing of one song. Note that in the trained model generation system 10, the combined learning input data and learning output data can be identified by assigning an identifier or the like.
[0023] The learning data acquisition unit 11 acquires a combination of learning input data and learning output data from, for example, a conventional karaoke system. The learning data acquisition unit 11 acquires a sufficient number of combinations for machine learning to generate a trained model. The learning data acquisition unit 11 outputs the acquired learning input data to the trained model generation unit 13. The learning data acquisition unit 11 outputs the acquired learning output data to the teacher value generation unit 12.
[0024] The learning input data and the learning output data do not have to be the above-mentioned ones, and may be any data corresponding to the trained model to be generated. Furthermore, acquisition of the learning input data and the learning output data is not limited to the above-mentioned method, and may be acquired by any method.
[0025] The teacher value generating unit 12 is a functional unit that generates teacher values from the learning output data acquired by the learning data acquiring unit 11 and a preset reference candidate. The teacher value generating unit 12 may set a first value as a teacher value for any candidate indicated by the learning output data in the ordering up to the reference candidate, and may set a second value different from the first value as a teacher value for the other candidates.
[0026] The teacher values generated by the teacher value generating unit 12 are information used for machine learning by the trained model generating unit 13. The teacher values are information corresponding to estimated values that are the output of the trained model. In this embodiment, the keys corresponding to the estimated values output from the trained model are divided into groups according to the reference key and the order of each key. The reference key is key 7, which is the standard key. There are two groups: a first group including keys 0 to 6 that are lower than key 7, and a second group including keys 8 to 14 that are higher than key 7. Key 7 is included in both groups. For convenience, key 7 included in the second group is referred to as key 7'.
[0027] The teacher value generation unit 12 inputs the learning output data from the learning data acquisition unit 11. The teacher value generation unit 12 generates a teacher value for each of the input learning output data as follows: The teacher value generation unit 12 determines whether the key indicated by the learning output data is included in the first group or the second group.
[0028] When the key indicated by the learning output data is included in the first group, the teacher value generation unit 12 sets the teacher values from the key to the 7th key to 1 (first value). In addition, the teacher value generation unit 12 sets the teacher value of the 7' key in the second group to 1 (first value). In addition, the teacher value generation unit 12 sets the teacher values of the other keys to 0 (second value). When the key indicated by the learning output data is included in the second group, the teacher value generation unit 12 sets the teacher value from the 7' key to the key to the key to 1 (first value). In addition, the teacher value generation unit 12 sets the teacher value of the 7th key in the first group to 1 (first value). In addition, the teacher value generation unit 12 sets the teacher value of the other keys to 0 (second value).
[0029] Furthermore, if the key is key 7 (i.e., if the key is included in both the first group and the second group), the teacher value generation unit 12 sets the teacher values of key 7 in the first group and key 7' in the second group to 1 (first value). The teacher value generation unit 12 sets the teacher values of the other keys to 0 (second value). In this way, the teacher value generation unit 12 sets the first value (1 in the above example) as the teacher value for any candidate indicated by the learning output data in the ordering up to the reference candidate, and sets the second value different from the first value (0 in the above example) as the teacher value for the other candidates.
[0030] The teacher value generating unit 12 generates a teacher value of a propensity score indicating a group including a key indicated by the learning output data. When the key indicated by the learning output data is included in the first group, the teacher value generating unit 12 sets the teacher value of the propensity score to 0. When the key indicated by the learning output data is included in the second group, the teacher value generating unit 12 sets the teacher value of the propensity score to 1. Furthermore, when the key indicated by the learning output data is key 7 (i.e., when the key is included in both the first group and the second group), the teacher value generating unit 12 sets the teacher value of the propensity score to a preset value of 0 or 1.
[0031] The teacher values of each key and the teacher values of the propensity score generated by the teacher value generation unit 12 are teacher labels used in machine learning. An example of a teacher label is shown in FIG. 2. In this example, the key indicated by the learning output data is key 6. In this case, the teacher values of keys 6 to 7 in the first group are set to 1. The teacher value of key 7' in the second group is set to 1. The teacher values of the other keys are set to 0. The teacher value of the propensity score is set to 0. The teacher value generation unit 12 outputs the generated teacher labels to the trained model generation unit 13.
[0032] The trained model outputs an estimate corresponding to the above teacher label. That is, the trained model outputs an estimate for each key and an estimate of the propensity score. The estimate of the propensity score output by the trained model indicates whether the key recommended to the user is a key of the first group (i.e., a key in the direction downward from the default key) or whether the key recommended to the user is a key of the second group (i.e., a key in the direction upward from the default key). That is, the propensity score indicates the tendency of the estimate of the key for the group.
[0033] When the teacher value of the propensity score is set as described above, for example, if the estimated value is equal to or less than a preset threshold (e.g., 0.5), the key recommended to the user is a key of the first group. In this case, only the estimated value of the key of the first group may be referred to and only the key of the first group may be recommended. Also, if the estimated value exceeds a preset threshold (e.g., 0.5), the key recommended to the user is a key of the second group. In this case, only the estimated value of the key of the first group may be referred to and only the key of the first group may be recommended.
[0034] The keys of the group that is determined to be recommended to the user based on the estimated value of the propensity score are further recommended to the user using the estimated value for each key as follows. That is, keys of groups that are not determined to be recommended to the user based on the estimated value of the propensity score are not recommended to the user. This is because, as described above, it is not appropriate to recommend both up and down for a standard key.
[0035] The estimated value for each key output by the trained model indicates whether the corresponding key can be recommended to the user as described above. For example, when the teacher value of the key is set as described above, the larger the estimated value, the greater the degree to which the corresponding key can be recommended to the user. The estimated value output by the trained model in this embodiment corresponds to the order of the keys. Specifically, for the first group, the estimated value of the 7 key is the highest value, and the further away from the 7 key, the smaller the value. That is, the estimated values become smaller in the order of the 7, 6, 5, ..., 1 keys. For the second group, the estimated value of the 7' key is the highest value, and the further away from the 7' key, the smaller the value. That is, the estimated values become smaller in the order of the 7', 8, 9, ..., 14 keys.
[0036] As described above, a key whose estimated value exceeds a preset threshold (e.g., 0.5) can be recommended to the user. Therefore, a number of keys can be recommended. As described above, the estimated value of the key corresponds to the order of the keys, so that the recommended keys are consecutive. In this embodiment, for example, a range of consecutive keys may be recommended to the user. For example, keys 5 to 7 may be recommended as keys suitable for the user. In this case, the user can refer to the recommended range and select within which range the key should be changed. Alternatively, a key that is a boundary on the side other than the default key (key 7) of the above range may be recommended. For example, key 5 (a key two steps lower than the default key) may be recommended as a boundary of keys suitable for the user.
[0037] The default key (key 7,7') has the highest estimated value, but this is because the key teacher values are set as described above. Therefore, the default key (key 7,7') is not necessarily the most suitable key for the user. It is believed that the most suitable key for the user is included in the above range, and in particular, if a key other than 7 is included in the above range, it is highly likely that a key other than 7 is most suitable for the user. In other words, in this case, a key higher or lower than the default key is highly likely to be most suitable for the user.
[0038] In this way, the trained model in this embodiment outputs estimated values having bidirectional order. That is, the distribution of the estimated values is unimodal. In addition, the trained model smoothes the estimated values so that the order is not lost, as described above.
[0039] The trained model generation unit 13 is a functional unit that generates a trained model by performing machine learning using the training input data acquired by the training data acquisition unit 11 and the training values generated by the training value generation unit 12 as training data. The trained model generated by the trained model generation unit 13 divides candidates into groups according to the reference candidate and the order of each candidate, and generates and outputs an estimated value for each candidate from a bias term set for each candidate for each group and a value for each group calculated by the trained model.
[0040] The trained model generation unit 13 may perform machine learning using a loss function that weights groups according to the learning output data acquired by the learning data acquisition unit 11. The trained model generation unit 13 may perform machine learning using a loss function that sets a heavier weight for a group that includes a candidate indicated by the learning output data than for other groups. The trained model generated by the trained model generation unit 13 may output a propensity score that indicates a tendency of the estimated value for the group, and generate an estimated value for each candidate based on the propensity score.
[0041] The trained model generated by the trained model generation unit 13 includes, for example, a neural network. When the input data includes time-series information (for example, a user's singing history of songs in time series) and the time-series order is also taken into consideration, the trained model may include a recurrent neural network (RNN). However, the trained model may not include a neural network as long as it is generated by machine learning.
[0042] The trained model has bias terms set for the first group and the second group. The bias term is a vector whose elements correspond to the keys (candidates) included in the group. The number of dimensions of the bias term is the number of the keys. The first group and the second group each have eight keys, 0 to 7 and 7' to 14, respectively. Therefore, the bias terms of the first group and the second group are eight-dimensional vectors. For example, the bias term linear_1_bias for the first group is a vector as shown below. In the following example, the first to eighth elements of the bias term linear_1_bias correspond to the keys 7 to 0, respectively. linear_1_bias=[0.6408,0.5496,0.3330,-0.4081,-0.5623,-0.6018,-0.6167,-0.6210]
[0043] The bias term value is a fixed value set by machine learning by the trained model generation unit 13. The bias term value has a magnitude relationship similar to the magnitude relationship of the estimated values of the keys described above. That is, in the first group, the value corresponding to the key 7 is the largest, and the value decreases as the key decreases. In the second group, the value corresponding to the key 7' is the largest, and the value decreases as the key increases. By performing machine learning using the teacher labels described above, the bias term value has such a magnitude relationship.
[0044] In the trained model, a value logit_l for the first group, a value logit_u for the second group, and an estimated value trend of the propensity score are calculated. Note that the estimated value trend of the propensity score may be used to calculate the value logit_l for the first group and the value logit_u for the second group. That is, the estimated value of the propensity score may be used to calculate an estimated value for each key in the trained model.
[0045] In the trained model, the sum value logits1 of the value logit_l related to the first group and the bias term linear_1_bias of the first group is then calculated. In addition, the sum value logits2 of the value logit_u related to the second group and the bias term linear_2_bias of the second group is calculated. These sum values logits1 and logits2 are vectors in which the values logit_l and logit_u related to the respective groups are added to each element of the bias terms linear_1_bias and linear_2_bias.
[0046] In the trained model, the sigmoid function that sets the values of each element of the sum values logits1 and logits2 of each group between 0 and 1 is then applied to calculate the estimated values of each key probas1 and probas2 (=torch.sigmoid(logits1), torch.sigmoid(logits2)). The application of the sigmoid function is like setting a threshold for the estimated value on the sigmoid function as a bias term.
[0047] The above can be expressed mathematically as follows: logit_l, logit_u, trend = f(x) logits1=logit_l+linear_1_bias logits2=logit_u+linear_2_bias probas1=torch.sigmoid(logits1) probas2=torch.sigmoid(logits2) Here, f(x) indicates the calculation (function) for calculating logit_l, logit_u, and trend in the trained model for the input data x.
[0048] Also, examples of values for logit_l, linear_1_bias, and logits1 are shown. logit_l=0.65 linear_1_bias=[0.6408,0.5496,0.3330,-0.4081,-0.5623,-0.6018,-0.6167,-0.6210] logits1=[1.2908,1.1996,0.9830,0.2419,0.0877,0.0482,0.0333,0.0290]
[0049] For the default key 7, there are two estimates: an estimate for key 7 in the first group and an estimate for key 7' in the second group, so a single estimate may be calculated from these estimates. For example, the average of these estimates may be used as the estimate for key 7.
[0050] The trained model generation unit 13 generates a trained model as follows. The trained model generation unit 13 inputs the training input data from the training data acquisition unit 11. The trained model generation unit 13 inputs the teacher label from the teacher value generation unit 12. The trained model generation unit 13 performs machine learning using the training input data and the teacher label as teacher data. The trained model generation unit 13 performs machine learning using the training input data as input to the trained model to be generated and the teacher label as output to the trained model to be generated, thereby generating a trained model. The machine learning itself can be performed in the same manner as conventional machine learning methods.
[0051] The loss function used in machine learning may be as follows: Loss function = propensity score error + coral loss(0-7) + coral loss(7´-14)
[0052] The propensity score error is the error between the estimated value of the propensity score output from the trained model during machine learning and the propensity score of the teacher label. The coral loss (0-7) is the error between the estimated value of each key output from the trained model during machine learning for the first group (keys 0 to 7) and the value of the teacher label. The coral loss (7´-14) is the error between the estimated value of each key output from the trained model during machine learning for the second group (keys 7´ to 14) and the value of the teacher label. Each error itself may be set in the same way as in conventional machine learning methods. In addition, the loss function itself may be used in the same way as in conventional machine learning methods.
[0053] In addition, a loss function for machine learning may be used that weights groups according to the training output data. The trained model generation unit 13 may perform machine learning using a loss function that sets a heavier weight for a group that includes a key indicated by the training output data than for other groups.
[0054] For example, among the components of the loss function, either one of coral loss (0-7) and coral loss (7'-14) may not be used, i.e., the weight may be set to 0. If the key indicated by the learning output data is included in the first group, i.e., if the teacher value of the propensity score is 0, coral loss (7'-14) is not used. That is, in this case, during machine learning, the error for the second group is ignored. If the key indicated by the learning output data is included in the second group, i.e., if the teacher value of the propensity score is 1, coral loss (0-7) is not used. That is, in this case, during machine learning, the error for the first group is ignored. This is because it is considered that machine learning using the learning output data is less meaningful for the group that does not include the key indicated by the learning output data.
[0055] The trained model generation unit 13 outputs the generated trained model. For example, the trained model is transmitted or output to another device or module that uses the trained model for key recommendations. Alternatively, the trained model generation unit 13 may store the generated trained model in the trained model generation system 10 so that the trained model can be used by another device or module that uses the trained model.
[0056] The trained model generated by the trained model generation system 10 is expected to be used as a program module that is a part of artificial intelligence software. The trained model is used, for example, in a computer having a CPU (Central Processing Unit) and a memory, and the CPU of the computer operates according to instructions from the trained model stored in the memory. For example, the CPU of the computer operates to input information to the trained model according to the instructions, perform calculations according to the trained model, and output results from the trained model. Specifically, the CPU of the computer operates to input information to an input layer of a neural network according to the instructions, perform calculations based on trained weighting coefficients in the neural network, and output results from an output layer of the neural network. The above is the function of the trained model generation system 10 according to this embodiment.
[0057] Next, the processing executed by the trained model generation system 10 according to this embodiment (the operation method performed by the trained model generation system 10) will be described with reference to the flowchart of FIG.
[0058] In this process, the learning data acquisition unit 11 acquires learning input data and learning output data (S01). Then, the teacher value generation unit 12 generates teacher values from the learning output data and preset reference candidates (S02). For example, as described above, teacher labels as shown in FIG. 3 are generated as teacher values.
[0059] Next, the trained model generation unit 13 performs machine learning using the learning input data and the training values as training data to generate a trained model (S03). The trained model to be generated receives input data and outputs estimated values for a plurality of candidates ordered according to the magnitude relationship. In addition, the trained model divides the candidates into groups according to the reference candidate and the order of each candidate, and generates and outputs estimated values for each candidate from bias terms set for each candidate for each group and values for each group calculated by the trained model. Next, the trained model generation unit 13 outputs the generated trained model (S04). The above is the process executed by the trained model generation system 10 according to this embodiment.
[0060] In this embodiment, the above-mentioned teacher value is generated, and the above-mentioned trained model is generated. The trained model generated in this way can output an appropriate estimated value according to the order. For example, in the case of a trained model used for key recommendation as described above, it is possible to prevent output of an inappropriate estimated value (for example, an estimated value that recommends keys 5 and 7 and does not recommend key 6). By using the respective bias terms for the two groups as in this embodiment, the estimated value can be appropriately smoothed in the output of an estimated value having bidirectional order. That is, according to this embodiment, it is possible to generate a trained model that outputs a more appropriate value. As a result, for example, a recommendation is made using the trained model generated as in the key recommendation of this embodiment, and the acceptance rate of the recommendation result can be increased.
[0061] As described above, the input data may include data related to the song to be sung, and the candidates may be the keys in which the song is sung. With this configuration, it is possible to appropriately recommend a key. However, the trained model to be generated is not limited to the above, and may be any model that outputs estimated values for multiple candidates ordered according to the magnitude relationship.
[0062] As described above, the learning output data is data indicating any one of a plurality of candidates, and the teacher value generating unit 12 may set a first value (1 in the above example) as a teacher value for any candidate indicated by the learning output data in the ordering up to a reference candidate (key 7 or 7' in the above example), and a second value different from the first value (0 in the above example) for the other candidates. With this configuration, it is possible to generate a trained model that appropriately and reliably outputs more appropriate values. However, the teacher values do not necessarily need to be generated as described above, and may be generated from the learning output data and a preset reference candidate.
[0063] As described above, the trained model generating unit 13 may perform machine learning using a loss function that weights groups according to the training output data. Furthermore, machine learning may be performed using a loss function that sets a heavier weight for a group that includes a candidate indicated by the training output data than for other groups. This configuration enables more appropriate and efficient learning according to the training output data. For example, as described above, efficient learning is possible by excluding a group that does not include a candidate indicated by the training output data from the loss function. However, the above weighting in machine learning does not need to be performed.
[0064] As described above, the trained model may output a propensity score indicating the tendency of an estimated value for a group, and generate an estimated value for each candidate based on the propensity score. When the group to be recommended is important, such as in the case of key recommendation, the group to be recommended can be first selected using the propensity score as described above. That is, the trained model can output further useful information in addition to the estimated value for each candidate. However, the trained model does not have to calculate and output the propensity score.
[0065] The block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of at least one of hardware and software. The method of realizing each functional block is not particularly limited. That is, each functional block may be realized by using one device that is physically or logically combined, or may be realized by using two or more devices that are physically or logically separated and directly or indirectly connected (for example, by wire, wirelessly, etc.). The functional blocks may be realized by combining the one device or the multiple devices with software.
[0066] Functions include, but are not limited to, judgment, determination, judgment, calculation, computation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, resolution, selection, selection, establishment, comparison, assumption, expectation, consideration, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocation, mapping, assignment, etc. For example, a functional block (component) that performs the function of transmission is called a transmitting unit or a transmitter. In either case, as described above, there is no particular limitation on the method of realization.
[0067] For example, the trained model generation system 10 according to an embodiment of the present disclosure may function as a computer that performs the information processing of the present disclosure. Fig. 5 is a diagram illustrating an example of a hardware configuration of the trained model generation system 10 according to an embodiment of the present disclosure. The trained model generation system 10 described above may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
[0068] In the following description, the term "apparatus" can be replaced with a circuit, a device, a unit, etc. The hardware configuration of the trained model generation system 10 may be configured to include one or more of the devices shown in the figure, or may be configured to exclude some of the devices.
[0069] Each function in the trained model generation system 10 is realized by loading a specific software (program) onto hardware such as a processor 1001 and a memory 1002, causing the processor 1001 to perform calculations, control communications via a communication device 1004, and control at least one of reading and writing of data in the memory 1002 and the storage 1003.
[0070] The processor 1001 controls the entire computer by running an operating system, for example. The processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, etc. For example, each function in the trained model generation system 10 described above may be realized by the processor 1001.
[0071] Moreover, the processor 1001 reads out a program (program code), a software module, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes according to the read out programs. As the program, a program that causes a computer to execute at least a part of the operations described in the above-mentioned embodiment is used. For example, each function in the trained model generation system 10 may be realized by a control program stored in the memory 1002 and operated in the processor 1001. Although the above-mentioned various processes have been described as being executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The program may be transmitted from a network via a telecommunication line.
[0072] The memory 1002 is a computer-readable recording medium, and may be composed of at least one of, for example, a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a random access memory (RAM), etc. The memory 1002 may be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store a program (program code), software modules, etc. that are executable to perform information processing according to an embodiment of the present disclosure.
[0073] The storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, and the like. The storage 1003 may be called an auxiliary storage device. The storage medium provided in the trained model generation system 10 may be, for example, a database including at least one of the memory 1002 and the storage 1003, a server, or other appropriate medium.
[0074] The communication device 1004 is hardware (transmission / reception device) for performing communication between computers via at least one of a wired network and a wireless network, and is also called, for example, a network device, a network controller, a network card, or a communication module.
[0075] The input device 1005 is an input device (e.g., a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that accepts input from the outside. The output device 1006 is an output device (e.g., a display, a speaker, an LED lamp, etc.) that performs output to the outside. The input device 1005 and the output device 1006 may be integrated into one device (e.g., a touch panel).
[0076] In addition, each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.
[0077] The trained model generation system 10 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
[0078] The order of the steps, sequences, flow charts, etc. of each aspect / embodiment described in this disclosure may be changed unless inconsistent. For example, the methods described in this disclosure present elements of various steps using an example order, and are not limited to the particular order presented.
[0079] The input and output information may be stored in a specific location (e.g., memory) or may be managed using a management table. The input and output information may be overwritten, updated, or added to. The output information may be deleted. The input information may be transmitted to another device.
[0080] The determination may be based on a value represented by a single bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
[0081] Each aspect / embodiment described in this disclosure may be used alone, in combination, or switched according to execution. In addition, notification of specific information (e.g., notification that "X is the case") is not limited to being done explicitly, but may be done implicitly (e.g., not notifying the specific information).
[0082] Although the present disclosure has been described in detail above, it is clear to those skilled in the art that the present disclosure is not limited to the embodiments described in the present disclosure. The present disclosure can be implemented in modified and altered forms without departing from the spirit and scope of the present disclosure as defined by the claims. Therefore, the description of the present disclosure is intended to be illustrative and does not have any limiting meaning on the present disclosure.
[0083] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0084] Additionally, software, instructions, information, etc. may be transmitted or received over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using wired and / or wireless technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and / or wireless technologies (such as infrared, microwave, etc.), then these wired and / or wireless technologies are included within the definition of transmission media.
[0085] As used in this disclosure, the terms "system" and "network" are used interchangeably.
[0086] Furthermore, the information, parameters, etc. described in this disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information.
[0087] As used in this disclosure, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, search, inquiry (e.g., searching in a table, database, or other data structure), ascertaining, and the like. "Determining" and "determining" may also include receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, accessing (e.g., accessing data in a memory), and the like. In addition, "judgment" and "decision" can include considering resolving, selecting, choosing, establishing, comparing, etc., to be a "judgment" or "decision." In other words, "judgment" and "decision" can include considering some action to be a "judgment" or "decision." In addition, "judgment" can be interpreted as "assuming," "expecting," "considering," etc.
[0088] The terms "connected," "coupled," or any variation thereof, refer to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, "connected" may be read as "access." As used in this disclosure, two elements may be considered to be "connected" or "coupled" to each other using at least one of one or more wires, cables, and printed electrical connections, as well as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and optical (both visible and invisible) range, as some non-limiting and non-exhaustive examples.
[0089] As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0090] Any reference to an element using a designation such as "first," "second," etc., used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must precede the second element in some way.
[0091] When the terms "include," "including," and variations thereof are used in this disclosure, these terms are intended to be inclusive, similar to the term "comprising." Further, when used in this disclosure, the term "or" is not intended to be an exclusive or.
[0092] In this disclosure, where articles have been added due to translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are in the plural form.
[0093] In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "coupled" may also be interpreted in the same way as "different." [Explanation of symbols]
[0094] 10...trained model generation system, 11...learning data acquisition unit, 12...teaching value generation unit, 13...trained model generation unit, 1001...processor, 1002...memory, 1003...storage, 1004...communication device, 1005...input device, 1006...output device, 1007...bus.
Claims
1. A trained model generation system that receives input data and generates a trained model that outputs estimated values for a plurality of candidates ordered by magnitude relationship, a learning data acquisition unit that acquires learning input data corresponding to the input data and learning output data corresponding to the estimated value, both used for generating a trained model; a teacher value generating unit that generates teacher values from the learning output data acquired by the learning data acquiring unit and preset reference candidates; a trained model generation unit that performs machine learning using the learning input data acquired by the learning data acquisition unit and the training value generated by the training value generation unit as training data to generate a trained model; A trained model generation system in which the trained model generated by the trained model generation unit divides candidates into groups according to the reference candidate and the order of each candidate, and generates and outputs estimated values for each candidate from bias terms set for each candidate in each group and values for each group calculated by the trained model.
2. The trained model generation system according to claim 1 , wherein the input data includes data relating to a song to be sung, and the candidates are keys in which the song is sung.
3. the learning output data is data indicating any one of a plurality of candidates, 3. The trained model generation system according to claim 1 or 2, wherein the teacher value generation unit sets a first value as a teacher value for a candidate indicated by the learning output data in the ordering up to the reference candidate, and sets a second value different from the first value as a teacher value for the other candidates.
4. The trained model generation system according to any one of claims 1 to 3, wherein the trained model generation unit performs machine learning using a loss function that weights the group according to the training output data acquired by the training data acquisition unit.
5. the learning output data is data indicating any one of a plurality of candidates, The trained model generation system according to claim 4 , wherein the trained model generation unit performs machine learning using a loss function in which a heavier weight is set for a group including any of the candidates indicated by the learning output data than for other groups.
6. The trained model generated by the trained model generation unit outputs a propensity score indicating a tendency for the estimated value to be in a group, and generates an estimated value for each candidate based on the propensity score. The trained model generation system according to any one of claims 1 to 5.
Citation Information
Patent Citations
System and method for learning data ranking function
JP2006236345A
Karaoke system
JP2012078387A
Karaoke system and karaoke device
JP2012177751A
Methods and systems for determining compact semantic representations of digital audio signals
WO2020225338A1
System of generating model for estimation, and estimation system
WO2021005987A1