WO2021145213A1 - 情報処理装置、および情報処理方法、並びにプログラム - Google Patents

情報処理装置、および情報処理方法、並びにプログラム Download PDF

Info

Publication number
WO2021145213A1
WO2021145213A1 PCT/JP2020/049097 JP2020049097W WO2021145213A1 WO 2021145213 A1 WO2021145213 A1 WO 2021145213A1 JP 2020049097 W JP2020049097 W JP 2020049097W WO 2021145213 A1 WO2021145213 A1 WO 2021145213A1
Authority
WO
WIPO (PCT)
Prior art keywords
likelihood
content
latent variable
loss function
information processing
Prior art date
Application number
PCT/JP2020/049097
Other languages
English (en)
French (fr)
Inventor
健人 赤間
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to US17/785,051 priority Critical patent/US20230005459A1/en
Priority to EP20913334.7A priority patent/EP4092666A4/en
Priority to JP2021571135A priority patent/JPWO2021145213A1/ja
Priority to CN202080090977.0A priority patent/CN114868138A/zh
Publication of WO2021145213A1 publication Critical patent/WO2021145213A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G1/00Means for the representation of music
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/131Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Definitions

  • the present disclosure relates to an information processing device, an information processing method, and a program, and in particular, an information processing device and an information processing method capable of adjusting the mediocrity and eccentricity of automatically generated contents while satisfying reality. And about the program.
  • Information processing using machine learning is used in various technical fields. For example, a technique for automatically generating new content has been proposed by learning the characteristics of content (images, music, etc.) using a neural network that imitates the mechanism of the cranial nerve system.
  • the language feature amount calculated from the lyrics data representing the lyrics of each song and the attribute data representing the attributes of the song By learning the language feature amount calculated from the lyrics data representing the lyrics of each song and the attribute data representing the attributes of the song by this technology, if new lyrics data is given, it will be adjusted to the new lyrics data.
  • the song can be automatically generated.
  • Patent Document 1 only generates a melody or chord according to the lyrics, and the generated music may be too mediocre or too eccentric.
  • the generated music is mediocre, it may be uninteresting, if it is eccentric, there is a risk that the tastes will be separated, and if it is too eccentric, it will not be recognized as a music, and it lacks reality as a music. There is also a risk of becoming.
  • This disclosure was made in view of such a situation, and in particular, it makes it possible to adjust the mediocrity and eccentricity of automatically generated content while satisfying reality.
  • the information processing apparatus and program of one aspect of the present disclosure include an encoder that encodes an input content composed of a series of data and converts it into a latent variable, a decoder that decodes the latent variable and reconstructs the output content, and the above.
  • the loss function calculation unit that calculates the loss function based on the likelihood of the input content, the gradient of the loss function is lowered, the latent variable is updated, and the updated latent variable is decoded by the decoder to output the output content.
  • An information processing device and a program including a control unit for reconstructing the above.
  • the information processing method of one aspect of the present disclosure is an information processing method of an information processing apparatus including an encoder, a decoder, a loss function calculation unit, and a control unit, wherein the encoder encodes an input content composed of a series of data.
  • the decoder decodes the latent variable and reconstructs the output content, and the loss function calculation unit calculates the loss function based on the likelihood of the input content.
  • the control unit is an information processing method including a step of lowering the gradient of the loss function, updating the latent variable, decoding the updated latent variable by the decoder, and reconstructing the output content.
  • an input content consisting of a sequence of data is encoded and converted into a latent variable, the latent variable is decoded and the output content is reconstructed, and a loss is based on the likelihood of the input content.
  • the function is calculated, the gradient of the loss function is lowered, the latent variable is updated, the updated latent variable is decoded by the decoder, and the output content is reconstructed.
  • the creator's dissatisfaction with the generated content here is that he is satisfied with a specific part of the content generated under certain conditions, but is not satisfied with a part different from the specific part. many.
  • the creator will automatically generate the content repeatedly while changing the conditions until the content that is totally satisfactory is generated, but the content that is totally satisfactory is not automatically generated. It is rare.
  • the preference of the generated content changes depending on the purpose of use of the generated content and the target person who sees or hears the content.
  • the taste of the generated content needs to be adjustable.
  • the middle between the mediocrity and the eccentricity of the generated content is adjusted by using the likelihood.
  • the likelihood is the probability that sample content will be obtained.
  • the probability that the automatically generated music is a collected sample music is used as the likelihood.
  • the high likelihood of the generated music means that the generated music is a music close to the music collected as a sample, and is a familiar music, that is, a mediocre music (a music having a high mediocrity). ) Indicates that there is a high possibility.
  • the low likelihood of the generated music means that the generated music is a music that is far from the music collected as a sample, and there is a possibility that the generated music is a strange music (a music with a high degree of novelty). Indicates high.
  • the likelihood of automatically generated content by adjusting the likelihood of automatically generated content, the content with high likelihood is adjusted to generate highly mediocre content.
  • the content with low likelihood by adjusting so as to generate the content with low likelihood, the content with high eccentricity is generated.
  • naturalness is defined as an expression indicating an intermediate degree between the mediocrity and the eccentricity of the automatically generated content.
  • the naturalness of the content is adjusted as an intermediate degree between mediocre and eccentricity by adjusting the likelihood to suit the taste of the target person of the automatically generated content. I can say.
  • the likelihood when the naturalness is adjusted, the reality is lowered as the eccentricity of the generated content is increased, that is, as the likelihood is adjusted to be lowered.
  • Reality here is the likelihood of expressing the possibility (probability) that the generated content is human-generated content.
  • the decrease in reality means that the generated music contains dissonances that humans do not generate, and rhythms and scale changes that are difficult for humans to recognize as music. To say.
  • the naturalness which is intermediate between mediocrity and eccentricity, is adjusted by using Likelihood Exploration, and the input content is gradually changed by the user. Automatically generates content by changing to the desired content.
  • the content can be automatically generated while satisfying the reality and adjusting the naturalness, which is between the mediocrity and the eccentricity, by using the likelihood search.
  • the information processing device 31 automatically generates music as content, but it is automatically generated as various content other than music, such as images and sentences. The same applies to the case.
  • the information processing device 31 includes a communication unit 51, a control unit 52, and a storage unit 53.
  • the information processing device 31 receives various operations from an administrator or the like who manages the information processing device 31, and presents various information together with a keyboard, a mouse, or the like, for example, an input / output unit 32 including a liquid crystal display or the like. I have.
  • the communication unit 51 is realized by, for example, a NIC (Network Interface Card) or the like.
  • the communication unit 51 is connected to a network including the Internet or the like by wire or wirelessly, and transmits / receives information to / from other devices via the network.
  • the control unit 52 is composed of a memory and a processor, and controls the entire operation of the information processing device 31.
  • control unit 52 includes a learning unit 71, an optimization unit 72, and a generation unit 73.
  • the learning unit 71 learns VAE (Variational Auto Encoder) by using the encoder 91 and the decoder 92 stored in the model storage unit 81 in the storage unit 53, which will be described later, as samples in the music DB 82. And configure it as a trained model.
  • VAE Variational Auto Encoder
  • the optimization unit 72 is controlled by the learning unit 71, and when the encoder 91 and the decoder 92 repeat learning using the music data stored as a sample in the music DB 82, the reconstruction error is minimized. , The parameters of the encoder 91 and the decoder 92 are adjusted and optimized so that the posterior distribution is regularized by the prior distribution (normal distribution).
  • the generation unit 73 controls the encoder 91, the decoder 92, and the loss function calculation unit 93 stored in the model storage unit 81 of the storage unit 53 to obtain the mediocre content (musical piece) input by the likelihood search.
  • Content (music) is generated (automatically generated) by adjusting the naturalness of the content, which is in the middle of eccentricity, and converting it into the content (music) desired by the user. The details of the automatic generation of the content by the generation unit 73 will be described later with reference to FIG.
  • the storage unit 53 is realized by, for example, a semiconductor memory element such as a RAM (RandomAccessMemory) or a flash memory (FlashMemory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 53 includes a model storage unit 81 and a music DB (Database) 82.
  • the model storage unit 81 stores a learned model that has been learned in advance.
  • the model storage unit 81 includes an encoder 91 that extracts a latent variable that is a feature quantity from the content, a decoder 92 that reconstructs the content based on the latent variable, and the likelihood of the content as input data and the user's desire. It has a loss function calculation unit 93 for calculating a loss function which is a difference from the likelihood.
  • the music DB 82 stores data related to the content (music) as a sample input to the model.
  • the music DB 82 also stores the content to be generated (automatically generated) by the generation unit 73 by controlling the encoder 91 and the decoder 92.
  • the generation unit 73 controls the encoder 91 and the decoder 92 that have been learned in advance, encodes the content (musical piece) X (init) that is the input data by the encoder 91, and causes the latent variable Zinit to be obtained. Then, the generation unit 73 generates the content (musical piece) X (init)'as the output data by reconstructing it by the decoder 92 based on the obtained latent variable Zinit.
  • the encoder 91 encodes a content (musical piece) X (init) composed of a series such as partial data composed of a plurality of measures or the like. It is converted into a latent variable Zinit as a feature quantity consisting of a vector or the like having a smaller number of dimensions than the content (musical piece) X.
  • the decoder 92 decodes each of them based on the latent variable Zinit, which is the feature amount of the content, and returns the original dimension to a series such as partial data consisting of measures. It is reconstructed and restored as a content (music) X (init)'composed of.
  • the encoder 91 and the decoder 92 are controlled by the learning unit 71, and unsupervised learning is performed by VAE in advance, and the encoder 91 encodes the content (music) Xinit which is the input data and converts it into the latent variable Zinit.
  • the decoder 92 is configured so that it can be reconstructed as content (music) X (init)'based on the latent variable Zinit. That is, since the encoder 91 and the decoder 92 have been learned, the content X (init) and the content X (init)'are substantially the same.
  • the generation unit 73 When the generation unit 73 receives the likelihood information indicating the degree of naturalness between the mediocrity and the eccentricity desired by the creator of the content (music), the generation unit 73 controls the loss function calculation unit 93 to control the decoder 92. The difference between the likelihood of the content (music) X (init)'reconstructed by the above and the likelihood desired by the creator is calculated as the loss function LLE.
  • the generation unit 73 sets the latent variable Zi (i is the loss function LLE) so that the obtained loss function LLE is gradually lowered by a predetermined value ⁇ , that is, the loss function LLE is gradually reduced.
  • the content (musical piece) X (i)'with the likelihood desired by the creator is generated stepwise.
  • the loss function LLE is, for example, desired as the content X (init)'reconstructed by the latent variable Zinit obtained from the content X (init) which is the input data, as shown by the following equation (1). It is a function showing the difference in likelihood from the content of the likelihood, and is composed of a function F1 that constitutes a term related to the difference in the likelihood of the content and a function F2 that constitutes a term related to the likelihood of the reality of the content. NS.
  • LLE is a loss function
  • F1 is a function that constitutes a term related to the likelihood of content
  • F2 is a function that constitutes a term related to the likelihood of reality
  • is a predetermined function. It is a coefficient and can be set arbitrarily.
  • the loss function calculation unit 93 includes a likelihood evaluator 101 and a reality evaluator 102, and includes a term relating to the likelihood of the content based on the likelihood calculated by the likelihood evaluator 101.
  • the function F1 that constitutes the function is calculated, and the function F2 that constitutes the term related to the likelihood of the reality is calculated based on the likelihood of the reality of the content calculated by the reality evaluator 102.
  • the likelihood evaluator 101 learns and reconstructs the content (music) based on the series generation model (language generation model) by learning and reconstructing the log-likelihood by, for example, RNN or Transformer as an architecture so as to maximize the log-likelihood.
  • the likelihood of X' is calculated as the log-likelihood.
  • the likelihood of the reconstructed content X' is the probability that the reconstructed content X'is a music registered as a sample in the music DB 82.
  • the reconstructed content (musical piece) X' is a series data X'(X1', X2', ... Xn') such as partial data X1', X2', ... Xn').
  • the likelihood of the content X' is expressed as the product of the probabilities of each of the partial data.
  • P (X') P (X1'
  • P (X') is the likelihood (probability) of the content (musical piece) X'.
  • Start, X1', X2', ... X (n-1)') has an initial value of Start, and partial data are sequentially X1', X2', ... X. It is the conditional probability (likelihood) of the partial data Xn'when it is (n-1)'.
  • the likelihood evaluator 101 logarithmizes the likelihood P (X') of the content (musical piece) X'obtained in this way and outputs it as a log-likelihood EL (X').
  • the reality evaluator 102 includes a series of contents labeled with a real class consisting of contents generated by a human being as an input, and a series labeled with a fake class not generated by a human being. It is learned in advance by, for example, RNN or Transformer as an architecture so that the log-likelihood indicating reality is maximized based on the content consisting of.
  • the reality evaluator 102 obtains the reality likelihood of the content (musical piece) X (init)'as a function of the term related to the reality likelihood, and logarithmizes the reality log-likelihood to the reality ER (reality ER ( Obtained as X').
  • the likelihood indicating the probability that the reconstructed content (music) X'is the music data registered as a sample in the music DB 82 will be referred to as "likelihood”, and the likelihood of reality.
  • the degree is still the likelihood as a concept, but for the sake of distinction, it is also simply referred to as “reality”, but there is no change in the point that both are the likelihood.
  • the series content labeled with the real class is, for example, sample music data registered in the music DB 82, which is used for learning.
  • the latent variable Z obtained from the prior distribution by VAE related to the learning of the encoder 91 and the decoder 92 is determined by the decoder 92.
  • the music data F is reconstructed by being decoded.
  • the reality evaluator 102 includes a group of contents R composed of a series labeled with a real class generated as shown in FIG. 4 and a content F composed of a series labeled with a fake class.
  • Reality ER (X (init)) is the log-likelihood, which is the log-likelihood of the probability that the learned and reconstructed content (music) X (init)'is the content generated by humans based on the group. )').
  • the loss function calculation unit 93 includes the likelihood (log-likelihood) EL (X (init)') of the reconstructed content X'calculated by the likelihood evaluator 101 and the recalculation calculated by the reality evaluator 102.
  • the loss function LLEinit represented by the above equation (1) is calculated from the reality (log-likelihood) ER (X (init)') as the probability that the constructed content X'is human-generated content. do.
  • the loss function calculation unit 93 calculates the term related to the likelihood of the reconstructed content X', which is the function F1 of the equation (1), as shown by the following equation (3). ..
  • F1 is a function indicating the term related to the likelihood of the reconstructed content X (init)'in the equation (1)
  • EL (X (init)') is determined by the likelihood evaluator 101. It is the log-likelihood of the obtained reconstructed content X (init)', and ⁇ ⁇ ELinit is the reference-likelihood.
  • the reference likelihood ⁇ ⁇ ELinit is a value that sets the likelihood desired by the creator who intends to automatically generate the content, that is, a value that serves as a guideline for the likelihood that is finally obtained, and has a coefficient ⁇ . It is expressed as the product of the initial value ELinit (predetermined fixed value) of the likelihood.
  • the reference likelihood is set to be larger than the initial value ELinit of the likelihood.
  • Set the coefficient ⁇ to a value greater than 1.
  • the coefficient ⁇ may be set to a specific value larger than 1, for example, 1.2 or 1.5. good.
  • the coefficient ⁇ is set to a value smaller than 1 in order to set the reference likelihood to be smaller than the initial value ELinit of the log-likelihood EL. .. Further, when there is no specific desired likelihood and it is desired to simply reduce the likelihood, the coefficient ⁇ is set to a specific value smaller than 1, for example, 0.8 or 0.5. May be good.
  • the loss function calculation unit 93 substitutes the log-likelihood ER (X (init)') of the reality of the reconstructed content X (init)' into the function F2 of the above-mentioned equation (1) for calculation. ..
  • the loss function calculation unit 93 calculates the loss function LLE as shown by the following equation (4).
  • the loss function calculation unit 93 makes the decoder 92 differentiable by using, for example, Gumbel Softmax so that the decoder 92 can receive the evaluation signals from the likelihood evaluator 101 and the reality evaluator 102.
  • the generation unit 73 reconstructs the content X (i) so that the loss function LLE becomes small, so that the content with the likelihood desired by the creator is generated.
  • the generation unit 73 raises the reality ER and brings the likelihood EL closer to the reference likelihood, thereby causing the loss function LEE. Reconstruct the content so that
  • the generation unit 73 changes the latent variable Zi so that the loss function is gradually reduced by a predetermined value ⁇ based on the loss function LLE described above, and the changed latent variable Zi is converted into the decoder 92. By decoding with, new contents X'(i) are sequentially generated.
  • a latent variable Z obtained based on various input contents is defined as a latent variable space expressed in a two-dimensional space, and each latent variable Z is defined in the latent variable space.
  • the latent variable Z is composed of more dimensions and is a latent variable. Space is similarly represented in more dimensions.
  • the distribution of the latent variable Z represented in two dimensions is represented by a cross, and the likelihood when the content is reconstructed using each latent variable Z is determined. It is concentrically shown by solid lines L1 to L5, and has a distribution in which the likelihood decreases toward the outside of the paper. That is, the likelihood represented by the solid lines L1 to L5 is assumed to be L1> L2> L3> L4> L5 in the figure.
  • the distribution of the likelihood in the latent variable space of FIG. 5 is an example.
  • the upper part of the figure from the dotted line R1 is a non-real area in which the reality is lower than a predetermined threshold value and the reconstructed content is difficult to be recognized as being generated by a human being.
  • the region below the dotted line R1 is considered to be "real" in which the reality is higher than a predetermined threshold value and the reconstructed content is recognized as being generated by a human being. It shall be an area.
  • the reality in the latent variable space of FIG. 5 should be displayed as a plurality of contour lines as well as the likelihood, but here, a predetermined threshold value that is a boundary between the real region and the non-real region. It is assumed that only the dotted line R1 which is the distribution of is displayed.
  • the latent variable generated by encoding the content Xa which is the input data by the encoder 91 is represented by the position Za in the latent variable space of FIG.
  • the generation unit 73 heads toward the solid line L4 in the vector VL direction perpendicular to the solid line L2, which is a contour line representing the level of likelihood in the latent variable space of FIG.
  • the latent variables existing at close positions are similar latent variables, so that the potential level is on the closest solid line L4 when viewed from the position Za where the likelihood level is on the solid line L2.
  • the latent variable obtained at the position Zx is considered to be the latent variable of the likelihood represented by the solid line L4, which is the most similar to the latent variable at the current position Za.
  • the region in which the latent variable Za exists is a non-real region, so the latent variable is obtained by moving the position in the latent variable space in consideration of only the likelihood.
  • the content decoded and reconstructed by the decoder 92 has low reality even if the likelihood is satisfied, and there is a possibility that the content cannot be recognized as human-generated content even if the target person sees or hears it.
  • the generation unit 73 sets the vector VR of the reality with respect to the direction closest to the dotted line R1 at the position Za in the latent variable space, and is synthesized by the vector VL and the vector VR.
  • the latent variable is obtained by moving to the position Zb where the gradient of the degree is lowered, and the new content is reconstructed by decoding with the decoder 92.
  • the generation unit 73 sequentially changes the latent variables obtained by changing the positions Zb, Zc, Zd, Ze, and Zf in order from the position Za in the latent variable space to the decoder 92. Output, decode, and generate new content.
  • the content Xb generated by decoding the latent variable of the position Zb in the latent variable space in FIG. 7 by the decoder 92 has a lower likelihood than the content Xa, and the reality is improved to be real. It approaches the dotted line R1 which is the boundary with the region.
  • the content Xc generated by decoding the latent variable of the position Zc by the decoder 92 has a lower likelihood than the content Xb, and the reality is further improved to further approach the dotted line R1.
  • the content Xd generated by decoding the latent variable at the position Zd by the decoder 92 has a higher likelihood than the content Xc and further improved reality, so that the content Xd exceeds the dotted line R1. , By entering the real area, it becomes a sufficient state as reality.
  • the content Xe generated by decoding the latent variable of the position Ze by the decoder 92 has a lower likelihood than the content Xd, and the content Xd is already sufficient as a reality, so that the likelihood is shown. It is moved in a direction close to the vertical direction with respect to the solid line L3 which is a contour line.
  • the content Xf generated by decoding the latent variable at the position Zf by the decoder 92 has a lower likelihood than the content Xe, and the content Xd is already sufficient as a reality, so that the likelihood is shown. It is moved in a direction substantially perpendicular to the solid line L3, which is a contour line.
  • the process of changing the latent variable and decoding it so that the likelihood in the loss function LLE is gradually reduced while improving the reality is performed.
  • the content, which is the input data can be gradually approached to the likelihood desired by the creator while improving the reality.
  • the latent variable is set so as to reach the desired likelihood at one time instead of the stepwise process. You may change it.
  • step S11 the generation unit 73 initializes the counter i to 1.
  • step S12 the generation unit 73 sets the reference likelihood. More specifically, the generation unit 73, for example, accepts the value of the coefficient ⁇ in the above-mentioned equation (4), sets a specific reference likelihood value, or wants to increase or decrease the likelihood.
  • the reference likelihood is set by accepting the input of information and setting the coefficient ⁇ to a predetermined value.
  • step S13 the generation unit 73 receives the input of the content X (init) which is the input data.
  • step S14 the generation unit 73 controls the encoder 91 to encode the partial data Xint and convert it into the latent variable Zinit.
  • step S15 the generation unit 73 controls the decoder 92 to decode the latent variable Zinit and reconstruct the content X (init)'.
  • step S16 the generation unit 73 controls the loss function calculation unit 93 and uses the above-mentioned equation (4) to obtain the likelihood of the content X (init)'and the likelihood desired by the creator. Let the loss function LLEinit be calculated based on the difference.
  • step S17 the generation unit 73 obtains the loss function LLEi, which is the loss function LLEinit lowered by a predetermined value ⁇ .
  • step S18 as described with reference to FIG. 5, the generation unit 73 changes the position of the latent variable Zinit in the latent variable space so as to change the loss function LLEinit to the loss function LLEi which is lowered by a predetermined value ⁇ . While maintaining the reality, it is moved while lowering the likelihood, and the latent variable Zi corresponding to the position in the new latent variable space is obtained and updated.
  • step S19 the generation unit 73 controls the decoder 92 to decode the latent variable Zi and reconstruct the content X (i)'.
  • step S20 the generation unit 73 stores the reconstructed content X (i)'in the music DB 82 of the storage unit 53.
  • step S21 the generation unit 73 increments the counter i by 1.
  • step S22 the generation unit 73 determines whether or not the counter i has the maximum value imax, and if it is not the maximum value imax, the process proceeds to step S23.
  • step S18 the generation unit 73 is a latent variable in the latent variable space so as to correspond to the change of the loss function LLEi updated by dropping by a predetermined value ⁇ .
  • the position of Zi is moved and updated, and a new latent variable Zi is obtained and updated.
  • steps S18 to S23 are repeated until the counter i reaches the maximum value imax, and the latent variable Zi is updated while the loss function LLEi is sequentially lowered by a predetermined value ⁇ , and the updated latent variable Zi is changed.
  • the newly reconstructed content Xi changes in sequence so as to gradually approach the likelihood desired by the creator while satisfying the reality. ..
  • step S22 determines whether the counter i has reached the maximum value imax. If it is determined in step S22 that the counter i has reached the maximum value imax, the process proceeds to step S24.
  • the latent variable Zinit is temporarily used for the process of obtaining the loss function LLEint, which is the difference between the likelihood of the content X (init) which is the input data and the likelihood desired by the creator.
  • the decoder 92 decodes the content X (init)'and then calculates it.
  • the latent variable Zinit is not changed, so the content Xinit and the content Xinit'are substantially the same. Will be.
  • the initial loss function LLEinit may be obtained directly from the content Xinit which is the input data.
  • the process of sequentially changing the latent variable Zi while gradually lowering the loss function LLEint by a predetermined value ⁇ and repeatedly reconstructing the content X (i)' is repeated until the counter i reaches imax.
  • the processing may be terminated when the loss function LLEi cannot be reduced any more.
  • the likelihood if the likelihood can be increased and simply mediocre, it may be set larger, and the likelihood may be decreased. , In the case where it is only necessary to make it eccentric, it is sufficient if it can be set small.
  • the function F1 may be used properly as shown in equation (5) depending on whether it is desired to be eccentric or mediocre. Further, regarding the equation (5), when the likelihood EL (X (init)) of the content X (init) is to be eccentric by reducing the likelihood, it is used by multiplying it by a positive coefficient. If you want to increase the likelihood and make it mediocre, you may use it by multiplying it by a negative coefficient.
  • Second Embodiment >>
  • the content X (init) to be the input data is encoded and converted into the latent variable Zinit, and then the latent variable Zinit is decoded to obtain the content X (init)'and the content X (init)'.
  • the loss function LLEinit which is the difference between the likelihood of and the desired likelihood, was obtained, and the latent variable Zi was updated stepwise while updating the loss function LLEi by lowering it by a predetermined value ⁇ .
  • the reconstructed content X (i)' may be completely different from the content X (init) which is the input data. ..
  • the part that the creator likes is set so as not to change as the context, and only the other part is a likelihood search that is in the middle of mediocre and eccentricity. It may be possible to adjust by.
  • the likelihood search performed with the part that is not changed as the context is also referred to as the Contextual Likelihood Exploration.
  • the generation unit 73 accepts input for the information of the part that does not want to be changed as the creator's intention for the content X (init) that is the input data as shown in FIG. 7, and does not want to give the change. Set the part as the context.
  • the part that the creator likes and does not want to change is set as the contexts C1 and C2, and the part other than the contexts C1 and C2 is desired to be changed. Is set in the partial data Y (init).
  • FIG. 7 shows an example in which the contexts C1 and C2 are set before and after the partial data Y (init) to which the change is desired, but the position where the context is set may be other than this. There may be two or more places.
  • the generation unit 73 controls the encoder 91 to encode only the partial data Y (init), which is the part to be changed, and convert it into the latent variable Zinit.
  • the generation unit 73 controls the decoder 92 to reconstruct the partial data Y (init)'based on the latent variable Zinit.
  • the generation unit 73 integrates the reconstructed partial data Y (init) and the contexts C1 and C2 to reconstruct the content X (init)'.
  • the generation unit 73 causes the generation unit 73 to calculate the loss function LCLEinit, which is the difference between the likelihood of the content X (init)'and the likelihood desired by the creator, and causes the predetermined value ⁇ . It is lowered little by little, the loss function LCLEi is updated, the corresponding latent variable Zi is updated, the decoder 92 is controlled and decoded, the partial data Y (i)'is reconstructed, and further integrated with the contexts C1 and C2. Then, the process of reconstructing the context X (i)'is repeated.
  • LCLEinit is the difference between the likelihood of the content X (init)'and the likelihood desired by the creator
  • the reality evaluator 102 uses only the partial data V other than the contexts C11 and C12 in the human-generated content R, and the VAE related to the learning of the encoder 91 and the decoder 92.
  • the latent variable Z'in which noise is added to the latent variable Z obtained from the prior distribution according to the above is reconstructed by being decoded by the decoder 92, and the contexts C11 and C12 are added to the partial data V'. Learning is performed using the configured content F.
  • the reality evaluator 102 sets the content R composed of the contexts C11 and C12 shown in FIG. 7 and the partial data V as the content composed of the series labeled with the real class.
  • Content F that has been reconstructed by adding contexts C11 and C12 to the reconstructed partial data V'is learned and reconstructed as content consisting of a series labeled with the fake class (music).
  • the log-likelihood which is the log-likelihood of the probability that X'is human-generated content, is calculated as the reality ER (X').
  • step S51 the generation unit 73 initializes the counter i to 1.
  • step S52 the generation unit 73 accepts the setting of the reference likelihood.
  • step S53 the generation unit 73 receives the input of the content X (init) which is the input data.
  • step S54 the generation unit 73 receives information on a part that becomes a context, which is a part that the creator does not want to change with respect to the content X (init).
  • step S55 the generation unit 73 generates partial data Y (init) from which the context portion is removed from the content X (init).
  • step S56 the generation unit 73 controls the encoder 91 to encode the partial data Y (init) and convert it into the latent variable Zinit.
  • step S57 the generation unit 73 controls the decoder 92 to decode the latent variable Zinit and reconstruct the partial data Y (init)'.
  • step S58 the generation unit 73 integrates the partial data Y (init)'and the context to reconstruct the context X (init)'.
  • step S59 the generation unit 73 controls the loss function calculation unit 93 to calculate the loss function LCLeinit of the content X (init)'using the above equation (4).
  • the loss function LLEinit when the context is set and the loss function LLEinit when the context is not set are given different symbols, but the structure of the expression is described in the expression (4). ), which is the same.
  • step S60 the generation unit 73 obtains the loss function LCLEi in which the loss function LCLEinit is lowered by a predetermined value ⁇ . Further, the loss function LLEi is basically the same as the loss function LLEi.
  • step S61 when the loss function LCLEinit is changed to the loss function LCLEi which is lowered by a predetermined value ⁇ , the generation unit 73 moves the position of the latent variable Zinit in the corresponding latent variable space to obtain the latent variable Zi. Update.
  • step S62 the generation unit 73 controls the decoder 92 to decode the latent variable Zi and reconstruct the partial data Y (i)'.
  • step S63 the generation unit 73 integrates the partial data Y (i)'and the context to reconstruct the content X (i)'.
  • step S64 the generation unit 73 stores the reconstructed content X (i)'in the music DB 82 of the storage unit 53.
  • step S65 the generation unit 73 increments the counter i by 1.
  • step S66 the generation unit 73 determines whether or not the counter i has the maximum value imax, and if it is not the maximum value imax, the process proceeds to step S67.
  • steps S61 to S67 are repeated until the counter i reaches the maximum value imax, the loss function LLEi is sequentially lowered by a predetermined value ⁇ , and the latent variable Zi is correspondingly changed and decoded.
  • New partial data Y (i)' is generated, and the content X (i)' is repeatedly reconstructed by being integrated with the context, thereby gradually achieving the likelihood desired by the creator while satisfying the reality.
  • the newly reconstructed content Xi changes in sequence as it approaches.
  • the likelihood gradually approaches the creator's desire while satisfying the reality while retaining the part that the creator likes.
  • the newly reconstructed content Xi changes in sequence.
  • step S66 determines whether the counter i has reached the maximum value imax. If it is determined in step S66 that the counter i has reached the maximum value imax, the process proceeds to step S68.
  • the content X (i) which is the input data, is changed to the likelihood intended by the creator while satisfying the reality while retaining the part set as the context (Contextual).
  • LikelihoodExploration makes it possible to generate content X (i)'in stages.
  • the content is automatically generated while retaining the favorite part of the content and adjusting the naturalness between mediocrity and eccentricity only for the other parts. It becomes possible to make it.
  • Modification 1 >> In the above, as for the likelihood and reality, one is obtained for the entire content and an example in which the loss function is calculated has been described. However, since the content is a series consisting of a plurality of elements, the likelihood for each element is likely. The degree can also be decomposed and constructed, and a series consisting of the likelihoods of each element can be constructed.
  • a series consisting of the likelihoods of each element constituting this content is called a likelihood series (information flow).
  • the content Xinit is composed of elements X1, X2, ... Xn which are a series in the time direction, as shown in the left part of FIG.
  • the reference likelihood is set for each element X1, X2, ... Xn, and the sum of squares of the differences between the likelihood EL (Xi) of each element and the reference likelihood.
  • EL (X (i)') is the likelihood of element Xi
  • ⁇ i is a coefficient of each element.
  • ELinit is the initial value of the likelihood.
  • the function F1 is expressed as the sum of squares of the differences between the likelihood EL (Xi) of each element and the reference likelihood ⁇ i ⁇ ELinit.
  • the likelihood series for each element can be said to be, in other words, a change in the likelihood in the time direction, that is, a change in the surprise level in the time direction.
  • the likelihood is a peak or a valley, indicating a surprising change.
  • the surprise level is such that a small surprise occurs after a large surprise, and a large surprise occurs after a small surprise.
  • the element having the minimum configuration in the time direction is assumed, but a cluster composed of a plurality of elements is formed and the cluster unit.
  • a correlation with the reference likelihood may be used instead of the square error as described with reference to the equation (6).
  • statistics such as variance for the elements of the likelihood series (information flow) may be used.
  • the reality is generated by the same series generation model as the likelihood evaluator 101 instead of the reality evaluator 102, and is substantially the same.
  • the likelihood EL itself may be used as the reality ER by providing the evaluator 102'.
  • the loss function is expressed as the following equation (7).
  • CEL (X (init)') is the conditional likelihood of the content X (init)'
  • ⁇ ⁇ ELinit is the reference likelihood
  • EL (X (init)') is the content X. (Init)'likelihood.
  • conditional likelihood represents "surprise” because it is the likelihood of the partial data of the content X (init)'that changes according to the likelihood
  • reference likelihood is relative to the conditional likelihood.
  • the reality evaluator 102' functions substantially as the likelihood evaluator 101, the same series generation model is used for both the likelihood evaluator 101'and the reality evaluator 102'. Therefore, it is possible to consolidate the configuration into only one of them and simplify the configuration.
  • conditional likelihood CEL (X (init)') is used for the function F1
  • likelihood EL (X (init)') is used as the reality ER (X (init)') for the function F2.
  • the conditional likelihood CEL (X (init)') may be used for the function F1
  • the reality ER (X (init)') may be used for the function F2.
  • the likelihood EL (X (init)') is used instead of the reality ER (X (init)') of the function F2 in the above-mentioned equations (3), (5), and (6). It may be.
  • FIG. 12 shows a configuration example of a general-purpose computer.
  • This personal computer has a built-in CPU (Central Processing Unit) 1001.
  • the input / output interface 1005 is connected to the CPU 1001 via the bus 1004.
  • a ROM (Read Only Memory) 1002 and a RAM (Random Access Memory) 1003 are connected to the bus 1004.
  • the input / output interface 1005 includes an input unit 1006 composed of input devices such as a keyboard and a mouse for which the user inputs operation commands, an output unit 1007 for outputting a processing operation screen and an image of the processing result to a display device, a program, and various data.
  • a storage unit 1008 consisting of a hard disk drive or the like for storing, a LAN (Local Area Network) adapter or the like, and a communication unit 1009 for executing communication processing via a network represented by the Internet are connected.
  • magnetic disks including flexible disks
  • optical disks including CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc)
  • optical magnetic disks including MD (Mini Disc)
  • a drive 1010 that reads and writes data to and from a removable storage medium 1011 such as a memory is connected.
  • the CPU 1001 is read from a program stored in the ROM 1002 or a removable storage medium 1011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, installed in the storage unit 1008, and loaded from the storage unit 1008 into the RAM 1003. Various processes are executed according to the program.
  • the RAM 1003 also appropriately stores data and the like necessary for the CPU 1001 to execute various processes.
  • the CPU 1001 loads the program stored in the storage unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004 and executes the above-described series. Is processed.
  • the program executed by the computer can be recorded and provided on the removable storage medium 1011 as a package medium or the like, for example. Programs can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be installed in the storage unit 1008 via the input / output interface 1005 by mounting the removable storage medium 1011 in the drive 1010. Further, the program can be received by the communication unit 1009 via a wired or wireless transmission medium and installed in the storage unit 1008. In addition, the program can be pre-installed in the ROM 1002 or the storage unit 1008.
  • the program executed by the computer may be a program that is processed in chronological order according to the order described in this specification, or may be a program that is processed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the CPU 1001 in FIG. 12 realizes the function of the control unit 52 in FIG. 2
  • the storage unit 1008 realizes the function of the storage unit 53 in FIG.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • the present disclosure can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
  • each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • An encoder that encodes input content consisting of a series of data and converts it into a latent variable.
  • a decoder that decodes the latent variables and reconstructs the output content
  • a loss function calculation unit that calculates a loss function based on the likelihood of the input content
  • An information processing device including a control unit that lowers the gradient of the loss function, updates the latent variable, decodes the updated latent variable by the decoder, and reconstructs the output content.
  • the encoder and the decoder are trained by VAE (Variational Auto Encoder) so that the posterior distribution is regularized by the prior distribution while minimizing the reconstruction error.
  • VAE Very Auto Encoder
  • the loss function calculation unit A likelihood evaluator that calculates the likelihood of the input content, and It is equipped with a reality evaluator that calculates the reality likelihood, which is the reality likelihood of the input content.
  • the information processing apparatus according to ⁇ 1>, wherein the loss function is calculated based on the likelihood that is the evaluation result of the likelihood evaluator and the reality likelihood that is the evaluation result of the reality evaluator.
  • the control unit descends the gradient of the loss function and updates the latent variable, when the reality likelihood is smaller than a predetermined value, the reality likelihood becomes large and the reality likelihood becomes large.
  • the information processing apparatus according to ⁇ 3>, wherein the gradient of the loss function is lowered, the latent variable is updated, and the updated latent variable is decoded by the decoder to reconstruct the output content.
  • the control unit sets the reality likelihood from a predetermined value based on the distribution of the likelihood for each latent variable in the latent variable space, which is the space of the latent variable, and the distribution of the reality likelihood. When is also small, the latent variable is updated and the updated latent variable is changed by lowering the gradient of the loss function and moving the position in the latent variable space so that the reality becomes large.
  • the information processing apparatus according to ⁇ 4>, wherein the output content is reconstructed by decoding with a decoder.
  • ⁇ 6> The information processing apparatus according to ⁇ 3>, wherein the likelihood evaluator is obtained by logarithmically calculating the likelihood consisting of the probability that the input content is the content registered as a sample in advance.
  • the likelihood evaluator is a likelihood obtained as the product of conditional probabilities for each series of data, which is the probability that the series of data constituting the input content is the content registered as a sample in advance.
  • the information processing apparatus according to ⁇ 6>, wherein a logarithmic degree is obtained as a likelihood.
  • the reality evaluator obtains the logarithmic likelihood of the reality consisting of the probability that the input content is human-generated content as the reality likelihood. ..
  • the loss function is composed of a first term based on the likelihood of the input content and a second term based on the reality likelihood.
  • the first term comprises the square of the difference between the likelihood of the input content and a predetermined likelihood obtained by multiplying a predetermined coefficient by a predetermined constant.
  • the predetermined coefficient is set to a value larger than 1 when the likelihood of the output content is increased and generalized, and when the likelihood of the output content is decreased and eccentric.
  • the information processing apparatus according to ⁇ 10> which is set to a value smaller than 1.
  • the information processing apparatus according to ⁇ 10>, wherein the predetermined constant is an initial value of the likelihood.
  • the predetermined constant is an initial value of the likelihood.
  • the first term when the likelihood is increased, the likelihood of the input content is given a positive coefficient, and when the likelihood is decreased, the likelihood of the input content is given a negative coefficient.
  • the information processing apparatus when the likelihood is increased, the likelihood of the input content is given a positive coefficient, and when the likelihood is decreased, the likelihood of the input content is given a negative coefficient.
  • the information processing apparatus according to ⁇ 9>.
  • the first term is from the sum of the squares of the differences between the likelihood of each element constituting the input content and the predetermined likelihood composed of the product of a predetermined coefficient and a constant for each element.
  • the information processing device according to ⁇ 9>.
  • the encoder encodes a portion of the input content other than the context as input partial data and converts it into a latent variable.
  • the decoder decodes the latent variable and reconstructs the output partial data.
  • the control unit lowers the gradient of the loss function, updates the latent variable, decodes the updated latent variable by the decoder to reconstruct the output partial data, and reconstructs the output partial data with the reconstructed output partial data.
  • the information processing apparatus according to ⁇ 3>, which integrates the context and reconstructs the output content.
  • ⁇ 16> The information processing apparatus according to ⁇ 15>, wherein the loss function calculation unit calculates the loss function based on a conditional likelihood which is the likelihood of input partial data other than the context in the input content. .. ⁇ 17>
  • the control unit gradually lowers the gradient of the loss function by a predetermined magnitude, updates the latent variable stepwise, repeatedly decodes the updated latent variable by the decoder, and performs a plurality of output contents.
  • the information processing apparatus according to any one of ⁇ 1> to ⁇ 17>.
  • the encoder encodes the input content consisting of a series of data and converts it into a latent variable.
  • the decoder decodes the latent variables and reconstructs the output content.
  • the loss function calculation unit calculates the loss function based on the likelihood of the input content.
  • An information processing method including a step of lowering the gradient of the loss function, updating the latent variable, decoding the updated latent variable by the decoder, and reconstructing the output content.
  • An encoder that encodes input content consisting of a series of data and converts it into a latent variable.
  • a decoder that decodes the latent variables and reconstructs the output content
  • a loss function calculation unit that calculates a loss function based on the likelihood of the input content
  • a program that lowers the gradient of the loss function, updates the latent variable, decodes the updated latent variable by the decoder, and functions the computer as a control unit for reconstructing the output content.
  • 31 information processing device 32 input / output device, 51 communication unit, 52 control unit, 53 storage unit, 71 learning unit, 72 optimization unit, 73 generation unit, 81 model storage unit, 82 music DB, 91 encoder, 92 decoder, 93 Loss function calculation unit, 101, 101'likelihood evaluator, 102, 102' reality evaluator

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • Error Detection And Correction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本開示は、自動生成されるコンテンツの平凡さや、奇抜さを、リアリティを満たしながら尤度探索により調整できるようにする情報処理装置、および情報処理方法、並びにプログラムに関する。 データの系列からなる入力コンテンツがエンコードされて潜在変数に変換され、潜在変数がデコードされて出力コンテンツが再構成され、入力系列となる入力コンテンツの尤度に基づいて、損失関数が計算され、損失関数の勾配が降下されて、潜在変数が更新されて、更新された潜在変数がデコードされて出力コンテンツが再構成される。コンテンツの自動生成装置に適用することができる。

Description

情報処理装置、および情報処理方法、並びにプログラム
 本開示は、情報処理装置、および情報処理方法、並びにプログラムに関し、特に、自動生成されるコンテンツの平凡さや、奇抜さを、リアリティを満たしながら調整できるようにした情報処理装置、および情報処理方法、並びにプログラムに関する。
 様々な技術分野において、機械学習を利用した情報処理が活用されている。例えば、脳神経系の仕組みを模したニューラルネットワークを利用してコンテンツ(画像や音楽等)の特徴を学習することで、新たなコンテンツの自動生成する技術が提案されている。
 例えば、既存の曲の特徴を学習することにより、ユーザが歌詞以外のパラメータを入力せずとも、歌詞に合った適切な曲を自動的に作曲することを可能とする技術が提案されている(特許文献1参照)。
 この技術により、各曲の歌詞を表す歌詞データから算出される言語特徴量と当該曲の属性を表す属性データとを学習することで、新たな歌詞データが与えられれば、新たな歌詞データに合わせた曲を自動的に生成することができる。
特開2011-175006号公報
 しかしながら、特許文献1に記載の技術は、歌詞に沿ったメロディやコードが生成されるに過ぎず、生成された楽曲が平凡過ぎたり、奇抜過ぎる恐れもある。
 生成された楽曲が平凡であれば面白みに欠けてしまう恐れがあり、奇抜であれば好みが別れてしまう恐れがあり、さらに、奇抜過ぎれば楽曲とは認識できない、楽曲としてのリアリティを欠くものとなる恐れもある。
 そこで、生成される楽曲を、平凡さと奇抜さとの中間になるように調整することが考えられるが、平凡さと奇抜さとの中間に向けた調整を実現することは困難である。
 これは、自動生成される楽曲に限らず、画像や文章といった様々なコンテンツを自動生成する場合においても同様である。
 本開示は、このような状況に鑑みてなされたものであり、特に、自動生成されるコンテンツの平凡さや、奇抜さを、リアリティを満たしながら調整できるようにするものである。
 本開示の一側面の情報処理装置、およびプログラムは、データの系列からなる入力コンテンツをエンコードして潜在変数に変換するエンコーダと、前記潜在変数をデコードして出力コンテンツを再構成するデコーダと、前記入力コンテンツの尤度に基づいて、損失関数を計算する損失関数計算部と、前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる制御部とを備える情報処理装置、およびプログラムである。
 本開示の一側面の情報処理方法は、エンコーダと、デコーダと、損失関数計算部と、制御部とを備える情報処理装置の情報処理方法において、前記エンコーダは、データの系列からなる入力コンテンツをエンコードして潜在変数に変換し、前記デコーダは、前記潜在変数をデコードして出力コンテンツを再構成し、前記損失関数計算部は、前記入力コンテンツの尤度に基づいて、損失関数を計算し、前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させるステップを含む情報処理方法である。
 本開示の一側面においては、データの系列からなる入力コンテンツがエンコードされて潜在変数に変換され、前記潜在変数がデコードされて出力コンテンツが再構成され、前記入力コンテンツの尤度に基づいて、損失関数が計算され、前記損失関数の勾配が降下されて、前記潜在変数が更新され、更新された潜在変数が前記デコーダによりデコードされて出力コンテンツが再構成される。
本開示の概要を説明する図である。 本開示の情報処理装置の構成例を説明する図である。 第1の実施の形態における図2の情報処理装置により実現される機能を説明する図である。 第1の実施の形態におけるリアリティ評価器の学習に用いられるrealラベルとfakeラベルとを説明する図である。 尤度とリアリティとに基づいた潜在変数の変化を説明する図である。 第1の実施の形態におけるコンテンツの生成処理を説明するフローチャートである。 第2の実施の形態における図2の情報処理装置により実現される機能を説明する図である。 第2の実施の形態におけるリアリティ評価器の学習に用いられるrealラベルとfakeラベルとを説明する図である。 第2の実施の形態におけるコンテンツの生成処理を説明するフローチャートである。 本開示の変形例1を説明する図である。 本開示の変形例2を説明する図である。 汎用のパーソナルコンピュータの構成例を説明する図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.本開示の概要
 2.第1の実施の形態
 3.第2の実施の形態
 4.変形例1
 5.変形例2
 6.ソフトウェアにより実行させる例
 <<1.本開示の概要>>
 本開示は、特に、自動生成されるコンテンツの平凡さや、奇抜さを、リアリティを満たしながら調整できるようにするものである。
 楽曲、画像、および文章といった様々なコンテンツを自動生成する際、生成されたコンテンツがコンテンツの制作者の意図通りに満足できる状態で生成されることは多くなく、何らかの不満がある。
 ここでいう生成されたコンテンツに対する制作者の不満は、ある条件で生成されたコンテンツの特定の部分については、満足するが、特定の部分とは異なる部分については、満足できないといったものであることが多い。
 つまり、制作者の不満は、特定の部分については、満足できても、生成されたコンテンツ全体としては不満が残るといったものが多い。
 このような場合、制作者は、全体として満足できるコンテンツが生成されるまで、条件を変えながら、繰り返しコンテンツを自動生成させることになるが、全体として満足できるようなコンテンツが自動生成されることは稀である。
 従って、生成されたコンテンツについて全体としては満足できないが、一部については満足できるようなコンテンツ、換言すれば、制作者が惜しいと感じるコンテンツの多くが捨て去られることになる。
 ここで、制作者が惜しいと感じるコンテンツの最も基本的なケースとして、コンテンツを構成する系列が平凡過ぎる、または、奇抜過ぎるということが挙げられる。
 制作者は、コンテンツの生成にあたり、オリジナリティの高いコンテンツを追求するため、一般に有り触れた平凡過ぎるコンテンツが生成されても、オリジナリティが感じられない。
 従って、平凡過ぎるコンテンツは、制作者にとっても、コンテンツを見たり聞いたりする対象者にとってもつまらないものとなる可能性が高い。
 逆に、生成されたコンテンツが奇抜過ぎると、オリジナリティは感じられるものの、好みが分かれ易い。
 従って、奇抜過ぎるコンテンツは、仮に、制作者が気に入っても、対象者には受け入れられないこともある。
 このため、生成されるコンテンツが、平凡さと、奇抜さとの中間になるように調整することが求められるが、生成されるコンテンツを平凡さと奇抜さとの中間になるように調整することは難しい。
 仮に、一般人が好むコンテンツを調査し、好みのラベル付きデータセットを作り、それを反映したモデルを学習してコンテンツを自動生成するようにしても、一般人の好みは反映できるが、平凡さが高まる可能性が高く、また、対象者の好みを反映できない。
 特に、コンテンツを自動生成させるアプリケーションプログラムに適用させる場合、生成されるコンテンツの使用目的や、コンテンツを見たり聞いたりする対象者に応じて、生成されるコンテンツの好みは変化することになるので、生成されるコンテンツの好みは調整できるようにする必要がある。
 そこで、本開示においては、生成されるコンテンツの平凡さと奇抜さとの中間を、尤度を用いて調整する。
 ここで、尤度とは、サンプルとなるコンテンツが得られる確率である。
 例えば、コンテンツが楽曲である場合、自動生成された楽曲が、集められたサンプルの楽曲である確率を尤度とする。
 したがって、この場合、生成された楽曲の尤度が高いとは、生成された楽曲が、サンプルとして集められた楽曲に近い楽曲であり、有り触れた楽曲、すなわち、平凡な楽曲(平凡さが高い楽曲)である可能性が高いことを表す。
 逆に、生成された楽曲の尤度が低いとは、生成された楽曲が、サンプルとして集められた楽曲と、かけ離れた楽曲であり、奇抜な楽曲(奇抜さが高い楽曲)である可能性が高いことを表す。
 本開示においては、図1で示されるように、自動生成されるコンテンツの尤度を調整することで、尤度高のコンテンツを生成するように調整することで平凡さの高いコンテンツを生成させ、逆に、尤度低のコンテンツを生成するように調整することで奇抜さの高いコンテンツを生成させる。
 ここで、本明細書においては、自動生成されるコンテンツの平凡さと奇抜さとの中間の程度を示す表現として自然さを定義する。
 自然さとは、平凡さと奇抜さの中間(尤度中)の程度を表現するものとして用いるが、換言すれば、自然さとは、平凡でもなく、奇抜でもない程度を示す表現であるとも言える。
 つまり、本開示においては、自動生成されるコンテンツの対象者の好みに合うように、尤度が調整されることにより、コンテンツの自然さが、平凡さと奇抜さの中間の程度として調整されるとも言える。
 ただし、尤度が調整されることで、自然さが調整される際、生成されるコンテンツの奇抜さを高める程、すなわち、尤度を低下させるように調整する程、リアリティが低下する。
 ここでいうリアリティとは、生成されたコンテンツが、人間により生成されたコンテンツである可能性(確率)を表現する尤度である。
 例えば、コンテンツが楽曲である場合、リアリティが低下するとは、生成される楽曲には、人間が生成することがないような不協和音や、人間が楽曲とは認識し難いリズムや音階変化が含まれることをいう。
 つまり、リアリティが低下する程、自動生成されたコンテンツは、人間が生成することがないコンテンツに近いものとなり、コンテンツを見たり聞いたりする対象者にとって、コンテンツとは認識できないものであったり、場合によっては不快なものとなってしまう。
 そこで、本開示においては、平凡さと、奇抜さとの中間にあたる自然さを、尤度探索(Likelihood Exploration)を用いて調整しながら、入力されたコンテンツを段階的に変化させることにより、最終的にユーザが所望とするコンテンツへと変化させることでコンテンツを自動生成する。
 この際、コンテンツの自動生成にあたっては、図1で示されるように、奇抜過ぎても、リアリティを高めるようにすることで、リアリティを保ち、人間が生成することがないコンテンツ(人間がコンテンツとは認識できないコンテンツ)とはならないように調整する。
 結果として、本開示においては、リアリティを満たしつつ、平凡さと、奇抜さとの中間にあたる自然さを、尤度探索を用いて調整しながら、コンテンツを自動生成できるようにする。
 <<2.第1の実施の形態>>
 次に、図2を参照して、本開示の情報処理装置のハードウェアの構成例である情報処理装置31の構成について説明する。
 尚、本明細書においては、情報処理装置31が、コンテンツとして楽曲を自動生成する場合を例について説明するものとするが、楽曲以外の、例えば、画像や文章等の様々なコンテンツとして自動生成する場合も同様である。
 図2に示すように、情報処理装置31は、通信部51、制御部52、および記憶部53を備える。なお、情報処理装置31は、情報処理装置31を管理する管理者等から各種操作を受け付ける、例えば、キーボードやマウス等と共に、各種の情報を提示する例えば、液晶ディスプレイ等からなる入出力部32を備えている。
 通信部51は、例えば、NIC(Network Interface Card)等によって実現される。通信部51は、インターネット等からなるネットワークと有線又は無線で接続され、ネットワークを介して、他の装置等との間で情報の送受信を行う。
 制御部52は、メモリやプロセッサより構成され、情報処理装置31の動作の全体を制御している。
 より詳細には、制御部52は、学習部71、最適化部72、および生成部73を備えている。
 学習部71は、後述する記憶部53におけるモデル記憶部81に記憶されたエンコーダ91、およびデコーダ92を、楽曲DB82にサンプルとして記憶されている楽曲データを用いて、VAE(Variational Auto Encoder)を学習させ、学習済みモデルとして構成させる。
 最適化部72は、学習部71により制御されて、エンコーダ91、およびデコーダ92が、楽曲DB82にサンプルとして記憶されている楽曲データを用いた学習が繰り返される際、再構成誤差が最小化されつつ、事後分布が事前分布(正規分布)で正則化されるように、エンコーダ91、およびデコーダ92のパラメータを調整して最適化する。
 生成部73は、記憶部53におけるモデル記憶部81に記憶された、エンコーダ91、デコーダ92、および損失関数計算部93を制御して、尤度探索により、入力されたコンテンツ(楽曲)の平凡さと奇抜さとの中間であるコンテンツの自然さを調整し、ユーザが所望とするコンテンツ(楽曲)に変換することで、コンテンツ(楽曲)を生成する(自動生成する)。尚、生成部73によるコンテンツの自動生成については、図3を参照して、詳細を後述する。
 記憶部53は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部53は、モデル記憶部81、および、楽曲DB(Database)82を有する。
 モデル記憶部81は、予め学習された学習済みモデルを記憶する。具体的には、モデル記憶部81は、コンテンツより特徴量である潜在変数を抽出するエンコーダ91、潜在変数に基づいてコンテンツを再構成するデコーダ92、入力データとしてのコンテンツの尤度とユーザが所望とする尤度との差分である損失関数を計算する損失関数計算部93を有する。
 楽曲DB82は、モデルに入力されるサンプルとしてのコンテンツ(楽曲)に関するデータを記憶する。楽曲DB82は、生成部73がエンコーダ91およびデコーダ92を制御して生成させる(自動生成される)コンテンツも記憶する。
 <生成部によるコンテンツの自動生成>
 次に、図3を参照して、生成部73によるコンテンツの自動生成について説明する。
 生成部73は、予め学習されたエンコーダ91およびデコーダ92を制御して、入力データであるコンテンツ(楽曲)X(init)を、エンコーダ91によりエンコードさせて、潜在変数Zinitを求めさせる。そして、生成部73は、求められた潜在変数Zinitに基づいて、デコーダ92により再構成させることにより出力データとしてコンテンツ(楽曲)X(init)’を生成させる。
 より詳細には、図3で示されるように、エンコーダ91は、例えば、複数の小節等からなる部分データのような系列から構成されるコンテンツ(楽曲)X(init)を、エンコードすることで、コンテンツ(楽曲)Xよりも次元数の少ないベクトル等からなる特徴量としての潜在変数Zinitに変換する。
 そして、図3で示されるように、デコーダ92は、コンテンツの特徴量となる潜在変数Zinitに基づいて、それぞれをデコードして、元の次元に戻すことで、小節からなる部分データのような系列から構成されるコンテンツ(楽曲)X(init)’として再構成して復元する。
 ここで、エンコーダ91とデコーダ92とは、学習部71により制御されて、予めVAEによる教師なし学習がなされ、エンコーダ91が、入力データであるコンテンツ(楽曲)Xinitをエンコードし、潜在変数Zinitに変換すると共に、デコーダ92が、潜在変数Zinitに基づいて、コンテンツ(楽曲)X(init)’として再構成できるように構成される。すなわち、エンコーダ91とデコーダ92とは学習されていることから、コンテンツX(init)とコンテンツX(init)’とは、ほぼ同一のものとなる。
 生成部73は、コンテンツ(楽曲)の制作者が所望とする平凡さと奇抜さとの中間である自然さの程度を示す尤度の情報を受け付けると、損失関数計算部93を制御して、デコーダ92により再構成されたコンテンツ(楽曲)X(init)’の尤度と、制作者が所望とする尤度との差分を損失関数LLEとして計算させる。
 そして、生成部73は、求められた損失関数LLEを所定値Δずつ徐々に降下させるように、すなわち、損失関数LLEを、段階的に小さくするように、潜在変数Zi(iは損失関数LLEを降下させる回数)を変化させてデコーダ92によりデコードさせることで、制作者が所望とする尤度のコンテンツ(楽曲)X(i)’を段階的に生成させる。
 損失関数LLEは、例えば、以下の式(1)で示されるように、入力データであるコンテンツX(init)より求められる潜在変数Zinitにより再構成されたコンテンツX(init)’と、所望とする尤度のコンテンツとの尤度の差分を示す関数であり、コンテンツの尤度の差分に係る項を構成する関数F1と、コンテンツのリアリティの尤度に係る項を構成する関数F2とから構成される。
 LLE=F1-α×F2
                            ・・・(1)
 ここで、LLEは、損失関数であり、F1は、コンテンツの尤度に係る項を構成する関数であり、F2は、リアリティの尤度に係る項を構成する関数であり、αは、所定の係数であり、任意に設定することができる。
 より詳細には、損失関数計算部93は、尤度評価器101およびリアリティ評価器102を備えており、尤度評価器101により計算される尤度に基づいて、コンテンツの尤度に係る項を構成する関数F1を計算し、リアリティ評価器102により計算されるコンテンツのリアリティの尤度に基づいて、リアリティの尤度に係る項を構成する関数F2を計算する。
 尤度評価器101は、系列生成モデル(言語生成モデル)に基づいて、対数尤度が最大化するように、例えば、アーキテクチャとしてRNNやTransformer等により、学習し、再構成されたコンテンツ(楽曲)X’の尤度を対数尤度として求める。
 ここで、再構成されたコンテンツX’の尤度とは、再構成されたコンテンツX’が楽曲DB82にサンプルとして登録された楽曲である確率である。
 より詳細には、再構成されたコンテンツ(楽曲)X’が、部分データX1’,X2’,・・・Xn’のような系列データX’(X1’,X2’,・・・Xn’)として構成されるような場合、コンテンツX’の尤度は、部分データそれぞれの確率の積として表現される。
 例えば、楽曲X’の尤度(確率)をP(X’)で表現する場合、楽曲X’の尤度(確率)P(X’)は、以下の式(2)として計算される。
 尚、系列データX’(X1’,X2’,・・・Xn’)の場合、初期値Startが入力されることで先頭の部分データX1’が生成され、部分データX1’が入力されると隣接する部分データX2’が生成され、部分データX2’が入力されると隣接する部分データX3’が生成され、・・・部分データX(n-1)’が入力されると隣接する部分データXn’が生成される。
 従って、この系列データ(X1’,X2’,・・・Xn’)からなるコンテンツX’の尤度(確率)P(X’)は、以下の式(2)として表現される。
 P(X’)=P(X1’|Start)
       ×P(X2’|Start,X1’)
        ×P(X3’|Start,X1’,X2’)
         ×P(X4’|Start,X1’,X2’,X3’)
          ×P(X5’|Start,X1’,X2’,X3’,X4’)
             ・・・・・・・
            ×P(Xn’|Start,X1’,X2’,・・・X(n-1)’)
                            ・・・(2)
 ここで、P(X’)は、コンテンツ(楽曲)X’の尤度(確率)である。
 また、P(Xn’|Start,X1’,X2’,・・・X(n-1)’)は、初期値がStartであって、部分データが順次X1’,X2’,・・・X(n-1)’であったときの部分データXn’の条件付き確率(尤度)である。
 尤度評価器101は、このようにして求められるコンテンツ(楽曲)X’の尤度P(X’)を対数化して、対数尤度EL(X’)として出力する。
 また、リアリティ評価器102は、入力となる人間により生成されたコンテンツからなるrealクラスのラベルが付された系列からなるコンテンツと、人間により生成されたものではないfakeクラスのラベルが付された系列からなるコンテンツとに基づいて、リアリティを示す対数尤度が最大化するように、例えば、アーキテクチャとしてRNNやTransformer等により、予め学習する。
 そして、リアリティ評価器102は、リアリティの尤度に係る項の関数として、コンテンツ(楽曲)X(init)’のリアリティの尤度を求め、対数化することでリアリティの対数尤度をリアリティER(X’)として求める。
 尚、以降においては、再構成されたコンテンツ(楽曲)X’が、楽曲DB82にサンプルとして登録された楽曲データである確率を示す尤度については、「尤度」と称するものとし、リアリティの尤度については、概念としては尤度であることに変わりがないが、区別するため、単に「リアリティ」とも称するが、いずれも尤度である点については変わりがない。
 ここで、realクラスのラベルが付された系列となるコンテンツは、学習に用いられる、例えば、楽曲DB82に登録されたサンプルとなる楽曲データである。
 また、fakeクラスのラベルが付された系列からなるコンテンツは、例えば、図4で示されるように、エンコーダ91とデコーダ92の学習に係るVAEによる事前分布から得られる潜在変数Zが、デコーダ92によりデコードされることで再構成される楽曲データFである。
 すなわち、リアリティ評価器102は、図4で示されるようにして生成されたrealクラスのラベルが付された系列からなるコンテンツRの群と、fakeクラスのラベルが付された系列からなるコンテンツFの群とに基づいて、学習し、再構成されたコンテンツ(楽曲)X(init)’が人間により生成されたコンテンツである確率である尤度を対数化した対数尤度をリアリティER(X(init)’)として求める。
 損失関数計算部93は、尤度評価器101より計算される再構成されたコンテンツX’の尤度(対数尤度)EL(X(init)’)と、リアリティ評価器102より計算される再構成されたコンテンツX’が、人間により生成されたコンテンツである確率としてのリアリティ(対数尤度)ER(X(init)’)とから、上述した式(1)で示される損失関数LLEinitを計算する。
 より具体的には、損失関数計算部93は、式(1)の関数F1である、再構成されたコンテンツX’の尤度に係る項を以下の式(3)で示されるように計算する。
 F1=(EL(X(init)’)-β×ELinit)
                            ・・・(3)
 ここで、F1は、式(1)における、再構成されたコンテンツX(init)’の尤度に係る項を示す関数であり、EL(X(init)’)は、尤度評価器101により求められた再構成されたコンテンツX(init)’の対数尤度であり、β×ELinitは、参照尤度である。
 参照尤度β×ELinitは、コンテンツを自動生成させようとする制作者が所望とする尤度を設定する値、すなわち、最終的に得ようとする尤度の目安となる値であり、係数βと尤度の初期値ELinit(所定の固定値)との積として表現される。
 例えば、入力データとなるコンテンツX(init)の尤度を上げて、平凡さを高めたコンテンツを再構成(自動生成)させたいときには、参照尤度を尤度の初期値ELinitより大きく設定するので、係数βを1よりも大きい値に設定する。また、特定の所望とする尤度がなく、単に尤度を高めたいといった場合には、係数βは1よりも大きな、例えば、1.2や1.5といった特定の値とするようにしてもよい。
 一方、自動生成されるコンテンツの尤度を下げて、奇抜さを高めたいときには、参照尤度を対数尤度ELの初期値ELinitより小さく設定するため、係数βを1よりも小さな値に設定する。また、特定の所望とする尤度がなく、単に尤度を低下させたいといった場合には、係数βは1よりも小さな、例えば、0.8や0.5といった特定の値とするようにしてもよい。
 また、損失関数計算部93は、再構成されたコンテンツX(init)’のリアリティの対数尤度ER(X(init)’)を、上述した式(1)の関数F2に代入して計算する。
 これらのことから、損失関数計算部93は、以下の式(4)で示されるように、損失関数LLEを計算する。
 LLE=F1-α×F2
    =(EL(X(init)’)-β×ELinit)-α×ER(X(init)’)
                            ・・・(4)
 尚、損失関数計算部93は、デコーダ92において、尤度評価器101、およびリアリティ評価器102による評価シグナルを受け取れるように、例えば、ガンベルソフトマックスを用いることにより微分可能にする。
 <損失関数に基づいた潜在変数の変化>
 上述したように、損失関数LLEは、入力データとなるコンテンツX(init)の尤度(=再構成されたコンテンツX(init)’の尤度)と、制作者が所望とする尤度との差分に依存する関数F1と、リアリティに依存する関数F2とから構成される。
 そこで、生成部73は、この損失関数LLEが小さくなるようにコンテンツX(i)を再構成することで、制作者が所望とする尤度のコンテンツを生成させる。
 つまり、損失関数LLEは、式(4)で示されるような構成であるため、生成部73は、リアリティERを高めつつ、尤度ELが参照尤度に近づくようにすることで、損失関数LEEが小さくなるようなコンテンツを再構成させる。
 より具体的には、生成部73は、上述した損失関数LLEに基づいて、損失関数を所定値Δだけ段階的に小さくするように潜在変数Ziを変化させ、変化させた潜在変数Ziをデコーダ92によりデコードさせることで、新たなコンテンツX’(i)を順次生成させる。
 そこで、次に、損失関数を小さくするようにして、潜在変数Ziを変化させる方法について説明する。
 例えば、図5で示されるように、様々な入力となるコンテンツに基づいて求められる潜在変数Zを、2次元の空間で表現した潜在変数空間と定義し、潜在変数空間において、それぞれの潜在変数Zが用いられて再構成されるときのコンテンツの尤度を等高線で表現することを考える。
 尚、図5の潜在変数空間においては、潜在変数Zを説明のため2次元とする例について説明するものとするが、現実には、潜在変数Zは、さらに多くの次元で構成され、潜在変数空間も同様に、さらに多くの次元で表現される。
 すなわち、図5の潜在変数空間においては、2次元で表現される潜在変数Zの分布がバツ印で表され、それぞれの潜在変数Zが用いられてコンテンツが再構成されたときの尤度が、同心円状に実線L1乃至L5で示されており、紙面外側に向かって尤度が低くなるような分布とされている。すなわち、実線L1乃至L5で示される尤度は、図中においてL1>L2>L3>L4>L5であるものとする。尚、図5の潜在変数空間における尤度の分布は、一例である。
 また、図5の潜在変数空間においては、同様の潜在変数Zが用いられてコンテンツが再構成される際のリアリティが求められたとき、リアリティの所定の閾値の分布が点線R1で示されている。
 ここで、点線R1より図中の上部が、リアリティが所定の閾値よりも低く、再構成されたコンテンツが人間により生成されたものと認識され難い「非リアル」とみなされる非リアル領域である。
 さらに、図7の潜在変数空間において、点線R1より下部が、リアリティが所定の閾値よりも高く、再構成されたコンテンツが人間により生成されたものと認識される「リアル」とみなされる領域がリアル領域であるものとする。
 尚、図5の潜在変数空間におけるリアリティについても、尤度同様に複数の等高線のように表示されるべきものであるが、ここでは、リアル領域と非リアル領域との境界となる、所定の閾値の分布である点線R1のみが表示されるものとしている。
 ここで、例えば、入力データであるコンテンツXaがエンコーダ91によりエンコードされて生成された潜在変数が、図5の潜在変数空間における位置Zaで表される場合であって、制作者が尤度を現状の実線L2のレベルから実線L4のレベルまで下げたいときについて考える。
 リアリティを意識する必要がないとすれば、生成部73は、図5の潜在変数空間における、尤度のレベルを表す等高線である実線L2に対して垂直なベクトルVL方向に、実線L4へと向かうように潜在変数空間内の位置を移動させて潜在変数を求めて、デコーダ92によりデコードさせることで、制作者が所望とする尤度のコンテンツを再構成させることができる。
 すなわち、潜在変数空間においては、近い位置に存在する潜在変数同士は、類似した潜在変数であると言えるので、尤度のレベルが実線L2上である位置Zaから見て、最も近い実線L4上の位置Zxにおいて得られる潜在変数が、現状の位置Zaにおける潜在変数と最も類似している実線L4で表される尤度の潜在変数と考えられるためである。
 しかしながら、リアリティを考慮する場合、図7において、潜在変数Zaが存在する領域は、非リアル領域であるため、尤度のみを考慮して潜在変数空間内の位置を移動させて潜在変数を求め、デコーダ92によりデコードささせて再構成されるコンテンツは、尤度は満たされても、リアリティが低く、対象者が見たり聞いたりしても人間が生成したコンテンツとは認識できない恐れがある。
 そこで、生成部73は、潜在変数空間内における位置Zaを点線R1に対して最も近い方向に対してリアリティのベクトルVRを設定し、ベクトルVLとベクトルVRとで合成される、所定値Δだけ尤度の勾配を降下させる位置Zbに移動させて潜在変数を求め、デコーダ92によりデコードさせることで新たなコンテンツを再構成させる。
 生成部73は、以降同様の操作を繰り返すことにより、例えば、潜在変数空間内の位置Zaから順に位置Zb,Zc,Zd,Ze,Zfと変化させて求められる潜在変数を、順次、デコーダ92に出力して、デコードさせて、新たなコンテンツを生成させる。
 すなわち、図7における潜在変数空間内の位置Zbの潜在変数がデコーダ92によりデコードされることで生成されるコンテンツXbは、コンテンツXaよりも尤度が低減されると共に、リアリティが向上されて、リアル領域との境界である点線R1に近づく。
 また、位置Zcの潜在変数がデコーダ92によりデコードされることで生成されるコンテンツXcは、コンテンツXbよりも尤度がさらに低減されると共に、リアリティがさらに向上されて、さらに点線R1に近づく。
 さらに、位置Zdの潜在変数がデコーダ92によりデコードされることで生成されるコンテンツXdは、コンテンツXcよりも尤度がさらに低減されると共に、リアリティがさらに向上されることで、点線R1を超えて、リアル領域に入ることにより、リアリティとしては十分な状態となる。
 また、位置Zeの潜在変数がデコーダ92によりデコードされることで生成されるコンテンツXeは、コンテンツXdよりも尤度がさらに低減され、コンテンツXdが既にリアリティとしては十分であるので、尤度を示す等高線である実線L3に対して垂直方向に近い方向に移動される。
 さらに、位置Zfの潜在変数がデコーダ92によりデコードされることで生成されるコンテンツXfは、コンテンツXeよりも尤度がさらに低減され、コンテンツXdが既にリアリティとしては十分であるので、尤度を示す等高線である実線L3に対して、ほぼ垂直方向に移動される。
 以上のように、図5で示されるような潜在変数空間において、リアリティを向上させつつ、損失関数LLEにおける尤度が段階的に低減されるように、潜在変数を変更して、デコードさせる処理が繰り返されることにより、入力データであるコンテンツが、リアリティを向上させながら、制作者が所望とする尤度に段階的に近付けていくことが可能となる。
 尚、以上においては、入力データであるコンテンツの尤度を所望とする尤度まで段階的に低減させることで、コンテンツの自然さを奇抜化させる例について説明してきたが、平凡化させる場合についても、参照尤度が高く設定されるのみで、同様の処理である。
 また、以上においては、段階的に、制作者が所望とする尤度に近付ける処理について説明してきたが、段階的な処理ではなく、所望とする尤度に一回で到達するように潜在変数を変更させるようにしてもよい。
 <第1の実施の形態におけるコンテンツの生成処理>
 次に、図6のフローチャートを参照して、第1の実施の形態におけるコンテンツの生成処理について説明する。
 ステップS11において、生成部73は、カウンタiを1に初期化する。
 ステップS12において、生成部73は、参照尤度を設定する。より詳細には、生成部73は、例えば、上述した式(4)における係数βの値を受け付けて、具体的な参照尤度の値を設定したり、尤度を上げたい、または下げたいといった情報の入力を受け付けて係数βを所定値に設定するなどして参照尤度を設定する。
 ステップS13において、生成部73は、入力データであるコンテンツX(init)の入力を受け付ける。
 ステップS14において、生成部73は、エンコーダ91を制御して、部分データXintをエンコードさせて、潜在変数Zinitに変換させる。
 ステップS15において、生成部73は、デコーダ92を制御して、潜在変数Zinitをデコードさせて、コンテンツX(init)’を再構成する。
 ステップS16において、生成部73は、損失関数計算部93を制御して、上述した式(4)を用いて、コンテンツX(init)’の尤度と、制作者の所望とする尤度との差分に基づいた損失関数LLEinitを計算させる。
 ステップS17において、生成部73は、損失関数LLEinitを所定値Δだけ降下した損失関数LLEiを求める。
 ステップS18において、生成部73は、図5を参照して説明したように、損失関数LLEinitを所定値Δだけ降下した損失関数LLEiに変化させるように、潜在変数空間における潜在変数Zinitの位置を、リアリティを維持しつつ、尤度を低下させながら移動させて、新たな潜在変数空間における位置に対応する潜在変数Ziを求めて更新する。
 ステップS19において、生成部73は、デコーダ92を制御して、潜在変数Ziをデコードさせて、コンテンツX(i)’を再構成させる。
 ステップS20において、生成部73は、再構成されたコンテンツX(i)’を記憶部53の楽曲DB82に記憶させる。
 ステップS21において、生成部73は、カウンタiを1インクリメントする。
 ステップS22において、生成部73は、カウンタiが最大値imaxであるか否かを判定し、最大値imaxではない場合、処理は、ステップS23に進む。
 ステップS23において、生成部73は、損失関数LLEiを所定値Δだけ降下させることにより、損失関数LLEiを更新させ(LLEi=LLEi-Δ)、処理は、ステップS18に戻る。
 このとき、ステップS18において、生成部73は、図5を参照して説明したように、所定値Δだけ降下して更新された損失関数LLEiの変化に対応するように、潜在変数空間における潜在変数Ziの位置を移動させて更新し、新たな潜在変数Ziを求めて更新する。
 すなわち、カウンタiが最大値imaxになるまで、ステップS18乃至S23の処理が繰り返されて、損失関数LLEiが順次所定値Δだけ降下しながら、潜在変数Ziが更新され、更新された潜在変数Ziが順次デコードされて新たなコンテンツXiが生成されることにより、リアリティを満たしながら、徐々に制作者が所望とする尤度に近づくように、順次、新たに再構成されるコンテンツXiが変化していく。
 そして、ステップS22において、カウンタiが最大値imaxになったと判定された場合、処理は、ステップS24に進む。
 ステップS24において、生成部73は、記憶部53に記憶されている出力データとなるコンテンツX(i)(i=1,2,3,・・・imax)を出力する。
 以上の処理により、入力データであるコンテンツX(init)を、リアリティを満たしながら、制作者が意図する尤度となるように段階的に変化させてコンテンツX(i)’を生成することが可能となる。
 結果として、制作者が意図するようにコンテンツの、平凡さおよび奇抜さの中間となる自然さを調整しながらコンテンツを自動生成させることが可能となる。
 尚、図6の処理において、入力データであるコンテンツX(init)における尤度と制作者の所望とする尤度との差分である損失関数LLEinitを求めるまでの処理については、一旦潜在変数Zinitを、デコーダ92によりデコードしてコンテンツX(init)’を求めてから計算させるようにしたが、最初の処理では、潜在変数Zinitに変化が加えられないため、コンテンツXinitとコンテンツXinit’とは略同一のものとなる。
 このため、初期の損失関数LLEinitについては、入力データであるコンテンツXinitから直接求めるようにしてもよい。
 また、以上においては、損失関数LLEinitを段階的に所定値Δずつ降下させながら潜在変数Ziを順次変化させて、コンテンツX(i)’を繰り返し再構成させる処理をカウンタiがimaxになるまで繰り返す例について説明してきたが、損失関数LLEiをこれ以上小さくすることができない状態になったときに、処理を終了させるようにしてもよい。
 さらに、以上においては、損失関数LLEinitを段階的に降下させて繰り返し再構成される全てのコンテンツX(i)’(i=1,2,・・・imax)を最終的に出力させる例について説明してきたが、最後に求められるコンテンツX(imax)’のみを出力させるようにしてもよい。
 また、損失関数LLEを構成する尤度に係る項からなる関数F1については、尤度を大きくして、単純に平凡化できればよい場合については、大きく設定できればよく、また、尤度を小さくして、単純に奇抜化できればよい場合については、小さく設定できればよいものである。
 従って、最終的な尤度の目安などがない場合については、以下の式(5)のように設定してもよい。
 F1=EL(X(init))’  (尤度を小さくして奇抜化したいとき)
   =-EL(X(init))’  (尤度を大きくして平凡化したいとき)
                            ・・・(5)
 すなわち、関数F1については、奇抜化したいときと、平凡化したいときとで式(5)のように使い分けるようにしてもよい。また、式(5)については、コンテンツX(init)の尤度EL(X(init))に対して、尤度を小さくして奇抜化したいときは、正の係数を乗じるようにして用い、尤度を大きくして平凡化したいときは、負の係数を乗じるようにして用いるようにしてもよい。
 <<3.第2の実施の形態>>
 以上においては、入力データとなるコンテンツX(init)をエンコードさせて潜在変数Zinitに変換させて、その後、潜在変数Zinitをデコードさせて、コンテンツX(init)’を求め、コンテンツX(init)’の尤度と、所望とする尤度との差分となる損失関数LLEinitを求め、所定値Δずつ降下させて損失関数LLEiを更新させながら、潜在変数Ziを段階的に更新させて、更新された潜在変数ZiをデコードさせることでコンテンツX(i)’を繰り返し再構成させる例について説明してきた。
 しかしながら、上述した処理の場合、損失関数LLEiを更新させる度に、再構成されるコンテンツX(i)’は、入力データとなるコンテンツX(init)とは全く異なるものとなってしまう恐れがある。
 このため、平凡さや奇抜さの中間となる自然さを変化させる前のコンテンツX(init)に気に入った部分があっても、平凡さや奇抜さを変化させることにより、気に入った部分も含めた全体が変化してしまって、制作者がコンテンツ全体を気に入るものにし難くしてしまう恐れがあった。
 そこで、入力データとなるコンテンツXinitのうち、制作者が気に入っている部分については、コンテキストとして変化させないように設定し、それ以外の部分についてのみ平凡さや奇抜さの中間となる自然さを尤度探索により調整できるようにしてもよい。
 尚、以降において、コンテキストとして変化させない部分を設定した状態でなされる尤度探索を、コンテキスト尤度探索(Contextual Likelihood Exploration)とも称する。
 生成部73は、例えば、図7で示されるような入力データとなるコンテンツX(init)について、制作者の意向として、変化を与えたくない部分の情報について入力を受け付けて、変化を与えたくない部分をコンテキストとして設定する。
 図7の例においては、コンテンツX(init)のうち、制作者が気に入っている、変化を与えたくない部分がコンテキストC1,C2として設定されており、コンテキストC1,C2以外の変化を加えたい部分が部分データY(init)に設定される例が示されている。
 尚、図7においては、コンテキストC1,C2が、変化を加えたい部分データY(init)の前後に設定される例が示されているが、コンテキストが設定される位置は、これ以外でもよいし、2カ所以上であってもよい。
 そして、生成部73は、エンコーダ91を制御して、変化を与えたい部分である部分データY(init)のみをエンコードさせて、潜在変数Zinitに変換させる。
 生成部73は、デコーダ92を制御して、潜在変数Zinitに基づいて部分データY(init)’を再構成させる。
 生成部73は、再構成された部分データY(init)とコンテキストC1,C2とを統合して、コンテンツX(init)’を再構成させる。
 以降は、コンテキストがない場合と同様に、生成部73は、コンテンツX(init)’の尤度と、制作者の所望とする尤度との差分である損失関数LCLEinitを計算させ、所定値Δずつ降下させて、損失関数LCLEiを更新させると共に対応する潜在変数Ziを更新し、デコーダ92を制御してデコードさせ、部分データY(i)’を再構成させ、さらに、コンテキストC1,C2と統合してコンテキストX(i)’を再構成させる処理を繰り返す。
 <コンテキストが用いられる場合のリアリティ評価器>
 コンテキストを用いる場合、リアリティ評価器102は、図7で示されるように、人間が生成したコンテンツRのうち、コンテキストC11,C12以外の部分データVのみを、エンコーダ91とデコーダ92の学習に係るVAEによる事前分布から得られる潜在変数Zに対してノイズが加えられた潜在変数Z’が、デコーダ92によりデコードされることで再構成される部分データV’にコンテキストC11,C12とが付加されて再構成されるコンテンツFとを用いて学習する。
 すなわち、コンテキストを用いる場合においては、リアリティ評価器102は、図7で示されるコンテキストC11,C12と部分データVとから構成されるコンテンツRをrealクラスのラベルが付された系列からなるコンテンツとし、再構成された部分データV’にコンテキストC11,C12とが付加されて再構成されたコンテンツFをfakeクラスのラベルが付された系列からなるコンテンツとして、学習し、再構成されたコンテンツ(楽曲)X’が人間により生成されたコンテンツである確率である尤度を対数化した対数尤度をリアリティER(X’)として求める。
 <第2の実施の形態におけるコンテンツの生成処理>
 次に、図11のフローチャートを参照して、第2の実施の形態におけるコンテンツの生成処理について説明する。
 ステップS51において、生成部73は、カウンタiを1に初期化する。
 ステップS52において、生成部73は、参照尤度の設定を受け付ける。
 ステップS53において、生成部73は、入力データであるコンテンツX(init)の入力を受け付ける。
 ステップS54において、生成部73は、制作者がコンテンツX(init)に対して変化を加えたくない部分であるコンテキストとなる部分の情報を受け付ける。
 ステップS55において、生成部73は、コンテンツX(init)よりコンテキストとなる部分を取り除いた部分データY(init)を生成する。
 ステップS56において、生成部73は、エンコーダ91を制御して、部分データY(init)をエンコードさせて、潜在変数Zinitに変換させる。
 ステップS57において、生成部73は、デコーダ92を制御して、潜在変数Zinitをデコードさせて、部分データY(init)’を再構成させる。
 ステップS58において、生成部73は、部分データY(init)’と、コンテキストとを統合して、コンテキストX(init)’を再構成させる。
 ステップS59において、生成部73は、損失関数計算部93を制御して、上述した式(4)を用いて、コンテンツX(init)’の損失関数LCLEinitを計算させる。尚、ここでは、コンテキストを設定する場合の損失関数LCLEinitと、コンテキストを設定しない場合の損失関数LLEinitとについて、それぞれ別の符号を付しているが、式の構成については、いずれも式(4)であり、同一である。
 ステップS60において、生成部73は、損失関数LCLEinitを所定値Δだけ降下した損失関数LCLEiを求める。また、損失関数LCLEiについても、基本的に損失関数LLEiと同様である。
 ステップS61において、生成部73は、損失関数LCLEinitを所定値Δだけ降下した損失関数LCLEiに変化させるときに、対応する潜在変数空間における潜在変数Zinitの位置を移動させて、潜在変数Ziを求めて更新する。
 ステップS62において、生成部73は、デコーダ92を制御して、潜在変数Ziをデコードさせて、部分データY(i)’を再構成させる。
 ステップS63において、生成部73は、部分データY(i)’と、コンテキストとを統合して、コンテンツX(i)’を再構成させる。
 ステップS64において、生成部73は、再構成されたコンテンツX(i)’を記憶部53の楽曲DB82に記憶させる。
 ステップS65において、生成部73は、カウンタiを1インクリメントする。
 ステップS66において、生成部73は、カウンタiが最大値imaxであるか否かを判定し、最大値imaxではない場合、処理は、ステップS67に進む。
 ステップS67において、生成部73は、損失関数LLEiを所定値Δだけ降下して更新させ(LLEi=LLEi-Δ)、処理は、ステップS61に戻る。
 すなわち、カウンタiが最大値imaxになるまで、ステップS61乃至S67の処理が繰り返されて、損失関数LLEiが順次所定値Δだけ降下しながら、対応して潜在変数Ziが変化させられてデコードされ、新たな部分データY(i)’が生成され、さらにコンテキストと統合されてコンテンツX(i)’が繰り返し再構成されることにより、リアリティを満たしながら、徐々に制作者が所望とする尤度に近づくように、順次、新たに再構成されるコンテンツXiが変化していく。
 このとき、コンテキストとして設定された部分については、変化が加えられないので、制作者が気に入っている部分を保持した状態のまま、リアリティを満たしつつ、徐々に制作者が所望とする尤度に近づくように、順次、新たに再構成されるコンテンツXiが変化していく。
 そして、ステップS66において、カウンタiが最大値imaxになったと判定された場合、処理は、ステップS68に進む。
 ステップS68において、生成部73は、記憶部53の楽曲DB82に記憶されている出力データとなるコンテンツX(i)’(i=1,2,3,・・・imax)を出力する。
 以上の処理により、入力データであるコンテンツX(i)を、コンテキストとして設定された部分については保持した状態で、リアリティを満たしながら、制作者が意図する尤度に変化させるコンテキスト尤度探索(Contextual Likelihood Exploration)により、コンテンツX(i)’を段階的に生成することが可能となる。
 結果として、制作者が意図するように、コンテンツの気に入った部分については保持したままの状態で、その他の部分についてのみ、平凡さおよび奇抜さの中間となる自然さを調整しながらコンテンツを自動生成させることが可能となる。
 <<4.変形例1>>
 以上においては、尤度およびリアリティについては、コンテンツ全体について1つが求められ、損失関数が計算される例について説明してきたが、コンテンツは、複数の要素からなる系列であるので、各要素について、尤度も分解して構成することが可能であり、この要素毎の尤度からなる系列を構成することができる。
 このコンテンツを構成する要素毎の尤度からなる系列を尤度系列(information flow)と称する。
 すなわち、コンテンツXinitは、例えば、楽曲である場合、図10の左部で示されるように、時間方向の系列となる要素X1,X2,・・・Xnから構成される。
 従って、各要素X1,X2,・・・Xnについて、尤度EL(Xi)を求めることが可能となり、これが尤度系列(information flow)となる。
 尤度系列(information flow)を用いた場合、各要素X1,X2,・・・Xnについて参照尤度を設定して、各要素の尤度EL(Xi)と参照尤度との差分の二乗和を、上述した損失関数を構成する式(1)における関数F1として使用し、例えば、以下の式(6)とする。
 F1=Σ(EL(X(i)’)-βi×ELinit) (i=1,2,・・・n)
                            ・・・(6)
 ここで、i(i=1,2,・・・n)は、各要素の識別子であり、EL(X(i)’)は、要素Xiの尤度であり、βiは、各要素の係数であり、ELinitは、尤度の初期値である。
 従って、式(6)においては、関数F1が、各要素の尤度EL(Xi)と参照尤度βi×ELinitとの差分の二乗和として表されている。
 図10の右部で示されるように、要素毎の尤度系列は、換言すれば、時間方向の尤度の変化、すなわち、驚きレベルの時間方向の変化であるということができる。
 図10においては、例えば、点線の丸印で示されたタイミングにおいて、尤度がピーク、または谷間となっており、驚きの変化が示されている。
 一般に驚きレベルは、大きな驚きの後には小さな驚きが発生し、小さな驚きの後には大きな驚きが発生することが知られている。
 従って、図10で示されるような尤度系列が用いられることにより、楽曲における驚きの変化を反映させることが可能となる。
 また、ここでは、コンテンツXinitを構成する要素X1,X2,・・・Xnについては、時間方向に最小構成となる要素を想定しているが、複数の要素からなるクラスタを形成して、クラスタ単位で尤度系列を設定するようにしてもよい。さらに、損失関数を構成する式(1)における関数F1には、式(6)を参照して説明したような2乗誤差ではなく、参照尤度との相関を用いるようにしてもよいし、参照尤度を使わず、尤度系列(information flow)の要素に対する分散等の統計量を用いるようにしてもよい。
 尚、コンテンツの生成処理については、損失関数LLEの演算方法が異なるのみで、図9のフローチャートを参照して説明したコンテキストが設定される場合の処理と同様であるので、その説明は省略する。
 <<5.変形例2>>
 以上においては、コンテキストが設定される場合、尤度評価器101により求められる尤度は、再構成されたコンテンツX’全体に対する尤度が用いられてきたが、図11で示されるように、尤度評価器101に代えて、尤度評価器101’を設け、尤度評価器101’が、コンテンツX’のうち、コンテキストC1,C2以外の、制作者が所望とする尤度に変化させる部分データY’のみから、条件付き尤度CELとして求められるようにしてもよい。
 また、同様にコンテキストが設定される場合、図11で示されるように、リアリティ評価器102に代えて、尤度評価器101とは同一の系列生成モデルにより生成され、実質的に同一となるリアリティ評価器102’を設けるようにして、尤度ELそのものをリアリティERとして使用するようにしてもよい。
 この結果、損失関数は、以下の式(7)のように表現される。
 LLE=F1-α×F2
    =(CEL(X(init)’)-β×ELinit)
                         -α×EL(X(init)’)
                            ・・・(7)
 ここで、CEL(X(init)’)は、コンテンツX(init)’の条件付き尤度であり、β×ELinitは、参照尤度であり、EL(X(init)’)は、コンテンツX(init)’の尤度である。
 条件付き尤度は、コンテンツX(init)’のうちの、尤度に応じて変化する部分データの尤度であることから、「驚き」を表すので、条件付き尤度に対して参照尤度を設定することで、「驚き」をより大きくする、または、「驚き」をより小さくするように生成されるコンテンツを調整することが可能となる。
 また、リアリティ評価器102’が、実質的に尤度評価器101として機能することにより、尤度評価器101’についても、リアリティ評価器102’についても、同一の系列生成モデルを用いることになるため、いずれか一方のみの構成に集約し、構成を簡素化することが可能となる。
 さらに、変形例2においては、関数F1に条件付き尤度CEL(X(init)’)を用いて、関数F2にリアリティER(X(init)’)として尤度EL(X(init)’)を用いる例について説明してきたが、関数F1に条件付き尤度CEL(X(init)’)を用いて、関数F2については、リアリティER(X(init)’)を用いるようにしてもよい。
 また、同様に、上述した式(3),式(5),式(6)における関数F2のリアリティER(X(init)’)に代えて尤度EL(X(init)’)を用いるようにしてもよい。
 尚、コンテンツの生成処理については、損失関数LLEの演算方法が異なるのみで、図9のフローチャートを参照して説明したコンテキストが設定される場合の処理と同様であるので、その説明は省略する。
 <<6.ソフトウェアにより実行させる例>>
 図12は、汎用のコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
 入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブル記憶媒体1011に対してデータを読み書きするドライブ1010が接続されている。
 CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブル記憶媒体1011ら読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
 以上のように構成されるコンピュータでは、CPU1001が、例えば、記憶部1008に記憶されているプログラムを、入出力インタフェース1005及びバス1004を介して、RAM1003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU1001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記憶媒体1011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記憶媒体1011をドライブ1010に装着することにより、入出力インタフェース1005を介して、記憶部1008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部1009で受信し、記憶部1008にインストールすることができる。その他、プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 尚、図12におけるCPU1001が、図2の制御部52の機能を実現させ、記憶部1008が、図2の記憶部53の機能を実現させる。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本開示は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 尚、本開示は、以下のような構成も取ることができる。
<1> データの系列からなる入力コンテンツをエンコードして潜在変数に変換するエンコーダと、
 前記潜在変数をデコードして出力コンテンツを再構成するデコーダと、
 前記入力コンテンツの尤度に基づいて、損失関数を計算する損失関数計算部と、
 前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる制御部と
 を備える情報処理装置。
<2> 前記エンコーダと前記デコーダとは、再構成誤差が最小となるようにしつつ、事後分布が事前分布により正則化されるようにVAE(Variational Auto Encoder)学習されている
 <1>に記載の情報処理装置。
<3> 前記損失関数計算部は、
  前記入力コンテンツの尤度を計算する尤度評価器と、
  前記入力コンテンツのリアリティの尤度であるリアリティ尤度を計算するリアリティ評価器とを備え、
 前記尤度評価器の評価結果となる尤度と、前記リアリティ評価器の評価結果となるリアリティ尤度とに基づいて、前記損失関数を計算する
 <1>に記載の情報処理装置。
<4> 前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新する際、前記リアリティ尤度が所定値よりも小さいとき、前記リアリティ尤度が大きくなるように、かつ、前記損失関数の勾配を降下させて、前記潜在変数を更新し、更新した前記潜在変数を前記デコーダによりデコードさせて前記出力コンテンツを再構成させる
 <3>に記載の情報処理装置。
<5> 前記制御部は、前記潜在変数の空間である潜在変数空間内における前記潜在変数毎の前記尤度の分布と、前記リアリティ尤度の分布に基づいて、前記リアリティ尤度が所定値よりも小さいとき、前記リアリティが大きくなるように、かつ、前記損失関数の勾配を降下させて、前記潜在変数空間内の位置を移動させることで、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて前記出力コンテンツを再構成させる
 <4>に記載の情報処理装置。
<6> 前記尤度評価器は、前記入力コンテンツが、予めサンプルとして登録されたコンテンツである確率からなる尤度を対数化したものを尤度として求める
 <3>に記載の情報処理装置。
<7> 前記尤度評価器は、前記入力コンテンツを構成する前記データの系列が、予めサンプルとして登録されたコンテンツである確率である、前記データの系列毎の条件付き確率の積として求められる尤度を対数化したものを尤度として求める
 <6>に記載の情報処理装置。
<8> 前記リアリティ評価器は、前記入力コンテンツが、人間が生成したコンテンツである確率からなる前記リアリティの尤度を対数化したものを前記リアリティ尤度として求める
 <3>に記載の情報処理装置。
<9> 前記損失関数は、前記入力コンテンツの尤度に基づいた第1項と、前記リアリティ尤度に基づいた第2項とから構成される
 <3>に記載の情報処理装置。
<10> 前記第1項は、前記入力コンテンツの尤度と、所定の係数が所定の定数に乗じられた所定の尤度との差分の二乗からなる
 <9>に記載の情報処理装置。
<11> 前記所定の係数は、前記出力コンテンツの前記尤度を高くして、平凡化するとき1よりも大きな値に設定され、前記出力コンテンツの前記尤度を低くして、奇抜化するとき1よりも小さな値に設定される
 <10>に記載の情報処理装置。
<12> 前記所定の定数は、前記尤度の初期値である
 <10>に記載の情報処理装置。
<13> 前記第1項は、前記尤度を高くするとき、前記入力コンテンツの尤度に正の係数が付され、前記尤度を低くするとき前記入力コンテンツの尤度に負の係数が付される
 <9>に記載の情報処理装置。
<14> 前記第1項は、前記入力コンテンツを構成する要素毎の尤度と、前記要素毎の所定の係数と定数との積より構成される所定の尤度との差分の二乗の和からなる
 <9>に記載の情報処理装置。
<15> 前記入力コンテンツのうち、変更を加えない部分がコンテキストとして指定された場合、前記エンコーダは、前記入力コンテンツのうち、前記コンテキスト以外の部分を入力部分データとしてエンコードして潜在変数に変換し、
 前記デコーダは、前記潜在変数をデコードして出力部分データを再構成し、
 前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力部分データを再構成させ、前記再構成した前記出力部分データと、前記コンテキストとを統合して出力コンテンツを再構成する
 <3>に記載の情報処理装置。
<16> 前記損失関数計算部は、入力コンテンツのうち、前記コンテキスト以外の入力部分データの尤度である条件付き尤度に基づいて、前記損失関数を計算する
 <15>に記載の情報処理装置。
<17> 前記損失関数計算部は、前記入力コンテンツのリアリティ尤度として、前記入力コンテンツの前記尤度を用いる
 <15>に記載の情報処理装置。
<18>
 前記制御部は、前記損失関数の勾配を所定の大きさずつ段階的に降下して、前記潜在変数を段階的に更新し、更新した前記潜在変数を前記デコーダにより繰り返しデコードさせて複数の出力コンテンツを段階的に再構成させる
 <1>乃至<17>のいずれかに記載の情報処理装置。
<19> エンコーダと、
 デコーダと、
 損失関数計算部と、
 制御部とを備える情報処理装置の情報処理方法において、
 前記エンコーダは、データの系列からなる入力コンテンツをエンコードして潜在変数に変換し、
 前記デコーダは、前記潜在変数をデコードして出力コンテンツを再構成し、
 前記損失関数計算部は、前記入力コンテンツの尤度に基づいて、損失関数を計算し、
 前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる
 ステップを含む情報処理方法。
<20> データの系列からなる入力コンテンツをエンコードして潜在変数に変換するエンコーダと、
 前記潜在変数をデコードして出力コンテンツを再構成するデコーダと、
 前記入力コンテンツの尤度に基づいて、損失関数を計算する損失関数計算部と、
 前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる制御部と
 してコンピュータを機能させるプログラム。
 31 情報処理装置, 32 入出力デバイス, 51 通信部, 52 制御部, 53 記憶部, 71 学習部, 72 最適化部, 73 生成部, 81 モデル記憶部, 82 楽曲DB, 91 エンコーダ, 92 デコーダ, 93 損失関数計算部, 101,101’ 尤度評価器, 102,102’ リアリティ評価器

Claims (20)

  1.  データの系列からなる入力コンテンツをエンコードして潜在変数に変換するエンコーダと、
     前記潜在変数をデコードして出力コンテンツを再構成するデコーダと、
     前記入力コンテンツの尤度に基づいて、損失関数を計算する損失関数計算部と、
     前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる制御部と
     を備える情報処理装置。
  2.  前記エンコーダと前記デコーダとは、再構成誤差が最小となるようにしつつ、事後分布が事前分布により正則化されるようにVAE(Variational Auto Encoder)学習されている
     請求項1に記載の情報処理装置。
  3.  前記損失関数計算部は、
      前記入力コンテンツの尤度を計算する尤度評価器と、
      前記入力コンテンツのリアリティの尤度であるリアリティ尤度を計算するリアリティ評価器とを備え、
     前記尤度評価器の評価結果となる尤度と、前記リアリティ評価器の評価結果となるリアリティ尤度とに基づいて、前記損失関数を計算する
     請求項1に記載の情報処理装置。
  4.  前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新する際、前記リアリティ尤度が所定値よりも小さいとき、前記リアリティ尤度が大きくなるように、かつ、前記損失関数の勾配を降下させて、前記潜在変数を更新し、更新した前記潜在変数を前記デコーダによりデコードさせて前記出力コンテンツを再構成させる
     請求項3に記載の情報処理装置。
  5.  前記制御部は、前記潜在変数の空間である潜在変数空間内における前記潜在変数毎の前記尤度の分布と、前記リアリティ尤度の分布に基づいて、前記リアリティ尤度が所定値よりも小さいとき、前記リアリティが大きくなるように、かつ、前記損失関数の勾配を降下させて、前記潜在変数空間内の位置を移動させることで、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて前記出力コンテンツを再構成させる
     請求項4に記載の情報処理装置。
  6.  前記尤度評価器は、前記入力コンテンツが、予めサンプルとして登録されたコンテンツである確率からなる尤度を対数化したものを尤度として求める
     請求項3に記載の情報処理装置。
  7.  前記尤度評価器は、前記入力コンテンツを構成する前記データの系列が、予めサンプルとして登録されたコンテンツである確率である、前記データの系列毎の条件付き確率の積として求められる尤度を対数化したものを尤度として求める
     請求項6に記載の情報処理装置。
  8.  前記リアリティ評価器は、前記入力コンテンツが、人間が生成したコンテンツである確率からなる前記リアリティの尤度を対数化したものを前記リアリティ尤度として求める
     請求項3に記載の情報処理装置。
  9.  前記損失関数は、前記入力コンテンツの尤度に基づいた第1項と、前記リアリティ尤度に基づいた第2項とから構成される
     請求項3に記載の情報処理装置。
  10.  前記第1項は、前記入力コンテンツの尤度と、所定の係数が所定の定数に乗じられた所定の尤度との差分の二乗からなる
     請求項9に記載の情報処理装置。
  11.  前記所定の係数は、前記出力コンテンツの前記尤度を高くして、平凡化するとき1よりも大きな値に設定され、前記出力コンテンツの前記尤度を低くして、奇抜化するとき1よりも小さな値に設定される
     請求項10に記載の情報処理装置。
  12.  前記所定の定数は、前記尤度の初期値である
     請求項10に記載の情報処理装置。
  13.  前記第1項は、前記尤度を高くするとき、前記入力コンテンツの尤度に正の係数が付され、前記尤度を低くするとき前記入力コンテンツの尤度に負の係数が付される
     請求項9に記載の情報処理装置。
  14.  前記第1項は、前記入力コンテンツを構成する要素毎の尤度と、前記要素毎の所定の係数と定数との積より構成される所定の尤度との差分の二乗の和からなる
     請求項9に記載の情報処理装置。
  15.  前記入力コンテンツのうち、変更を加えない部分がコンテキストとして指定された場合、前記エンコーダは、前記入力コンテンツのうち、前記コンテキスト以外の部分を入力部分データとしてエンコードして潜在変数に変換し、
     前記デコーダは、前記潜在変数をデコードして出力部分データを再構成し、
     前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力部分データを再構成させ、前記再構成した前記出力部分データと、前記コンテキストとを統合して出力コンテンツを再構成する
     請求項3に記載の情報処理装置。
  16.  前記損失関数計算部は、入力コンテンツのうち、前記コンテキスト以外の入力部分データの尤度である条件付き尤度に基づいて、前記損失関数を計算する
     請求項15に記載の情報処理装置。
  17.  前記損失関数計算部は、前記入力コンテンツのリアリティ尤度として、前記入力コンテンツの前記尤度を用いる
     請求項15に記載の情報処理装置。
  18.  前記制御部は、前記損失関数の勾配を所定の大きさずつ段階的に降下して、前記潜在変数を段階的に更新し、更新した前記潜在変数を前記デコーダにより繰り返しデコードさせて複数の出力コンテンツを段階的に再構成させる
     請求項1に記載の情報処理装置。
  19.  エンコーダと、
     デコーダと、
     損失関数計算部と、
     制御部とを備える情報処理装置の情報処理方法において、
     前記エンコーダは、データの系列からなる入力コンテンツをエンコードして潜在変数に変換し、
     前記デコーダは、前記潜在変数をデコードして出力コンテンツを再構成し、
     前記損失関数計算部は、前記入力コンテンツの尤度に基づいて、損失関数を計算し、
     前記制御部は、前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる
     ステップを含む情報処理方法。
  20.  データの系列からなる入力コンテンツをエンコードして潜在変数に変換するエンコーダと、
     前記潜在変数をデコードして出力コンテンツを再構成するデコーダと、
     前記入力コンテンツの尤度に基づいて、損失関数を計算する損失関数計算部と、
     前記損失関数の勾配を降下して、前記潜在変数を更新し、更新した潜在変数を前記デコーダによりデコードさせて出力コンテンツを再構成させる制御部と
     してコンピュータを機能させるプログラム。
PCT/JP2020/049097 2020-01-14 2020-12-28 情報処理装置、および情報処理方法、並びにプログラム WO2021145213A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/785,051 US20230005459A1 (en) 2020-01-14 2020-12-28 Information processing apparatus, information processing method, and program
EP20913334.7A EP4092666A4 (en) 2020-01-14 2020-12-28 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
JP2021571135A JPWO2021145213A1 (ja) 2020-01-14 2020-12-28
CN202080090977.0A CN114868138A (zh) 2020-01-14 2020-12-28 信息处理装置、信息处理方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020003795 2020-01-14
JP2020-003795 2020-01-14

Publications (1)

Publication Number Publication Date
WO2021145213A1 true WO2021145213A1 (ja) 2021-07-22

Family

ID=76863757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/049097 WO2021145213A1 (ja) 2020-01-14 2020-12-28 情報処理装置、および情報処理方法、並びにプログラム

Country Status (5)

Country Link
US (1) US20230005459A1 (ja)
EP (1) EP4092666A4 (ja)
JP (1) JPWO2021145213A1 (ja)
CN (1) CN114868138A (ja)
WO (1) WO2021145213A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022019268A1 (ja) * 2020-07-22 2022-01-27 株式会社Tmik 音楽処理システム、音楽処理プログラム、及び音楽処理方法
JP2022022294A (ja) * 2020-07-22 2022-02-03 株式会社Tmik 音楽処理システム、音楽処理プログラム、及び音楽処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175006A (ja) 2010-02-23 2011-09-08 Sony Corp 情報処理装置、自動作曲方法、学習装置、学習方法、及びプログラム
WO2017098760A1 (ja) * 2015-12-08 2017-06-15 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175006A (ja) 2010-02-23 2011-09-08 Sony Corp 情報処理装置、自動作曲方法、学習装置、学習方法、及びプログラム
WO2017098760A1 (ja) * 2015-12-08 2017-06-15 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAHYA BURKE , YISHENG JI , SHIWEI RONG , SHUANGCHENG YANG AND ALAN YESSENBAYEV: "Music Composition using an Autoencoder Network", ECE 271B PROJECT, 2019, pages 1 - 6, XP055843498, Retrieved from the Internet <URL:https://www.yessenbayev.com/static/pdf/MusicCompositionPaper.pdf> *
RUIHAN YANG; DINGSU WANG; ZIYU WANG; TIANYAO CHEN; JUNYAN JIANG; GUS XIA: "Deep Music Analogy via Latent Representation Disentanglement", ARXIV, 20 October 2019 (2019-10-20), pages 1 - 8, XP081374980, Retrieved from the Internet <URL:https://arxiv.org/pdf/1906.03626.pdf> *
See also references of EP4092666A1

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022019268A1 (ja) * 2020-07-22 2022-01-27 株式会社Tmik 音楽処理システム、音楽処理プログラム、及び音楽処理方法
JP2022022294A (ja) * 2020-07-22 2022-02-03 株式会社Tmik 音楽処理システム、音楽処理プログラム、及び音楽処理方法
JP7033365B2 (ja) 2020-07-22 2022-03-10 株式会社Tmik 音楽処理システム、音楽処理プログラム、及び音楽処理方法

Also Published As

Publication number Publication date
EP4092666A4 (en) 2023-06-07
JPWO2021145213A1 (ja) 2021-07-22
US20230005459A1 (en) 2023-01-05
CN114868138A (zh) 2022-08-05
EP4092666A1 (en) 2022-11-23

Similar Documents

Publication Publication Date Title
Valle et al. Flowtron: an autoregressive flow-based generative network for text-to-speech synthesis
Vasquez et al. Melnet: A generative model for audio in the frequency domain
Sun et al. Generating diverse and natural text-to-speech samples using a quantized fine-grained vae and autoregressive prosody prior
US11222621B2 (en) Variational embedding capacity in expressive end-to-end speech synthesis
US11222620B2 (en) Speech recognition using unspoken text and speech synthesis
CN111771213B (zh) 语音风格迁移
US10573304B2 (en) Speech recognition system and method using an adaptive incremental learning approach
CN112289342A (zh) 使用神经网络生成音频
CN117043855A (zh) 无监督并行Tacotron非自回归和可控的文本到语音
WO2021145213A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US20240144945A1 (en) Signal processing apparatus and method, training apparatus and method, and program
JP6639285B2 (ja) 声質嗜好学習装置、声質嗜好学習方法及びプログラム
US20220238116A1 (en) A Method Of Sequence To Sequence Data Processing And A System For Sequence To Sequence Data Processing
WO2022135100A1 (zh) 基于人工智能的音频信号生成方法、装置、设备、存储介质及计算机程序产品
Nguyen et al. High quality voice conversion using prosodic and high-resolution spectral features
CN114387946A (zh) 语音合成模型的训练方法和语音合成方法
CN113822017A (zh) 基于人工智能的音频生成方法、装置、设备及存储介质
CN112908294A (zh) 一种语音合成方法以及语音合成系统
Boilard et al. A literature review of wavenet: Theory, application, and optimization
WO2020162190A1 (ja) 音響モデル学習装置、音響モデル学習方法、プログラム
CN113345410A (zh) 通用语音、目标语音合成模型的训练方法及相关装置
CN112002302A (zh) 一种语音合成方法和装置
CN114783410B (zh) 语音合成方法、系统、电子设备和存储介质
CN112992177B (zh) 语音风格迁移模型的训练方法、装置、设备及存储介质
KR102623171B1 (ko) 음원 분류 모델을 생성하기 위한 방법, 서버 및 컴퓨터프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20913334

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021571135

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020913334

Country of ref document: EP

Effective date: 20220816