1. Field of the Invention
The present invention relates to an information processing apparatus, an information processing method and a program, and particularly to an information processing apparatus, an information processing method and a program, which is suitably used for a case where for example, plural operators are combined to create an arithmetic expression.
2. Description of the Related Art
In related art, there is proposed an invention relating to automatic creation of algorithm in which music data is inputted and the feature quantity (quickness of music data, clearness, liveliness, etc.) of the music data is outputted (see, for example, US2004/0181401A1 (patent document 1)).
In the invention recited in patent document 1 , as shown in
Accordingly, it is desired to realize a method in which algorithm that can extract a corresponding feature quantity from music data is created with least possible waste, with a small amount of arithmetic operation and quickly.
Besides, it is desired to realize a method of detecting a combination of significant operators in a creation process of algorithm.
The invention has been made in view of such circumstances, and enables detection of a permutation of significant operators from an arithmetic expression in which plural operators are combined, and enables quick creation of algorithm.
An information processing apparatus according to an embodiment of the invention is an information processing apparatus to create an arithmetic expression by combining one or more operators and includes detection means for detecting a permutation of plural operators existing in common to the plural created arithmetic expressions, and registration means for registering the detected permutation of the operators as a new operator.
The detection means may detect the permutation of the plural operators including at least one of a processing symmetry axis and a parameter.
The detection means may create plural permutations including a specified number of operators, and may detect one of the created permutations, which has a high appearance frequency in the plural arithmetic expressions.
Creation means for creating the arithmetic expression by combining one or more operators including the operator newly registered by the registration means may be further included.
An information processing method according to an embodiment of the invention is an information processing method of an information processing apparatus to create an arithmetic expression including one or more operators and includes the steps of detecting a permutation of plural operators existing in common to the plural created arithmetic expressions, and registering the detected permutation of the operators as a new operator.
A program according to an embodiment of the invention is a program to create an arithmetic expression including one or more operators and causes a computer to execute a process including the steps of detecting a permutation of plural operators existing in common to the plural created arithmetic expressions, and registering the detected permutation of the operators as a new operator.
According to an embodiment of the invention, a permutation of plural operators existing in common to the plural created arithmetic expressions is detected, and the detected permutation of the operators is registered as a new operator.
According to an embodiment of the invention, a permutation of significant operators can be detected from the arithmetic expression in which plural operators are combined. Thus, since the combination of the significant operators is preferentially searched, the algorithm can be quickly created with less amount of arithmetic operation.
Hereinafter, although embodiments of the invention will be described, a correspondence relation between the structural requirements of the invention and embodiments described in the specification or the drawings is exemplified as follows. This description is for confirming that the embodiments to support the invention are disclosed in the specification or the drawings. Accordingly, even if there is an embodiment which is disclosed in the specification or the drawings but is not disclosed here as an embodiment corresponding to the structural requirements of the invention, that does not mean that the embodiment does not correspond to the structural requirements. On the other hand, even if an embodiment is disclosed here to be one corresponding to the structural requirements, that does not mean that the embodiment does not correspond to a structural requirement other than the structural requirements.
An information processing apparatus (for example, a low-level feature quantity extraction expression list creation section 21 of
An information processing method according to an embodiment of the invention is an information processing method of an information processing apparatus to create an arithmetic expression including one or more operators and includes the steps of detecting a permutation of plural operators existing in common to the plural created arithmetic expressions (for example, step S106 of
A program according to an embodiment of the invention is a program to create an arithmetic expression including one or more operators and causes a computer to execute a process including the steps of detecting a permutation of plural operators existing in common to the plural created arithmetic expressions (for example, step S106 of
Hereinafter, specific embodiments in which the invention is applied will be described in detail with reference to the drawings.
The low-level feature quantity extraction section 12 has a low-level feature quantity extraction expression list 13 including m kinds of low-level feature quantity extraction expressions which apply specified arithmetic operations to input data and in which one or more operators (operators) are combined. Accordingly, the low-level feature quantity extraction section 12 outputs m kinds of low-level feature quantities to the high-level feature quantity extraction section 14.
Besides, for example, in a low-level feature quantity extraction expression f2 shown in
Incidentally, it is unnecessary that each of the low-level feature quantities as the output of the low-level feature quantity extraction section 12 is a significant value.
The high-level feature quantity extraction section 14 includes k kinds of high-level feature quantity extraction expressions which carry out relatively simple arithmetic operations (four arithmetic operation, power operation, etc.) on one or more kinds of low-level feature quantities among the inputted m kinds of low-level feature quantities, and outputs the arithmetic results as the high-level feature quantities. Accordingly, the high-level feature quantity extraction section 14 outputs k kinds of high-level feature quantities.
Besides, for example, in a high-level feature quantity extraction expression F2 shown in
Next,
The low-level feature quantity extraction expression list creation section 21 creates a first generation low-level feature quantity extraction expression list at random, and creates a second or subsequent generation low-level feature quantity extraction expression list based on the precision of a high-level feature quantity extraction expression learned by using a low-level feature quantity based on the former generation low-level feature quantity extraction expression list.
An operator set detection section 22 included in the low-level feature quantity extraction expression list creation section 21 detects a combination of plural operators frequently appearing in the created low-level feature quantity extraction expressions. An operator creation section 23 registers the combination of the plural operators detected by the operator set detection section 22 as one kind of new operator.
The high-level feature quantity extraction expression learning section 25 creates k kinds of high-level feature quantity extraction expressions corresponding to n sets of low-level feature quantities, calculates estimated precision of each high-level feature quantity extraction expression and a contribution ratio of each low-level feature quantity in each high-level feature quantity extraction expression, and outputs them to the low-level feature quantity extraction expression list creation section 21. Besides, the high-level feature quantity extraction expression learning section 25 supplies, at the final generation of learning, m sets of low-level feature quantity extraction expressions of a list in which the mean precision of obtained high-level feature quantities is highest among n sets of low-level feature quantity extraction expression lists, and k kinds of high-level feature quantity extraction expressions corresponding thereto to the high-level feature quantity arithmetic section 26.
The high-level feature quantity arithmetic section 26 uses the low-level feature quantity extraction expressions finally supplied from the high-level feature quantity extraction expression learning section 25 and the high-level feature quantity extraction expressions and calculates the high-level feature quantities.
The high-level feature quantity arithmetic section 26 includes a low-level feature quantity arithmetic section 41 which substitutes input data (content data and metadata corresponding thereto) into the final low7level feature quantity extraction expression list and calculates the low-level feature quantity, a high-level feature quantity arithmetic section 42 which substitutes the arithmetic result by the low-level feature quantity arithmetic section 41 into the final high-level feature quantity extraction expression and calculates the high-level feature quantity, a square error arithmetic section 43 which calculates the square error of the arithmetic result of the high-level feature quantity arithmetic section 42 and teacher data (high-level feature quantity corresponding to the input data), a reject area extraction expression learning section 44 which creates, by learning, a reject area extraction expression in which the low-level feature quantity as the arithmetic result of the low-level feature quantity arithmetic section 41 is inputted and the square error as the arithmetic result of the square error arithmetic section 43 is outputted, and a feature quantity extraction precision arithmetic section 45 which substitutes input data into the reject area extraction expression created by the reject area extraction expression learning section 44, estimates the feature extraction precision (square error) of the high-level feature quantity calculated correspondingly to the input data, and causes the high-level feature quantity arithmetic section 42 to calculates the high-level feature quantity only in the case where the estimated feature extraction precision is a specified threshold or higher.
Next, the operation of the feature quantity extraction algorithm creation apparatus 20 will be described.
At step S1, the control section 27 initializes a learning loop parameter G to 1 and starts a learning loop. Incidentally, the learning loop is repeated by a learning number g previously set by the user or the like.
At step S2, the low-level feature quantity extraction expression list creation section 21 creates n low-level feature quantity extraction expression lists each having m kinds of low-level feature quantity extraction expressions as shown in
With respect to the processing (low-level feature quantity extraction expression list creation processing) of step S2 will be described with reference to a flowchart of
At step S11, the low-level feature quantity extraction expression list creation section 21 judges whether or not the low-level feature quantity extraction expression list to be created is the first generation. Incidentally, this judgment is made such that when the learning loop parameter G is 0, the low-level feature quantity extraction expression list to be created is the first generation. In the case where it is judged that the low-level feature quantity extraction expression list to be created is the first generation, the processing proceeds to step S12. At step S12, the low-level feature quantity extraction expression list creation section 21 creates first generation low-level feature quantity extraction expression lists at random.
On the other hand, at step S11, in the case where it is judged that the low-level feature quantity extraction expression list to be created is not the first generation, the processing proceeds to step S13. At step S13, the low-level feature quantity extraction expression list creation section 21 creates genetically a next generation low-level feature quantity extraction expression list based on the former generation low-level feature quantity extraction expression list.
The processing (first generation list random creation processing) of step S12 will be describe with reference to
At step S22, the control unit 27 initializes an expression loop parameter M to 1 and starts an expression loop. Incidentally, the expression loop is repeated by the number m of low-level feature quantity extraction expressions constituting one low-level feature quantity extraction expression list.
Here, a describing method of a low-level feature quantity extraction expression created in the expression loop will be described with reference to
For example, in the case of an example of
Return is made to
As the kinds of the input data, for example, Wav, 12Tones, Chord, Key and the like shown in
Return is made to
At step S25, the low-level feature quantity extraction expression list creation section 21 judges whether or not the arithmetic result of the low-level feature quantity extraction expression M of the list N created at the present time point is scalar (one-dimensional) or the dimension number is a specified value (for example, a small number such as 1 or 2) or less, and in the case of a negative judgment, return is made to the processing of step S24, and one operator is added. As shown in
At step S26, the control section 27 judges whether or not the expression loop parameter M is smaller than the maximum value m, and in the case where the expression loop parameter M is smaller than the maximum value m, the expression loop parameter M is incremented by 1 and the processing is returned to step S23. On the other hand, the expression loop parameter M is not smaller than the maximum value m (in the case where the expression loop parameter M is equal to the maximum value m), the processing exits from the expression loop and proceeds to step S27. By the processing up to this point, one low-level feature quantity extraction expression list is created.
At step S27, the control unit 27 judges whether or not the list loop parameter N is smaller than the maximum value n, and in the case where the list loop parameter N is smaller than the maximum value n, the list loop parameter N is incremented by 1, and the processing is returned to step S22. On the other hand, in the case where the list loop parameter N is not smaller than the maximum value n (in the case where the list loop parameter N is equal to the maximum value n), the first generation list random creation processing exits from the list loop and is ended. By the processing up to this point, n first generation low-level feature quantity extraction expression lists are created.
Next, the processing (next generation list genetic creation processing) of step S13 of
At step S32, the low-level feature quantity extraction expression list creation section 21 creates ns low-level feature quantity extraction expression lists based on the determined selection number ns. At step S33, the low-level feature quantity extraction expression list creation section 21 creates nx low-level feature quantity extraction expression lists based on the determined crossover number nx. At step S34, the low-level feature quantity extraction expression list creation section 21 creates nm low-level feature quantity extraction expression lists based on the determined mutation number nm.
The selection creation processing of step S32 will be described in detail with reference to a flowchart of
At step S41, the low-level feature quantity extraction expression list creation section 21 rearranges the n former generation (one generation before) low-level feature quantity extraction expression lists in the descending order of the mean value of the estimated precision of the high-level feature quantity extraction expression inputted from the high-level feature quantity extraction expression learning section 25. At step S32, the low-level feature quantity extraction expression list creation section 21 adopts, as next generation low-level feature quantity extraction expression lists, upper ns lists of the n rearranged former low-level feature quantity extraction expression lists. Here, the selection creation processing is ended.
The crossover creation processing of step S33 of
At step S51, the control unit 27 initializes a crossover loop parameter NX to 1 and starts a crossover loop. Incidentally, the crossover loop is repeated by the crossover number nx.
At step S52, the low-level feature quantity extraction expression list creation section 21 performs weighting so that from the former generation low-level feature quantity extraction expression lists, one with a-high mean value of estimated precision of the high-level feature quantity extraction expression inputted from the high-level feature quantity extraction expression learning section 25 is preferentially selected, and then, two low-level feature quantity extraction expression lists A and B are selected at random. Incidentally, in the selection here, the ns low-level feature quantity extraction expression lists selected in the foregoing selection creation processing may be excluded from selection candidates or may remain as the selection candidates.
At step S53, the control unit 27 initializes an expression loop parameter M to 1 and starts an expression loop. Incidentally, the expression loop is repeated by the number m of expressions included in one low-level feature quantity extraction expression list.
At step S54, the low-level feature quantity extraction expression list creation section 21 performs weighting so that from 2 m low-level feature quantity extraction expressions included in the low-level feature quantity extraction expression lists A and B, one with a high contribution ratio in the high-level feature quantity extraction expression inputted from the high-level feature quantity extraction expression learning section 25 is preferentially selected, and then, one low-level feature quantity extraction expression is selected at random and is added to the next generation low-level feature quantity extraction expression list.
At step S55, the control section 27 judges whether or not the expression loop parameter M is smaller than the maximum value m, and in the case where the expression loop parameter M is smaller than the maximum value m, the expression loop parameter M is incremented by one, and the processing is returned to step S54. On the other hand, in the case where the expression loop parameter M is not smaller than the maximum value m (in the case where the expression loop parameter M is equal to the maximum value m), the processing exits from the expression loop and proceeds to step S56. By the processing up to this point, one low-level feature quantity extraction expression list is created.
At step S56, the control unit 27 judges whether or not the crossover loop parameter NX is smaller than the maximum value nx, and in the case where the crossover loop parameter NX is smaller than the maximum value nx, the crossover loop parameter nx is incremented by 1 and the processing is returned to step S52. On the other hand, the crossover loop parameter NX is not smaller than the maximum value nx (in the case where the crossover loop parameter NX is equal to the maximum value nx), the crossover creation processing exits from the crossover loop and is ended. By the processing up to this point, low-level feature quantity extraction expression lists the number of which is the crossover number nx are created.
The mutation creation processing of step S34 of
At step S61, the control section 27 initializes a mutation loop parameter NM to 1 and starts a mutation loop. Incidentally, the mutation loop is repeated by the mutation number nm.
At step S62, the low-level feature quantity extraction expression list creation section 21 performs weighting so that from the former generation low-level feature quantity extraction expression lists, one with a high-mean value of the estimated precision of the high-level feature quantity extraction expression inputted from the high-level feature quantity extraction expression learning section 25 is preferentially selected, and then, one low-level feature quantity extraction expression list A is selected at random. Incidentally, in the selection here, the ns low-level feature quantity extraction expression lists selected in the selection creation processing may be excluded from selection candidates or may remain as the selection candidates. Besides, the low-level feature quantity extraction expression lists selected in the processing of step S52 of the crossover creation processing may be removed from the selection candidates or may remain as the selection candidates.
At step S63, the control section 27 initializes an expression loop parameter M to 1 and starts an expression loop. Incidentally, the expression loop is repeated by the number m of expressions included in one low-level feature quantity extraction expression list.
At step S64, the low-level feature quantity extraction expression list creation section 21 pays attention to the M-th one of m low-level feature quantity extraction expressions included in the low-level feature quantity extraction expression list A, and judges whether or not the contribution ratio of the low-level feature quantity as the arithmetic result of the M-th low-level feature quantity extraction expression is low as compared with the contribution ratio of the low-level feature quantity as the arithmetic result of the other low-level feature quantity extraction expression included in the low-level feature quantity extraction expression list A. Specifically, for example, among -m low-level feature quantity extraction expressions included in the low-level feature quantity extraction expression list A, it is judged whether the contribution ratio of the low-level feature quantity as the arithmetic result falls within a specified rank in ascending order.
At step S64, in the case where it is judged that the contribution ratio of the low-level feature quantity as the arithmetic result of the M-th low-level feature quantity extraction expression is lower than those of the others, the processing proceeds to step S65, and the low-level feature quantity extraction expression list creation section 21 modifies the M-th low-level feature quantity extraction expression at random, and adds it to the next generation low-level feature quantity extraction expression list.
On the other hand, at step S64, in the case where it is judged that the contribution ratio of the low-level feature quantity as the arithmetic result of the M-th low-level feature quantity extraction expression is not lower than those of the others, the processing proceeds to step S66, and the low-level feature quantity extraction expression list creation section 21 adds the M-th low-level feature quantity extraction expression to the next generation low-level feature quantity extraction expression list as it is.
At step S67, the control section 27 judges whether or not the expression loop parameter M is smaller than the maximum value m, and in the case where the expression loop parameter M is smaller than the maximum value m, the expression loop parameter M is incremented by 1 and the processing is returned to step S64. On the other hand, in the case where the expression loop parameter M is not smaller than the maximum value m (in the case where the expression loop parameter M is equal to the maximum value m), the processing exits from the expression loop and proceeds to step S68. By the processing up to this point, one low-level feature quantity extraction expression list is created.
At step S68, the control section 27 judges whether or not the mutation loop parameter NM is smaller than the maximum value nm, and in the case where the mutation loop parameter NM is smaller than the maximum value nm, the mutation loop parameter NM is incremented by 1, and the processing is returned to step S62. On the other hand, in the case where the mutation loop parameter NM is not smaller than the maximum value nm (in the case where the mutation loop parameter NM is equal to the maximum value nm), the mutation creation processing exits from the mutation loop and is ended. By the processing up to this point, the low-level feature quantity extraction expression lists the number of which is the mutation number nm are created.
According to the next generation list genetic creation processing as described above, a low-level feature quantity extraction expression list corresponding to a former generation one and having a high estimated precision, and a low-level feature quantity extraction expression corresponding to a former generation one and having a high contribution ratio are inherited to the next generation, and one with a low estimated precision or low contribution ratio is not inherited to the next generation and is weeded out. Accordingly, it is expected that as the generation proceeds, the estimated precision corresponding to the low-level feature quantity extraction expression list is improved, and the contribution ratio corresponding to the low-level feature quantity extraction expression is also improved.
Return is made to
As shown in
Return is made to
The high-level feature quantity extraction expression learning processing at step S4 will be described in detail with reference to a flowchart of
At step S71, the control section 27 initializes a list loop parameter N to 1 and starts a list loop. Incidentally, the list loop is repeated by a previously set list number n. At step S72, the control section 27 initializes a teacher data loop parameter K to 1 and starts a teacher data loop. Incidentally, the teacher data loop is repeated by the kind number k of teacher data previously set.
At step S73, the control section 27 initializes an algorithm loop parameter A to 1 and starts an algorithm loop. Incidentally, the algorithm loop is repeated by the kind number “a” of learning algorithm.
As the applied learning algorithm, for example, Regression (regression analysis), Classify (class separation), SVM (Support Vector Machine) and GP (Genetic Programming) can be named.
As the learning algorithm belonging to the Regression, there are one in which as shown in
As the learning algorithm belonging to the Classify, there are one in which as shown in
As the learning algorithm belonging to the SVM, there is one in which as shown in
As the learning algorithm belonging to the GP, there are one in which as shown in
For example, in the case where all the learning algorithms are used, the kind number “a” of the learning algorithms is 11.
Return is made to
At step S75, the high-level feature quantity extraction expression learning section 25 divides a K-th kind of teacher data (high-level feature quantity) of one music piece among k kinds of teacher data at random into two parts for learning and for evaluation (cross validation). Hereinafter, in the teacher data, the part classified as one for learning is called data for learning, and the part classified as one for evaluation is called data for evaluation.
At step S76, the high-level feature quantity extraction expression learning section 25 applies m kinds of low-level feature quantities calculated by using the N-th low-level feature quantity extraction expression list and the data for learning to an a-th learning algorithm, and estimates the high-level feature quantity extraction expression by learning. At this learning, in order to reduce the amount of arithmetic operation and to suppress over-learning (over-fitting), some of the m kinds of low-level feature quantities are genetically selected and are used.
As an evaluation value at a time when the low-level feature quantity is selected, the information amount criterion AIC (Akaike Information Criterion) as a function, or the information amount criterion BIC (Bayesian Information Criterion) is used. The information amount criterion AIC or BIC is used as the selection criterion of a learning model (in this case, the selected low-level feature quantity), and as the value becomes small, the learning model is excellent (evaluation is high).
The AIC is expressed by a following expression.
AIC=−2×maximum logarithmic likelihood+2×free parameter number
For example, in the case where the Regression (linear) is adopted for the learning algorithm (in the case of
AIC=number of data for learning×((log 2 n)+1+log(mean square error))+2×(n+1).
BIC is expressed by a following expression.
BIC=−2×maximum logarithmic likelihood+log(number of data for learning)×free parameter number.
For example, in the case where the Regression (linear) is adopted as the learning algorithm (case of
Here, a learning processing based on the learning algorithm of step S76 will be described with reference to
At step S91, the high-level feature quantity extraction expression learning section 25 creates p sets of initial groups in each of which among m kinds of low-level feature quantities, ones to be selected (ones used for learning) are extracted at random.
At step S92, the high-level feature quantity extraction expression learning section 25 starts a feature selection loop by a genetic algorithm (GA: genetic algorithm). The feature selection loop by the GA is repeated until a specified condition is satisfied at step S98 described later.
At step S93, the control section 27 initializes an initial group loop parameter P to 1 and starts an initial group loop. Incidentally, the initial group loop is repeated by the initial group number p of low-level feature quantities created in the processing of step S91.
At step S94, the high-level feature quantity extraction expression learning section 25 uses the low-level feature quantity included in the P-th initial group and data for learning among the teacher data, applies them to the a-th learning algorithm, and estimates the high-level feature quantity extraction expression by learning.
At step S95, the high-level feature quantity extraction expression learning section 25 calculates the information amount criterion AIC or BIC as the evaluation value of the high-level feature quantity obtained as the processing result of step S94. At step S96, the control section 27 judges whether or not the initial group loop parameter P is smaller than the maximum value p, and in the case where the initial group loop parameter P is smaller than the maximum value p, the initial group loop parameter P is incremented by 1 and the processing is returned to step S94. On the other hand, in the case where the initial group loop parameter P is not smaller than the maximum value p (in the case where the initial group loop parameter P is equal to the maximum value p), the processing exits from the initial group loop and proceeds to step S97. By this initial group loop, the information criterion amount can be obtained as the evaluation value of the high-level feature quantity extraction expression learned on the basis of each initial group.
At step S97, the high-level feature quantity extraction expression learning section 25 genetically updates the p sets of initial groups including the low-level feature quantities used for learning based on the evaluation value (information amount criterion). Specifically, similarly to steps S32 to S34 of
At step S98, the control section 27 returns the processing to step S93 as long as, among the high-level feature quantity extraction expressions corresponding to the p sets of initial groups, the evaluation value of one with the highest evaluation value (information criterion amount is small) is improved (information criterion amount is decreased) each time the feature selection loop by the GA is repeated. On the other hand, in the case where among the high-level feature quantity extraction expressions corresponding to the p sets of initial groups, the evaluation value of one with the highest evaluation value is not improved even if the feature selection loop by the GA is repeated (information criterion amount is not decreased), the processing exits from the feature selection loop by the GA, and the high-level feature quantity extraction expression with the highest evaluation value is outputted to the latter stage processing (processing of step S77 of
Return is made to
At step S78, the control section 27 judges whether or not the cross validation loop parameter C is smaller than the maximum value c, and in the case where the cross validation loop parameter C is smaller than the maximum value c, the cross validation loop parameter C is incremented by 1 and the processing is returned to step S75. On the other hand, in the case where the cross validation loop parameter C is not smaller than the maximum value c (in the case where the cross validation loop parameter C is equal to the maximum value c), the processing exits from the cross validation loop and proceeds to step S79. By the processing up to this point, c learning results, that is, high-level feature quantity extraction expressions are obtained. Since the data for learning and the data for evaluation are converted at random by this cross validation loop, it is possible to confirm that the high-level feature quantity extraction expression is not over-learned.
At step S79, the high-level feature quantity extraction expression learning section 25 selects, among the c learning results obtained by the cross validation loop, that is, the high-level feature quantity extraction expressions, one with the highest evaluation value in the processing of step S77.
At step S80, the control section 27 judges whether or not the algorithm loop parameter A is smaller than the maximum value “a”, and in the case where the algorithm loop parameter A is smaller than the maximum value “a”, the algorithm loop parameter A is incremented by 1 and the processing is returned to step S74. On the other hand, in the case where the algorithm loop parameter A is not smaller than the maximum value “a” (in the case where the algorithm loop parameter A is equal to the maximum value “a”), the processing exits from the algorithm loop and proceeds to step S81. By this algorithm loop, “a” Kth kind high-level feature quantity extraction expressions learned by the A kinds of learning algorithms are obtained. Then, at step S81, the high-level feature quantity extraction expression learning section 25 selects, among the “a” learning results obtained by the algorithm loop, that is, the high-level feature quantity extraction expressions, one with the highest evaluation value in the processing of step S77.
At step S82, the control section 27 judges whether or not the teacher data loop parameter K is smaller than the maximum value k, and in the case where the teacher data loop parameter K is smaller than the maximum value k, the teacher data loop parameter K is incremented by 1 and the processing is returned to step S73. On the other hand, in the case where the teacher data loop parameter K is not smaller than the maximum value k (in the case where the teacher data group parameter K is equal to the maximum value k), the processing exits from the teacher data loop and proceeds to step S83. By this teacher data loop, k kinds of high-level feature quantity extraction expressions corresponding to the N-th low-level feature quantity extraction expression list are obtained.
At step S83, the control section 27 judges whether or not the list loop parameter N is smaller than the maximum value n, and in the case where the list loop parameter N is smaller than the maximum value n, the list loop parameter N is incremented by 1 and the processing is returned to step S72. On the other hand, in the case where the list loop parameter N is not smaller than the maximum value n (in the case where the list loop parameter N is equal to the maximum value n), the processing exits from the list loop and proceeds to step S84. By this list loop, k kinds of high-level feature quantity extraction expressions corresponding to each of the n low-level feature quantity extraction expression lists are obtained.
At step S84, the high-level feature quantity extraction expression learning section 25 calculates the estimated precision of the k kinds of high-level feature quantity extraction expressions corresponding to each of the n obtained low-level feature quantity extraction expression lists and the contribution ratio of each low-level feature quantity in each high-level feature quantity extraction expression, and outputs them to the low-level feature quantity extraction expression list creation section 21. Here, the high-level feature quantity extraction expression learning processing is ended.
Return is made to
At step S6, the high-level feature quantity extraction expression learning section 25 supplies, at the final generation of learning, among the n sets of low-level feature quantity extraction expression lists, m sets of low-level feature quantity extraction expressions of the list with the highest mean precision of the obtained high-level feature quantities, and k kinds of high-level feature quantity extraction expressions corresponding thereto to the high-level feature quantity arithmetic section 26. At step S7, the high-level feature quantity arithmetic section 26 uses, among the low-level feature quantity extraction expressions supplied from the high-level feature quantity extraction expression learning section 25 and the high-level feature quantity extraction expressions, the low-level feature quantity extraction expression finally supplied from the high-level feature quantity extraction expression learning section 25 and the high-level feature quantity extraction expression and calculates the high-level feature quantity. Incidentally, the processing of step S7 will be described later with reference to
Here, the description of the feature quantity extraction algorithm creation processing by the feature quantity extraction algorithm creation apparatus 20 is ended.
Next, a new operator creation processing will be described which is executed when the learning loop of steps S1 to S6 in the feature quantity extraction algorithm creation processing is repeated and the generation of the low-level feature quantity extraction expression list proceeds and grows, that is, the attribute degree of the low-level feature quantity extraction expression is improved, or the estimated precision of the corresponding high-level feature quantity extraction expression is improved.
In the case where the generation of the low-level feature quantity extraction expression list proceeds and grows, in the low-level feature quantity extraction expression list, as shown in
For example, in the case of
This new operator creation processing will be described with reference to a flowchart of
At step S102, the control section 27 initializes a combination loop parameter OG to 1 and starts a combination loop. Incidentally, the combination loop is repeated by the combination number og of operators.
At step S103, the appearance frequency Count of the og-th combination of operators is initialized to 1. At step S104, the control section 27 initializes a list loop parameter N to 0 and starts a list loop. Incidentally, the list loop is repeated by a previously set list number n. At step S105, the control section 27 initializes an expression loop parameter M to 1 and starts an expression loop. Incidentally, the expression loop is repeated by the number m of low-level feature quantity extraction expressions constituting one low-level feature quantity extraction expression list.
At step S106, the operator set detection section 22 judges whether or not the og-th combination of operators exists on the M-th low-level feature quantity extraction expression constituting the N-th low-level feature quantity extraction expression list, and in the case where a judgment is made that it exists, the processing proceeds to step S107, and the appearance frequency Count is incremented by 1. On the other hand, in the case where a judgment is made that the og-th combination of operators does not exist, step S107 is skipped, and the processing proceeds to step S108.
At step S108, the control section 27 judges whether or not the expression loop parameter M is smaller than the maximum value m, and in the case where the expression loop parameter M is smaller than the maximum value m, the expression loop parameter M is incremented by 1, and the processing is returned to step S106. On the other hand, in the case where the expression loop parameter M is not smaller than the maximum value m (in the case where the expression loop parameter M is equal to the maximum value m), the processing exits from the expression loop and proceeds to step S109.
At step S109, the control section 27 judges whether or not the list parameter N is smaller than the maximum value n, and in the case where the list loop parameter N is smaller than the maximum value n, the list loop parameter N is incremented by 1, and the processing is returned to step S105. On the other hand, in the case where the list loop parameter N is not smaller than the maximum value n (in the case where the list loop parameter N is equal to the maximum value n), the processing exits from the list loop and proceeds to step S110.
At step S110, the control section 27 judges whether or not the combined loop parameter OG is smaller than the maximum value og, and in the case where the combined loop parameter OG is smaller than the maximum value og, the combined loop parameter OG is incremented by 1 and the processing is returned to step S103. On the other hand, in the case where the combined loop parameter OG is not smaller than the maximum value og (in the case where the combined loop parameter OG is equal to the maximum value og), the processing exits from the combined loop and proceeds to step S110. By the processing up to this point, the appearance frequency Count corresponding to each of the combinations of all operators is detected.
At step S111, the operator set detection section 22 extracts the combination of operators the appearance frequency Count of which is a specified threshold or higher, and outputs it to the operator creation section 23. At step S112, the operator creation section 23 registers the combination of the operators inputted from the operator set detection section 22 as one new operator. Here, the new operator creation processing is ended.
As described above, according to the new operator creation processing, the combination of operators the appearance frequency of which is high, that is, which is considered to be effective for the arithmetic operation of the high-level feature quantity, is made one operator, and is used in the next and subsequent generation of low-level feature quantity extraction expressions, and therefore, the creation speed and the growth speed of the low-level feature quantity extraction expressions are improved. Besides, the effective low-level feature quantity extraction expression is found early. Further, since the combination of operators considered to be effective, which has been found manually in related art, can be automatically detected, this point is also one of effects of the new operator creation processing.
Next, the processing of step S7 of
The high-precision reject processing is such that based on an idea that the precision of a high-level feature quantity relates to the value of a low-level feature quantity, a reject area extraction expression in which a low-level feature quantity is inputted and the precision of a high-level feature quantity is outputted is obtained by learning. The high-precision reject processing will be described with reference to a flowchart of
At step S151, the low-level feature quantity arithmetic section 41 of the high-level feature quantity arithmetic section 26 acquires the final low-level feature quantity extraction expression list. The high-level feature quantity arithmetic section 42 of the high-level feature quantity arithmetic section 26 acquires the final high-level feature quantity extraction expression.
At step S152, the control section 27 initializes a content loop parameter L to 1 and starts a content loop. Incidentally, the content loop is repeated by the number 1 of input data (content data and metadata) prepared for the execution of the high-precision reject processing. Incidentally, it is assumed that the high-level feature quantity corresponding to the prepared input data is also prepared as teacher data.
At step S153, the low-level feature quantity arithmetic section 41 substitutes the L-th input data into the final low-level feature quantity extraction expression list acquired in the processing of step S151, and outputs m kinds of low-level feature quantities as the arithmetic result to the high-level feature quantity arithmetic section 42 and the reject area extraction expression learning section 44. The high-level feature quantity arithmetic section 42 substitutes the m kinds of low-level feature quantities inputted from the low-level feature quantity arithmetic section 41 into the final high-level feature quantity extraction expression acquired in the processing of step S151, and outputs the high-level feature quantity as the arithmetic result to the square error arithmetic section 43.
At step S154, the square error arithmetic section 43 calculates the square error between the high-level feature quantity inputted from the high-level feature quantity arithmetic section 42 and the teacher data (true high-level feature quantity corresponding to the input data), and outputs it to the reject area extraction expression learning section 44. The square error of this arithmetic result becomes the precision (hereinafter referred to as feature extraction precision) of the high-level feature quantity extraction expression to be calculated in the high-level feature quantity arithmetic section 42.
At step S155, the control section 27 judges whether or not the content loop parameter L is smaller than the maximum value 1, and in the case where the content loop parameter L is smaller than the maximum value 1, the content loop parameter L is incremented by 1, and the processing is returned to step S153. On the other hand, in the case where the content loop parameter L is not smaller than the maximum value 1 (in the case where the content loop parameter L is equal to the maximum value 1), the processing exits from the content loop and proceeds to step S156. By the processing up to this point, the square error between the high-level feature quantity and the teacher data, obtained by the arithmetic operation, corresponding to each of the input data, is obtained.
At step S156, by the learning based on the low-level feature quantity inputted from the low-level feature quantity arithmetic section 41 and the square error inputted from the square error arithmetic section 43, the reject area extraction expression learning section 44 creates the reject area extraction expression in which the low-level feature quantity is inputted and the feature extraction precision of the high-level feature quantity calculated based thereon is outputted, and supplies the created reject area extraction expression to the feature quantity extraction precision arithmetic section 45. Here, the high-precision reject processing is ended, and the processing is advanced to step S142 of
At step S142, with respect to the input data of a music piece whose high-level feature quantity is desired to be obtained, the low-level feature quantity arithmetic section 41 substitutes the L-th input data into the final low-level feature quantity extraction expression list, calculates the low-level feature quantity, and outputs the arithmetic result to the high-level feature quantity arithmetic section 42 and the feature quantity extraction precision arithmetic section 45.
At step S143, the feature quantity extraction precision arithmetic section 45 substitutes the low-level feature quantity inputted from the low-level feature quantity arithmetic section 41 into the reject area extraction expression supplied from the reject area extraction expression learning section 44, and calculates the feature quantity extraction precision of the high-level feature quantity calculated based on the low-level feature quantity inputted from the low-level feature quantity arithmetic section 41 (that is, the square error estimated with respect to the high-level feature quantity calculated by the high-level feature quantity arithmetic section 42).
At step S144, the feature quantity extraction precision arithmetic section 45 judges whether or not the feature quantity extraction precision calculated in the processing of step S143 is a specified threshold or higher, and in the case where it is judged that the calculated feature quantity extraction precision is the specified threshold or higher, the processing proceeds to step S145, and the feature quantity extraction precision arithmetic section 45 causes the high-level feature quantity arithmetic section 42 to calculate the high-level feature quantity. The high-level feature quantity arithmetic section 42 substitutes the m kinds of low-level feature quantities inputted from the low-level feature quantity arithmetic section 41 in the processing of step S142 into the final high-level feature quantity extraction expression, and calculates the high-level feature quantity. The high-level feature quantity calculated here is outputted, and the high-precision high-level feature quantity arithmetic processing is ended.
Incidentally, at step S144, in the case where it is judged that the calculated feature quantity extraction precision is smaller than the specified threshold, step S145 is skipped, and the high-precision high-level feature quantity arithmetic processing is ended.
Accordingly, according to the high-precision high-level feature quantity arithmetic processing, the precision of the high-level feature quantity calculated through the high-level feature quantity extraction expression can be estimated. Besides, since the high-level feature quantity in which the high precision can not be expected is not calculated, it becomes possible to omit a wasteful arithmetic operation.
As described above, according to the feature quantity extraction algorithm learning processing by the feature quantity extraction algorithm creation apparatus 20 to which the invention is applied, the algorithm capable of extracting the corresponding feature quantity from the music piece data can be created at high precision and quickly, and further, only the high-precision high-level feature quantity can be acquired with a small amount of arithmetic operation.
Incidentally, the invention can be applied not only to a case where a high-level feature quantity of a music piece is acquired, but also to a case where a high-level feature quantity of any kind of content data such as video data is acquired.
Although the foregoing series of processings can be executed by hardware, they can also be executed by software. In the case where the series of processings are executed by the software, a program configuring the software is installed from a recording medium into a computer incorporated in dedicated hardware, or for example, a general-purpose personal computer on which various programs are installed so that various functions can be executed.
This personal computer 100 includes a CPU (Central Processing Unit) 101. The CPU 101 is connected with an input/output interface 105 through a bus 104. The bus 104 is connected with a ROM (Read Only Memory) 102 and a RAM (Random Access Memory) 103.
The input/output interface 105 is connected with an input section 106 including an input device, such as a keyboard or a mouse, by which the user inputs an operation command, an output section 107 including a display, such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display), to display an operation screen and the like, a storage section 108 including a hard disk drive or the like to store programs and various data, and a communication section 109 which includes a modem, a LAN (Local Area Network) adapter or the like and executes communication processing through a network typified by the Internet. Besides, a drive 110 is connected which writes/reads data to/from a recording medium 111 such as a magnetic disk (including a flexible disk), an optical disk (including CD-ROM (Compact Disc-Read Only Memory) and DVD (Digital Versatile Disc)), a magneto-optical disc (including MD (Mini Disc)), or a semiconductor memory.
The program to cause the personal computer 100 to execute the series of processings is stored in the recording medium 111 and is supplied to the personal computer 100, is read by the drive 110, and is installed on the hard disk drive incorporated in the storage section 108. The program installed on the storage section 108 is loaded therefrom to the RAM 103 and is executed by the instruction of the CPU 101 corresponding to the command from the user inputted to the input section 106.
Incidentally, in the specification, the steps executed based on the program naturally include the processings performed in time series in accordance with the recited sequence, and further include processings which are not necessarily performed in time series but are performed in parallel or individually.
Besides, the program may be processed by one computer or may be subjected to distributed processing by plural computers. Further, the program may be transferred to a remote computer and executed.
Besides, in the specification, the system indicates the whole apparatus including plural devices.
Incidentally, the embodiments of the invention are not limited to the foregoing embodiments, but can be variously modified in the scope not departing from the gist of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2005-310408 | Oct 2005 | JP | national |
The present invention contains subject matter related to Japanese Patent Application JP 2005-310408 filed in the Japanese Patent Office on Oct. 25, 2005, the entire contents of which being incorporated herein by reference.