WO2020032177A1 - 時系列データの周波数成分ベクトルを生成する方法及び装置 - Google Patents
時系列データの周波数成分ベクトルを生成する方法及び装置 Download PDFInfo
- Publication number
- WO2020032177A1 WO2020032177A1 PCT/JP2019/031380 JP2019031380W WO2020032177A1 WO 2020032177 A1 WO2020032177 A1 WO 2020032177A1 JP 2019031380 W JP2019031380 W JP 2019031380W WO 2020032177 A1 WO2020032177 A1 WO 2020032177A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- unit
- neural network
- data
- component
- frequency
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 239000013598 vector Substances 0.000 title claims abstract description 64
- 238000013528 artificial neural network Methods 0.000 claims abstract description 200
- 238000004148 unit process Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 91
- 238000013500 data storage Methods 0.000 claims 1
- 238000009826 distribution Methods 0.000 description 64
- 230000010365 information processing Effects 0.000 description 34
- 230000006870 function Effects 0.000 description 22
- 238000006243 chemical reaction Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 19
- 238000005070 sampling Methods 0.000 description 18
- 230000001537 neural effect Effects 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/08—Instruments in which the tones are synthesised from a data store, e.g. computer organs by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/131—Mathematical functions for musical analysis, processing, synthesis or composition
- G10H2250/215—Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
- G10H2250/221—Cosine transform; DCT [discrete cosine transform], e.g. for use in lossy audio compression such as MP3
- G10H2250/225—MDCT [Modified discrete cosine transform], i.e. based on a DCT of overlapping data
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/311—Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/315—Sound category-dependent sound synthesis processes [Gensound] for musical use; Sound category-specific synthesis-controlling parameters or control means therefor
- G10H2250/455—Gensound singing voices, i.e. generation of human voices for musical applications, vocal singing sounds or intelligible words at a desired pitch or with desired vocal effects, e.g. by phoneme synthesis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/471—General musical sound synthesis principles, i.e. sound category-independent synthesis methods
- G10H2250/481—Formant synthesis, i.e. simulating the human speech production mechanism by exciting formant resonators, e.g. mimicking vocal tract filtering as in LPC synthesis vocoders, wherein musical instruments may be used as excitation signal to the time-varying filter estimated from a singer's speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
Definitions
- the present disclosure relates to processing of data using a neural network.
- Non-Patent Document 1 discloses WaveNet.
- WaveNet takes at least one of the input value or output value of the past audio sample sequence and auxiliary data related to the property of the target output audio sample sequence as input, and sets the new audio sample value per unit time. By obtaining a probability distribution and sampling one value from the probability distribution, a new audio sample value can be obtained. An output audio sample sequence can be obtained by repeating the above processing for each unit time.
- WaveNet requires large neural network calculations to be performed for each audio sample. Normally, hundreds of thousands of audio samples are required per second, so that there is a problem that the amount of calculation becomes enormous.
- WaveNet is a technology that specializes in the conversion or generation of audio sample sequences.
- a form in which this is directly applied to the generation of a certain kind of vector sequence data to function as a speech synthesizer is Neural Parametric ⁇ Singing ⁇ Synthesizer (NPSS) disclosed in Non-Patent Document 2.
- NPSS Neural Parametric ⁇ Singing ⁇ Synthesizer
- the probability distribution of each dimension of a vector composed of tens of dimensional mel-cepstral coefficients expressing the properties of speech is output simultaneously for all dimensions by a neural network similar to WaveNet.
- the probability distribution output here is a probability distribution based on independence of each dimension, and is not a simultaneous probability distribution of all dimensions or a conditional probability distribution based on a dependency between dimensions.
- the direct application of this method is limited to a case where a sufficient quality output can be obtained even if the relation between dimensions is not treated so strictly, such as a mel-cepstral coefficient in speech.
- a similar form of neural network is used to output a simultaneous probability distribution of all dimensions and a conditional probability distribution based on inter-dimensional dependencies, the probability distribution that the neural network should output is And the number of parameters for the learning and generation become enormous, the calculation resources for learning and generation become enormous, and learning may not be performed properly due to lack of learning data for the number of output dimensions.
- a method is a method of generating a frequency component vector of time-series data, and using a first neural network to which first data is provided, A first process for generating intermediate data representing an alternative representation of one data; and a second process for generating a plurality of component values corresponding to a plurality of frequency bands based on the intermediate data.
- the second process is executed in each of a plurality of unit steps, and the second process includes a plurality of unit processes corresponding to the plurality of frequency bands, and each of the plurality of unit processes is provided with the intermediate data.
- the first unit processing corresponding to the first frequency band of the plurality of unit processing includes the first frequency A second component value generated by a second unit process corresponding to a second frequency band different from the band or an intermediate value of the second unit process, and the intermediate data are provided to the second neural network, and Generate component values.
- An apparatus is an apparatus that generates a frequency component vector of time-series data, and represents an alternative expression of the first data using a first neural network to which the first data is provided.
- a first processing unit that executes a first process of generating intermediate data
- a second processing unit that executes a second process of generating a plurality of component values corresponding to a plurality of frequency bands based on the intermediate data.
- the first processing and the second processing are performed in each of a plurality of unit steps, the second processing includes a plurality of unit processing corresponding to the plurality of frequency bands, and Each including an estimation by a second neural network to which the intermediate data is provided, generating a corresponding plurality of component values, and a first unit corresponding to a first frequency band of the plurality of unit processes
- the second component value generated by the second unit process corresponding to the second frequency band different from the first frequency band or the intermediate value of the second unit process, and the intermediate data,
- the first component value is provided to the network.
- FIG. 1 is a block diagram illustrating a configuration of an information processing device according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram illustrating a functional configuration of the information processing apparatus.
- FIG. 3 is a block diagram illustrating a specific configuration of an information processing unit.
- 9 is a flowchart illustrating a specific procedure of an operation of the information processing device. It is a flowchart which illustrates the specific procedure of learning.
- a main neural network that inputs one or more vectors and outputs one or more vectors per unit time; For each unit time, the output of the main neural network is used as part or all of the input, and at that time of general sequence data, the probability distribution of one or more element values of the frequency component vector or the element values or the probability distribution thereof
- one or more sub-neural networks that output a group of parameters expressing At least one of the sub-neural networks is a neural network configured to output a value at the time depending on a value obtained by calculation of at least one of the sub-neural networks at the time.
- DCT discrete cosine transform
- DST discrete sine transform
- MDCT Modified Discrete Cosine Transform
- FIG. 1 is a block diagram illustrating a configuration of an information processing apparatus 100 according to an embodiment of the present disclosure.
- the information processing apparatus 100 is a computer system including a control device 11, a storage device 12, and a sound emitting device 13.
- a control device 11 a control device
- a storage device 12 a storage device
- a sound emitting device 13 a sound emitting device
- an information terminal such as a mobile phone, a smartphone, or a personal computer is used as the information processing device 100.
- the control device 11 is a processing circuit such as a CPU (Central Processing Unit), for example, and controls each element of the information processing device 100 in an integrated manner.
- the storage device 12 is a memory configured by a known recording medium such as a magnetic recording medium or a semiconductor recording medium, and stores a program executed by the control device 11 and various data used by the control device 11.
- the storage device 12 stores a plurality of coefficients K that define a neural network described later.
- the storage device 12 may be configured by combining a plurality of types of recording media.
- a portable recording medium that can be attached to and detached from the information processing apparatus 100 or an external recording medium (for example, an online storage) with which the information processing apparatus 100 can communicate via a communication network can be used as the storage device 12. Good.
- the control device 11 reproduces a sound wave corresponding to the acoustic signal A.
- a speaker or a headphone is a typical example of the sound emitting device 13.
- FIG. 2 is a block diagram illustrating functions realized by the control device 11 executing a program stored in the storage device 12.
- the control device 11 of the present embodiment implements a preprocessing unit 21, an information processing unit 22, and a waveform generation unit 23.
- the function of the control device 11 may be realized by a plurality of devices configured separately from each other. Some or all of the functions of the control device 11 may be realized by a dedicated electronic circuit.
- the preprocessing unit 21 generates a time series of the input data Din representing the feature of the voice for each of the plurality of unit steps on the time axis.
- the input data Din is, for example, a feature vector such as an amplitude spectrum. However, a combination of a low-order coefficient of the mel-cepstrum and the fundamental frequency, or a feature vector such as a mel spectrogram may be generated as the input data Din.
- the preprocessing unit 21 generates input data Din from, for example, text information representing the utterance content using a known conversion technique including speech synthesis.
- the unit step is a period that is a time unit of processing by the information processing apparatus 100.
- the information processing unit 22 generates the second data y based on the first data x including the input data Din in each of the plurality of unit steps on the time axis.
- the second data y is an N-dimensional frequency component vector including N component values y 1 to y N respectively corresponding to N frequency bands (N is a natural number of 2 or more).
- MDCT Modified Discrete Cosine Transform
- the first data x in any one unit step is a vector including the input data Din of the unit step and the second data y generated for the immediately preceding unit step. That is, the second data y generated by the information processing unit 22 is returned to the input side of the information processing unit 22 as a part of the first data x.
- the waveform generation unit 23 generates the sound signal A in the time domain based on the time series of the second data y generated by the information processing unit 22. For example, the waveform generation unit 23 generates the acoustic signal A by inverse modified discrete cosine transform (IMDCT; Inverse MDCT) on the time series of the second data y.
- IMDCT inverse modified discrete cosine transform
- the acoustic signal A generated by the waveform generator 23 is supplied to the sound emitting device 13 and reproduced as a sound wave.
- FIG. 3 is a block diagram illustrating a specific configuration of the information processing unit 22 that is realized by the control device 11 executing a program stored in the storage device 12.
- the information processing unit 22 includes a first processing unit 31 and a second processing unit 32.
- the first processing unit 31 executes the first processing in each of a plurality of unit steps on the time axis.
- the first process is a process of generating intermediate data q representing an alternative expression of the first data x.
- one main neural network M main NN
- the intermediate data q is a feature quantity vector representing the feature quantity of the first data x (particularly, the feature quantity that contributes to the relationship between the first data x and the second data y).
- the main neural network M is an example of a first neural network.
- the second processing unit 32 executes the second processing in each of a plurality of unit steps on the time axis.
- the second process is a process of generating the second data y based on the intermediate data q generated by the first processing unit 31.
- the second processing section 32 is configured to include a different frequency band of the component value y corresponding to the n N number of unit processing unit U 1 ⁇ U N of the second data y.
- the intermediate data q generated by the first processing unit 31 is commonly input to the N unit processing units U 1 to UN.
- Each unit processing unit U n performs processing (hereinafter referred to as "unit processing") for generating a component value y n of the second data y. That is, the second process includes N unit processes for generating the corresponding N component values y 1 to y N of the second data y.
- Each unit processing unit U n (U 1 to U N ) includes a sub-neural network Q n (sub-NN) and a sampling unit D n .
- Vice Neural Network Q n unit processing unit U n generates a probability distribution p n component value y n.
- kind of probability distribution p n is optional.
- the discrete probability distribution Gaussian mixture model (GMM; Gaussian Mixture Model), or MoL (Mixture of Logistic distributions) are preferred as the probability distribution p n.
- GMM Gaussian mixture model
- MoL Matture of Logistic distributions
- These plurality of sub-neural networks Q 1 to Q N are examples of the second neural network.
- the second neural network has a plurality of individual sub-neural networks Q 1 -Q N.
- Sampling unit D n unit processing unit U n samples a component value y n based on the probability distribution p n previous stage of the sub-neural networks Q n is generated.
- the sampling unit D n generates a pseudo-random number according to the probability distribution p n as the component value y n.
- the unit process by the unit processing unit U n is a processing including the generation of secondary neural network Q n by the probability distribution p n, and a sampling of the component value y n by the sampling unit D n .
- the sub-neural networks Q n may be directly output component value y n.
- Vice Neural Network Q n is the sampling unit D n in the configuration of outputting the component values y n are omitted.
- Intermediate data q is input to the sub-neural network to Q 1 1st unit processing unit U 1.
- Secondary neural network Q 1 is a neural network has learned the relationship between the intermediate data q and the probability distribution p 1.
- the sub-neural networks Q n for each unit processing unit U n of the second and subsequent, generated by the unit processing unit U 1 ⁇ U n-1 from the first to the (n-1) th ( (n-1) component values y 1 to y n-1 are input together with the intermediate data q.
- the second th sub neural network Q 2 component values y 1 to the unit processor U 1 of the first-generated is input together with the intermediate data q.
- the third sub-neural networks Q 3, and component values y 1 to the unit processor U 1 of the first-generated with component values y 2 of the second unit section U 2 are generated by the intermediate data Input with q.
- (N ⁇ 1) component values y 1 to y N generated by the first to (N ⁇ 1) -th unit processing units Un are provided.
- -1 is input together with the intermediate data q.
- the sub-neural networks Qn includes a component value y 1 ⁇ y n-1 and the intermediate data q from the first to the (n-1) th, the relationship between the probability distribution p n Is a neural network that has learned.
- the probability distribution p 1 generated by the first sub-neural network Q 1 is a conditional probability distribution p (y 1
- b) means a conditional probability distribution of a conditional on b.
- the probability distribution p n generated by the second and subsequent sub-neural networks Q n is based on the condition that the intermediate data q and (n ⁇ 1) component values y 1 to y n ⁇ 1 are observed.
- conditional probability distribution p of component values y n are generated by the (y n
- FIG. 3 is y n with respect to 1 ⁇ n ⁇ N becomes every n is configured to depend on all of y m for 1 ⁇ m ⁇ n-1, y n is 1 ⁇ m ⁇ n- It suffices if it depends on y m for any one or more of m .
- the dependency is arbitrarily determined based on a property relating to a relationship between dimensions of the target second data y. That is, the number and number m of component values y m which is input to the sub-neural networks Q n is arbitrary.
- the first unit processing for generating the component value y n1 of the first frequency band among the N frequency bands and the component value y n2 of the second frequency band other than the first frequency band are performed. Focusing on the generated second unit processing for the sake of convenience, the component value yn2 generated in the second unit processing is input together with the intermediate data q to the sub-neural network Q n1 used for the first unit processing. .
- the second frequency band is, for example, a frequency band lower than the first frequency band. That is, the second component value yn2 corresponds to a frequency band lower than the first component value yn1 .
- the structure of the main neural network M is arbitrary.
- it may be a simple feedforward neural network in which all connected layers are stacked, or a convolutional neural network (CNN; Convolutional Neural Network).
- CNN convolutional neural network
- a kind of neural network that stores the result of calculation in an internal state and uses it for the next calculation such as a recurrent neural network (RNN; Recurrent Neural Network) or long / short-term memory (LSTM). May be used.
- RNN recurrent neural network
- LSTM long / short-term memory
- each sub-neural network Q n is a simple feedforward neural network or CNN in which all connected layers are stacked. Can be used.
- one of the sub-neural networks Q (Single network ) Is enough. That is, N sub-neural networks Q 1 to Q N corresponding to the number of component values y n are not necessary.
- one sub-neural networks Q installed in the second processing unit 32 is also utilized in a unit process of generating any component value y n, each unit step, to be repeated use for a total of N times Become.
- one of the sub-neural networks Q is configured one by one and sequentially outputted for each unit processing the component value y n of the second data y.
- Component value y n by inputting the secondary neural network Q is generated component values y n obtained in each unit process in the unit process of the next time.
- component values dependent on the (n-1) component values y 1 to y n-1 calculated in the first to (n-1) -th unit processes y n is generated.
- the second processing unit The second process executed by the unit 32 includes N unit processes for generating N component values y 1 to y N.
- N unit processes for generating N component values y 1 to y N As described above, of the first unit processing, for the sake of convenience, the first unit processing for generating the component value yn1 and the second unit processing for generating the component value yn2 among the N unit processings are described.
- the second component value y n2 generated by the second unit processing is input to the sub-neural network Q together with the intermediate data q.
- the (n-1) component values generated by the first to (n-1) -th unit processes are added together with the intermediate data q and the sub-neural Input to the network Q.
- the main neural network M outputs intermediate data q for each unit step.
- Each sub-neural network Q n expresses, for each of one or more component values y n among the N component values y 1 to y N of the second data y, the value, the probability distribution of the value, or the probability distribution thereof.
- the parameter group to be output is output.
- at least one of the N sub-neural networks Q 1 to Q N is a component of the unit step depending on a component value y n calculated by at least one other sub-neural network Q n. and it outputs a value y n. If each sub-neural networks Q n outputs the probability distribution p n, by generating a pseudo-random number according to its distribution, to obtain a component value y n to a target.
- FIG. 4 is a flowchart illustrating a specific procedure of inference executed by the control device 11.
- the process of FIG. 4 is executed for each unit step on the time axis.
- the information processing section 22 acquires the first data x (Sa1).
- the first data x includes the input data Din generated by the preprocessing unit 21 for the unit step and the second data y generated in one or more immediately preceding unit steps.
- the second data y is set to an initial value.
- the information processing section 22 generates intermediate data q by inputting the first data x to the main neural network M (Sa2).
- the unit process exemplified above is repeated until the generation of the Nth component value yN.
- second data y composed of N component values y 1 to y N is generated.
- the waveform generation unit 23 generates the continuous acoustic signal A by converting the second data y into a time-domain waveform and combining the converted data with the converted waveform in the past unit step (Sc).
- the sound signal A is supplied to the sound emitting device 13.
- a sound corresponding to the acoustic signal A is emitted from the sound emitting device 13.
- FIG. 5 is a flowchart illustrating a learning procedure.
- the main neural network M and the N sub-neural networks Q 1 to Q N can be trained simultaneously.
- first data x assumed as an input at the time of inference is input to the main neural network M.
- one or more of the N sub-neural networks Q 1 ⁇ Q N is part of the input component values y n obtained by the output of the other sub-neural networks Q n
- the intermediate data q of the main neural network M and correct value of the component value y n is generated as the input of the sub-neural networks.
- the intermediate data q of the main neural network M and correct value of the component value y n is generated as the input of the sub-neural networks.
- the neural network group can be learned by applying the error backpropagation method using a large number of learning data prepared so that the correct value of the first data x and the correct value of the second data y form a set. . That is, the entire coefficient K of the neural network is repeatedly updated by the error backpropagation method. As described above, the coefficient K updated by learning is stored in the storage device 12.
- the mean square error between, for example correct value if each sub neural network Q n outputs the one or more component values y n itself of the second data y, the probability distribution when outputting p n may be the one obtained by inverting the sign of the log-likelihood of the correct value, for example with respect to the probability distribution p n.
- the method of selecting a frequency base is arbitrary, and there are many methods for converting general series data into a vector composed of coefficients for a plurality of frequency bases or vice versa.
- DFT discrete Fourier transform
- DCT discrete cosine transform
- DST discrete Sine Transform
- wavelet transform wavelet transform
- constant Q transform discrete Fourier transform
- a complex sine function is used in DFT
- a cosine function is used in DCT
- a sine function is used in discrete sine transform.
- the basis is not limited to the orthogonal basis.
- a wavelet transform or a constant Q transform is used, a non-orthogonal basis can be used.
- the basis is related to the frequency component of general sequence data.
- the frequency referred to here is not limited to the frequency in the complex sine function that is the basis of the Fourier transform, but refers to a general number that controls the scaling of the basis in the time axis direction.
- a cosine function is used as a basis, and series data of a coefficient vector obtained by a modified discrete cosine transform (MDCT) is used as second data y in the present embodiment.
- MDCT modified discrete cosine transform
- DCT is a general term for transforming a real number series into coefficients for a basis of a cosine function and its inverse transform. While the DFT uses a complex sine function as a base and outputs a complex number coefficient for a real number sequence, the coefficient output by the DCT is always a real number. Complex numbers consist of pairs of real and imaginary numbers, and their mutual dependencies are not easy to handle with neural networks, whereas real coefficients output by DCT can be easily used as outputs of neural networks. . In general, it is known that DCT for actual sequence data has better energy concentration to low frequency components than DFT.
- DST is a general term for conversion from a real number series to coefficients for a sine function base and its inverse conversion. DST has a poor energy concentration to low frequency components compared to DCT. However, DST is a transform that outputs a real number coefficient to real number series data, similarly to DCT. Therefore, various types of DCT and DST are suitable among various frequency bases and transforms that can be selected.
- MDCT is a kind of discrete cosine transform.
- the number of coefficients corresponding to the frequency base can be reduced.
- the conversion result at each time step is a vector of coefficients for N frequency bases.
- the original sequence data can be completely represented by half of the coefficients in MDCT, compared to the fact that it becomes a vector of coefficients for 2N frequency bases, and the overlap is double.
- the window function described above the coefficients for all frequency bases in the entire time range can be expressed with the same points as the original sequence data. This property contributes to a required reduction in the size of the network when a vector of coefficients with respect to the frequency base is used as an input or output of the neural network.
- MDCT is a preferred variant of each of the DCT variants.
- rate component values y n frequency component
- the second data y there is a rate converting filter bank output values for time series data.
- a filter bank is a set of filters having various pass frequency ranges, and a filter bank involving thinning or interpolation of sequence data is referred to as a rate conversion filter bank here.
- a filter bank with thinning is called an analysis filter bank, and a filter bank with interpolation is called a synthesis filter bank.
- the second data y frequency component vector
- the synthesis filter bank is applied to the series data output by the analysis filter bank, the same or almost the same series data as the original series data is output at the sampling frequency of the original series data.
- a quadrature mirror filter (QMF; Quadrature Mirror Filter) bank As a rate conversion filter bank that can be suitably used in the present embodiment, a quadrature mirror filter (QMF; Quadrature Mirror Filter) bank, a pseudo QMF (PQMF; Pseudo Quadrature Mirror Filter) bank, a conjugate quadrature filter (Conjugate Quadrature Filter) bank, etc.
- QMF Quadrature Mirror Filter
- PQMF Pseudo Quadrature Mirror Filter
- Conjugate Quadrature Filter Conjugate Quadrature Filter
- the output sequence data is a vector sequence in frame units, and the main neural network M is calculated for each unit step of this frame. Therefore, increasing the size of the main neural network M, according to the present embodiment sufficiently reduced scale of the sub-neural networks Q n, for example, using a primary neural network M and the scale of the neural network of the embodiment in WaveNet The amount of calculation is smaller than directly inferring sequence data such as audio samples. More specifically, generation of waveform samples in WaveNet is performed every sampling period, whereas generation of the second data y in the present embodiment is performed every N times the sampling period.
- the increase in the amount of calculation for executing this conversion is sufficiently small with respect to the reduction in the amount of calculation by using this embodiment.
- this transform can be reduced to a combination of a very small calculation and an inverse discrete Fourier transform (IDFT; Inverse Discrete Fourier Transform), IDFT can be efficiently calculated using an algorithm of fast Fourier transform (FFT; Fast Fourier Transform), so that the increase in calculation amount due to this is extremely small.
- IDFT Inverse Discrete Fourier Transform
- a receptive field In a neural network that handles finite-length sequence data, the length of an input sequence that can be used to infer output values per unit time is called a receptive field. In order to realize inference that accurately reflects the time-varying structure of the target time-series data, a receptive field long enough to represent the structure is necessary.
- Feedforward neural networks and convolutional neural networks have finite receptive fields determined by their configuration. In these neural networks, it is possible to lengthen the receptive field simply by increasing the number of input nodes of the neural network or the size of the convolution kernel. However, an increase in the number of input nodes or the size of the convolution kernel directly leads to an increase in the amount of computation during learning and inference. Since RNN and LSTM use the intermediate calculation result of inference in the past for inference, all input values in the past can be used in theory. However, since the effect of the past state gradually decreases in each unit step, it effectively corresponds to having a finite receptive field, and controlling the length of this substantial receptive field. Is not easy.
- the main neural network M since input to the main neural network M is performed at every unit step (unit time) corresponding to a frame unit, when the frame interval is N samples, sequence data is input in sample units such as WaveNet.
- the effective receptive field is N times longer than that of the neural network.
- WaveNet proposes to treat audio waveforms with mu-law quantization.
- an error due to quantization occurs in addition to the error of the inference of the neural network.
- the error is smaller when the time-series data is once converted to the second data y in the frequency domain, quantized, and then converted back to the time-series data than when directly quantizing the time-series data.
- an error is less likely to be perceived in a signal quantized by this method than in a signal directly quantized. From this tendency, in order to finally obtain the time series data, it is better to use the neural network for the quantized frequency basis coefficients as in the present embodiment.
- the error added by the quantization is less perceptible than using a neural network for the image data.
- Some sequence data have different characteristics for each frequency band. For example, most of the energy of a human voice is concentrated in a frequency band of about 4 kHz or less, and the energy sharply decreases in a higher frequency band. At 4 kHz or less, there is a tendency to change periodically with time, whereas in a frequency band higher than 4 kHz, there is a tendency to change with time. In a frequency band higher than 4 kHz, the sensitivity due to human hearing gradually decreases.
- configuration or method for inference may be different for each frequency band.
- the configuration is different from the accuracy for quantizing component values y n for each frequency band, a scale of the sub-neural networks Q n configuration is different for each frequency band, a representation of the probability distribution p n for each frequency band A different configuration is assumed.
- the accuracy of the inference for each frequency band becomes non-uniform, and substantially highly accurate inference can be performed with respect to the scale of the neural network. For example, focus on the first frequency band and the second frequency band as described above.
- the scale of the sub-neural network Q n2 corresponding to the component value y n2 of the second frequency band is equal to the sub-neural network Q n corresponding to the component value y n1 of the first frequency band. It is larger than the scale of n1 . That is, the configuration in which a larger scale as secondary neural network Qn corresponding to component value y n of the low frequency band is preferred.
- the second data y in the frequency domain it is also possible to add different operations for each frequency band with respect to the probability distribution p n, which is output during the inference. For example in a low frequency band by reducing the value of the parameter corresponding to the variance of the probability distribution p n, the sharper the shape of the probability distribution p n, reducing the randomness generated by sampling based on the probability distribution p n Can be.
- a human voice is predicted by applying this method, it is possible to obtain a voice with a reduced noise component as compared with a normal method. If the same method is applied to the probability distribution of each audio sample in WaveNet, the effect will be applied to the entire frequency range. For example, voices such as fricative consonants that should have large noise characteristics in the range of 4 kHz or more. Will not be properly predicted. However, in the present embodiment, such a problem is unlikely to occur because the degree of noise can be controlled for each frequency band.
- WaveNet which targets only the time series of audio samples that are scalar values
- NPSS which targets the time series of vectors and cannot perform inference with the relationship between dimensions
- Embodiment 4.1 Embodiment as a Neural Vocoder 4.1.1 Overview
- a neural network that mainly receives a low-dimensional speech feature amount related to an amplitude spectrum and outputs a waveform corresponding to the feature amount is called a neural vocoder.
- the feature quantity of the speech input to the neural vocoder is, for example, a combination of a low-order coefficient of the mel cepstrum and fundamental frequency information, a mel spectrogram, and the like.
- These features are generated by a known conversion technique, for example, based on text information. If such a conversion technique is combined with a neural vocoder, the information processing apparatus 100 functions as a speech synthesis system that obtains a speech waveform from text information.
- the neural vocoder Since the amplitude spectrum has no phase information, a feature amount obtained by compressing the amplitude spectrum into a low-dimensional expression cannot be converted into a waveform by a simple function such as an inverse Fourier transform. Therefore, instead of such a function, the neural vocoder prepares a neural network that learns in advance the combination of a speech feature and a waveform that actually occur, and uses the neural network to calculate features related to the amplitude spectrum. Convert to waveform.
- the feature vector of speech changes smoothly with time as compared with the speech waveform.
- the feature vector by a time step of about 5 to 10 milliseconds is sufficient. Quality sound is obtained.
- this feature amount vector since the calculation of the neural network is performed for each audio sample, this feature amount vector must be interpolated every time step of about 100 microseconds.
- the frequency of this interpolation processing can be reduced from a fraction to several tenths.
- the second data y as an alternative to the audio waveform, it is preferable to use a coefficient vector sequence obtained by applying MDCT with a frame interval of about 2 to 64 samples to the audio waveform.
- the output of each sub-neural networks Q n are, each dimension It is preferable to use the probability distribution of the MDCT coefficient or a parameter expressing the probability distribution.
- the time may be used a probability distribution for treated discrete values MDCT coefficients of each dimension is quantized, using the parameters of the probability distribution for handling continuous values without quantization, it by each sub-neural networks Q n May be output.
- the N sub-neural networks Q 1 -Q N are configured such that the inference of the coefficients of the high frequency components depends on the value obtained by calculating the inference of the coefficients of the low frequency components.
- Vice Neural Network Q n is a involve errors in scale small reasoning, in order through the sampling from probability distributions, other numbers of directly or indirectly dependent on the sub-neural networks Q n is large by-neural more network Q n, the accuracy of the inference is reduced.
- the energy is generally larger in a lower frequency range, the energy is periodic, and the perception in the auditory sense is delicate, and in the higher frequency range, the energy is smaller, aperiodic, and the perception in the auditory sense is less sensitive.
- good quality speech can be obtained. Therefore, it is reasonable that the low-frequency band is accurately inferred, and the high-frequency band is inferred conditional on the inference result.
- the correct value of the second data y and the corresponding input data Din (series data of the feature amount vector) in an arbitrary time range of the voice used for learning are input, and the next time range of the input is used.
- the whole neural network is learned using the MDCT coefficient vector in the unit step of as the final output target value. Since actually the output from the sub-neural networks Q n is the probability distribution for the coefficients for each basis of MDCT, the error so as to minimize the value obtained by reversing the sign of the log-likelihood function of the target value for the probability distribution
- the weight coefficient K of the entire neural network is updated by applying the back propagation method. By repeating this procedure for a large number of voices used for learning, the weight coefficient K of the entire neural network is gradually optimized. As described above, the coefficient K updated by learning is stored in the storage device 12.
- each sub-neural networks Q n and inputs the output of the main neural network M, the correct value of the MDCT coefficient corresponding to the output of the sub-neural networks Q n of the sub-neural networks Q n depends .
- the main neural network M is trained as a kind of encoder for compressing the characteristics of time series data of the input into a single vector, each sub-neural networks Q n are, MDCT of the frequency band It is trained as a neural network that infers the probability distribution of the coefficient values as conditioned on the output of the system value in the lower frequency range and the vector output by the main neural network M.
- the neural network of this embodiment covers a desired time range (hereinafter, referred to as a “synthetic range”).
- the second data y corresponding to the input data Din (feature amount vector) of the target sound can be obtained, and the waveform of the target sound can be obtained by applying inverse MDCT thereto. More specifically, the following procedure may be performed.
- the control device 11 sets the initial value of the second data y of the voice and the first input data Din of the series data of the vector of the feature amount of the target voice. Is input to the main neural network M.
- the initial value of the second data y is a vector corresponding to the value of all MDCT coefficients being 0, or corresponding to the MDCT coefficient corresponding to the first signal of the target voice if it is known in advance. Is used.
- Procedure 1 corresponds to steps Sa1 and Sa2 in FIG.
- Procedure 2 corresponds to step Sb1_1 in FIG. [Step 3] to produce a pseudo-random number according to the probability distribution obtained in the previous step, obtaining the MDCT coefficient y n of the band.
- Step 3 corresponds to step Sbn_2 in FIG.
- Step 4 The control device 11, the intermediate data q of the main neural network M outputs, one or more and the other sub-neural networks Q of MDCT coefficient y n of the low frequency range, which is inferred to previous step n to obtain a probability distribution of the MDCT coefficient.
- Step 3 corresponds to step Sbn_1 in FIG.
- the MDCT coefficient vector y is generated by repeating the procedures 4 and 3 for all the MDCT coefficients of the unit step.
- the control device 11 outputs the MDCT coefficient vector obtained by the above procedure as the final output value of the unit step, and records this as the value of the latest unit step of the second data y. .
- the control device 11 advances the unit step to be processed by one, and the one or more second data y output for the immediately preceding one or more unit steps and the input data representing the characteristics of the target voice
- the first data x including Din is input to the main neural network M.
- the control device 11 repeats the procedures 7, 2 to 6 a sufficient number of times for synthesizing the voice within the synthesis range.
- the control device 11 obtains a speech waveform within the synthesis range by applying inverse MDCT to the time series of the second data y.
- the sound signal A representing the sound waveform obtained in step 9 is supplied to the sound emitting device 13.
- a sound corresponding to the acoustic signal A is emitted from the sound emitting device 13.
- Step 9 corresponds to step Sc in FIG.
- the MDCT coefficient vector sequence data corresponding to the output audio signal is obtained by adding an arbitrary transformation (for example, a pitch changer or a multi-band compressor) to the MDCT coefficient vector sequence data corresponding to the input audio signal. Get.
- an arbitrary transformation for example, a pitch changer or a multi-band compressor
- learning and inference are provided by giving information on the nature of the conversion.
- a program according to an embodiment of the present disclosure is provided in a form stored in a computer-readable recording medium and installed in a computer.
- the recording medium is, for example, a non-transitory recording medium, and an optical recording medium (optical disk) such as a CD-ROM is a good example, and a known arbitrary recording medium such as a semiconductor recording medium or a magnetic recording medium is used.
- the non-transitory recording medium includes any recording medium except for a transient propagation signal (transitory, propagating signal), and does not exclude a volatile recording medium.
- the program may be provided to the computer in a form of distribution via a communication network.
- the subject of execution of artificial intelligence software for realizing a neural network is not limited to a CPU.
- a processing circuit dedicated to a neural network such as Tensor Processing Unit and Neural Engine, or a DSP (Digital Signal Processor) dedicated to artificial intelligence may execute the artificial intelligence software.
- a plurality of types of processing circuits selected from the above examples may cooperate to execute the artificial intelligence software.
- a method is a method for generating a frequency component vector of time-series data, wherein a first neural network (main NN) to which first data (x) is provided is used to generate a first component.
- a first process for generating intermediate data (q) representing an alternative representation of data (x) and a second process for generating a plurality of component values (y 1 to y N ) corresponding to a plurality of frequency bands based on the intermediate data.
- the second processing includes a plurality of unit processing corresponding to the plurality of frequency bands
- Each of the plurality of unit processes includes estimation by a second neural network (sub NN) to which the intermediate data (q) is provided, generates the corresponding plurality of component values, and generates a corresponding one of the plurality of unit processes.
- a corresponding first unit process is a second component value (y n2 ) generated by a second unit process corresponding to a second frequency band different from the first frequency band or an intermediate value of the second unit process;
- the intermediate data (q) is provided to the second neural network (sub NN) to generate a first component value ( yn1 ).
- the time series data is, for example, a waveform.
- the second component value generated for the second frequency band by the second unit processing are input to the second neural network. Therefore, the second data (y) including a plurality of component values (y 1 to y N ) respectively corresponding to a plurality of frequency bands and reflecting the dependence between the first component value and the second component value is generated. It is possible.
- first unit process and second unit process among the plurality of unit processes have been focused. It does not matter how the input is made in the other unit processing (such as the total number or range of inputs). In the first unit process, it is irrelevant whether a component value other than the second component value (or the intermediate value) is input to the second neural network.
- the second process is, for example, (1) a process of generating N component values by N sub NNs corresponding to different frequency bands, or (2) a process of generating component values N times by one RNN. Process that is repeated over
- the calculated value (intermediate value) in the middle of the sub NN is applied to the next estimation instead of the component value.
- the unit processing is, for example, (1) estimation of a probability distribution by the second neural network and determination of a component value according to the probability distribution, or (2) estimation of a component value directly by the second neural network.
- each of the plurality of unit processes includes a process of estimating a probability distribution of the component value by a second neural network (sub NN) to which the intermediate data (q) is input; And a process of determining a component value from.
- the first unit processing includes two or more component values generated by two or more unit processings including the second unit processing, or two or more intermediate values of the two or more component values.
- the value (q) is input to the second neural network (sub NN) to generate a first component value ( yn1 ).
- the (n-1) component values generated by the (1) -th unit processing or the intermediate values generated in the course of each unit processing are used together with the intermediate data (q) to generate the second neural network (sub-NN). ).
- the second unit process is executed before the execution of the first unit process.
- the two or more unit processes are executed before the execution of the first unit process.
- the plurality of component values of the frequency component vector are discrete cosine transform (DCT) or discrete sine transform (DST) coefficients.
- the plurality of component values of the frequency component vector are coefficients of a modified discrete cosine transform (MDCT).
- MDCT modified discrete cosine transform
- the plurality of component values of the frequency component vector respectively correspond to the plurality of component values, and output values from a down-sampling filter bank. It is.
- the second frequency band is lower than the first frequency band.
- the second neural network includes a plurality of individual neural networks corresponding to the plurality of unit processes, and each of the plurality of unit steps includes the plurality of unit processes. , And estimation by an individual neural network corresponding to each of Further, the individual neural network corresponding to the second unit processing is larger than the individual neural network corresponding to the first unit processing.
- the second neural network is a single neural network common to the plurality of unit processes, and each of the plurality of unit processes includes estimation by the single neural network.
- the size of the neural network is, for example, the number of layers, the number of nodes in one layer, or the number of channels. In the convolutional neural network, the size of the kernel applied to the convolution is also considered as the size of the neural network.
- the second neural network is smaller than the first neural network.
- Each aspect of the present disclosure is also realized as an information processing apparatus that executes the information processing method of each aspect illustrated above or a program that causes a computer to execute the information processing method of each aspect illustrated above.
- This application is based on a Japanese application filed on August 10, 2018 (Japanese Patent Application No. 2018-151748) and a Japanese application filed on September 11, 2018 (Japanese Patent Application No. 2018-169304), the contents of which are here. Imported as a reference.
- the information processing method and the information processing apparatus according to the present disclosure can realize appropriate learning and inference of a neural network while reducing the amount of computation.
- Information processing device 11 Control device 12 Storage device 13 Sound emitting device 21 Preprocessing unit 22 Information processing unit 23 Waveform generation unit 31 First processing unit 32 Second processing unit M Main neural network U n (U 1 to UN ) unit processing unit Q n (Q 1 to Q N ) sub-neural network D n (D 1 to DN ) sampling unit.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
時系列データの周波数成分ベクトルを生成する方法であって、第1データが供される第1ニューラルネットワークを用いて、第1データの代替表現を表す中間データを生成する第1処理と、前記中間データに基づいて複数の周波数帯域に対応する複数の成分値を生成する第2処理と、備え、前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データが供される第2ニューラルネットワークによる推定を含み、前記対応する複数の成分値を生成し、前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理は、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値または前記第2単位処理の中間値と、前記中間データとを前記第2ニューラルネットワークに供して、第1成分値を生成する。
Description
本開示は、ニューラルネットワークを利用したデータの処理に関する。
ニューラルネットワークを用いて系列データを生成もしくは変換することが可能である。例えば非特許文献1にはWaveNetが開示されている。WaveNetでは過去のオーディオサンプル系列の入力値もしくは出力値と、目標とする出力オーディオサンプル系列の性質に関係する補助データとのうちの少なくともひとつを入力として、単位時間ごとに新たなオーディオサンプルの値に対する確率分布を得て、この確率分布から1個の値をサンプリングすることで新たなオーディオサンプルの値を得ることができる。以上の処理を単位時間毎に繰り返すことで出力オーディオサンプル系列を得ることができる。WaveNetでは、大規模なニューラルネットワークの計算をオーディオサンプル毎に行わなければならない。通常オーディオサンプルは1秒間あたり数十万サンプル必要なため、計算量が膨大になるという問題がある。
Van Den Oord, Aaron, et al. "Wavenet: A generative model for raw audio." CoRR abs/1609.03499 (2016)
Blaauw, Merlijn, and Jordi Bonada. "A neural parametric singing synthesizer." arXiv preprint arXiv:1704.03809 (2017)
WaveNetはオーディオサンプル系列の変換もしくは生成に特化した技術である。これをある種のベクトル系列データの生成に直接応用して音声合成器として機能させる形態に、非特許文献2に開示されたNeural Parametric Singing Synthesizer (NPSS)がある。NPSSでは音声の性質を表現する数十次元のメルケプストラム係数からなるベクトルの各次元の確率分布が、WaveNetと類似の形態のニューラルネットワークによって、全次元分一斉に出力される。ただし、ここで出力される確率分布は、各次元毎の独立性に基づく確率分布であって、全次元の同時確率分布や次元間の依存関係に基づく条件付き確率分布ではない。したがって、この方法が直接応用できるのは、音声におけるメルケプストラム係数のように、次元間の関係性をさほど厳密に扱わなくても十分な品質の出力が得られる場合に限定される。その限定を回避するために、仮に同様の形態のニューラルネットワークによって全次元の同時確率分布や次元間の依存関係に基づく条件付き確率分布を出力することを考えると、ニューラルネットワークが出力すべき確率分布やそのパラメタの数が膨大となり、学習や生成にかかる計算リソースが膨大となるうえ、出力の次元数に対する学習データの不足から学習が適切に行われない可能性がある。
以上の課題を解決するために、本開示の一態様に係る方法は、時系列データの周波数成分ベクトルを生成する方法であって、第1データが供される第1ニューラルネットワークを用いて、第1データの代替表現を表す中間データを生成する第1処理と、前記中間データに基づいて複数の周波数帯域に対応する複数の成分値を生成する第2処理と、備え、前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データが供される第2ニューラルネットワークによる推定を含み、前記対応する複数の成分値を生成し、前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理は、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値または前記第2単位処理の中間値と、前記中間データとを前記第2ニューラルネットワークに供して、第1成分値を生成する。
また、本開示の一態様に係る装置は、時系列データの周波数成分ベクトルを生成する装置であって、第1データが供される第1ニューラルネットワークを用いて、第1データの代替表現を表す中間データを生成する第1処理を実行する第1処理部と、前記中間データに基づいて複数の周波数帯域に対応する複数の成分値を生成する第2処理を実行する第2処理部と、を備え、前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データが供される第2ニューラルネットワークによる推定を含み、前記対応する複数の成分値を生成し、前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理において、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値または前記第2単位処理の中間値と、前記中間データとを前記第2ニューラルネットワークに供され、第1成分値が生成される。
1.開示の要旨
1.1 開示の態様
本開示の一態様は、
単位時間毎に1個以上のベクトルを入力し1個以上のベクトルを出力する主ニューラルネットワークと、
前記単位時間毎に、主ニューラルネットワークの出力を入力の一部もしくは全部として、一般の系列データの当該時刻における、周波数成分ベクトルの一つ以上の要素値もしくはその要素値の確率分布もしくはその確率分布を表現するパラメタ群を出力する一つ以上の副ニューラルネットワークとを備え、
それら副ニューラルネットワーク群のうちの少なくとも一つが、当該時刻における副ニューラルネットワーク群のうち少なくとも一つの計算によって得られた値に依存して当該時刻の値を出力するように構成されたニューラルネットワーク
である。
1.1 開示の態様
本開示の一態様は、
単位時間毎に1個以上のベクトルを入力し1個以上のベクトルを出力する主ニューラルネットワークと、
前記単位時間毎に、主ニューラルネットワークの出力を入力の一部もしくは全部として、一般の系列データの当該時刻における、周波数成分ベクトルの一つ以上の要素値もしくはその要素値の確率分布もしくはその確率分布を表現するパラメタ群を出力する一つ以上の副ニューラルネットワークとを備え、
それら副ニューラルネットワーク群のうちの少なくとも一つが、当該時刻における副ニューラルネットワーク群のうち少なくとも一つの計算によって得られた値に依存して当該時刻の値を出力するように構成されたニューラルネットワーク
である。
1.2 特に効果的な態様
(1)周波数成分ベクトルとして、離散コサイン変換(DCT; Discrete Cosine Transform)の係数によって成るベクトルを利用する形態。
(2)周波数成分ベクトルとして、離散サイン変換(DST; Discrete Sine Transform)の係数によって成るベクトルを利用する形態。
(3)周波数成分ベクトルとして、修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)の係数によって成るベクトルを利用する形態。
(4)周波数成分ベクトルとして、レート変換フィルタバンクの一時刻における出力に相当するベクトルを利用する形態。
(5)高い周波数帯域に対応する係数が、低い周波数帯域に対応する係数の計算によって得られた値に依存して出力される形態。
(6)主ニューラルネットワークが大規模であり、各副ニューラルネットワークが小規模あるいは学習可能な係数をもたない関数である形態。
(7)各副ニューラルネットワークの規模が、それぞれに対応する周波数成分に対して要求される精度に基づいて異なるものとする形態。
(8)特に、高い周波数成分に対応する副ニューラルネットワークほど規模を小さくする形態。
(9)係数の確率分布を出力する形態。
(10)特に、その確率分布の表現方法を、各周波数成分の統計的性質に基づいて異なるものとする形態。
(11)特に、その確率分布から係数値を得る方法を、各周波数成分の性質に基づいて異なるものとする形態。
(1)周波数成分ベクトルとして、離散コサイン変換(DCT; Discrete Cosine Transform)の係数によって成るベクトルを利用する形態。
(2)周波数成分ベクトルとして、離散サイン変換(DST; Discrete Sine Transform)の係数によって成るベクトルを利用する形態。
(3)周波数成分ベクトルとして、修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)の係数によって成るベクトルを利用する形態。
(4)周波数成分ベクトルとして、レート変換フィルタバンクの一時刻における出力に相当するベクトルを利用する形態。
(5)高い周波数帯域に対応する係数が、低い周波数帯域に対応する係数の計算によって得られた値に依存して出力される形態。
(6)主ニューラルネットワークが大規模であり、各副ニューラルネットワークが小規模あるいは学習可能な係数をもたない関数である形態。
(7)各副ニューラルネットワークの規模が、それぞれに対応する周波数成分に対して要求される精度に基づいて異なるものとする形態。
(8)特に、高い周波数成分に対応する副ニューラルネットワークほど規模を小さくする形態。
(9)係数の確率分布を出力する形態。
(10)特に、その確率分布の表現方法を、各周波数成分の統計的性質に基づいて異なるものとする形態。
(11)特に、その確率分布から係数値を得る方法を、各周波数成分の性質に基づいて異なるものとする形態。
2.開示の一形態
2.1 ハードウェア構成
図1は、本開示の一形態に係る情報処理装置100の構成を例示するブロック図である。図1に例示される通り、本実施形態の情報処理装置100は、制御装置11と記憶装置12と放音装置13とを具備するコンピュータシステムである。例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末が、情報処理装置100として利用される。
2.1 ハードウェア構成
図1は、本開示の一形態に係る情報処理装置100の構成を例示するブロック図である。図1に例示される通り、本実施形態の情報処理装置100は、制御装置11と記憶装置12と放音装置13とを具備するコンピュータシステムである。例えば携帯電話機、スマートフォンまたはパーソナルコンピュータ等の情報端末が、情報処理装置100として利用される。
制御装置11は、例えばCPU(Central Processing Unit)等の処理回路であり、情報処理装置100の各要素を統括的に制御する。記憶装置12は、例えば磁気記録媒体または半導体記録媒体等の公知の記録媒体で構成されたメモリであり、制御装置11が実行するプログラムと制御装置11が使用する各種のデータとを記憶する。例えば、後述するニューラルネットワークを規定する複数の係数Kが記憶装置12に記憶される。なお、複数種の記録媒体の組合せにより記憶装置12を構成してもよい。また、情報処理装置100に対して着脱可能な可搬型の記録媒体、または情報処理装置100が通信網を介して通信可能な外部記録媒体(例えばオンラインストレージ)を、記憶装置12として利用してもよい。放音装置13は、制御装置11が音響信号Aに応じた音波を再生する。例えばスピーカまたはヘッドホンが放音装置13の典型例である。
図2は、記憶装置12に記憶されたプログラムを制御装置11が実行することで実現される機能を例示するブロック図である。図2に例示される通り、本実施形態の制御装置11は、前処理部21と情報処理部22と波形生成部23とを実現する。なお、相互に別体で構成された複数の装置により制御装置11の機能を実現してもよい。制御装置11の機能の一部または全部を専用の電子回路で実現してもよい。
前処理部21は、時間軸上の複数の単位ステップの各々について、音声の特徴を表す入力データDinの時系列を生成する。入力データDinは、例えば振幅スペクトル等の特徴量ベクトルである。ただし、メルケプストラムの低次係数と基本周波数との組合せ、またはメルスペクトログラム等の特徴量ベクトルを、入力データDinとして生成してもよい。前処理部21は、音声合成を含む公知の変換技術を利用して、例えば発話内容を表すテキスト情報から入力データDinを生成する。単位ステップは、情報処理装置100による処理の時間的な単位となる期間である。
情報処理部22は、時間軸上の複数の単位ステップの各々において、入力データDinを含む第1データxに基いて第2データyを生成する。第2データyは、N個の周波数帯域にそれぞれ対応するN個の成分値y1~yNを含むN次元の周波数成分ベクトルである(Nは2以上の自然数)。N個の成分値y1~yNは、例えば余弦関数を基底として利用した修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)の係数である。したがって、各成分値yn(n=1~N)は実数である。番号nが小さい成分値ynほど低い周波数帯域に対応する。すなわち、成分値y1はN個の周波数成分のうち最低の周波数成分に対応し、成分値yNはN個の周波数成分のうち最高の周波数成分に対応する。
図2に例示される通り、任意の1個の単位ステップにおける第1データxは、当該単位ステップの入力データDinと、直前の単位ステップについて生成された第2データyとを含むベクトルである。すなわち、情報処理部22が生成した第2データyは、第1データxの一部として情報処理部22の入力側に帰還される。
波形生成部23は、情報処理部22が生成する第2データyの時系列に基づいて時間領域の音響信号Aを生成する。例えば、波形生成部23は、第2データyの時系列に対する逆修正離散コサイン変換(IMDCT; Inverse MDCT)により音響信号Aを生成する。波形生成部23が生成した音響信号Aが放音装置13に供給されて音波として再生される。
2.2 ネットワーク構成
図3は、記憶装置12に記憶されたプログラムを制御装置11が実行することで実現される情報処理部22の具体的な構成を例示するブロック図である。図3に例示される通り、本実施形態の情報処理部22は、第1処理部31と第2処理部32とを含んで構成される。第1処理部31は、時間軸上の複数の単位ステップの各々において第1処理を実行する。第1処理は、第1データxの代替表現を表す中間データqを生成する処理である。第1処理には、第1データxと中間データqとの関係を学習した1個の主ニューラルネットワークM(主NN)が利用される。中間データqは、第1データxの特徴量(特に第1データxと第2データyとの関係に寄与する特徴量)を表す特徴量ベクトルである。主ニューラルネットワークMは、第1ニューラルネットワークの例示である。
図3は、記憶装置12に記憶されたプログラムを制御装置11が実行することで実現される情報処理部22の具体的な構成を例示するブロック図である。図3に例示される通り、本実施形態の情報処理部22は、第1処理部31と第2処理部32とを含んで構成される。第1処理部31は、時間軸上の複数の単位ステップの各々において第1処理を実行する。第1処理は、第1データxの代替表現を表す中間データqを生成する処理である。第1処理には、第1データxと中間データqとの関係を学習した1個の主ニューラルネットワークM(主NN)が利用される。中間データqは、第1データxの特徴量(特に第1データxと第2データyとの関係に寄与する特徴量)を表す特徴量ベクトルである。主ニューラルネットワークMは、第1ニューラルネットワークの例示である。
第2処理部32は、時間軸上の複数の単位ステップの各々において第2処理を実行する。第2処理は、第1処理部31が生成した中間データqに基づいて第2データyを生成する処理である。図3に例示される通り、第2処理部32は、第2データyの相異なる周波数帯域の成分値ynに対応するN個の単位処理部U1~UNを含んで構成される。第1処理部31が生成した中間データqがN個の単位処理部U1~UNに対して共通に入力される。各単位処理部Unは、第2データyの成分値ynを生成する処理(以下「単位処理」という)を実行する。すなわち、第2処理は、第2データyの対応するN個の成分値y1~yNを生成するN回の単位処理を含む。
各単位処理部Un(U1~UN)は、副ニューラルネットワークQn(副NN)とサンプリング部Dnとを含んで構成される。単位処理部Unの副ニューラルネットワークQnは、成分値ynの確率分布pnを生成する。確率分布pnの種類は任意である。例えば離散確率分布、混合ガウス分布(GMM; Gaussian Mixture Model)、またはMoL(Mixture of Logistic distributions)が確率分布pnとして好適である。これら複数の副ニューラルネットワークQ1~QN(個別ネットワーク)は、第2ニューラルネットワークの例示である。例えば、第2ニューラルネットワークは複数の個別の副ニューラルネットワークQ1~QNを有する。
単位処理部Unのサンプリング部Dnは、前段の副ニューラルネットワークQnが生成した確率分布pnに基づいて成分値ynをサンプリングする。例えばサンプリング部Dnは、確率分布pnに従う疑似乱数を成分値ynとして生成する。以上の説明から理解される通り、単位処理部Unによる単位処理は、副ニューラルネットワークQnによる確率分布pnの生成と、サンプリング部Dnによる成分値ynのサンプリングとを含む処理である。なお、副ニューラルネットワークQnが成分値ynを直接的に出力してもよい。副ニューラルネットワークQnが成分値ynを出力する構成ではサンプリング部Dnが省略される。
第1番目の単位処理部U1の副ニューラルネットワークQ1には中間データqが入力される。副ニューラルネットワークQ1は、中間データqと確率分布p1との関係を学習したニューラルネットワークである。他方、第2番目以降の各単位処理部Unの副ニューラルネットワークQnには、第1番目から第(n-1)番目までの単位処理部U1~Un-1により生成された(n-1)個の成分値y1~yn-1が中間データqとともに入力される。例えば、第2番目の副ニューラルネットワークQ2には、第1番目の単位処理部U1が生成した成分値y1が、中間データqとともに入力される。第3番目の副ニューラルネットワークQ3には、第1番目の単位処理部U1が生成した成分値y1と第2番目の単位処理部U2が生成した成分値y2とが、中間データqとともに入力される。また、第N番目の副ニューラルネットワークQNには、第1番目から第(N-1)番目までの各単位処理部Unが生成した(N-1)個の成分値y1~yN-1が、中間データqとともに入力される。以上の説明から理解される通り、副ニューラルネットワークQnは、第1番目から第(n-1)番目までの成分値y1~yn-1および中間データqと、確率分布pnとの関係を学習したニューラルネットワークである。
第1番目の副ニューラルネットワークQ1が生成する確率分布p1は、中間データqが観測されたという条件のもとで成分値y1が発生する条件付き確率分布p(y1|q)である。なお、確率分布p(a|b)は、bによって条件付けられたaの条件付き確率分布を意味する。他方、第2番目以降の副ニューラルネットワークQnが生成する確率分布pnは、中間データqと(n-1)個の成分値y1~yn-1とが観測されたという条件のもとで成分値ynが発生する条件付き確率分布p(yn|q,y1,…yn-1)である。以上の説明から理解される通り、第2番目以降の単位処理部Unが生成する成分値ynは、中間データqだけでなく、第1番目から第(n-1)番目までの(n-1)個の成分値y1~yn-1にも依存する。
なお、図3は、1≦n≦Nなるあらゆるnに対してynが1≦m≦n-1に対するすべてのymに依存するように構成したが、ynは1≦m≦n-1なるmの何れか一つ以上に対するymに依存していればよい。その依存関係は目標とする第2データyの次元間の関係性に関する性質に基づいて任意に決定される。すなわち、各副ニューラルネットワークQnに入力される成分値ymの個数および番号mは任意である。例えば、第n番目のニューラルネットワークQnに、直前の第(n-1)番目の単位処理部Un-1が生成した1個の成分値yn-1を中間データqとともに入力してもよい。また、第n番目のニューラルネットワークQnに、直前の2個の成分値yn-1およびyn-2を中間データqとともに入力してもよい。あるいは各副ニューラルネットワークQnの、複数の依存先から得られる各入力(yn-1,i≧1)に対して、0(非依存を意味する数値)もしくは1(依存を意味する数値)のマスクを乗算することで、この依存関係の有無を実現することも可能である。
以上の説明から理解される通り、N個の周波数帯域のうち第1周波数帯域の成分値yn1を生成する第1単位処理と、第1周波数帯域以外の第2周波数帯域の成分値yn2を生成する第2単位処理とに便宜的に着目すると、第1単位処理に利用される副ニューラルネットワークQn1には、第2単位処理で生成された成分値yn2が中間データqとともに入力される。第2周波数帯域は、例えば第1周波数帯域を下回る周波数帯域である。すなわち、第2成分値yn2は、第1成分値yn1よりも低い周波数帯域に対応する。
主ニューラルネットワークMの構造は任意であり、例えば全結合層を積層した単純なフィードフォワードニューラルネットワークでも良いし、畳み込みニューラルネットワーク(CNN; Convolutional Neural Network)でも良い。また、再帰型ニューラルネットワーク(RNN; Recurrent Neural Network)または長・短期記憶(LSTM; Long Short-Term Memory)のように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いても良い。なお、推論の正確性と学習および推論に要する計算効率が良いのはCNNやRNNおよびLSTMの種のニューラルネットワークである。
副ニューラルネットワークQnの構造もまた任意である。図3に示したようにN個の副ニューラルネットワークQ1~QNを依存関係をもって用いる場合には、それぞれの副ニューラルネットワークQnは全結合層を積層した単純なフィードフォワードニューラルネットワークやCNNを用いることができる。
なお、副ニューラルネットワークQnとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、1個の副ニューラルネットワークQ(単一ネットワーク)を備えれば十分である。すなわち、成分値ynの個数に相当するN個の副ニューラルネットワークQ1~QNは必要ではない。例えば、第2処理部32に設置された1個の副ニューラルネットワークQが、何れの成分値ynを生成する単位処理でも利用され、各単位ステップに、計N回にわたり反復利用されることになる。具体的には、1個の副ニューラルネットワークQが第2データyの成分値ynを単位処理毎に1個ずつ順次出力するように構成される。各単位処理で得られた成分値ynを次回以降の単位処理において副ニューラルネットワークQに入力することで成分値ynが生成される。第n番目の各単位処理では、例えば第1番目から第(n-1)番目までの単位処理で計算された(n-1)個の成分値y1~yn-1に依存する成分値ynが生成される。
N個の副ニューラルネットワークQ1~QNが並列に設置された図3の構成、および、1個の副ニューラルネットワークQが単位処理をN回にわたり反復する構成の何れにおいても、第2処理部32が実行する第2処理は、N個の成分値y1~yNを生成するN回の単位処理を含む。前掲の例示の通り、N回の単位処理のうち成分値yn1を生成する第1単位処理と成分値yn2を生成する第2単位処理とに便宜的に着目すると、第1単位処理においては、第2単位処理により生成された第2成分値yn2が、中間データqとともに副ニューラルネットワークQに入力される、と包括的に表現される。例えば、第2番目以降の第n番目の単位処理では、第1番目から第(n-1)番目の単位処理により生成された(n-1)個の成分値が、中間データqとともに副ニューラルネットワークQに入力される。
2.3 推論
推論において、主ニューラルネットワークMは、単位ステップ毎に中間データqを出力する。各副ニューラルネットワークQnは、第2データyのN個の成分値y1~yNのうち一つ以上の成分値yn毎に、その値もしくはその値の確率分布もしくはその確率分布を表現するパラメタ群を出力する。ここで、N個の副ニューラルネットワークQ1~QNのうち少なくとも一つは、少なくとも一つの他の副ニューラルネットワークQnによる計算で算定された成分値ynに依存して当該単位ステップの成分値ynを出力する。各副ニューラルネットワークQnが確率分布pnを出力する場合は、その分布に従う擬似乱数を生成することで、目標とする成分値ynを得る。
推論において、主ニューラルネットワークMは、単位ステップ毎に中間データqを出力する。各副ニューラルネットワークQnは、第2データyのN個の成分値y1~yNのうち一つ以上の成分値yn毎に、その値もしくはその値の確率分布もしくはその確率分布を表現するパラメタ群を出力する。ここで、N個の副ニューラルネットワークQ1~QNのうち少なくとも一つは、少なくとも一つの他の副ニューラルネットワークQnによる計算で算定された成分値ynに依存して当該単位ステップの成分値ynを出力する。各副ニューラルネットワークQnが確率分布pnを出力する場合は、その分布に従う擬似乱数を生成することで、目標とする成分値ynを得る。
図4は、制御装置11が実行する推論の具体的な手順を例示するフローチャートである。時間軸上の単位ステップ毎に図4の処理が実行される。図4の処理を開始すると、情報処理部22は、第1データxを取得する(Sa1)。前述の通り、第1データxは、前処理部21が当該単位ステップについて生成した入力データDinと、直前の1以上の単位ステップにて生成された第2データyとを含む。なお、推論を開始した直後の第1回目の単位ステップでは、第2データyは初期値に設定される。情報処理部22は、第1データxを主ニューラルネットワークMに入力することで中間データqを生成する(Sa2)。
情報処理部22は、第1回目の単位処理を実行する(Sb1)。具体的には、情報処理部22は、単位処理部U1の副ニューラルネットワークQ1に中間データqを入力することで確率分布p1(=p(y1|q))を生成し(Sb1_1)、確率分布p1から成分値y1をサンプリングする(Sb1_2)。
情報処理部22は、第2回目の単位処理を実行する(Sb2)。具体的には、情報処理部22は、第2番目の単位処理部U2の副ニューラルネットワークQ2に中間データqと成分値y1を入力することで確率分布p2(=p(y2|q,y1))を生成し(Sb2_1)、確率分布p2から成分値y2をサンプリングする(Sb2_2)。
以上に例示した単位処理が、第N番目の成分値yNの生成まで反復される。第N回目の単位処理において、情報処理部22は、単位処理部UNの副ニューラルネットワークQNに中間データqと(N-1)個の成分値y1~yN-1を入力することで確率分布pN(=p(yN|q,y1~yN-1))を生成し(SbN_1)、確率分布pNから成分値yNをサンプリングする(SbN_2)。
N回にわたる単位処理の反復(すなわち第2処理)により、N個の成分値y1~yNで構成される第2データyが生成される。波形生成部23は、第2データyを時間領域の波形に変換し、過去の単位ステップにおける変換済の波形と合成することで、連続的な音響信号Aを生成する(Sc)。音響信号Aは放音装置13に供給される。音響信号Aに対応する音が放音装置13から放音される。
2.4 学習
図5は、学習の手順を例示するフローチャートである。主ニューラルネットワークMとN個の副ニューラルネットワークQ1~QNは同時に学習させることが可能である。学習において、主ニューラルネットワークMには推論時の入力として想定される第1データxを入力する。図3に示した構成のように、N個の副ニューラルネットワークQ1~QNのうち一つ以上が、他の副ニューラルネットワークQnの出力によって得られた成分値ynを入力の一部とする場合、当該成分値ynの正解値と主ニューラルネットワークMが生成した中間データqとを当該副ニューラルネットワークの入力とする。図3に示した構成とは異なり、副ニューラルネットワークQとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、各単位ステップについて用意された第2データyの正解値を、当該副ニューラルネットワークQが推論すべき第2データyの正解値として用いる。以上のように第1データxと第2データyの正解値とが組になるように用意した学習データを多数用いて誤差逆伝播法を適用することで、ニューラルネットワーク群を学習させることができる。すなわち、誤差逆伝播法によりニューラルネットワークの全体の係数Kが反復的に更新される。前述の通り、学習による更新後の係数Kが記憶装置12に記憶される。誤差逆伝播法により最小化する対象は、各副ニューラルネットワークQnが第2データyの一つ以上の成分値ynそのものを出力する場合には例えば正解値との2乗平均誤差、確率分布pnを出力する場合には例えば当該確率分布pnに対する正解値の対数尤度の符号を反転したものを用いることができる。
図5は、学習の手順を例示するフローチャートである。主ニューラルネットワークMとN個の副ニューラルネットワークQ1~QNは同時に学習させることが可能である。学習において、主ニューラルネットワークMには推論時の入力として想定される第1データxを入力する。図3に示した構成のように、N個の副ニューラルネットワークQ1~QNのうち一つ以上が、他の副ニューラルネットワークQnの出力によって得られた成分値ynを入力の一部とする場合、当該成分値ynの正解値と主ニューラルネットワークMが生成した中間データqとを当該副ニューラルネットワークの入力とする。図3に示した構成とは異なり、副ニューラルネットワークQとしてRNNやLSTMのように計算の結果を内部状態に記憶して次回の計算に用いる種のニューラルネットワークを用いる場合には、各単位ステップについて用意された第2データyの正解値を、当該副ニューラルネットワークQが推論すべき第2データyの正解値として用いる。以上のように第1データxと第2データyの正解値とが組になるように用意した学習データを多数用いて誤差逆伝播法を適用することで、ニューラルネットワーク群を学習させることができる。すなわち、誤差逆伝播法によりニューラルネットワークの全体の係数Kが反復的に更新される。前述の通り、学習による更新後の係数Kが記憶装置12に記憶される。誤差逆伝播法により最小化する対象は、各副ニューラルネットワークQnが第2データyの一つ以上の成分値ynそのものを出力する場合には例えば正解値との2乗平均誤差、確率分布pnを出力する場合には例えば当該確率分布pnに対する正解値の対数尤度の符号を反転したものを用いることができる。
2.5 周波数成分と変換
本実施形態では、時間領域の一般の系列データ(すなわち、時間軸上の相異なる時点に対応する複数のデータの時系列)と周波数領域の第2データyとが相互に変換できることを利用する。このような変換には大きく分けて二つの方法があり、一つは周波数基底に対する係数への変換およびその逆変換を用いる方法であり、もう一つはフィルタバンクを用いる方法である。
本実施形態では、時間領域の一般の系列データ(すなわち、時間軸上の相異なる時点に対応する複数のデータの時系列)と周波数領域の第2データyとが相互に変換できることを利用する。このような変換には大きく分けて二つの方法があり、一つは周波数基底に対する係数への変換およびその逆変換を用いる方法であり、もう一つはフィルタバンクを用いる方法である。
2.5.1 周波数基底に対する係数への変換を用いる方法
周波数基底に対応する係数が、第2データyの各成分値ynとして好適である。周波数基底の選び方には任意性があり、また一般の系列データを複数の周波数基底に対する係数からなるベクトルに変換もしくはその逆の変換をする方法は多数ある。例えば離散フーリエ変換(DFT; Discrete Fourier Transform)、離散コサイン変換(DCT; Discrete Cosine Transform)、離散サイン変換(DST; Discrete Sine Transform)、ウェーブレット変換、定Q変換などである。DFTでは複素正弦関数、DCTでは余弦関数、離散サイン変換では正弦関数が基底となり、ウェーブレット変換や定Q変換では特定の要件を満たす任意の基底が用いられる。なお、離散時間上の系列データに対してこの種の変換を考えるとき、基底の選び方と変換方法は必ずしも一対一に対応しない。例えばDCTには境界条件やその他の前提条件の設定方法に応じて多くの種類があり、これらの変換によって系列データから得られる係数は何れも余弦関数を基底とする係数であるにも関わらず、それぞれ異なった値となる。基底は直交基底に限らず、例えばウェーブレット変換や定Q変換を利用する場合には非直交基底も取り得る。何れの変換においても基底は一般の系列データの周波数成分に関係する。ただし、ここでいう周波数とはフーリエ変換の基底である複素正弦関数における周波数に限定せず、時間軸方向への基底の拡大縮小を制御する数一般を指す。
周波数基底に対応する係数が、第2データyの各成分値ynとして好適である。周波数基底の選び方には任意性があり、また一般の系列データを複数の周波数基底に対する係数からなるベクトルに変換もしくはその逆の変換をする方法は多数ある。例えば離散フーリエ変換(DFT; Discrete Fourier Transform)、離散コサイン変換(DCT; Discrete Cosine Transform)、離散サイン変換(DST; Discrete Sine Transform)、ウェーブレット変換、定Q変換などである。DFTでは複素正弦関数、DCTでは余弦関数、離散サイン変換では正弦関数が基底となり、ウェーブレット変換や定Q変換では特定の要件を満たす任意の基底が用いられる。なお、離散時間上の系列データに対してこの種の変換を考えるとき、基底の選び方と変換方法は必ずしも一対一に対応しない。例えばDCTには境界条件やその他の前提条件の設定方法に応じて多くの種類があり、これらの変換によって系列データから得られる係数は何れも余弦関数を基底とする係数であるにも関わらず、それぞれ異なった値となる。基底は直交基底に限らず、例えばウェーブレット変換や定Q変換を利用する場合には非直交基底も取り得る。何れの変換においても基底は一般の系列データの周波数成分に関係する。ただし、ここでいう周波数とはフーリエ変換の基底である複素正弦関数における周波数に限定せず、時間軸方向への基底の拡大縮小を制御する数一般を指す。
選択し得る種々の周波数基底および変換の中でも、余弦関数を基底として用い、修正離散コサイン変換(MDCT; Modified Discrete Cosine Transform)によって得られる係数ベクトルの系列データを本実施形態における第2データyとして用いることが極めて好適である。なお、この変換は実数系列に対してのみ定義されるものなので複素数の系列データには利用できない。現実に扱う系列データは実数であることが多いので、この形態の利用範囲は極めて大きい。
DCTは、実数系列から余弦関数の基底に対する係数への変換およびその逆変換の総称である。DFTが複素正弦関数を基底とし、実数系列に対しても複素数の係数を出力するのに対して、DCTが出力する係数は常に実数である。複素数は実数と虚数との組からなり、それらの相互的な依存関係をニューラルネットワークで扱うことは容易ではないのに対して、DCTが出力する実数の係数はニューラルネットワークの出力として容易に利用できる。また一般に、現実の系列データに対するDCTはDFTと比較して低周波数成分へのエネルギー集中性が良いことが知られている。この性質から、DCTの係数においては低周波数成分に対応する係数を十分に高い精度で表現すれば、高周波数成分に対応する係数を低い精度で表現しても元の系列データの情報を大きくは失わない。なお、DSTは、実数系列から正弦関数の基底に対する係数への変換およびその逆変換の総称である。DSTはDCTと比較すると低周波数成分へのエネルギー集中性は良くない。ただし、DSTは、DCTと同様に実数系列データに対して実数係数を出力する変換である。したがって、DCTやDSTの各種は、選択し得る種々の周波数基底および変換の中でも好適なものである。
MDCTは離散コサイン変換の一種であり、特定の条件を満たす窓関数を特定の比率でオーバーラップさせたフレームによって単位時間毎の相互変換を行うことを前提として、他のDCTの種別やDFTと比較して、周波数基底に対応する係数の数を少なくすることができる。具体的な例では、2N点の窓関数を用いてN点の時間ステップで2重オーバーラップの変換を行うとき、各時間ステップの変換結果はN個の周波数基底に対する係数のベクトルとなる。同条件で他のDCTを用いた場合には2N個の周波数基底に対する係数のベクトルとなることと比較すると、MDCTではその半数の係数で元の系列データを完全に表現でき、2重にオーバーラップした窓関数を用いるにも関わらず、元の系列データと同じ点数で全時間範囲の全周波数基底に対する係数を表現できる。この性質は、周波数基底に対する係数のベクトルをニューラルネットワークの入力または出力として用いるとき、要求されるネットワークの規模削減に寄与する。したがってMDCTは、DCTの各変種の中でも好適なものである。
2.5.2 レート変換フィルタバンクを用いる方法
第2データyの各成分値yn(周波数成分)の別の一種として、系列データに対するレート変換フィルタバンク出力値がある。フィルタバンクとは、種々の通過周波数域をもつフィルタの集合体であり、系列データの間引きまたは内挿を伴うフィルタバンクをここではレート変換フィルタバンクとよぶ。さらに間引きを伴うフィルタバンクを分析フィルタバンク、内挿を伴うフィルタバンクを合成フィルタバンクとよぶ。一般の系列データに分析フィルタバンクを適用すると、各周波数帯域のフィルタ出力値がもとの系列データよりも低いサンプリング周波数で出力され(ダウンサンプリング)、各出力時刻における各周波数帯域のフィルタ出力値をベクトルとして構成すれば、本実施形態における第2データy(周波数成分ベクトル)として用いることができる。分析フィルタバンクが出力した系列データに合成フィルタバンクを適用すると、もとの系列データと同一もしくはほぼ同一の系列データが、もとの系列データのサンプリング周波数で出力される。
第2データyの各成分値yn(周波数成分)の別の一種として、系列データに対するレート変換フィルタバンク出力値がある。フィルタバンクとは、種々の通過周波数域をもつフィルタの集合体であり、系列データの間引きまたは内挿を伴うフィルタバンクをここではレート変換フィルタバンクとよぶ。さらに間引きを伴うフィルタバンクを分析フィルタバンク、内挿を伴うフィルタバンクを合成フィルタバンクとよぶ。一般の系列データに分析フィルタバンクを適用すると、各周波数帯域のフィルタ出力値がもとの系列データよりも低いサンプリング周波数で出力され(ダウンサンプリング)、各出力時刻における各周波数帯域のフィルタ出力値をベクトルとして構成すれば、本実施形態における第2データy(周波数成分ベクトル)として用いることができる。分析フィルタバンクが出力した系列データに合成フィルタバンクを適用すると、もとの系列データと同一もしくはほぼ同一の系列データが、もとの系列データのサンプリング周波数で出力される。
本実施形態で好適に用いることができるレート変換フィルタバンクとして、直交ミラーフィルタ(QMF; Quadrature Mirror Filter)バンク、疑似QMF(PQMF; Pseudo Quadrature Mirror Filter)バンク、共役直交フィルタ(Conjugate Quadrature Filter)バンクなどがあり、これらのフィルタはポリフェーズ分解とその等価変換を用いることで、間引きや内挿を伴った計算を効率よく実行することができる。
3.効果
3.1 計算量の削減
本実施形態において出力系列データはフレーム単位のベクトル系列であって主ニューラルネットワークMはこのフレームの単位ステップ毎に計算される。したがって、主ニューラルネットワークMの規模を大きく、副ニューラルネットワークQnの規模を十分に小さくした本実施形態によれば、例えばWaveNetにおいて本実施形態の主ニューラルネットワークMと同規模のニューラルネットワークを用いてオーディオサンプルなどの系列データを直接推論するよりも計算量が小さくなる。より具体的に言うと、WaveNetにおける波形サンプルの生成はサンプリング周期ごとに行われるのに対し、本実施形態における第2データyの生成はサンプリング周期のN倍の周期ごとに行われる。
3.1 計算量の削減
本実施形態において出力系列データはフレーム単位のベクトル系列であって主ニューラルネットワークMはこのフレームの単位ステップ毎に計算される。したがって、主ニューラルネットワークMの規模を大きく、副ニューラルネットワークQnの規模を十分に小さくした本実施形態によれば、例えばWaveNetにおいて本実施形態の主ニューラルネットワークMと同規模のニューラルネットワークを用いてオーディオサンプルなどの系列データを直接推論するよりも計算量が小さくなる。より具体的に言うと、WaveNetにおける波形サンプルの生成はサンプリング周期ごとに行われるのに対し、本実施形態における第2データyの生成はサンプリング周期のN倍の周期ごとに行われる。
最終的に得られる第2データyを時系列データに変換するケースでも、この変換を実行することの計算量の増加は、本実施形態を用いることによる計算量の削減に対して十分に小さい。特に、MDCTを含む周波数基底に対する係数への変換を利用する場合には、この変換はごく小規模な計算と逆離散フーリエ変換(IDFT; Inverse Discrete Fourier Transform)との組み合わせに帰着可能であって、IDFTは高速フーリエ変換(FFT; Fast Fourier Transform)のアルゴリズムを用いて効率的に計算が可能であるから、これによる計算量の増加は極めて小さい。
3.2 受容野の拡大
有限長の系列データを扱うニューラルネットワークにおいて、単位時間あたりの出力値の推論に利用できる入力系列の長さを受容野とよぶ。目標とする時系列データの、継時的な変動構造を正確に反映した推論を実現するためには、その構造が表されるのに十分な長さの受容野が必要である。
有限長の系列データを扱うニューラルネットワークにおいて、単位時間あたりの出力値の推論に利用できる入力系列の長さを受容野とよぶ。目標とする時系列データの、継時的な変動構造を正確に反映した推論を実現するためには、その構造が表されるのに十分な長さの受容野が必要である。
フィードフォワードニューラルネットワークや畳み込みニューラルネットワークは、その構成によって決まる有限の受容野をもつ。これらのニューラルネットワークでは、単純にニューラルネットワークの入力ノード数または畳み込みカーネルの大きさを増やすことによって受容野を長くすることが可能である。しかし、入力ノード数または畳み込みカーネルの大きさの増加は、学習時および推論時の計算量の増加に直結する。RNNやLSTMは、過去における推論の中間計算結果を推論に利用するため、理論上は過去のすべての入力値が利用できる。ただし、実際には過去の状態の影響は単位ステップ毎に徐々に小さくなるため、実質的には有限の受容野をもつことに相当し、またこの実質的な受容野の長さを制御することは容易ではない。
本実施形態においては主ニューラルネットワークMへの入力をフレーム単位に相当する単位ステップ(単位時間)毎に行うので、フレーム間隔がNサンプルのとき、例えばWaveNetのようにサンプル単位で系列データを入力するニューラルネットワークと比較して、実質的な受容野がN倍長くなる。
3.3 実質的な量子化誤差の低減
ニューラルネットワークにおいては、出力として期待する値が本来連続的なものであっても、量子化して取り得る値の何れかを出力する構成にする方が誤差の小さい推論が可能になる場合がある。WaveNetでは、音声波形をmu-law量子化して扱うことが提案されている。ただしこのとき、ニューラルネットワークの推論の誤差に加えて、量子化による誤差が発生する。一般に時系列データを直接量子化するよりも、いったん周波数領域の第2データyに変換してそれを量子化してから再度時系列データに変換する方が誤差が小さくなる。例えば音声や画像などの信号においては、この方法で量子化された信号は、直接量子化された信号に比べて誤差が知覚されにくい。この傾向から、最終的に時系列データを得るためには、本実施形態のように周波数基底係数を量子化したものに対するニューラルネットワークを利用する方が、WaveNetのように時系列データを直接量子化したものに対するニューラルネットワークを利用するよりも、量子化によって加わる誤差が知覚されにくい。
ニューラルネットワークにおいては、出力として期待する値が本来連続的なものであっても、量子化して取り得る値の何れかを出力する構成にする方が誤差の小さい推論が可能になる場合がある。WaveNetでは、音声波形をmu-law量子化して扱うことが提案されている。ただしこのとき、ニューラルネットワークの推論の誤差に加えて、量子化による誤差が発生する。一般に時系列データを直接量子化するよりも、いったん周波数領域の第2データyに変換してそれを量子化してから再度時系列データに変換する方が誤差が小さくなる。例えば音声や画像などの信号においては、この方法で量子化された信号は、直接量子化された信号に比べて誤差が知覚されにくい。この傾向から、最終的に時系列データを得るためには、本実施形態のように周波数基底係数を量子化したものに対するニューラルネットワークを利用する方が、WaveNetのように時系列データを直接量子化したものに対するニューラルネットワークを利用するよりも、量子化によって加わる誤差が知覚されにくい。
3.4 周波数帯域毎の特性の利用
系列データには、周波数帯域毎に異なる特性をもつものがある。例えば人間の音声はおおよそ4kHz以下の周波数帯域にエネルギーの大部分が集中しており、これより高い周波数域で急激にエネルギーが小さくなる。また4kHz以下では概ね周期的な経時変動をするのに対して、それ以上の周波数帯域では非周期的な経時変動をする傾向がある。また4kHzより高い周波数帯域においては、人間の聴覚による感度が徐々に低下する。
系列データには、周波数帯域毎に異なる特性をもつものがある。例えば人間の音声はおおよそ4kHz以下の周波数帯域にエネルギーの大部分が集中しており、これより高い周波数域で急激にエネルギーが小さくなる。また4kHz以下では概ね周期的な経時変動をするのに対して、それ以上の周波数帯域では非周期的な経時変動をする傾向がある。また4kHzより高い周波数帯域においては、人間の聴覚による感度が徐々に低下する。
第2データyの各成分値ynに対応する周波数帯域毎の特性を利用して、推論のための構成または方法を周波数帯域毎に相違させてもよい。例えば、成分値ynを量子化する精度を周波数帯域毎に相違させた構成、副ニューラルネットワークQnの規模を周波数帯域毎に相違させた構成、確率分布pnの表現方法を周波数帯域毎に相違させた構成が想定される。以上の構成によれば、周波数帯域毎の推論の精度が非一様となり、ニューラルネットワークの規模に対して実質上高精度な推論を行える。例えば、前述の例示のように第1周波数帯域と第2周波数帯域とに着目する。第2周波数帯域が第1周波数帯域を下回る場合、第2周波数帯域の成分値yn2に対応する副ニューラルネットワークQn2の規模は、第1周波数帯域の成分値yn1に対応する副ニューラルネットワークQn1の規模よりも大きい。すなわち、低い周波数帯域の成分値ynに対応する副ニューラルネットワークQnほど規模を大きくした構成が好適である。
また、周波数領域の第2データyを用いれば、推論時に出力された確率分布pnに対して周波数帯域毎に異なる操作を加えることも可能である。例えば低周波数帯域では確率分布pnの分散に相当するパラメタの値を小さくすることで、確率分布pnの形状をより先鋭にし、確率分布pnに基づくサンプリングによって発生する乱雑性を低下させることができる。この方法を適用して人間の音声を予測する場合、通常の方法よりも雑音成分を低減した音声を得ることができる。仮にWaveNetにおいてオーディオサンプル毎の確率分布に対して同様の方法を適用すると、その影響は全周波数範囲に及んでしまい、例えば4kHz以上の範囲で元来雑音性が大きくあるべき摩擦子音のような音声が適切に予測されなくなってしまう。しかし、本実施形態においては周波数帯域毎に雑音性の程度を制御できるので、このような問題は起こりにくい。
3.5 広い応用範囲
スカラ値であるオーディオサンプルの時系列のみを対象としたWaveNetや、ベクトルの時系列を対象とするものの次元間の関係性をもった推論ができないNPSSと異なり、本実施形態はベクトルの次元間の関係性とそのベクトルの時系列構造または空間系列構造の双方を同時に加味した推論が可能であるので、より一般のベクトル系列データに対して直ちに応用が可能である。
スカラ値であるオーディオサンプルの時系列のみを対象としたWaveNetや、ベクトルの時系列を対象とするものの次元間の関係性をもった推論ができないNPSSと異なり、本実施形態はベクトルの次元間の関係性とそのベクトルの時系列構造または空間系列構造の双方を同時に加味した推論が可能であるので、より一般のベクトル系列データに対して直ちに応用が可能である。
4.実施例
4.1 ニューラルボコーダとしての実施例
4.1.1 概要
主に振幅スペクトルに関係する低次元の音声の特徴量を入力として、それに対応する波形を出力するニューラルネットワークが、ニューラルボコーダと呼ばれている。ニューラルボコーダに入力される音声の特徴量は、例えばメルケプストラムの低次係数と基本周波数情報との組み合わせやメルスペクトログラムなどである。これらの特徴量は、公知の変換技術によって、例えばテキスト情報をもとに生成される。そのような変換技術とニューラルボコーダとを組み合わせれば、情報処理装置100は、テキスト情報から音声波形を得る音声合成システムとして機能する。なお、振幅スペクトルは位相の情報をもたないため、これを低次元表現に圧縮した特徴量も、逆フーリエ変換などの簡単な関数では波形に変換できない。そこでニューラルボコーダでは、このような関数の代わりに、現実に生起する音声特徴量と波形との組みを事前に学習したニューラルネットワークを用意し、そのニューラルネットワークを用いて振幅スペクトルに関係する特徴量を波形に変換する。
4.1 ニューラルボコーダとしての実施例
4.1.1 概要
主に振幅スペクトルに関係する低次元の音声の特徴量を入力として、それに対応する波形を出力するニューラルネットワークが、ニューラルボコーダと呼ばれている。ニューラルボコーダに入力される音声の特徴量は、例えばメルケプストラムの低次係数と基本周波数情報との組み合わせやメルスペクトログラムなどである。これらの特徴量は、公知の変換技術によって、例えばテキスト情報をもとに生成される。そのような変換技術とニューラルボコーダとを組み合わせれば、情報処理装置100は、テキスト情報から音声波形を得る音声合成システムとして機能する。なお、振幅スペクトルは位相の情報をもたないため、これを低次元表現に圧縮した特徴量も、逆フーリエ変換などの簡単な関数では波形に変換できない。そこでニューラルボコーダでは、このような関数の代わりに、現実に生起する音声特徴量と波形との組みを事前に学習したニューラルネットワークを用意し、そのニューラルネットワークを用いて振幅スペクトルに関係する特徴量を波形に変換する。
波形ではなく第2データyを推論する本実施形態を用い、主ニューラルネットワークMの規模を十分に大きくしたうえで、各副ニューラルネットワークQnの規模を小さくすれば、WaveNetの数分の一から数十分の一の計算量でWaveNetと同等の品質の音声を推論できる。また音声の特徴量ベクトルは一般的に音声波形と比較すると経時的に滑らかに変化するものであり、WaveNetにおいても本実施形態においても5~10ミリ秒程度の時間ステップによる特徴量ベクトルから十分な品質の音声が得られる。しかし、WaveNetにおいてはオーディオサンプル単位でニューラルネットワークの計算が行われるため、100マイクロ秒程度の時間ステップ毎にこの特徴量ベクトルを補間しなければならない。本実施形態においてはこの補間処理の頻度も数分の一から数十分の一に減少させることができる。
音声波形の代替となる第2データyとしては、音声波形に対して2~64サンプル程度のフレーム間隔によるMDCTを適用して得られる係数ベクトル列を用いることが好適である。音声波形には雑音的な成分が多く含まれることを考慮すると、そのMDCT係数の値そのものよりも確率的な性質が重要である場合が多いので、各副ニューラルネットワークQnの出力は、各次元のMDCT係数の確率分布もしくはその確率分布を表現するパラメタとすることが好適である。このとき各次元のMDCT係数を量子化して扱い離散値に対する確率分布を用いても良いし、量子化せずに扱い連続値に対する確率分布のパラメタを用いて、それを各副ニューラルネットワークQnによって出力しても良い。
N個の副ニューラルネットワークQ1~QNは、高周波数成分の係数の推論が低周波数成分の係数の推論の計算によって得られた値に依存するように構成することが好適である。副ニューラルネットワークQnは規模が小さく推論には誤差を伴うことと、確率分布からのサンプリングを介するために、他の副ニューラルネットワークQnへの直接あるいは間接的な依存性の数が大きい副ニューラルネットワークQnほど、推論の精度が低下する。音声信号においては概ね低い周波数域ほどエネルギーが大きく周期的であり聴覚における知覚が繊細であって、高い周波数域ほどエネルギーが小さく非周期的であり聴覚における知覚が鈍感であることから、低周波数帯域を正確に推論することでよい品質の音声が得られる。したがって、低周波数帯域が正確に推論され、高周波数域はその推論結果に条件づけられた推論が行われることが合理的である。
単一のRNNやLSTMを副ニューラルネットワークQnとすることも可能である。ただし、図3に示したように複数の副ニューラルネットワークQ1~QNを用い、これら副ニューラルネットワークQnは単純なフィードフォワード型のニューラルネットワークまたは畳み込みニューラルネットワークとする方が、依存関係をより柔軟に設計でき、なおかつ誤差逆伝播法による学習が比較的高速に収束するため好適である。
以下では本実施例において好適と述べた上記の各条件に基づいて説明する。
4.1.2 学習
学習に用いる音声の任意の時間範囲における第2データyの正解値とそれに対応する入力データDin(特徴量ベクトルの系列データ)とを入力とし、入力とした時間範囲の次の単位ステップにおけるMDCT係数ベクトルを最終的な出力の目標値としてニューラルネットワーク全体を学習する。実際に各副ニューラルネットワークQnが出力するのはMDCTの各基底に対する係数に対する確率分布であるので、この確率分布に対する目標値の対数尤度関数の符号を反転した値を最小化するように誤差逆伝搬法を適用することで、ニューラルネットワーク全体がもつ重み係数Kを更新する。学習に用いる多数の音声に対してこの手順を繰り返すことで、ニューラルネットワーク全体が持つ重み係数Kは徐々に最適化される。前述の通り、学習による更新後の係数Kが記憶装置12に記憶される。
学習に用いる音声の任意の時間範囲における第2データyの正解値とそれに対応する入力データDin(特徴量ベクトルの系列データ)とを入力とし、入力とした時間範囲の次の単位ステップにおけるMDCT係数ベクトルを最終的な出力の目標値としてニューラルネットワーク全体を学習する。実際に各副ニューラルネットワークQnが出力するのはMDCTの各基底に対する係数に対する確率分布であるので、この確率分布に対する目標値の対数尤度関数の符号を反転した値を最小化するように誤差逆伝搬法を適用することで、ニューラルネットワーク全体がもつ重み係数Kを更新する。学習に用いる多数の音声に対してこの手順を繰り返すことで、ニューラルネットワーク全体が持つ重み係数Kは徐々に最適化される。前述の通り、学習による更新後の係数Kが記憶装置12に記憶される。
上記学習の手順において、各副ニューラルネットワークQnには、主ニューラルネットワークMの出力と、当該副ニューラルネットワークQnが依存する副ニューラルネットワークQnの出力に対応するMDCT係数の正解値を入力する。このような学習によって、主ニューラルネットワークMは、その入力の系列データの特徴を単一のベクトルに圧縮するある種の符号化器として訓練され、各副ニューラルネットワークQnは、当該周波数帯域のMDCT係数値の確率分布を、より低周波数域の系数値の出力と主ニューラルネットワークMが出力するベクトルとに条件づけられたものとして推論するニューラルネットワークとして訓練される。
4.1.3 推論
本実施形態のニューラルネットワークを、各時刻の直前における出力ベクトルを最新の入力値とするように自己回帰的に用いれば、所望の時間範囲(以下「合成範囲」という)にわたる目標とする音声の入力データDin(特徴量ベクトル)に対応する第2データyを得ることができ、それに対して逆MDCTを適用すれば目標とする音声の波形を得ることができる。より具体的には以下の手順を実行すればよい。
本実施形態のニューラルネットワークを、各時刻の直前における出力ベクトルを最新の入力値とするように自己回帰的に用いれば、所望の時間範囲(以下「合成範囲」という)にわたる目標とする音声の入力データDin(特徴量ベクトル)に対応する第2データyを得ることができ、それに対して逆MDCTを適用すれば目標とする音声の波形を得ることができる。より具体的には以下の手順を実行すればよい。
[手順1]制御装置11は、合成範囲内における最初の時間ステップについて、音声の第2データyの初期値と、目標とする音声の特徴量のベクトルの系列データのうち先頭の入力データDinとを主ニューラルネットワークMに入力する。第2データyの初期値は、全MDCT係数の値が0であることに対応するベクトルか、あるいは目標とする音声の最初の信号に対応するMDCT係数があらかじめわかっている場合には、それに対応するベクトルが使用される。手順1は、図4のステップSa1およびSa2に相当する。
[手順2]制御装置11は、主ニューラルネットワークMが出力する中間データqを、最低周波数域(n=1)のMDCT係数に対応する副ニューラルネットワークQ1に入力し、当該帯域のMDCT係数の確率分布を得る。手順2は、図4のステップSb1_1に相当する。
[手順3]前の手順で得られた確率分布に従う擬似乱数を生成することで、当該帯域のMDCT係数ynを得る。手順3は、図4のステップSbn_2に相当する。
[手順4]制御装置11は、主ニューラルネットワークMが出力する中間データqと、前の手順までに推論された低周波数域のMDCT係数ynのうち1つ以上とを別の副ニューラルネットワークQnに入力し、当該MDCT係数の確率分布を得る。手順3は、図4のステップSbn_1に相当する。
[手順5]当該単位ステップのMDCT係数の全てに対して手順4および手順3が反復されることで、MDCT係数ベクトルyが生成される。
[手順6]制御装置11は、以上の手順で得られたMDCT係数ベクトルを当該単位ステップの最終的な出力値として出力するとともに、これを第2データyの最新の単位ステップの値として記録する。
[手順7]制御装置11は、処理対象となる単位ステップを1個進め、直前の1以上の単位ステップについて出力された1以上の第2データyと、目標とする音声の特徴を表す入力データDinとを含む第1データxを主ニューラルネットワークMに入力する。
[手順8]制御装置11は、手順7,2~6を、合成範囲内の音声の合成に十分な回数にわたり繰り返す。
[手順9]制御装置11は、第2データyの時系列に対して逆MDCTを適用することで、合成範囲内の音声波形を得る。手順9で得られた音声波形を表す音響信号Aが放音装置13に供給される。音響信号Aに対応する音が放音装置13から放音される。手順9は、図4のステップScに相当する。
[手順2]制御装置11は、主ニューラルネットワークMが出力する中間データqを、最低周波数域(n=1)のMDCT係数に対応する副ニューラルネットワークQ1に入力し、当該帯域のMDCT係数の確率分布を得る。手順2は、図4のステップSb1_1に相当する。
[手順3]前の手順で得られた確率分布に従う擬似乱数を生成することで、当該帯域のMDCT係数ynを得る。手順3は、図4のステップSbn_2に相当する。
[手順4]制御装置11は、主ニューラルネットワークMが出力する中間データqと、前の手順までに推論された低周波数域のMDCT係数ynのうち1つ以上とを別の副ニューラルネットワークQnに入力し、当該MDCT係数の確率分布を得る。手順3は、図4のステップSbn_1に相当する。
[手順5]当該単位ステップのMDCT係数の全てに対して手順4および手順3が反復されることで、MDCT係数ベクトルyが生成される。
[手順6]制御装置11は、以上の手順で得られたMDCT係数ベクトルを当該単位ステップの最終的な出力値として出力するとともに、これを第2データyの最新の単位ステップの値として記録する。
[手順7]制御装置11は、処理対象となる単位ステップを1個進め、直前の1以上の単位ステップについて出力された1以上の第2データyと、目標とする音声の特徴を表す入力データDinとを含む第1データxを主ニューラルネットワークMに入力する。
[手順8]制御装置11は、手順7,2~6を、合成範囲内の音声の合成に十分な回数にわたり繰り返す。
[手順9]制御装置11は、第2データyの時系列に対して逆MDCTを適用することで、合成範囲内の音声波形を得る。手順9で得られた音声波形を表す音響信号Aが放音装置13に供給される。音響信号Aに対応する音が放音装置13から放音される。手順9は、図4のステップScに相当する。
4.2 音声合成器としての実施例
前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、離散化した音素シンボルの系列データを入力データDinとして用いたり、さらに高度な例ではアルファベットまたは漢字などの一般的な書き文字の系列データを入力データDinとして用いることで、音素シンボルまたは書き文字に対応する音声を生成する、より直接的な音声合成器として実施することが可能である。
前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、離散化した音素シンボルの系列データを入力データDinとして用いたり、さらに高度な例ではアルファベットまたは漢字などの一般的な書き文字の系列データを入力データDinとして用いることで、音素シンボルまたは書き文字に対応する音声を生成する、より直接的な音声合成器として実施することが可能である。
4.3 オーディオエフェクトとしての実施例
入力オーディオ信号に対応するMDCT係数ベクトル系列データに、任意の変換(例えばピッチチェンジャーまたはマルチバンドコンプレッサー等)を加えて、出力オーディオ信号に対応するMDCT係数ベクトル系列データを得る。前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、その変換の性質に関する情報を与えて学習および推論する。本実施例の場合、出力ベクトルを入力として回帰せず、代わりに、入力オーディオ信号に対応するMDCT係数ベクトル系列データを入力とすることでも実施が可能である。
入力オーディオ信号に対応するMDCT係数ベクトル系列データに、任意の変換(例えばピッチチェンジャーまたはマルチバンドコンプレッサー等)を加えて、出力オーディオ信号に対応するMDCT係数ベクトル系列データを得る。前記ニューラルボコーダで用いた音声に対応する特徴量ベクトルの代わりに、その変換の性質に関する情報を与えて学習および推論する。本実施例の場合、出力ベクトルを入力として回帰せず、代わりに、入力オーディオ信号に対応するMDCT係数ベクトル系列データを入力とすることでも実施が可能である。
5.その他
前述の形態に係る情報処理装置100の機能は、コンピュータ(例えば制御装置11)とプログラムとの協働により実現される。本開示の一態様に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
前述の形態に係る情報処理装置100の機能は、コンピュータ(例えば制御装置11)とプログラムとの協働により実現される。本開示の一態様に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされる。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を含む。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに提供してもよい。
ニューラルネットワークを実現するための人工知能ソフトウェアの実行主体はCPUに限定されない。例えば、Tensor Processing UnitおよびNeural Engine等のニューラルネットワーク専用の処理回路、または、人工知能に専用されるDSP(Digital Signal Processor)が、人工知能ソフトウェアを実行してもよい。また、以上の例示から選択された複数種の処理回路が協働して人工知能ソフトウェアを実行してもよい。
<付記>
以上に例示した形態から、例えば以下の構成が把握される。なお、各態様の理解を容易にするために、以下の記載では、前述の形態で使用した符号を便宜的に括弧書で併記するが、本開示を、前述の形態の限定する趣旨ではない。
以上に例示した形態から、例えば以下の構成が把握される。なお、各態様の理解を容易にするために、以下の記載では、前述の形態で使用した符号を便宜的に括弧書で併記するが、本開示を、前述の形態の限定する趣旨ではない。
[第1態様]
本開示の第1態様に係る方法は、時系列データの周波数成分ベクトルを生成する方法であって、第1データ(x)が供される第1ニューラルネットワーク(主NN)を用いて、第1データ(x)の代替表現を表す中間データ(q)を生成する第1処理と、前記中間データに基づいて複数の周波数帯域に対応する複数の成分値(y1~yN)を生成する第2処理と、を備え、前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データ(q)が供される第2ニューラルネットワーク(副NN)による推定を含み、前記対応する複数の成分値を生成し、前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理は、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値(yn2)または前記第2単位処理の中間値と、前記中間データ(q)とを前記第2ニューラルネットワーク(副NN)に供して、第1成分値(yn1)を生成する。前記時系列データは、例えば波形である。
本開示の第1態様に係る方法は、時系列データの周波数成分ベクトルを生成する方法であって、第1データ(x)が供される第1ニューラルネットワーク(主NN)を用いて、第1データ(x)の代替表現を表す中間データ(q)を生成する第1処理と、前記中間データに基づいて複数の周波数帯域に対応する複数の成分値(y1~yN)を生成する第2処理と、を備え、前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、前記複数の単位処理の各々は、前記中間データ(q)が供される第2ニューラルネットワーク(副NN)による推定を含み、前記対応する複数の成分値を生成し、前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理は、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値(yn2)または前記第2単位処理の中間値と、前記中間データ(q)とを前記第2ニューラルネットワーク(副NN)に供して、第1成分値(yn1)を生成する。前記時系列データは、例えば波形である。
以上の構成によれば、複数の単位処理のうち第1周波数帯域に対応する第1成分値を生成する第1単位処理において、第2単位処理により第2周波数帯域について生成された第2成分値または当該第2単位処理の過程で生成される中間値と、中間データとが第2ニューラルネットワークに入力される。したがって、第1成分値と第2成分値との間の依存を反映した、複数の周波数帯域にそれぞれ対応する複数の成分値(y1~yN)を含む第2データ(y)を生成することが可能である。
以上の態様では、複数の単位処理のうち任意の2個の単位処理(第1単位処理,第2単位処理)のみに便宜的に着目した。他の単位処理における入力の如何(入力の総数や範囲など)は不問である。また、第1単位処理において、第2成分値(または中間値)以外の成分値が第2ニューラルネットワークに入力されるか否かは不問である。
第2処理は、例えば、(1)相異なる周波数帯域に対応するN個の副NNによりN個の成分値を生成する処理、または、(2)1個のRNNにより成分値の生成をN回にわたり反復する処理、である。
RNNを副NNとして利用した場合には、成分値ではなく、副NNにおける途中の算定値(中間値)が次回の推定に適用される。
単位処理は、例えば、(1)第2ニューラルネットワークによる確率分布の推定および確率分布に従う成分値の決定、または、(2)第2ニューラルネットワークによる直接的な成分値の推定である。(1)の構成において、前記複数の単位処理の各々は、前記中間データ(q)が入力される第2ニューラルネットワーク(副NN)により前記成分値の確率分布を推定する処理と、当該確率分布から成分値を決定する処理とを含む。
[第2態様]
第1態様の一例(第2態様)において、前記第1単位処理は、前記第2単位処理を含む2以上の単位処理により生成された2以上の成分値、または当該2以上の2以上の中間値(q)を前記第2ニューラルネットワーク(副NN)に入力し、第1成分値(yn1)を生成する。
第1態様の一例(第2態様)において、前記第1単位処理は、前記第2単位処理を含む2以上の単位処理により生成された2以上の成分値、または当該2以上の2以上の中間値(q)を前記第2ニューラルネットワーク(副NN)に入力し、第1成分値(yn1)を生成する。
[第3態様]
第1態様の一例(第3態様)において、前記複数の単位処理は、N個の単位処理であり、第n番目(n=2~N)の単位処理では、第1番目から第(n-1)番目の単位処理により生成された(n-1)個の成分値、または当該各単位処理の過程で生成される中間値が、前記中間データ(q)とともに前記第2ニューラルネットワーク(副NN)に入力される。
また、前記複数の単位ステップの各々において、前記第2単位処理は、前記第1単位処理の実行の前に、実行される。
また、前記複数の単位ステップの各々において、前記2以上の単位処理は、前記第1単位処理の実行の前に、実行される。
第1態様の一例(第3態様)において、前記複数の単位処理は、N個の単位処理であり、第n番目(n=2~N)の単位処理では、第1番目から第(n-1)番目の単位処理により生成された(n-1)個の成分値、または当該各単位処理の過程で生成される中間値が、前記中間データ(q)とともに前記第2ニューラルネットワーク(副NN)に入力される。
また、前記複数の単位ステップの各々において、前記第2単位処理は、前記第1単位処理の実行の前に、実行される。
また、前記複数の単位ステップの各々において、前記2以上の単位処理は、前記第1単位処理の実行の前に、実行される。
[第4態様]
第1態様から第3態様の何れかの一例(第4態様)において、前記周波数成分ベクトルの前記複数の成分値は、離散コサイン変換(DCT)または離散サイン変換(DST)の係数である。
第1態様から第3態様の何れかの一例(第4態様)において、前記周波数成分ベクトルの前記複数の成分値は、離散コサイン変換(DCT)または離散サイン変換(DST)の係数である。
[第5態様]
第1態様から第3態様の何れかの一例(第5態様)において、前記周波数成分ベクトルの前記複数の成分値は、修正離散コサイン変換(MDCT)の係数である。
第1態様から第3態様の何れかの一例(第5態様)において、前記周波数成分ベクトルの前記複数の成分値は、修正離散コサイン変換(MDCT)の係数である。
[第6態様]
第1態様から第3態様の何れかの一例(第6態様)において、前記周波数成分ベクトルの前記複数の成分値は、前記複数の成分値にそれぞれ対応し、ダウンサンプリングのフィルタバンクからの出力値である。
第1態様から第3態様の何れかの一例(第6態様)において、前記周波数成分ベクトルの前記複数の成分値は、前記複数の成分値にそれぞれ対応し、ダウンサンプリングのフィルタバンクからの出力値である。
[第7態様]
第1態様から第6態様の何れかの一例(第7態様)において、前記第2周波数帯域は前記第1周波数帯域を下回る。
第1態様から第6態様の何れかの一例(第7態様)において、前記第2周波数帯域は前記第1周波数帯域を下回る。
[第8態様]
第7態様の一例(第8態様)において、前記第2ニューラルネットワークは、前記複数の単位処理に対応する複数の個別ニューラルネットワークを有し、前記複数の単位ステップの各々は、前記複数の単位処理のそれぞれに対応する個別ニューラルネットワークによる推定を含む。
また、前記第2ユニット処理に対応する個別ニューラルネットワークは、前記第1ユニット処理に対応する個別ニューラルネットワークよりも大きい。
前記第2ニューラルネットワークは、前記複数のユニット処理と共通する単一ニューラルネットワークであり、前記複数の単位処理の各々は、前記単一ニューラルネットワークによる推定を含む。
なお、ニューラルネットワークの規模とは、例えば層数、1層内のノード数またはチャネル数である。また、畳み込みニューラルネットワークにおいては、畳み込みに適用されるカーネルのサイズも、当該ニューラルネットワークの規模として観念される。
第7態様の一例(第8態様)において、前記第2ニューラルネットワークは、前記複数の単位処理に対応する複数の個別ニューラルネットワークを有し、前記複数の単位ステップの各々は、前記複数の単位処理のそれぞれに対応する個別ニューラルネットワークによる推定を含む。
また、前記第2ユニット処理に対応する個別ニューラルネットワークは、前記第1ユニット処理に対応する個別ニューラルネットワークよりも大きい。
前記第2ニューラルネットワークは、前記複数のユニット処理と共通する単一ニューラルネットワークであり、前記複数の単位処理の各々は、前記単一ニューラルネットワークによる推定を含む。
なお、ニューラルネットワークの規模とは、例えば層数、1層内のノード数またはチャネル数である。また、畳み込みニューラルネットワークにおいては、畳み込みに適用されるカーネルのサイズも、当該ニューラルネットワークの規模として観念される。
[第9態様]
第1態様から第8態様の何れかの一例(第9態様)において、前記第2ニューラルネットワークは、前記第1ニューラルネットワークよりも小さい。
第1態様から第8態様の何れかの一例(第9態様)において、前記第2ニューラルネットワークは、前記第1ニューラルネットワークよりも小さい。
以上に例示した各態様の情報処理方法を実行する情報処理装置、または、以上に例示した各態様の情報処理方法をコンピュータに実行させるプログラムとしても、本開示の各態様は実現される。
本出願は、2018年8月10日出願の日本出願(特願2018-151748)及び2018年9月11日出願の日本出願(特願2018-169304)に基づくものであり、その内容はここに参照として取り込まれる。
本出願は、2018年8月10日出願の日本出願(特願2018-151748)及び2018年9月11日出願の日本出願(特願2018-169304)に基づくものであり、その内容はここに参照として取り込まれる。
本開示の情報処理方法及び情報処理装置は、演算量を削減しながらニューラルネットワークの適切な学習および推論を実現することができる。
100…情報処理装置
11…制御装置
12…記憶装置
13…放音装置
21…前処理部
22…情報処理部
23…波形生成部
31…第1処理部
32…第2処理部
M…主ニューラルネットワーク
Un(U1~UN)…単位処理部
Qn(Q1~QN)…副ニューラルネットワーク
Dn(D1~DN)…サンプリング部。
11…制御装置
12…記憶装置
13…放音装置
21…前処理部
22…情報処理部
23…波形生成部
31…第1処理部
32…第2処理部
M…主ニューラルネットワーク
Un(U1~UN)…単位処理部
Qn(Q1~QN)…副ニューラルネットワーク
Dn(D1~DN)…サンプリング部。
Claims (16)
- 時系列データの周波数成分ベクトルを生成する方法であって、
第1データが供される第1ニューラルネットワークを用いて、第1データの代替表現を表す中間データを生成する第1処理と、
前記中間データに基づいて複数の周波数帯域に対応する複数の成分値を生成する第2処理と、
を備え、
前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、
前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、
前記複数の単位処理の各々は、前記中間データが供される第2ニューラルネットワークによる推定を含み、前記対応する複数の成分値を生成し、
前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理は、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値または前記第2単位処理の中間値と、前記中間データとを前記第2ニューラルネットワークに供して、第1成分値を生成する、
方法。 - 前記第1単位処理は、前記第2単位処理を含む2以上の単位処理により生成された2以上の成分値、または当該2以上の2以上の中間値を前記第2ニューラルネットワークに入力し、第1成分値を生成する、
請求項1の方法。 - 前記複数の単位ステップの各々において、前記第2単位処理は、前記第1単位処理の実行の前に、実行される、
請求項1の方法。 - 前記複数の単位ステップの各々において、前記2以上の単位処理は、前記第1単位処理の実行の前に、実行される、
請求項2の方法。 - 前記周波数成分ベクトルの前記複数の成分値は、離散コサイン変換または離散サイン変換の係数である、
請求項1から4のいずれかに記載の方法。 - 前記周波数成分ベクトルの前記複数の成分値は、修正離散コサイン変換の係数である、
請求項1から4のいずれかに記載の方法。 - 前記周波数成分ベクトルの前記複数の成分値は、ダウンサンプリングフィルタのフィルタバンクからの出力値である、
請求項1から4のいずれかに記載の方法。 - 前記第2周波数帯域は前記第1周波数帯域を下回る、
請求項1から7のいずれかに記載の方法。 - 前記第2ニューラルネットワークは、前記複数の単位処理に対応する複数の個別ニューラルネットワークを有し、前記複数の単位ステップの各々は、前記複数の単位処理のそれぞれに対応する個別ニューラルネットワークによる推定を含む、
請求項1から8のいずれかに記載の方法。 - 前記第2ユニット処理に対応する個別ニューラルネットワークは、前記第1ユニット処理に対応する個別ニューラルネットワークよりも大きい、
請求項9に記載の方法。 - 前記第2ニューラルネットワークは、前記複数のユニット処理と共通する単一ニューラルネットワークであり、前記複数の単位処理の各々は、前記単一ニューラルネットワークによる推定を含む、
請求項1から8のいずれかに記載の方法。 - 前記第2ニューラルネットワークは、前記第1ニューラルネットワークよりも小さい、
請求項1から11のいずれかに記載の方法。 - 前記時系列データは波形である、
請求項1から12のいずれかに記載の方法。 - 時系列データの周波数成分ベクトルを生成する装置であって、
第1データが供される第1ニューラルネットワークを用いて、第1データの代替表現を表す中間データを生成する第1処理を実行する第1処理部と、
前記中間データに基づいて複数の周波数帯域に対応する複数の成分値を生成する第2処理を実行する第2処理部と、
を備え、
前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、
前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、
前記複数の単位処理の各々は、前記中間データが供される第2ニューラルネットワークによる推定を含み、前記対応する複数の成分値を生成し、
前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理において、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値または前記第2単位処理の中間値と、前記中間データとが前記第2ニューラルネットワークに供され、第1成分値が生成される、
装置。 - 前記時系列データは波形である、
請求項14に記載の装置。 - 時系列データの周波数成分ベクトルを生成する装置であって、
一つ以上のコンピュータと、
複数の指示を記憶し、前記一つ以上のコンピュータによって実行されたときに、動作を前記一つ以上のコンピュータに実行させる一つ以上のデータ記憶装置と、
を備え、
前記動作は、
第1データが供される第1ニューラルネットワークを用いて、第1データの代替表現を表す中間データを生成する第1処理と、
前記中間データに基づいて複数の周波数帯域に対応する複数の成分値を生成する第2処理と、
を備え、
前記第1処理及び前記第2処理は、複数の単位ステップの各々において実行され、
前記第2処理は、前記複数の周波数帯域に対応する複数の単位処理を含み、
前記複数の単位処理の各々は、前記中間データが供される第2ニューラルネットワークによる推定を含み、前記対応する複数の成分値を生成し、
前記複数の単位処理のうち第1周波数帯域に対応する第1単位処理において、前記第1周波数帯域とは異なる第2周波数帯域に対応する第2単位処理によって生成された第2成分値または前記第2単位処理の中間値と、前記中間データとが前記第2ニューラルネットワークに供され、第1成分値が生成される、
装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19847694.7A EP3836027A4 (en) | 2018-08-10 | 2019-08-08 | METHOD AND APPARATUS FOR GENERATION OF FREQUENCY COMPONENT VECTOR OF TIME SERIES DATA |
CN201980052374.9A CN112534444B (zh) | 2018-08-10 | 2019-08-08 | 信息处理方法及信息处理装置 |
US17/171,453 US20210166128A1 (en) | 2018-08-10 | 2021-02-09 | Computer-implemented method and device for generating frequency component vector of time-series data |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018151748 | 2018-08-10 | ||
JP2018-151748 | 2018-08-10 | ||
JP2018-169304 | 2018-09-11 | ||
JP2018169304A JP6741051B2 (ja) | 2018-08-10 | 2018-09-11 | 情報処理方法、情報処理装置およびプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/171,453 Continuation US20210166128A1 (en) | 2018-08-10 | 2021-02-09 | Computer-implemented method and device for generating frequency component vector of time-series data |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020032177A1 true WO2020032177A1 (ja) | 2020-02-13 |
Family
ID=69414833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/031380 WO2020032177A1 (ja) | 2018-08-10 | 2019-08-08 | 時系列データの周波数成分ベクトルを生成する方法及び装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3836027A4 (ja) |
WO (1) | WO2020032177A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010237323A (ja) * | 2009-03-30 | 2010-10-21 | Toshiba Corp | 音声モデル生成装置、音声合成装置、音声モデル生成プログラム、音声合成プログラム、音声モデル生成方法および音声合成方法 |
JP2018151748A (ja) | 2017-03-10 | 2018-09-27 | オムロン株式会社 | 画像処理装置、画像処理方法、テンプレート作成装置、物体認識処理装置及びプログラム |
JP2018169304A (ja) | 2017-03-30 | 2018-11-01 | アイシン・エィ・ダブリュ株式会社 | 地図情報提供システムおよび地図情報提供プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW321810B (ja) * | 1995-10-26 | 1997-12-01 | Sony Co Ltd |
-
2019
- 2019-08-08 WO PCT/JP2019/031380 patent/WO2020032177A1/ja unknown
- 2019-08-08 EP EP19847694.7A patent/EP3836027A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010237323A (ja) * | 2009-03-30 | 2010-10-21 | Toshiba Corp | 音声モデル生成装置、音声合成装置、音声モデル生成プログラム、音声合成プログラム、音声モデル生成方法および音声合成方法 |
JP2018151748A (ja) | 2017-03-10 | 2018-09-27 | オムロン株式会社 | 画像処理装置、画像処理方法、テンプレート作成装置、物体認識処理装置及びプログラム |
JP2018169304A (ja) | 2017-03-30 | 2018-11-01 | アイシン・エィ・ダブリュ株式会社 | 地図情報提供システムおよび地図情報提供プログラム |
Non-Patent Citations (6)
Title |
---|
BLAAUW, MERLIJNJORDI BONADA: "A neural parametric singing synthesizer", ARXIV: 1704.03809, 2017 |
OKAMOTO, T. ET AL.: "SUBBAND WAVENET WITH OVERLAPPED SINGLE-SIDEBAND FILTERBANKS", PROCEEDINGS OF THE 2017 IEEE AUTOMATIC SPEECH RECOGNITION AND UNDERSTANDING WORKSHOP (ASRU 2017, 20 December 2017 (2017-12-20), pages 698 - 704, XP033306907, ISBN: 978-1-5090-4788-8, DOI: 10.1109/ASRU.2017.8269005 * |
OKAMOTO, TAKUMA; TACHIBANA, KENTARO; TODA, TOMOKI; SHIGA, YOSHINORI; KAWAI, HISASHI: "Rapid synthesis for WaveNet with subband signal processing", PROCEEDINGS OF THE 2017 AUTUMN MEETING OF THE ACOUSTICAL SOCIETY OF JAPAN; EHIME UNIVERSITY, MATSUYAMA 25-27 SEPTEMBER, 2017, 11 September 2017 (2017-09-11), Japanese, pages 277 - 280, XP009525642, ISSN: 1880-7658 * |
See also references of EP3836027A4 |
SONG, EUN-WOO ET AL.: "Effective Spectral and Excitation Modeling Techniques for LSTM-RNN-Based Speech Synthesis Systems", IEEE /ACM TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING, vol. 25, no. 11, 29 August 2017 (2017-08-29), pages 2152 - 2161, XP058384998, ISSN: 2329-9290 * |
VAN DEN OORD, AARON ET AL.: "Wavenet: A generative model for raw audio", CORR ABS/1609.03499, 2016 |
Also Published As
Publication number | Publication date |
---|---|
EP3836027A4 (en) | 2022-07-06 |
EP3836027A1 (en) | 2021-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7213913B2 (ja) | ニューラルネットワークを使用したオーディオの生成 | |
Wang et al. | Neural harmonic-plus-noise waveform model with trainable maximum voice frequency for text-to-speech synthesis | |
JP2020034624A (ja) | 信号生成装置、信号生成システム、信号生成方法およびプログラム | |
Hwang et al. | LP-WaveNet: Linear prediction-based WaveNet speech synthesis | |
US20230282202A1 (en) | Audio generator and methods for generating an audio signal and training an audio generator | |
US11735197B2 (en) | Machine-learned differentiable digital signal processing | |
Wu et al. | Quasi-periodic WaveNet: An autoregressive raw waveform generative model with pitch-dependent dilated convolution neural network | |
JPH10319996A (ja) | 雑音の効率的分解と波形補間における周期信号波形 | |
JP2023545820A (ja) | フィルタバンク領域でオーディオサンプルを処理するための生成ニューラルネットワークモデル | |
JP7103390B2 (ja) | 音響信号生成方法、音響信号生成装置およびプログラム | |
WO2020032177A1 (ja) | 時系列データの周波数成分ベクトルを生成する方法及び装置 | |
Reddy et al. | Inverse filter based excitation model for HMM‐based speech synthesis system | |
WO2021033685A1 (ja) | 音声変換装置、音声変換方法及び音声変換プログラム | |
WO2021033629A1 (ja) | 音響モデル学習装置、音声合成装置、方法およびプログラム | |
KR100484666B1 (ko) | 성도특성 변환을 이용한 음색변환장치 및 방법 | |
JP2020122855A (ja) | 推定装置、その方法、およびプログラム | |
Wu et al. | Statistical voice conversion with quasi-periodic wavenet vocoder | |
WO2024069726A1 (ja) | 学習装置、変換装置、学習方法、変換方法及びプログラム | |
WO2023281555A1 (ja) | 生成方法、生成プログラム及び生成装置 | |
JP2021033129A (ja) | 音声変換装置、音声変換方法及び音声変換プログラム | |
Lee et al. | Differentiable Modal Synthesis for Physical Modeling of Planar String Sound and Motion Simulation | |
WO2024184745A1 (en) | Unsupervised voice restoration with unconditional diffusion model | |
Zhang et al. | Iterative Noisy-Target Approach: Speech Enhancement Without Clean Speech | |
CN113160849A (zh) | 歌声合成方法、装置及电子设备和计算机可读存储介质 | |
WO2024086012A1 (en) | End-to-end general audio synthesis with generative networks |
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: 19847694 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019847694 Country of ref document: EP Effective date: 20210310 |