[go: up one dir, main page]

WO2018003457A1 - 情報処理装置、時系列データの情報処理方法、及びプログラム - Google Patents

情報処理装置、時系列データの情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2018003457A1
WO2018003457A1 PCT/JP2017/021407 JP2017021407W WO2018003457A1 WO 2018003457 A1 WO2018003457 A1 WO 2018003457A1 JP 2017021407 W JP2017021407 W JP 2017021407W WO 2018003457 A1 WO2018003457 A1 WO 2018003457A1
Authority
WO
WIPO (PCT)
Prior art keywords
variable
information processing
intermediate variable
order
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2017/021407
Other languages
English (en)
French (fr)
Inventor
諒 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to CN201780008721.9A priority Critical patent/CN108604312A/zh
Priority to KR1020187022112A priority patent/KR20190022439A/ko
Priority to EP17819822.2A priority patent/EP3480739A4/en
Priority to JP2018525012A priority patent/JP6906181B2/ja
Publication of WO2018003457A1 publication Critical patent/WO2018003457A1/ja
Priority to US16/048,281 priority patent/US10832013B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Definitions

  • This disclosure relates to an information processing device, an information processing method for time-series data, and a program.
  • Non-Patent Document 1 discloses a technique for promoting machine learning in a deep neural network.
  • the highway network of Non-Patent Document 1 selectively skips intermediate processing that performs nonlinear conversion or the like in order to obtain output data from input data.
  • Non-Patent Document 1 cites a recurrent neural network (RNN) as an intermediate process to be selectively skipped in a highway network.
  • RNN recurrent neural network
  • Non-Patent Document 2 discloses a machine translation model based on a deep neural network.
  • the machine translation model of Non-Patent Document 2 in a long short term memory (LSTM) that recursively references past information in time-series data, input data is passed to the output side so as to skip the entire recursive arithmetic processing. A connection path is provided.
  • LSTM long short term memory
  • Non-Patent Document 2 a complicated non-linear transformation and recursive arithmetic processing are omitted to speed up learning, and a highly accurate machine translation with a BLEU value of 40.4 is achieved.
  • This disclosure provides a time-series data information processing method and information processing apparatus that can efficiently process time-series data using a neural network.
  • the information processing apparatus is an information processing apparatus that functions as a neural network based on time-series data.
  • the information processing apparatus includes a storage unit and an arithmetic processing unit.
  • the storage unit stores an input variable for each order in the time series data and a parameter group for functioning as a neural network.
  • the arithmetic processing unit performs conversion based on the parameter group, calculates intermediate variables in the order based on the input variables in each order, and calculates output variables in the order based on the calculated intermediate variables.
  • the arithmetic processing unit When calculating the (n + 1) th intermediate variable, the arithmetic processing unit weights and adds the calculation result of the nth intermediate variable and the conversion result obtained by converting the nth intermediate variable and the (n + 1) th input variable based on the parameter group. Then, the (n + 1) th intermediate variable is calculated.
  • the information processing method for time-series data is executed by an information processing device that implements the function of a neural network.
  • the calculation result of the n-th intermediate variable is transferred to the (n + 1) -th intermediate variable according to weighting, and the time-series data information processing by the neural network is efficiently performed. Can be better.
  • FIG. 1 is a block diagram illustrating the configuration of an information processing apparatus according to a first embodiment; Flow chart showing neural machine translation processing by information processing apparatus The figure for demonstrating the calculation algorithm of the recurrent highway network (RHN) which concerns on Embodiment 1.
  • RHN recurrent highway network
  • FIG. 1 The figure for demonstrating the calculation algorithm of the recurrent highway network (RHN) which concerns on Embodiment 1.
  • FIG. 1 is a block diagram illustrating the configuration of an information processing apparatus according to a first embodiment; Flow chart showing neural machine translation processing by information processing apparatus
  • the present disclosure discloses a recurrent highway network (hereinafter referred to as “RHN”), which is a new framework for machine learning using a neural network.
  • the RHN according to the present disclosure can be applied to various types of information processing for time series data such as speech recognition processing and machine translation processing.
  • the time series data is data composed of a sequence of data elements having an order in the time series direction.
  • the order in the time-series data is not particularly limited to the meaning of time, and is appropriately set according to the target data and information processing. Below, the example which applies RHN to the machine translation by deep learning is demonstrated.
  • FIG. 1 is a diagram showing an overview of a time-series data information processing method according to the present embodiment.
  • the deep neural network 1 includes an input layer 11, a plurality of intermediate layers 12, and an output layer 13, as shown in FIG.
  • Each of the layers 11, 12, and 13 functions as a data buffer that holds data at the time of input, during processing, and at the time of output.
  • the deep neural network 1 is realized in the information processing apparatus 2, for example.
  • the deep neural network 1 performs machine translation from the input side language to the output side language based on the time series data D1 of the input sentence, and the time series data D2 of the translation sentence. Is output (neural machine translation processing).
  • FIG. 1 shows an example of translation from Japanese to English.
  • the input side language and the output side language may be set to various natural languages.
  • the time series data D1 of the input sentence is composed of a word series of the input side language (Japanese).
  • Japanese Japanese
  • the words “this”, “ha”, “pen”, and “is” in the input sentence are data elements of the time-series data D1.
  • the order of the word series is the order of the words in the input sentence (ascending order or descending order).
  • the time series data D1 of the input sentence is input to the input layer 11 of the deep neural network 1 in the form of a vector string that represents each data element as a vector.
  • each word in the time series data D1 of the input sentence is represented by a 1-of-K expression by the vocabulary number K of the input side language.
  • the 1-of-K expression is a vector expression in which only a component corresponding to a word is set to “1” and the other components are set to “0” in a K-dimensional vector space.
  • the vector-represented time-series data D1 is generated, for example, by referring to information indicating the vocabulary of the input side language in the information processing apparatus 2 from text data of an input sentence.
  • the deep neural network 1 Based on the time-series data D1 input to the input layer 11, the deep neural network 1 performs various vector operations for machine translation via each intermediate layer 12 step by step.
  • linear transformation and non-linear transformation based on a parameter group to be machine-learned are computed for each order indicated by time-series data.
  • a complicated process of considering past input, intermediate state (internal state), and output in the order of time-series data is performed.
  • the output layer 13 of the deep neural network 1 Based on the calculation result in the intermediate layer 12, the output layer 13 of the deep neural network 1 outputs the translated sentence time-series data D2 indicating the translation result of the input sentence time-series data D1. For example, when the translated sentence is “this is a pen”, the time series data D2 of the vector expression representing the word series “this”, “is”, “a”, and “pen” is output from the output layer 13. For example, the information processing apparatus 2 generates a translation of text data from the vector-represented time-series data D2 by referring to information indicating the vocabulary of the output side language.
  • the deep neural network 1 includes an RHN 10 as shown in FIG.
  • the RHN 10 holds an input layer that holds an input variable x [t] corresponding to an order t (t is a natural number) in time-series data, an intermediate layer that holds an intermediate variable h [t], and an output variable y [t].
  • An output layer is provided.
  • Each layer of the RHN 10 is configured integrally with any one of the input layer 11, the intermediate layer 12, and the output layer 13 in the deep neural network 1.
  • the RHN 10 is incorporated into the deep neural network 1.
  • the RHN 10 may be incorporated into the deep neural network 1 as a module, or may be referred to as a library. Details of the RHN 10 will be described later.
  • the RHN 10 makes it easy to refer to information during processing of past data elements based on the time-series data in the deep neural network 1.
  • the configuration of the information processing apparatus 2 that executes the information processing method for time-series data according to the present embodiment will be described.
  • FIG. 2 is a block diagram illustrating the configuration of the information processing apparatus 2.
  • the information processing apparatus 2 is configured by a PC, for example. As illustrated in FIG. 2, the information processing apparatus 2 includes an arithmetic processing unit 20, a storage unit 21, a device interface 22, and a network interface 23 (hereinafter, “interface” is referred to as “I / F”). . In addition, the information processing apparatus 2 includes an operation unit 24, a display unit 25, a microphone 26, and a speaker 27.
  • the arithmetic processing unit 20 includes, for example, a CPU or a GPU that realizes a predetermined function in cooperation with software, and controls the overall operation of the information processing apparatus 2.
  • the arithmetic processing unit 20 reads out data and programs stored in the storage unit 21 and performs various arithmetic processes to realize various functions.
  • the arithmetic processing unit 20 executes a program that realizes the deep neural network 1 and the RHN 10 according to the present embodiment.
  • the above program may be provided from a network or may be stored in a portable recording medium.
  • the arithmetic processing unit 20 may be a hardware circuit such as a dedicated electronic circuit or a reconfigurable electronic circuit designed to realize a predetermined function.
  • the arithmetic processing unit 20 may be composed of various semiconductor integrated circuits such as a CPU, MPU, GPU, GPGPU, TPU, microcomputer, DSP, FPGA, ASIC and the like.
  • the storage unit 21 is a storage medium that stores programs and data necessary for realizing the functions of the information processing apparatus 2.
  • the storage unit 21 stores a parameter group to be learned in order to function as a neural network that performs machine learning.
  • the storage unit 21 includes a data storage unit 21a and a RAM 21b.
  • the data storage unit 21a stores parameters, data, a control program, and the like necessary for realizing a predetermined function, and includes, for example, a hard disk (HDD) or a semiconductor storage device (SSD).
  • the data storage unit 21a stores a program of the deep neural network 1 and the RHN 10, a parameter group (learned), information indicating the vocabulary of the input side language and the output side language, a bilingual corpus, and the like.
  • the RAM 21b is composed of a semiconductor device such as DRAM or SRAM, and temporarily stores (holds) data.
  • the RAM 21b may function as a work area for the arithmetic processing unit 20.
  • time series data D1 and D2 various variables x [t], h [t], h [t-1], y [t], and a parameter group to be learned, etc. are input sentence and translated sentence. Retained.
  • the parameter group and the intermediate state during the calculation are held in a storage area (an example of a storage unit) on the GPU.
  • the device I / F 22 is a circuit (module) for connecting another device to the information processing apparatus 2.
  • the device I / F 22 performs communication according to a predetermined communication standard.
  • the predetermined standard includes USB, HDMI (registered trademark), IEEE 1395, WiFi, Bluetooth (registered trademark), and the like.
  • the network I / F 23 is a circuit (module) for connecting the simulation apparatus 1 to the network via a wireless or wired communication line.
  • the network I / F 23 performs communication based on a predetermined communication standard.
  • the predetermined communication standard includes communication standards such as IEEE802.3, IEEE802.11a / 11b / 11g / 11ac.
  • the operation unit 24 is a user interface that is operated by a user.
  • the operation unit 24 includes, for example, a keyboard, a touch pad, a touch panel, buttons, switches, and combinations thereof.
  • the operation unit 24 is an example of an acquisition unit that acquires various information input by a user.
  • the display unit 25 is composed of, for example, a liquid crystal display or an organic EL display.
  • the display unit 25 displays various information such as information input from the operation unit 24, for example.
  • the microphone 26 is an example of an acquisition unit that collects sound and generates sound data.
  • the information processing apparatus 2 may have a voice recognition function.
  • voice information generated by the microphone 26 may be voice-recognized and converted into text data.
  • Speaker 27 outputs audio data as audio.
  • the information processing apparatus 2 may have a speech synthesis function.
  • the information processing device 2 may synthesize text data based on machine translation and output the speech from the speaker 27.
  • the information processing apparatus 2 configured by a PC has been described.
  • the information processing apparatus 2 according to the present disclosure is not limited to this, and may have various apparatus configurations.
  • the information processing device 2 may be one or a plurality of server devices such as an ASP server.
  • the information processing apparatus 2 acquires time-series data D1 of an input sentence input via a network by using the network I / F 23 (an example of an acquisition unit), and executes machine translation by the deep neural network 1. Good. Further, the information processing apparatus 2 may transmit the time series data D2 of the translation sentence generated in the machine translation via a network.
  • information processing of time-series data according to the present disclosure may be executed in a computer cluster or cloud computing.
  • FIG. 3 is a flowchart showing neural machine translation processing according to the present embodiment.
  • Neural machine translation processing is processing in which the arithmetic processing unit 20 executes machine translation by the deep neural network 1 constructed in the information processing apparatus 2.
  • the neural machine translation process according to the flowchart of FIG. 3 is started when the information processing apparatus 1 acquires time-series data D1 of an input sentence via the operation unit 24, the microphone 26, or various I / Fs 22 and 23, for example. .
  • the arithmetic processing unit 20 functions as the input layer 11 in the deep neural network 1 (see FIG. 1), and converts the input word in the word sequence based on the time series data D1 of the input sentence into a vector variable (step S1).
  • the arithmetic processing unit 20 performs linear conversion on the input words of the 1-of-K expression and converts each word into a vector variable.
  • Linear transformation is performed by a parameter matrix having the learning target parameters as matrix elements.
  • the number of dimensions of the vector variable after conversion can be arbitrarily set. For example, by setting the number of dimensions to be smaller than the vocabulary number K, it is possible to perform arithmetic processing in a vector space indicating some semantic structure projected from the vocabulary space.
  • the arithmetic processing unit 20 functions as, for example, a bidirectional RNN (Recurrent Neural Network) based on the time series data of the vector variables, and recognizes the word order in the input sentence (Step S2).
  • the RNN sequentially executes arithmetic processing on each vector of time-series data while performing feedback in the intermediate layer of the three-layer neural network.
  • the bidirectional RNN is realized by executing in parallel an RNN executed in ascending order of vector sequences in time series data and an RNN executed in descending order.
  • the processing in step S2 is not limited to the bidirectional RNN, but may be realized by, for example, a bidirectional LSTM (long short term memory).
  • the LSTM has a function of partially erasing contents fed back in the RNN.
  • Bidirectional LSTM is realized by applying LSTM instead of RNN in bidirectional RNN.
  • the process of step S2 may be performed by applying the RHN 10 according to the present embodiment instead of the RNN (or LSTM) in the bidirectional RNN (or bidirectional LSTM).
  • the arithmetic processing unit 20 performs attention processing that applies an existing method called attention (for example, refer to Non-Patent Document 3), and determines an output rule to the subsequent stage (step S3).
  • the output rule defines a word to be noted as a translation target and a degree of attention in the word sequence on the input side when executing the subsequent process (S4).
  • the arithmetic processing unit 20 refers to the output of step S2, the past internal state in step S4, and the like, and the weight value of the sum total over the vector sequence generated in step S2 is 1.
  • a set of 0 to 1 is sequentially generated.
  • the arithmetic processing unit 20 performs a weighted average of the vector sequence in step S2 using the generated sets of weight values 0 to 1, and sequentially sets input variables to be processed in step S4.
  • the arithmetic processing unit 20 functions as the RHN 10 according to the present embodiment, for example, and sequentially performs a process of determining the naturalness of the output word based on the set input variable (step S4).
  • the arithmetic processing unit 20 first calculates an intermediate variable as an internal state for each set order of the input variables. Next, the arithmetic processing unit 20 sequentially outputs vector variables corresponding to the output words based on the current input variables, the current and past internal states, the past output results, and the like.
  • the process of step S4 may be performed using RNN or LSTM instead of RHN10. Details of the processing by the RHN 10 will be described later.
  • the arithmetic processing unit 20 functions as the output layer 13 in the deep neural network 1 and generates information indicating the output word of the translation result in the output side language (step S5). Specifically, the arithmetic processing unit 20 performs linear conversion for each vector variable output in the process of step S4. In addition, a nonlinear transformation based on a softmax function or the like is calculated on the linear conversion result, and an output word corresponding to the calculation result vector is output.
  • step S5 the arithmetic processing unit 20 also outputs information indicating the start and end of the translated sentence when outputting each output word in the translated sentence.
  • the arithmetic processing unit 20 ends the process according to this flowchart by outputting information indicating the end of the translated sentence.
  • the deep neural network 1 performs machine translation from the input side language to the output side language.
  • machine translation can be executed with high accuracy.
  • the arithmetic processing unit 20 In order to learn various parameter groups in the deep neural network 1, the arithmetic processing unit 20 refers to, for example, a bilingual corpus stored in the storage unit 21 in advance, and the output result of step S 5 in the flowchart of FIG. Calculate the error with the translation.
  • the arithmetic processing unit 20 optimizes parameter groups used for arithmetic processing between the layers in order from the output layer 13 side to the input layer 11 side in accordance with the error back propagation method.
  • FIG. 4 is a diagram for explaining an arithmetic algorithm of the RHN 10 according to the first embodiment.
  • FIG. 4 schematically shows the arithmetic algorithm of RHN10.
  • the RHN 10 according to the present embodiment is realized by the arithmetic processing unit 20 sequentially executing arithmetic processing according to the following equations (1) and (2) for each order t in the time series data.
  • h [t] T1 ⁇ h [t ⁇ 1] + (1 ⁇ T1) ⁇ f1 (1)
  • y [t] W3 ⁇ h [t] (2)
  • the t-th input variable x [t], intermediate variable h [t], and output variable y [t] are vector variables.
  • the t ⁇ 1th intermediate variable h [t ⁇ 1] is a vector variable having the same dimension as the tth intermediate variable h [t].
  • the activation function f1 and the transfer function T1 are vector value functions whose arguments are vector variables.
  • the argument of the activation function f1 in the above equation (1) is, for example, as in the following equation (3).
  • f1 f1 (W1 ⁇ x [t] + W2 ⁇ h [t ⁇ 1]) (3)
  • the parameter matrices W1 and W2 have the same number of columns as the number of dimensions of the vector variables x [t] and h [t ⁇ 1], respectively, and both have the number of dimensions of the intermediate variable h [t]. Have the same number of rows.
  • the parameter matrix W3 has the same number of columns as the number of dimensions of the intermediate variable h [t] and the same number of rows as the number of dimensions of the output variable y [t].
  • Each of the parameter matrices W1 to W3 is an example of a parameter group that is a target of machine learning in the present embodiment. Note that the argument of the activation function f1 may be set by appropriately adding a bias term.
  • “•” in each expression defines a product between a matrix and a vector, and represents an operation for linearly transforming the vector by the matrix.
  • “W1 ⁇ x [t]” has the same number of dimensions as the number of rows of the parameter matrix W1, and is a vector indicating the result of linear transformation of x [t] of the input variable by the parameter matrix W1.
  • the arithmetic processing unit 20 functions as a linear conversion unit that performs such linear conversion.
  • x represents multiplication of vectors.
  • the product “V1 ⁇ V2” of the two vectors V1 and V2 is a vector and represents, for each component, a product between the same components of the vectors V1 and V2 (so-called Hadamard product).
  • the product “V1 ⁇ V2” is obtained by multiplying the same components for each component of the vectors V1 and V2.
  • the arithmetic processing unit 20 functions as a multiplication unit that performs the multiplication.
  • “+” Represents addition of vectors.
  • the sum “V1 + V2” is obtained by adding the same components for each component of the vectors V1 and V2.
  • the arithmetic processing unit 20 functions as an addition unit that performs the addition.
  • the activation function f ⁇ b> 1 is a function that performs non-linear transformation so that a linear transformation result of a vector variable can be represented by a complex function that cannot be represented by linear transformation alone.
  • the arithmetic processing unit 20 functions as a non-linear conversion unit that performs non-linear conversion by the activation function f1 (the same applies hereinafter).
  • As the activation function f1, for example, a sigmoid function F (z) represented by the following expression (4) with an argument z is used. F (z) 1 / (1 + exp ( ⁇ z)) (4)
  • exp (z) is an exponential function.
  • the activation function f1 performs nonlinear transformation as in the above equation (4) for each component of the argument (equation (3)) which is a vector variable, and has each transformation result as a vector value.
  • the sigmoid function as the activation function f1
  • the value of each component of the argument of the activation function f1 is normalized within the range of 0-1.
  • the activation function f1 is not limited to the sigmoid function, and various functions may be used. For example, ReLU (normalized linear function) or tanh (hyperbolic tangent function) may be used.
  • the transfer function T1 is a function for setting the degree to which information included in a specific calculation result such as the (t-1) intermediate variable h [t-1] (with time delay) is transmitted to the output side.
  • the calculation processing unit 20 functions as a function calculation unit that calculates the transfer function T1 (the same applies hereinafter).
  • the transfer function T1 is defined by a parameter group to be machine-learned, for example, with the (current) t-th input variable x [t] as an argument.
  • the transfer function T1 is defined as an activation function f in which a parameter matrix W4 is incorporated as in the following equation (5).
  • each component of the transfer function T1 is, for example, 0 to 1, and may be set as appropriate according to the activation function to be employed, such as ⁇ 1 to 1.
  • the argument of the transfer function T1 may be the t ⁇ 1th intermediate variable h [t ⁇ 1] or the output variable y [t ⁇ 1], or the various variables before the tth or t ⁇ 1th variables. It may be a combination.
  • the parameter matrix W4 has the same number of columns as the number of dimensions of the input variable x [t] and the same number of rows as the number of dimensions of the intermediate variable h [t].
  • the parameter matrix W4 is an example of a parameter group that is a target of machine learning in the present embodiment.
  • the arithmetic processing unit 20 first performs an operation according to the formula (1) for each order t, and obtains the t-th intermediate variable h [t] from the t-th input variable x [t]. calculate. At this time, the arithmetic processing unit 20 also appropriately performs non-linear conversion arithmetic using the various functions f1 and T1. Next, the arithmetic processing unit 20 performs an operation according to Equation (2), and calculates the t-th output variable y [t] from the t-th intermediate variable h [t].
  • the RHN 10 has a feedback loop 5 as shown in FIG.
  • the feedback loop 5 is an arithmetic loop that feeds back and uses the previous intermediate variable h [t ⁇ 1] when calculating the t-th intermediate variable h [t] in the calculation process of the t-th equation (1).
  • the feedback loop 5 can reflect the past internal state information by the time-lag (t ⁇ 1) intermediate variable h [t ⁇ 1]. It becomes possible.
  • the arithmetic processing unit 20 holds the calculation result of the intermediate variable h [t] in the storage unit 21 every time the intermediate variable h [t] is calculated in each arithmetic processing, for example, and the calculation result held in the next arithmetic processing Is referred to as a time delay intermediate variable h [t ⁇ 1].
  • h [0] 0 is set in advance.
  • the storage unit 21 stores the input variable x [t], the intermediate variable h [t] (and h [t ⁇ 1]), and the output variable y [t], respectively, in the input layer, intermediate in the RHN 10. Layer and output layer.
  • the RHN 10 includes first and second paths 50 and 51 based on the formula (1) in the feedback loop 5, as shown in FIG.
  • the first and second paths 50 and 51 correspond to the respective terms in the expression (1), respectively, by past information on the internal state in the intermediate variable h [t ⁇ 1] with time delay, This is an information transmission path to be transmitted to the variable h [t].
  • the arithmetic processing unit 20 has, as a functional configuration for realizing such an RHN 10, a first gate including a multiplication unit in the first path 50 (corresponding to the calculation of the second term in Expression (1)), A second gate including a multiplication unit in the second path 52 (corresponding to the calculation of the first term of the equation (1)).
  • the current input variable x [t] is linearly transformed by the parameter matrix W1
  • the previous intermediate variable h [t-1] is transformed by the parameter matrix W2.
  • the sum of the linearly transformed variables W1 ⁇ x [t] and W2 ⁇ h [t ⁇ 1] is nonlinearly transformed by the activation function f1 (see Expression (3)).
  • the arithmetic processing unit 20 serves as the first gate via the first path 50 as the current intermediate variable h [ The information to be included in t] is controlled (see the second term of equation (1)).
  • the calculation result of the intermediate variable h [t-1] by the previous arithmetic processing is maintained without performing the linear transformation and the nonlinear transformation.
  • the previous intermediate variable h [t ⁇ 1] is multiplied using the transfer function T1 as a weight (formula (1), first term).
  • the weighting value is set by calculating the transfer function T1 based on an argument such as the current input variable x [t].
  • the arithmetic processing unit 20 serves as the second gate via the second path 51 so as to take over from the previous intermediate variable h [t ⁇ 1] to the current intermediate variable h [t]. Controls information extracted from the calculation result of h [t ⁇ 1].
  • the activation function f1 of various conversion results has a weight (1-T1) complementary to the weight (T1) in the second path 51. Is multiplied (the second term in equation (1)).
  • various conversion results in the first path 50 and the calculation result of the previous calculation process in the second path 51 are weighted and added, so that the current intermediate variable h [T] is calculated (see equation (1)).
  • the first path 50 since various conversions are performed on the previous intermediate variable h [t-1] together with the current input variable x [t], past information based on the previous intermediate variable h [t-1] is obtained. Can be reflected in various ways.
  • various conversions are repeatedly performed each time the arithmetic processing is performed on the intermediate variable h [n] in the specific order n. It becomes. In particular, nonlinear conversion, which is irreversible conversion, becomes a problem.
  • the information on the past internal state is maintained by the second path 51 while maintaining the calculation result of the previous intermediate variable h [t ⁇ 1] in each calculation process. Is inherited by the current intermediate variable h [t], and it becomes possible to refer to the past internal state information indefinitely. According to the RHN 10, it is possible to refer to the past internal state without any conversion including sum, linear conversion, and non-linear conversion. In addition, optimization in machine learning is facilitated by solving by various operations using the first path 50 only for the amount that is not expressed in the past internal state without conversion.
  • the transfer function T1 changes the weighting by the first and second paths 50 and 51 based on the argument such as the current input variable x [t], whereby the first and second paths. Information to be transmitted to the output side from 50 and 51 can be appropriately selected. Further, since the transfer function T1 is defined by the parameter matrix W4, the selection method of information transmitted from the first and second paths 50 and 51 can be updated by machine learning. In this embodiment, the weighting by the transfer function T1 is set to be complementary to each of the paths 50 and 51. This makes it possible to select important information and unnecessary information while interlocking with the paths 50 and 51 and suppressing an increase in the amount of calculation.
  • step S4 the data selected by the attention processing in step S3 is sequentially input to the input layer (x [1], x [2],..., X [t]) of the RHN 10. Is done.
  • the input variable x [with the same value representing “tax exemption” is given to the RHN by the attention processing (S3).
  • t1] and x [t2] are sequentially input.
  • the intermediate variable h [t1] is calculated by the arithmetic processing via the first route 50, and the output variable y [t1] represents the word “tax”. Is calculated.
  • the value of the transfer function T1 based on the input variable x [t2] is For example, 0.5.
  • the current translation object is “tax exempt” (x [t2])
  • “tax” has been set in the past.
  • the output variable y [t2] can be appropriately determined.
  • the relationship between the input sentence and the translated sentence may be a many-to-one relationship.
  • the input sentences “Please”, “Please” and “Please” are translated into the output sentence “Please”, the above relationship is three-to-one.
  • an input variable x [t] representing information unnecessary for translation is sequentially input. Therefore, when an input variable x [t] representing information such as “I will do”, “I will do it”, “I have done” in the input sentence is input, the value of the transfer function T1 becomes 1, so that the translation Information unnecessary for translation as described above can be ignored in the processing.
  • the information processing apparatus 2 functions as the RHN 10 in the deep neural network 1 based on the time series data D1.
  • the information processing apparatus 2 includes a storage unit 21 and an arithmetic processing unit 20.
  • the storage unit 21 stores an input variable x [t] for each order t in a vector sequence of time-series data, and parameter matrices W1 to W4 for functioning as the RHN 10.
  • the arithmetic processing unit 20 performs conversion based on the parameter matrices W1 to W3, calculates the intermediate variable h [t] in the order based on the input variable x [t] in each order t, and calculates the calculated intermediate variable h [t ], The output variable y [t] in that order is calculated.
  • the arithmetic processing unit 20 performs weighted addition in the feedback loop 5 that calculates the (n + 1) th intermediate variable h [n + 1] (n is a natural number) (formula (1)).
  • the arithmetic processing unit 20 calculates the nth intermediate variable h [n] and the n + 1th input variable x [n] based on the calculation result (51) of the nth intermediate variable h [n] and the parameter matrices W2 and W1.
  • the converted conversion result (50) is weighted and added to calculate the (n + 1) th intermediate variable h [n + 1].
  • the second path 51 is configured together with the first path 50 in the feedback loop 5 for calculating the (n + 1) th intermediate variable h [n + 1].
  • the calculation result of the nth intermediate variable h [n] is taken over by the n + 1th intermediate variable h [n + 1] according to the weighting, and the deep neural network 1 executes information processing of time series data. Or, machine learning can be made efficient.
  • the arithmetic processing unit 20 uses the (n1, 1) -T1 weighting (T1, 1-T1) based on the transfer function T1 defined by the parameter matrix W4 as the n + 1-th intermediate variable h [n + 1]. Performs weighted addition when calculating. Thereby, the selection of information by weighted addition in machine learning can be optimized by updating the parameter matrix W4.
  • the arguments of the transfer function T1 are the input variable x [t] before the (n + 1) th (t ⁇ n + 1), the intermediate variable h [t ⁇ 1] before the nth, and the output variable before the nth. including at least one of y [t ⁇ 1].
  • the weighting by the transfer function T1 changes according to various variables as arguments, and it is possible to appropriately refer to the past internal state information according to the order t of the time series data.
  • the time series data D1 includes data representing the input side language which is a natural language.
  • the information processing apparatus 2 performs natural language machine translation based on processing executed by the arithmetic processing unit 20. With the RHN 10, the information processing apparatus 2 can perform machine translation efficiently.
  • the information processing method for time-series data in the present embodiment is executed by the information processing apparatus 2 that realizes the function of the RHN 10 in the deep neural network 1.
  • the storage unit 21 of the information processing apparatus 2 stores parameter matrices W1 to W3 for functioning as the RHN 10.
  • the method includes a step in which the information processing apparatus 2 acquires an input variable x [t] for each order t in the time series data.
  • the method includes a step in which the information processing apparatus 2 performs conversion based on the parameter matrices W1 and W2 and calculates an intermediate variable h [t] in the order based on the input variable x [t] in each order.
  • the method includes a step in which the information processing apparatus 2 performs conversion based on the parameter matrix W3 and calculates the output variable y [t] in the order based on the intermediate variable h [t] in each order.
  • the step of calculating the (n + 1) th intermediate variable h [n + 1] includes the nth intermediate variable h [n] and the (n + 1) th input based on the calculation result of the nth intermediate variable h [n] and the parameter matrices W2 and W1.
  • the conversion result obtained by converting the variable x [n] is weighted and added to calculate the (n + 1) th intermediate variable h [n + 1].
  • the calculation result of the n-th intermediate variable h [n] is taken over by the n + 1-th intermediate variable h [n + 1] according to the weighting, and the time-series data by the deep neural network 1 is obtained.
  • Information processing can be made efficient.
  • the program in the present embodiment is a program for causing the information processing apparatus 2 to execute the information processing method for time series data.
  • the information processing of the time series data executed by the information processing device 2 can be made efficient.
  • FIG. 5 is a diagram for explaining an arithmetic algorithm of the RHN 10A according to the second embodiment.
  • RHN10A which concerns on this embodiment, it replaces with Formula (2) of Embodiment 1, and employ
  • y [t] (1 ⁇ T2) ⁇ W3 ⁇ h [t] + T2 ⁇ x [t] (6)
  • the transfer function T2 is defined by the parameter group to be learned in the same manner as the transfer function T1 of the equation (1).
  • the argument of the transfer function T2 is, for example, the current input variable x [t], the intermediate variable h [t], the previous output variable y [t ⁇ 1], or a combination thereof.
  • RHN 10A includes an information transmission detour 52 based on Expression (6), as shown in FIG.
  • the detour 52 corresponds to the second term of Expression (6), and transmits the information of the input variable x [t] to the output variable y [t] without passing through the intermediate variable h [t]. It is.
  • the arithmetic processing unit 20 further includes an output gate that controls information to be transmitted to the output variable y [t] via the detour 52 (Expression (6) on the right side). Corresponding to calculation).
  • the arithmetic processing unit 20 weights and adds the current input variable x [t] and the intermediate variable h [t] in complementary weighting based on the transfer function T2. , An arithmetic process for calculating the output variable y [t] is executed.
  • the detour 52 it is possible to avoid a situation in which it is difficult to obtain an identity map due to nonlinear transformation when calculating the intermediate variable h [t]. Accordingly, for example, in the deep neural network 1 for machine translation, it is possible to easily learn a correspondence relationship that has a one-to-one correspondence between input and output, such as the input word “coffee” and the output word “coffee”. Further, it is possible to avoid excessive conversion in a state where a sufficiently good conversion result has already been obtained, or loss of information through extra conversion.
  • the arithmetic processing unit 20 uses the input variable x [t] in each order t and the parameter matrix in weighting based on the transfer function T2 that is the second transfer function.
  • the intermediate variable h [t] in that order converted based on W3 is weighted and added.
  • the arithmetic processing unit 20 calculates the output variable y [t] in the order.
  • a layer for calculating the intermediate variable h [t] is bypassed by the detour 52 based on the equation (6) during learning, and the parameters on the input layer side are bypassed.
  • Can promote group learning it is possible to eliminate a situation in which the previous layer is learned as fast as the subsequent layer, and the subsequent learning needs to be performed again according to the result of the previous learning.
  • FIG. 6 is a diagram for explaining an arithmetic algorithm of the RHN 10B according to the first modification of the present embodiment.
  • the RHN 10B adds an activation function f2 having an argument W3 ⁇ h [t] to the RHN 10A according to the second embodiment (FIG. 5).
  • the activation function f2 when the current output variable y [t] is calculated, non-linear conversion is performed on the linear conversion result of the intermediate variable h [t].
  • FIG. 7 is a diagram for explaining an arithmetic algorithm of the RHN 10C according to the second modification of the present embodiment.
  • the RHN 10C adds an activation function f3 having an argument W2 ⁇ h [t ⁇ 1] to the RHN 10A according to the second embodiment (FIG. 5).
  • the activation function f3 when calculating the current intermediate variable h [t], a non-linearity with respect to the linear conversion result of the previous intermediate variable h [t-1] is obtained separately from the conversion (f1) of the input variable x [t]. Conversion is performed.
  • the same modification as that of the RHN 10C is not limited to the RHN 10A according to the second embodiment, and may be performed on the RHN 10 according to the first embodiment. Further, the same modifications as those of the RHN 10B and RHN 10C according to each modification may be applied to each embodiment described later.
  • Embodiment 3 will be described with reference to the drawings.
  • an RHN 10D having a function of partially erasing past internal state information will be described.
  • FIG. 8 is a diagram for explaining an arithmetic algorithm of the RHN 10D according to the third embodiment.
  • the RHN 10D according to the present embodiment performs the calculation of the following expression (7) in the feedback loop 5 as shown in FIG.
  • the arithmetic processing unit 20 further includes a forgetting gate that controls information referred to from the time-delayed intermediate variable h [t ⁇ 1] (expression (7)) Corresponding).
  • h ′ [t ⁇ 1] T3 ⁇ h [t ⁇ 1] (7)
  • the transfer function T3 has, for example, the current input variable x [t] and the previous output variable y [t ⁇ 1] as arguments.
  • the transfer function T3 is defined by the following equation (8) using the parameter matrix W5.
  • the sigmoid function F (z) is used (see equation (4)).
  • the arithmetic processing unit 20 serves as a forgetting gate, replacing the time-delayed intermediate variable h [t ⁇ 1] at the time of the arithmetic processing of Expression (1) for each order t.
  • the intermediate variable h ′ [t ⁇ 1] (formula (7)) of the multiplication result of the transfer function 3 is used.
  • the intermediate component h ′ [t ⁇ 1] of the multiplication result eliminates the corresponding component of the time-delayed intermediate variable h [t ⁇ 1] (forgetting). )
  • the reference to the past internal state can be stopped at an appropriate time by deleting the information included in the time-delayed intermediate variable h [t ⁇ 1] by multiplication of the transfer function T3. Obviously, the reference to the past internal state can be stopped at an appropriate time by deleting the information included in the time-delayed intermediate variable h [t ⁇ 1] by multiplication of the transfer function T3. Obviously, the reference to the past internal state can be stopped at an appropriate time by deleting the information included in the time-delayed intermediate variable h [t ⁇ 1] by multiplication of the transfer function T3. Become.
  • the arithmetic processing unit 20 partially calculates the calculation result of the nth intermediate variable h [n] based on the transfer function T3 that is the third transfer function. (Equation (7)).
  • the arithmetic processing unit 20 calculates the (n + 1) th intermediate variable h [n + 1] using the calculation result h ′ [n] of the partially deleted nth intermediate variable.
  • Embodiment 4 will be described with reference to the drawings.
  • a description will be given of the RHN 10E that can select the presence or absence of nonlinear transformation for each variable x [t], h [t-1], h [t] in various combinations.
  • FIG. 9 is a diagram for explaining an arithmetic algorithm of the RHN 10E according to the fourth embodiment.
  • the arithmetic processing unit 20 performs arithmetic processing according to the following equations (9) and (10) in order to calculate the t-th intermediate variable h [t] and the output variable y [t], respectively. It is realized by executing.
  • h [t] (1-T4) ⁇ ⁇ T1 ⁇ h [t ⁇ 1] + (1-T1) ⁇ f1 ⁇ + T4 ⁇ x [t] (9)
  • y [t] (1 ⁇ T5) ⁇ f2 + T5 ⁇ h [t] (10)
  • the transfer functions T4 and T5 are each defined by the parameter group to be learned, like the transfer functions T1 and T2.
  • the argument of the transfer function T4 is, for example, the current input variable x [t], the previous intermediate variable h [t ⁇ 1], the output variable y [t ⁇ 1], or a combination thereof.
  • the argument of the transfer function T5 is, for example, the current input variable x [t], the intermediate variable h [t], the previous output variable y [t ⁇ 1], or a combination thereof.
  • Equation (9) assumes that the input variable x [t] and the intermediate variable h [t] have the same number of dimensions.
  • the linear number is set so that the number of dimensions of the second term of the equation (9) matches the number of dimensions of the intermediate variable h [t]. Conversion or the like is performed as appropriate.
  • the arithmetic processing unit 20 performs weighting based on the transfer function T4 that is the fourth transfer function when calculating the (n + 1) th intermediate variable h [n + 1].
  • the weighted addition of the calculation result of the nth intermediate variable h [n] and the conversion result thereof and the value of the (n + 1) th input variable x [n + 1] are weighted and added (equation (9)). Thereby, it is possible to select whether or not to convert the input variable x [n + 1] and the intermediate variable h [n] with a time delay.
  • the arithmetic processing unit 20 performs weighted addition in weighting based on the transfer function T5 that is the fifth transfer function when calculating the output variable y [t] in each order.
  • the arithmetic processing unit 20 weights and adds the intermediate variable h [t] in the order and the intermediate variable f2 (W3 ⁇ h [t]) in the order converted by the parameter matrix W3 (Expression (10)). Thereby, it is possible to select whether or not to convert the current intermediate variable h [t].
  • the arithmetic processing unit 20 executes arithmetic processing according to an arithmetic expression in which Expressions (9) and (10) substitute 0 for a transfer function that is not used in the transfer functions T4 and T5.
  • Expressions (9) and (10) substitute 0 for a transfer function that is not used in the transfer functions T4 and T5.
  • Embodiments 1 to 4 have been described as examples of the technology disclosed in the present application.
  • the technology in the present disclosure is not limited to this, and can also be applied to an embodiment in which changes, substitutions, additions, omissions, and the like are appropriately performed.
  • weighted addition is performed in complementary weighting based on one transfer function in each of the transfer functions T1, T2, T4, and T5.
  • the method of weighted addition is not limited to this, and weighted addition may be performed in weighting based on a plurality of transfer functions.
  • a plurality of transfer functions P1 and P2 set separately may be used instead of T1 and (1-T1) in equation (1). Thereby, the information transmission by the 1st and 2nd path
  • the present invention is not limited to this, and machine translation may be performed by constructing another deep neural network.
  • machine translation may be performed by constructing another deep neural network.
  • an encoder / decoder type translation model may be used, or multiple layers may be appropriately formed by combining bidirectional LSTMs in an interleaved manner (see Non-Patent Document 2).
  • information processing can be efficiently performed by incorporating the RHNs 10 and 10A to 10E according to the above-described embodiments.
  • RHNs 10 and 10A to 10E are incorporated in the deep neural network 1 for performing machine translation
  • present disclosure is not limited thereto.
  • the RHNs 10, 10A to 10E according to the present disclosure can be used for information processing that handles various time-series data such as speech recognition and speech prediction.
  • time series data is not limited to this, and may be, for example, a sequence of various data elements such as a character string in a sentence, a sequence of audio features in audio data, a frame sequence of a moving image, and an adjacent pixel sequence of an image. .
  • RHNs 10, 10A to 10E are incorporated into the deep neural network 1
  • Information processing may be performed by a neural network of a single RHN 10, 10A to 10E.
  • the RHN according to the present disclosure can be applied as any configuration that skips arithmetic processing in the time-series direction of time-series data.
  • the present disclosure can be applied to information processing of various time series data based on machine learning, for example, speech recognition processing and machine translation processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

情報処理装置(2)は、時系列データ(D1)に基づきニューラルネットワーク(10)として機能する。情報処理装置は、記憶部(21)と、演算処理部(20)とを備える。記憶部は、時系列データにおける順番毎の入力変数(x[t])、及びニューラルネットワークとして機能するためのパラメータ群(W1~W3)を格納する。演算処理部は、パラメータ群に基づく変換を行って、各順番の入力変数に基づき中間変数(h[t])を算出し、算出した中間変数に基づき出力変数(y[t])を算出する。演算処理部は、n+1番目の中間変数を算出する際に、n番目の中間変数の算出結果(51)と、パラメータ群に基づきn番目の中間変数及びn+1番目の入力変数を変換した変換結果(50)とを重み付け加算して、n+1番目の中間変数を算出する。

Description

情報処理装置、時系列データの情報処理方法、及びプログラム
 本開示は、情報処理装置、時系列データの情報処理方法、及びプログラムに関する。
 非特許文献1は、深層ニューラルネットワークにおける機械学習の促進を図る技術を開示している。非特許文献1のハイウェイネットワークは、入力データから出力データを得るために非線形変換などを行う中間処理を選択的に飛ばしている。非特許文献1は、ハイウェイネットワークにおいて選択的に飛ばす中間処理として、リカレントニューラルネットワーク(RNN)を挙げている。これにより、構築する深層ニューラルネットワークの中でRNNによる再帰的(リカレント)な一連の演算処理をすることなく、入力データから出力データを得ることができる。
 非特許文献2は、深層ニューラルネットワークによる機械翻訳モデルを開示している。非特許文献2の機械翻訳モデルでは、時系列データにおける過去の情報を再帰的に参照するロングショートタームメモリ(LSTM)において、再帰的な演算処理全体を飛ばすように、入力データを出力側に渡す接続経路を設けている。非特許文献2によると、複雑な非線形変換と共に再帰的な演算処理を省略して学習の高速化を図り、BLEU値40.4という高精度の機械翻訳を達成している。
S. R. Kumar, et al.,"Training Very Deep Networks",eprint arXiv:1507.06228,July 2015. Zhou Jie, et al.,"Deep Recurrent Models with Fast-Forward Connections for Neural Machine Translation",eprint arXiv:1606.04199,June 2016. Bahdanau Dzmitry, et al.,"Neural Machine Translation by Jointly Learning to Align and Translate",eprint arXiv:1409.0473,September 2014.
 本開示は、ニューラルネットワークによる時系列データの情報処理を効率良くすることができる時系列データの情報処理方法及び情報処理装置を提供する。
 本開示の一態様における情報処理装置は、時系列データに基づきニューラルネットワークとして機能する情報処理装置である。情報処理装置は、記憶部と、演算処理部とを備える。記憶部は、時系列データにおける順番毎の入力変数、及びニューラルネットワークとして機能するためのパラメータ群を格納する。演算処理部は、パラメータ群に基づく変換を行って、各順番の入力変数に基づき当該順番の中間変数を算出し、算出した中間変数に基づき当該順番の出力変数を算出する。演算処理部は、n+1番目の中間変数を算出する際に、n番目の中間変数の算出結果と、パラメータ群に基づきn番目の中間変数及びn+1番目の入力変数を変換した変換結果とを重み付け加算して、n+1番目の中間変数を算出する。
 本開示の一態様における時系列データの情報処理方法は、ニューラルネットワークの機能を実現する情報処理装置によって実行される。
 本開示における情報処理装置及び時系列データの情報処理方法によると、n番目の中間変数の算出結果が重み付けに応じてn+1番目の中間変数に引き継がれ、ニューラルネットワークによる時系列データの情報処理を効率良くすることができる。
実施形態1に係る時系列データの情報処理方法の概要を示す図 実施形態1に係る情報処理装置の構成を例示するブロック図 情報処理装置によるニューラル機械翻訳処理を示すフローチャート 実施形態1に係るリカレントハイウェイネットワーク(RHN)の演算アルゴリズムを説明するための図 実施形態2に係るRHNの演算アルゴリズムを説明するための図 実施形態2の変形例1に係るRHNの演算アルゴリズムを説明するための図 実施形態2の変形例2に係るRHNの演算アルゴリズムを説明するための図 実施形態3に係るRHNの演算アルゴリズムを説明するための図 実施形態4に係るRHNの演算アルゴリズムを説明するための図
 以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
 なお、出願人は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
(実施形態1)
 本開示は、ニューラルネットワークによる機械学習の新たな枠組みであるリカレントハイウェイネットワーク(以下、「RHN」という。)を開示する。本開示に係るRHNは、例えば音声認識処理、機械翻訳処理など、時系列データを対象とする種々の情報処理に適用できる。時系列データは、時系列方向の順番を有するデータ要素の列で構成されるデータである。時系列データにおける順番は、時間を意味するものに特に限らず、対象とするデータ及び情報処理に応じて適宜、設定される。以下では、深層学習による機械翻訳にRHNを適用する例を説明する。
1.構成
 以下、本実施形態に係る時系列データの情報処理方法及び情報処理装置の構成について、説明する。
1-1.概要
 本実施形態では、深層学習による機械翻訳のための深層ニューラルネットワークを、RHNを用いて構成する。実施形態1に係る深層ニューラルネットワークによる情報処理についての概要を、図1を参照して説明する。図1は、本実施形態に係る時系列データの情報処理方法の概要を示す図である。
 本実施形態に係る深層ニューラルネットワーク1は、図1に示すように、入力層11、複数の中間層12及び出力層13を備える。各層11,12,13は、それぞれ入力時、処理中、及び出力時のデータを保持するデータバッファとして機能する。深層ニューラルネットワーク1は、例えば情報処理装置2において実現される。
 本実施形態に係る深層ニューラルネットワーク1は、図1に示すように、入力文の時系列データD1に基づき、入力側言語から出力側言語への機械翻訳を行って、翻訳文の時系列データD2を出力する(ニューラル機械翻訳処理)。図1では、日本語から英語への翻訳例を示している。入力側言語及び出力側言語は、種々の自然言語に設定されてもよい。
 本実施形態において、入力文の時系列データD1は、入力側言語(日本語)の単語系列で構成される。例えば、入力文が「これはペンです」である場合、入力文中の単語「これ」、「は」、「ペン」及び「です」のそれぞれが、時系列データD1のデータ要素である。また、単語系列の順番は、入力文中の各単語の並び順(昇順または降順)である。
 入力文の時系列データD1は、各データ要素をベクトルで表すベクトル列の形式において、深層ニューラルネットワーク1の入力層11に入力される。例えば、入力文の時系列データD1における各単語は、入力側言語の語彙数Kによる1-of-K表現で表される。1-of-K表現は、K次元のベクトル空間において、単語に一対一対応する成分のみ「1」とし、他の成分を「0」とするベクトル表現である。ベクトル表現の時系列データD1は、例えば入力文のテキストデータから、情報処理装置2において入力側言語の語彙を示す情報を参照することによって生成される。
 入力層11に入力された時系列データD1に基づき、深層ニューラルネットワーク1は、段階的に各中間層12を介して、機械翻訳のための種々のベクトル演算を行う。中間層12における演算処理では、時系列データが示す順番毎に、機械学習の対象となるパラメータ群に基づく線形変換及び非線形変換等が演算される。この際、時系列データの順番における過去の入力、中間状態(内部状態)、出力を考慮するという複雑な処理が行われる。
 中間層12における演算結果に基づいて、深層ニューラルネットワーク1の出力層13は、入力文の時系列データD1の翻訳結果を示す翻訳文の時系列データD2を出力する。例えば翻訳文が「this is a pen」である場合に、単語系列「this」、「is」、「a」及び「pen」を表すベクトル表現の時系列データD2が出力層13から出力される。例えば、情報処理装置2は、出力側言語の語彙を示す情報を参照することによってベクトル表現の時系列データD2からテキストデータの翻訳文を生成する。
 本実施形態に係る深層ニューラルネットワーク1は、図1に示すように、RHN10を備える。RHN10は、時系列データにおける順番t(tは自然数)に応じた入力変数x[t]を保持する入力層、中間変数h[t]を保持する中間層、及び出力変数y[t]を保持する出力層を備える。RHN10の各層は、それぞれ深層ニューラルネットワーク1における入力層11、中間層12及び出力層13のいずれかと一体的に構成される。これにより、RHN10は深層ニューラルネットワーク1に組み込まれる。RHN10は、モジュールとして深層ニューラルネットワーク1に組み込まれてもよいし、ライブラリとして参照されてもよい。RHN10の詳細については後述する。
 本実施形態に係る時系列データの情報処理方法では、RHN10により、深層ニューラルネットワーク1において時系列データに基づく過去のデータ要素の処理中の情報を参照し易くする。以下、本実施形態に係る時系列データの情報処理方法を実行する情報処理装置2の構成について説明する。
1-2.ハードウェア構成
 図2を参照して、本実施形態に係る情報処理装置2のハードウェア構成を説明する。図2は、情報処理装置2の構成を例示するブロック図である。
 情報処理装置2は、例えばPCで構成される。情報処理装置2は、図2に示すように、演算処理部20と、記憶部21と、機器インタフェース22と、ネットワークインタフェース23とを備える(以下、「インタフェース」を「I/F」という。)。また、情報処理装置2は、操作部24と、表示部25と、マイク26と、スピーカ27とを備える。
 演算処理部20は、例えばソフトウェアと協働して所定の機能を実現するCPUやGPUを含み、情報処理装置2の全体動作を制御する。演算処理部20は、記憶部21に格納されたデータやプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、演算処理部20は、本実施形態に係る深層ニューラルネットワーク1及びRHN10が実現されるプログラムを実行する。上記のプログラムは、ネットワークから提供されてもよいし、可搬性を有する記録媒体に格納されていてもよい。
 なお、演算処理部20は、所定の機能を実現するように設計された専用の電子回路や再構成可能な電子回路などのハードウェア回路であってもよい。演算処理部20は、CPU、MPU、GPU、GPGPU、TPU、マイコン、DSP、FPGA、ASIC等の種々の半導体集積回路で構成されてもよい。
 記憶部21は、情報処理装置2の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体である。例えば、記憶部21は、機械学習を行うニューラルネットワークとして機能するための、学習対象のパラメータ群を記憶する。記憶部21は、図2に示すように、データ格納部21a及びRAM21bを含む。
 データ格納部21aは、所定の機能を実現するために必要なパラメータ、データ及び制御プログラム等を記憶し、例えばハードディスク(HDD)や半導体記憶装置(SSD)で構成される。例えば、データ格納部21aは、深層ニューラルネットワーク1及びRHN10のプログラム、(学習済みの)パラメータ群、入力側言語及び出力側言語の語彙を示す情報、及び対訳コーパスなどを格納する。
 RAM21bは、例えばDRAMやSRAM等の半導体デバイスで構成され、データを一時的に記憶(保持)する。また、RAM21bは、演算処理部20の作業エリアとして機能してもよい。RAM21bには、例えば、入力文及び翻訳文の時系列データD1,D2,各種変数x[t],h[t],h[t-1],y[t]及び学習対象のパラメータ群などが保持される。なお、GPUで高速に演算する場合には、パラメータ群及び演算中の中間状態はGPU上の記憶領域(記憶部の一例)に保持される。
 機器I/F22は、情報処理装置2に他の機器を接続するための回路(モジュール)である。機器I/F22は、所定の通信規格にしたがい通信を行う。所定の規格には、USB、HDMI(登録商標)、IEEE1395、WiFi、Bluetooth(登録商標)等が含まれる。
 ネットワークI/F23は、無線または有線の通信回線を介してシミュレーション装置1をネットワークに接続するための回路(モジュール)である。ネットワークI/F23は所定の通信規格に準拠した通信を行う。所定の通信規格には、IEEE802.3,IEEE802.11a/11b/11g/11ac等の通信規格が含まれる。
 操作部24は、ユーザが操作を行うユーザインタフェースである。操作部24は、例えば、キーボード、タッチパッド、タッチパネル、ボタン、スイッチ、及びこれらの組み合わせで構成される。操作部24は、ユーザによって入力される諸情報を取得する取得部の一例である。
 表示部25は、例えば、液晶ディスプレイや有機ELディスプレイで構成される。表示部25は、例えば操作部24から入力された情報など、種々の情報を表示する。
 マイク26は、音声を収音し、音声データを生成する取得部の一例である。情報処理装置2は、音声認識機能を有してもよく、例えばマイク26によって生成された音声データを音声認識して、テキストデータに変換してもよい。
 スピーカ27は、音声データを音声出力する。情報処理装置2は、音声合成機能を有してもよく、例えば機械翻訳に基づくテキストデータを音声合成して、スピーカ27から音声出力してもよい。
 以上の説明では、PCで構成される情報処理装置2の一例を説明した。本開示に係る情報処理装置2はこれに限定されず、種々の装置構成を有してもよい。例えば、情報処理装置2は、ASPサーバなどの一つ又は複数のサーバ装置であってもよい。例えば、情報処理装置2は、ネットワークを介して入力された入力文の時系列データD1をネットワークI/F23(取得部の一例)により取得して、深層ニューラルネットワーク1による機械翻訳を実行してもよい。また、情報処理装置2は、機械翻訳において生成した翻訳文の時系列データD2を、ネットワークを介して送信してもよい。また、コンピュータクラスタ或いはクラウドコンピューティングなどにおいて、本開示に係る時系列データの情報処理が実行されてもよい。
2.動作
 以下、本実施形態に係る情報処理装置2の動作について説明する。
2-1.ニューラル機械翻訳処理
 本実施形態に係る情報処理装置2による機械翻訳動作について、図3を参照して説明する。図3は、本実施形態に係るニューラル機械翻訳処理を示すフローチャートである。
 ニューラル機械翻訳処理は、情報処理装置2において構築される深層ニューラルネットワーク1により、演算処理部20が機械翻訳を実行する処理である。図3のフローチャートによるニューラル機械翻訳処理は、情報処理装置1が例えば操作部24、マイク26、或いは各種I/F22,23を介して入力文の時系列データD1を取得することにより、開始される。
 まず、演算処理部20は、深層ニューラルネットワーク1における入力層11として機能し(図1参照)、入力文の時系列データD1による単語系列中の入力単語をベクトル変数に変換する(ステップS1)。
 ステップS1の処理において、演算処理部20は、1-of-K表現の入力単語に線形変換を行い、単語毎にベクトル変数に変換する。線形変換は、学習対象のパラメータを行列要素とするパラメータ行列によって行われる。変換後のベクトル変数の次元数は任意に設定できる。例えば語彙数Kよりも小さい次元数に設定することで、語彙の空間から射影した何らかの意味構造を示すベクトル空間において演算処理を行うことができる。
 次に、演算処理部20は、ベクトル変数の時系列データに基づいて、例えば双方向型RNN(リカレントニューラルネットワーク)として機能し、入力文における語順を認識する(ステップS2)。RNNは、三層ニューラルネットワークの中間層においてフィードバックを行いながら、時系列データの各ベクトルに対する演算処理を順次、実行する。双方向型RNNは、時系列データにおけるベクトル列の昇順に実行されるRNNと、降順に実行されるRNNとを並列して実行することにより実現される。ステップS2の処理により、入力文の解釈(パース)がなされたベクトル列が生成される。
 ステップS2の処理は、双方向型RNNに限らず、例えば双方向型LSTM(ロングショートタームメモリ)で実現されてもよい。LSTMは、RNNにおいてフィードバックする内容の一部消去を行う機能を有する。双方向型LSTMは、双方向型RNNにおけるRNNに代えてLSTMを適用することによって実現される。また、ステップS2の処理は、双方向型RNN(又は双方向型LSTM)におけるRNN(又はLSTM)に代えて、本実施形態に係るRHN10を適用して、行われてもよい。
 次に、演算処理部20は、アテンションと呼ばれる既存の手法を適用するアテンション処理を行って(例えば、非特許文献3参照)、後段への出力規則を決定する(ステップS3)。出力規則は、後段の処理(S4)を実行する際に、入力側の単語系列中で翻訳対象として注目すべき単語及び注目の度合いを規定する。
 ステップS3のアテンション処理において、具体的に、演算処理部20は、ステップS2の出力及びステップS4における過去の内部状態などを参照して、ステップS2で生成されたベクトル列にわたる総和が1の加重値0~1の組を順次、生成する。演算処理部20は、生成した加重値0~1の組によってステップS2によるベクトル列の加重平均を行い、ステップS4の処理対象となる入力変数を順番に設定する。
 次に、演算処理部20は、例えば本実施形態に係るRHN10として機能し、順次、設定された入力変数に基づいて、出力単語の自然さを決定する処理を行う(ステップS4)。
 具体的に、演算処理部20は、設定された入力変数の順番毎に、まず、内部状態として中間変数を算出する。次に、演算処理部20は、現在の入力変数、現在及び過去の内部状態、並びに過去の出力結果などに基づき、出力単語に対応するベクトル変数を順次、出力する。ステップS4の処理は、RHN10に代えて、RNN又はLSTMを用いて行われてもよい。RHN10による処理の詳細については、後述する。
 次に、演算処理部20は、深層ニューラルネットワーク1における出力層13として機能し、出力側言語による翻訳結果の出力単語を示す情報を生成する(ステップS5)。具体的に、演算処理部20は、ステップS4の処理において出力されたベクトル変数毎に線形変換を行う。また、線形変換結果に対してソフトマックス関数などに基づく非線形変換を演算し、演算結果のベクトルに対応する出力単語を出力する。
 ステップS5において、演算処理部20は、翻訳文における各出力単語を出力する際に、翻訳文の開始及び終了を示す情報も出力する。演算処理部20は、翻訳文の終了を示す情報を出力することにより、本フローチャートによる処理を終了する。
 以上の処理によると、深層ニューラルネットワーク1によって、入力側言語から出力側言語への機械翻訳が行われる。深層ニューラルネットワーク1における学習対象のパラメータ群が適切に最適化されることにより、機械翻訳を精度良く実行可能になる。
 深層ニューラルネットワーク1において各種パラメータ群を学習させるために、演算処理部20は、例えば記憶部21に予め格納された対訳コーパス等を参照して、図3のフローチャートのステップS5の出力結果と正解の翻訳文との誤差を演算する。演算処理部20は、誤差逆伝播法に従い、出力層13側から入力層11側へ順次、各層間の演算処理に用いるパラメータ群を最適化する。
2-2.RHN(リカレントハイウェイネットワーク)について
 本実施形態に係るRHN10について、図4を参照して説明する。図4は、実施形態1に係るRHN10の演算アルゴリズムを説明するための図である。
 図4では、RHN10の演算アルゴリズムを模式的に示している。本実施形態に係るRHN10は、演算処理部20が時系列データにおける順番t毎に順次、次式(1),(2)に従う演算処理を実行することによって実現される。
h[t]=T1×h[t-1]+(1-T1)×f1 …(1)
y[t]=W3・h[t]             …(2)
 上式(1),(2)において、t番目の入力変数x[t],中間変数h[t]及び出力変数y[t]は、それぞれベクトル変数である。t-1番目の中間変数h[t-1]は、t番目の中間変数h[t]と同次元のベクトル変数である。また、活性化関数f1及び伝達関数T1は、引数がベクトル変数であるベクトル値関数である。上式(1)における活性化関数f1の引数は、例えば次式(3)のとおりである。
f1=f1(W1・x[t]+W2・h[t-1]) …(3)
 上式(3)において、パラメータ行列W1,W2は、それぞれベクトル変数x[t],h[t-1]の次元数と同じ列数を有し、双方とも中間変数h[t]の次元数と同じ行数を有する。また、式(2)において、パラメータ行列W3は、中間変数h[t]の次元数と同じ列数を有し、出力変数y[t]の次元数と同じ行数を有する。パラメータ行列W1~W3は、それぞれ本実施形態において機械学習の対象となるパラメータ群の一例である。なお、活性化関数f1の引数は、適宜、バイアス項を加えて設定されてもよい。
 各式中の「・」は、行列とベクトルとの間の積を規定し、行列によってベクトルを線形変換する演算を表す。例えば、「W1・x[t]」は、パラメータ行列W1の行数と同じ次元数を有し、パラメータ行列W1による入力変数のx[t]の線形変換の結果を示すベクトルとなる。演算処理部20は、このような線形変換を実行する線形変換部として機能する。
 また、「×」は、ベクトル同士の乗算を表す。二つのベクトルV1,V2の積「V1×V2」はベクトルであって、成分毎に、各ベクトルV1,V2の同一成分間の積(所謂Hadamard積)を表す。積「V1×V2」は、各ベクトルV1,V2の成分毎に、同一成分同士を乗算することによって得られる。演算処理部20は、当該乗算を実行する乗算部として機能する。また、「+」は、ベクトル同士の加算を表す。和「V1+V2」は、各ベクトルV1,V2の成分毎に、同一成分同士を加算することによって得られる。演算処理部20は、当該加算を実行する加算部として機能する。
 活性化関数f1は、ベクトル変数の線形変換結果を、線形変換だけでは表現できない複雑な関数を表現可能にするための非線形変換を行う関数である。演算処理部20は、活性化関数f1による非線形変換を実行する非線形変換部として機能する(以下同様)。活性化関数f1としては、例えば、引数zにより次式(4)のように表されるシグモイド関数F(z)が用いられる。
F(z)=1/(1+exp(-z))       …(4)
 上式(4)において、exp(z)は指数関数である。活性化関数f1は、ベクトル変数である引数(式(3))の成分毎に、上式(4)のような非線形変換を行い、それぞれの変換結果をベクトル値として有する。活性化関数f1としてシグモイド関数を用いることにより、活性化関数f1の引数の各成分の値が、0~1の範囲内で正規化される。活性化関数f1としては、シグモイド関数に限らず、種々の関数を用いてもよく、例えばReLU(正規化線形関数)或いはtanh(双曲線正接関数)などを用いてもよい。
 伝達関数T1は、(時間遅れの)t-1番目の中間変数h[t-1]などの特定の演算結果に含まれる情報が出力側に伝達する度合いを設定するための関数である。演算処理部20は、伝達関数T1を演算する関数演算部として機能する(以下同様)。伝達関数T1は、例えば(現在の)t番目の入力変数x[t]を引数とし、機械学習の対象となるパラメータ群によって規定される。例えば、伝達関数T1は、次式(5)のようにパラメータ行列W4が組み込まれた活性化関数fとして規定される。
T1=T1(x[t])=f(W4・x[t])   …(5)
 上式(5)において、活性化関数fとしては、例えばシグモイド関数或いはReLUなど、種々の活性化関数を採用できる。上式(5)による非線形変換は、上記の活性化関数f1と同様に、引数W4・x[t]の各成分に対して行われる。
 伝達関数T1の各成分の値の範囲は、例えば0~1であり、他にも-1~1など、採用する活性化関数に応じて適宜、設定されてもよい。また、伝達関数T1の引数は、t-1番目の中間変数h[t-1]あるいは出力変数y[t-1]であってもよいし、t番目又はt-1番目以前の各種変数の組み合わせであってもよい。
 パラメータ行列W4は、入力変数x[t]の次元数と同じ列数を有し、中間変数h[t]の次元数と同じ行数を有する。パラメータ行列W4は、本実施形態において機械学習の対象となるパラメータ群の一例である。
 演算処理部20は、RHN10の機能を実現するために、順番t毎に、まず式(1)に従う演算を行い、t番目の入力変数x[t]からt番目の中間変数h[t]を算出する。この際、演算処理部20は、各種関数f1,T1による非線形変換の演算も適宜、行う。次に、演算処理部20は、式(2)に従う演算を行い、t番目の中間変数h[t]からt番目の出力変数y[t]を算出する。
 式(1)に関して、RHN10は図4に示すように、フィードバックループ5を有する。フィードバックループ5は、t回目の式(1)の演算処理においてt番目の中間変数h[t]を算出する際に、前回の中間変数h[t-1]をフィードバックして用いる演算ループである。フィードバックループ5により、現在(t番目)の出力変数y[t]の決定において、時間遅れ(t-1番目)の中間変数h[t-1]による過去の内部状態の情報を反映させることが可能になる。
 演算処理部20は、例えば各回の演算処理において中間変数h[t]を算出する毎に中間変数h[t]の算出結果を記憶部21に保持し、次回の演算処理において、保持した算出結果を時間遅れの中間変数h[t-1]として参照する。なお、初回(t=1)の演算処理については、例えば予めh[0]=0等に設定しておく。記憶部21は、入力変数x[t]と中間変数h[t](及びh[t-1])と出力変数y[t]とをそれぞれ記憶(保持)するためのRHN10における入力層、中間層及び出力層を含んでいる。
 本実施形態に係るRHN10は、図4に示すように、フィードバックループ5の中に、式(1)に基づく第1及び第2の経路50,51を有する。第1及び第2の経路50,51は、それぞれ式(1)中の各項に対応して、時間遅れの中間変数h[t-1]による過去の内部状態の情報等を、現在の中間変数h[t]に伝達させる情報伝達経路である。演算処理部20は、このようなRHN10を実現する機能的な構成として、第1の経路50中の乗算部を含んだ第1のゲート(式(1)第2項の演算に対応)と、第2の経路52中の乗算部を含んだ第2のゲート(式(1)第1項の演算に対応)とを備える。
 図4に示すように、第1の経路50においては、現在の入力変数x[t]がパラメータ行列W1によって線形変換されると共に、前回の中間変数h[t-1]が、パラメータ行列W2によって線形変換される。さらに、線形変換された各変数W1・x[t],W2・h[t-1]の和は、活性化関数f1によって非線形変換される(式(3)参照)。このような入力変数x[t]及び前回の中間変数h[t-1]に対する変換結果において、演算処理部20は第1のゲートとして、第1の経路50を介して現在の中間変数h[t]に含める情報を制御する(式(1)第2項参照)。
 一方、第2の経路51においては、図4に示すように、特に線形変換及び非線形変換が行われることなく、前回の演算処理による中間変数h[t-1]の算出結果が維持される。この状態において、前回の中間変数h[t-1]は、伝達関数T1を重み付けとして乗算される(式(1)第1項)。重み付けの値は、現在の入力変数x[t]などの引数に基づき伝達関数T1を演算することにより、設定される。これにより、演算処理部20は第2のゲートとして、前回の中間変数h[t-1]から現在の中間変数h[t]に引き継ぐように、第2の経路51を介して前回の中間変数h[t-1]の算出結果から取り出す情報を制御する。
 また、上記の第1のゲートによると、第1の経路50において、各種変換結果の活性化関数f1には、第2の経路51における重み付け(T1)とは相補的な重み付け(1-T1)が乗算される(式(1)第2項)。このように、伝達関数T1に基づく重み付けにおいて、第1の経路50における各種変換結果と、第2の経路51における前回の演算処理の算出結果とが重み付け加算されることにより、現在の中間変数h[t]が算出される(式(1)参照)。
 第1の経路50によると、現在の入力変数x[t]と共に前回の中間変数h[t-1]に種々の変換が行われるため、前回の中間変数h[t-1]による過去の情報を多様に反映させることができる。一方、第1の経路50においては、順番毎の演算処理を行った際に、特定の順番nの中間変数h[n]に対して、演算処理を行う毎に繰り返し種々の変換を実施することとなる。特に、不可逆的な変換である非線形変換が問題になる。第1の経路50では、前回よりも前の過去の情報が、遠い過去ほど損失してしまう事態が想定される。
 これに対して、第2の経路51では、順番毎の演算処理を行った際の特定の順番nの中間変数h[n]に対して、重み付け(T1)の乗算が繰り返されるだけであり、遠い過去の情報損失を低減することができる。例えば、式(1)における伝達関数T1を1にすることで、過去の内部状態の情報をそのまま引き継ぐことも可能になる(h[n+1]=h[n])。
 以上のように、本実施形態に係るRHN10によると、第2の経路51により、各回の演算処理において前回の中間変数h[t-1]の算出結果を維持したまま、過去の内部状態の情報が現在の中間変数h[t]に引き継がれ、無限に過去の内部状態の情報を参照することが可能になる。RHN10によると、和、線形変換、非線形変換のいずれも含まず無変換に、過去の内部状態を参照することができる。また、無変換の過去の内部状態では表現されない分のみ、第1の経路50による種々の演算によって解くことで、機械学習における最適化が容易になる。
 また、本実施形態では、伝達関数T1が、現在の入力変数x[t]などの引数に基づき第1及び第2の経路50,51による重み付けを変化させることにより、第1及び第2の経路50,51から出力側に伝達させる情報を適切に選択できる。また、伝達関数T1はパラメータ行列W4によって規定されるため、機械学習により、第1及び第2の経路50,51から伝達させる情報の選択方法を更新することができる。また、本実施形態では、伝達関数T1による重み付けを各経路50,51に対して相補的に設定している。これにより、各経路50,51に対して連動させて演算量の増加を抑制しながら、重要な情報と不要な情報の取捨選択を行うことができる。
 以下、本実施形態に係るRHN10を、図3のニューラル機械翻訳処理におけるステップS4に適用する場合について、説明する。
 RHN10が図3のステップS4に適用される場合、ステップS3のアテンション処理により選択されたデータが順次、RHN10の入力層(x[1],x[2],…,x[t])に入力される。
 例えば、単語「免税」が入力文に含まれ、出力文において「tax free」という二単語に翻訳される場合、アテンション処理(S3)によってRHNに、「免税」を表す同じ値の入力変数x[t1],x[t2]が順次、入力される。初回の「免税」を表す入力変数x[t1]に基づき、第1の経路50を介する演算処理によって中間変数h[t1]が算出され、出力変数y[t1]が単語「tax」を表すように算出される。
 続いて、二回目の「免税」を表す入力変数x[t2]に基づき単語「free」を表す出力変数y[t2]を得るために、入力変数x[t2]に基づく伝達関数T1の値は、例えば0.5になる。これにより、第1及び第2の経路50,51の双方からの情報が出力側に伝達し、現在の翻訳対象が「免税」であること(x[t2])と共に、過去に「tax」を出力した履歴の情報(h[t2-1])を用いて、出力変数y[t2]を適切に決定することができる。
 また、機械翻訳においては、入力文と翻訳文との関係が、多対一の関係にある場合がある。例えば、入力文「お願いします」、「お願いさせて頂きます」、及び「お願い致しました」を出力文「Please」に機械翻訳する場合、上記の関係は三対一となる。この場合、順次、翻訳に不要な情報を表す入力変数x[t]が入力されることとなる。そこで、入力文における「します」、「させて頂きます」、「致しました」といった情報を表す入力変数x[t]が入力されたときには伝達関数T1の値が1になることにより、翻訳処理において上記のような翻訳に不要な情報を無視させることができる。
 また、入力文「私は魚が好きです」或いは「彼は魚が好きです」における「魚」のような入力単語を出力単語「fish」に翻訳する際には、過去に「私」を「I」に翻訳したり、「彼」を「he」に翻訳したりしたことを現在の翻訳において参照する必要はないと考えられる。このような場合には、入力単語「魚」を表す入力変数x[t]に基づき伝達関数T1の値が0になることにより、第1の経路50からの入力変数x[t]の変換結果を用いながら、第2の経路51からの過去の情報を遮断できる。
 以上のように、RHN10をニューラル機械翻訳処理に適用することにより、人間の直感に合致するような機械翻訳を実現することができる。
3.効果等
 以上のように、本実施形態において、情報処理装置2は、時系列データD1に基づき深層ニューラルネットワーク1におけるRHN10として機能する。情報処理装置2は、記憶部21と、演算処理部20とを備える。記憶部21は、時系列データのベクトル列における順番t毎の入力変数x[t]、及びRHN10として機能するためのパラメータ行列W1~W4を格納する。演算処理部20は、パラメータ行列W1~W3に基づく変換を行って、各順番tの入力変数x[t]に基づき当該順番の中間変数h[t]を算出し、算出した中間変数h[t]に基づき当該順番の出力変数y[t]を算出する。演算処理部20は、n+1番目の中間変数h[n+1](nは自然数)を算出するフィードバックループ5において、重み付け加算を行う(式(1))。演算処理部20は、n番目の中間変数h[n]の算出結果(51)と、パラメータ行列W2,W1に基づきn番目の中間変数h[n]及びn+1番目の入力変数x[n]を変換した変換結果(50)とを重み付け加算して、n+1番目の中間変数h[n+1]を算出する。
 以上の情報処理装置1によると、n+1番目の中間変数h[n+1]を算出するためのフィードバックループ5において、第1の経路50と共に第2の経路51が構成される。第2の経路51において、n番目の中間変数h[n]の算出結果が重み付けに応じてn+1番目の中間変数h[n+1]に引き継がれ、深層ニューラルネットワーク1による時系列データの情報処理の実行、或いは機械学習を効率良くすることができる。
 また、本実施形態において、演算処理部20は、パラメータ行列W4によって規定される第1伝達関数である伝達関数T1に基づく重み付け(T1,1-T1)において、n+1番目の中間変数h[n+1]を算出する際の重み付け加算を行う。これにより、パラメータ行列W4の更新によって、機械学習において重み付け加算による情報の取捨選択を最適化することができる。
 また、本実施形態において、伝達関数T1の引数は、n+1番目以前の入力変数x[t](t≦n+1)、n番目以前の中間変数h[t-1]、及びn番目以前の出力変数y[t-1]の内の少なくとも1つを含む。これにより、引数とする各種変数に応じて伝達関数T1による重み付けが変化し、時系列データの順番tに応じて過去の内部状態の情報を適切に参照することができる。
 また、本実施形態において、時系列データD1は自然言語である入力側言語を表すデータを含む。情報処理装置2は、演算処理部20が実行する処理に基づき、自然言語の機械翻訳を行う。RHN10によって、情報処理装置2は、効率良く機械翻訳を行うことができる。
 また、本実施形態における時系列データの情報処理方法は、深層ニューラルネットワーク1におけるRHN10の機能を実現する情報処理装置2によって実行される。情報処理装置2の記憶部21には、RHN10として機能するためのパラメータ行列W1~W3が格納される。本方法は、情報処理装置2が、時系列データにおける順番t毎の入力変数x[t]を取得するステップを含む。本方法は、情報処理装置2が、パラメータ行列W1,W2に基づく変換を行って、各順番の入力変数x[t]に基づき当該順番の中間変数h[t]を算出するステップを含む。本方法は、情報処理装置2が、パラメータ行列W3に基づく変換を行って、各順番の中間変数h[t]に基づき当該順番の出力変数y[t]を算出するステップを含む。n+1番目の中間変数h[n+1]を算出するステップは、n番目の中間変数h[n]の算出結果と、パラメータ行列W2,W1に基づきn番目の中間変数h[n]及びn+1番目の入力変数x[n]を変換した変換結果とを重み付け加算して、n+1番目の中間変数h[n+1]を算出する。
 以上の時系列データの情報処理方法によると、n番目の中間変数h[n]の算出結果が重み付けに応じてn+1番目の中間変数h[n+1]に引き継がれ、深層ニューラルネットワーク1による時系列データの情報処理を効率良くすることができる。
 また、本実施形態におけるプログラムは、時系列データの情報処理方法を情報処理装置2に実行させるためのプログラムである。これにより、情報処理装置2によって実行される時系列データの情報処理を効率良くすることができる。
(実施形態2)
 以下、図面を用いて、実施形態2を説明する。実施形態2では、実施形態1に係るRHN10に加えて、入力変数x[t]の情報を出力変数y[t]に伝達させる際の迂回路がさらに設けられたRHN10Aについて説明する。
 以下、実施形態1に係る情報処理装置2と同様の構成、動作の説明は適宜、省略して、本実施形態に係る情報処理装置2を説明する。
 図5は、実施形態2に係るRHN10Aの演算アルゴリズムを説明するための図である。本実施形態に係るRHN10Aでは、実施形態1の式(2)に代えて、次式(6)を採用する。
y[t]=(1-T2)×W3・h[t]+T2×x[t] …(6)
 上式(6)において、伝達関数T2は、式(1)の伝達関数T1と同様に学習対象のパラメータ群によって規定される。伝達関数T2の引数は、例えば現在の入力変数x[t],中間変数h[t],前回の出力変数y[t-1],或いはこれらの組み合わせである。
 式(6)では、入力変数x[t]と出力変数y[t]とが同じ次元数を有することを仮定している。入力変数x[t]と出力変数y[t]とが異なる次元数を有する場合、式(6)の第2項の次元数を出力変数y[t]の次元数に一致させるように、線形変換等が適宜、行われる。
 本実施形態に係るRHN10Aは、図5に示すように、式(6)に基づく情報伝達の迂回路52を有する。迂回路52は、式(6)の第2項に対応して、中間変数h[t]を介さずに、入力変数x[t]の情報を出力変数y[t]に伝達させる情報伝達経路である。このようなRHN10Aを実現する機能的な構成として、演算処理部20は、迂回路52を介して出力変数y[t]に伝達させる情報を制御する出力ゲートをさらに備える(式(6)右辺の演算に対応)。
 迂回路52を構成する式(6)に従い、演算処理部20は、伝達関数T2に基づく相補的な重み付けにおいて、現在の入力変数x[t]と中間変数h[t]とを重み付け加算して、出力変数y[t]を算出する演算処理を実行する。
 迂回路52により、中間変数h[t]の算出時の非線形変換によって恒等写像の獲得が困難になる事態を回避することができる。これにより、例えば、機械翻訳の深層ニューラルネットワーク1において、入力単語「コーヒー」と出力単語「coffee」のように、入出力間で一対一対応するような対応関係を学習させ易くすることができる。また、充分に良い変換結果が既に得られている状態において過剰な変換をしてしまったり、余計な変換を介して情報を損失したりすることを回避できる。
 以上のように、本実施形態に係る情報処理装置2において、演算処理部20は、第2伝達関数である伝達関数T2に基づく重み付けにおいて、各順番tの入力変数x[t]と、パラメータ行列W3に基づき変換された当該順番の中間変数h[t]とを重み付け加算する。これによって、演算処理部20は、当該順番の出力変数y[t]を算出する。これにより、機械学習において、非線形変換などを行う中間変数h[t]の算出によって恒等写像の獲得が困難になることを回避することができる。
 また、本実施形態に係るRHN10Aを深層ニューラルネットワーク1に組み込むことにより、学習時に、式(6)に基づく迂回路52によって中間変数h[t]を算出する層を迂回させ、入力層側のパラメータ群の学習を促進することができる。これにより、前段の層が後段の層と同程度に高速に学習され、前段が後から学習された結果に応じて、後段の学習をやり直さなければならないような事態を解消することができる。
 また、本実施形態に係るRHN10Aにおいては、伝達関数T2,T1に基づきy[t]=x[t],h[t-1]=h[t]の状態が実現可能な範囲内において、種々の演算処理を内部に追加してもよい。この変形例について、図6,7を参照して説明する。
 図6は、本実施形態の変形例1に係るRHN10Bの演算アルゴリズムを説明するための図である。RHN10Bは、図6に示すように、実施形態2に係るRHN10A(図5)に、引数W3・h[t]を有する活性化関数f2を追加している。活性化関数f2によると、現在の出力変数y[t]の算出時に、中間変数h[t]の線形変換結果に対する非線形変換が行われる。
 本変形例に係るRHN10Bによると、活性化関数f2の演算処理を追加しながら、伝達関数T2に基づき、迂回路52を介してy[t]=x[t]の状態を実現することができる。
 図7は、本実施形態の変形例2に係るRHN10Cの演算アルゴリズムを説明するための図である。RHN10Cは、図7に示すように、実施形態2に係るRHN10A(図5)に、引数W2・h[t-1]を有する活性化関数f3を追加している。活性化関数f3によると、現在の中間変数h[t]の算出時に、入力変数x[t]の変換(f1)とは別途、前回の中間変数h[t-1]の線形変換結果に対する非線形変換が行われる。
 本変形例に係るRHN10Cによると、活性化関数f3の演算処理を追加しながら、伝達関数T1に基づき、第2の経路51を介してh[t-1]=h[t]の状態を実現することができる。
 なお、上記の変形例における活性化関数f2,f3としては、実施形態1における活性化関数f1と同様に、種々の具体形を用いることができる。
 また、RHN10Cと同様の変形は、実施形態2に係るRHN10Aに限らず、実施形態1に係るRHN10に行ってもよい。また、各変形例に係るRHN10B,RHN10Cと同様の変形は、後述の各実施形態に適用されてもよい。
(実施形態3)
 以下、図面を用いて、実施形態3を説明する。実施形態3では、実施形態2に係るRHN10Aに加えて、過去の内部状態の情報を部分的に消去する機能を有するRHN10Dについて説明する。
 以下、実施形態1,2に係る情報処理装置2と同様の構成、動作の説明は適宜、省略して、本実施形態に係る情報処理装置2を説明する。
 図8は、実施形態3に係るRHN10Dの演算アルゴリズムを説明するための図である。本実施形態に係るRHN10Dは、実施形態2に係るRHN10A(図5)に加えて、図8に示すように、フィードバックループ5において次式(7)の演算を行う。このようなRHN10Dを実現する機能的な構成として、演算処理部20は、時間遅れの中間変数h[t-1]から参照する情報を制御する忘却ゲートをさらに備える(式(7)右辺の演算に対応)。
h’[t-1]=T3×h[t-1]             …(7)
 上式(7)において、伝達関数T3は、引数として例えば現在の入力変数x[t]及び前回の出力変数y[t-1]を有する。伝達関数T3は、パラメータ行列W5を用いて、次式(8)のように規定される。
T3=T3(x[t],y[t-1])=F(W5・z[t]) …(8)
 上式(8)では、シグモイド関数F(z)を用いている(式(4)参照)。また、ベクトル変数z[t]は、ベクトル空間を拡張するように両変数x[t]及びy[t-1]を結合することによって得られるベクトル変数である。例えば、x[t]=(1,9,5),y[t]=(10,43,22)である場合に(上付き添字「T」は転置を表す。)、z[t]=(1,9,5,10,43,22)となる。
 本実施形態に係るRHN10Dの機能を実現するために、演算処理部20は忘却ゲートとして、順番t毎に、式(1)の演算処理時に、時間遅れの中間変数h[t-1]に代えて、伝達関数3の乗算結果の中間変数h’[t-1](式(7))を用いる。引数に基づき伝達関数T3に値が0の成分を含めることにより、乗算結果の中間変数h’[t-1]では、時間遅れの中間変数h[t-1]の対応する成分が消去(忘却)される。
 本実施形態に係るRHN10Dによると、伝達関数T3の乗算によって時間遅れの中間変数h[t-1]に含まれる情報を消去することで、過去の内部状態の参照を適切な時点で停止可能になる。
 例えば、機械翻訳において、入力文「私は…」における単語「私」及び「は」の翻訳を終えた際、「私は」の後に続く単語は無数に存在する。このように、次の単語の翻訳の際には過去に入力された情報(「私」及び「は」)が、特に必要ないと考えられる場合がある。このような場合に、伝達関数T3を用いて内部状態の情報を明示的に消去することにより、次の単語が過去の状態に依存せずに翻訳される。これにより、直感的にも合致するような機械翻訳が実現され、翻訳性能を向上することができる。
 以上のように、本実施形態に係る情報処理装置2において、演算処理部20は、第3伝達関数である伝達関数T3に基づいて、n番目の中間変数h[n]の算出結果を部分的に消去する(式(7))。演算処理部20は、部分的に消去したn番目の中間変数の算出結果h’[n]を用いて、n+1番目の中間変数h[n+1]を算出する。これにより、伝達関数T3に基づきn番目の中間変数h[n]の算出結果を部分的に消去することで、過去の内部状態の参照を適切な時点で停止可能になる。
(実施形態4)
 以下、図面を用いて、実施形態4を説明する。実施形態4では、各変数x[t],h[t-1],h[t]に対する非線形変換の有無を種々の組み合わせで選択可能なRHN10Eについて説明する。
 以下、実施形態1~3に係る情報処理装置2と同様の構成、動作の説明は適宜、省略して、本実施形態に係る情報処理装置2を説明する。
 図9は、実施形態4に係るRHN10Eの演算アルゴリズムを説明するための図である。本実施形態に係るRHN10Eは、演算処理部20が、t番目の中間変数h[t]及び出力変数y[t]の算出のために、それぞれ次式(9),(10)に従う演算処理を実行することによって実現される。
h[t]=(1-T4)×{T1×h[t-1]+(1-T1)×f1}+T4×x[t]                      …(9)
y[t]=(1-T5)×f2+T5×h[t] …(10)
 上式(9),(10)において、各伝達関数T4,T5は、伝達関数T1,T2と同様に、それぞれ学習対象のパラメータ群によって規定される。伝達関数T4の引数は、例えば現在の入力変数x[t],前回の中間変数h[t-1],出力変数y[t-1]或いはこれらの組み合わせである。伝達関数T5の引数は、例えば現在の入力変数x[t],中間変数h[t],前回の出力変数y[t-1]或いはこれらの組み合わせである。
 式(9)では、入力変数x[t]と中間変数h[t]とが同じ次元数を有することを仮定している。入力変数x[t]と中間変数h[t]とが異なる次元数を有する場合、式(9)の第2項の次元数を中間変数h[t]の次元数に一致させるように、線形変換等が適宜、行われる。
 RHN10Eによると、中間変数h[t]の算出時(式(9))に、伝達関数T1によって時間遅れの中間変数h[t-1]に対する非線形変換の有無が選択されることに加えて、伝達関数T4により、入力変数x[t]に対する非線形変換の有無が選択される。さらに、算出した中間変数h[t]に対する非線形変換の有無が、伝達関数T5により、出力変数y[t]の算出時(式(10))に選択される。
 以上のように、各伝達関数T1,T4,T5によって各種変数h[t-1],x[t],h[t]に対する非線形変換の有無を設定可能にすることで、不要な非線形変換を省略して、RHN10Eにおける情報処理の効率性を向上することができる。
 以上のように、本実施形態に係る情報処理装置2において、演算処理部20は、n+1番目の中間変数h[n+1]を算出する際に、第4伝達関数である伝達関数T4に基づく重み付けにおいて、n番目の中間変数h[n]の算出結果とその変換結果とを重み付け加算した値と、n+1番目の入力変数x[n+1]の値とを重み付け加算する(式(9))。これにより、入力変数x[n+1]及び時間遅れの中間変数h[n]に対する変換の有無をそれぞれ選択可能にすることができる。
 また、本実施形態において、演算処理部20は、各順番の出力変数y[t]を算出する際に、第5伝達関数である伝達関数T5に基づく重み付けにおいて、重み付け加算を行う。演算処理部20は、当該順番の中間変数h[t]と、パラメータ行列W3によって変換された当該順番の中間変数f2(W3・h[t])とを重み付け加算する(式(10))。これにより、現在の中間変数h[t]に対する変換の有無をそれぞれ選択可能にすることができる。
 以上の説明では、伝達関数T4,T5の双方を用いる例について説明したが、伝達関数T4,T5の一方のみを用いてもよい。この場合、演算処理部20は、式(9),(10)において、伝達関数T4,T5のうちで使用しない伝達関数に0を代入した演算式に従う演算処理を実行する。これにより、入力変数x[t]又は中間変数h[t]と、時間遅れの中間変数h[t-1]とに対する非線形変換の有無をそれぞれ選択することができる。
(他の実施形態)
 以上のように、本出願において開示する技術の例示として、実施形態1~4を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置換、付加、省略などを行った実施の形態にも適用可能である。また、上記各実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施形態を例示する。
 上記の各実施形態では、各伝達関数T1,T2,T4,T5におけるそれぞれ一つの伝達関数に基づく相補的な重み付けにおいて重み付け加算を行った。重み付け加算の方法はこれに限定されず、複数の伝達関数に基づく重み付けにおいて重み付け加算を行ってもよい。例えば、式(1)のT1,(1-T1)に代えて、別々に設定される複数の伝達関数P1,P2を用いてもよい。これにより、第1及び第2の経路50,51による情報伝達を独立して調整することができる。他の伝達関数T2,T4,T5に基づく重み付け加算についても同様である。
 また、上記の各実施形態では、機械翻訳を行うための深層ニューラルネットワーク1の一例を説明したが、これに限らず、他の深層ニューラルネットワークを構築して機械翻訳を行ってもよい。例えば、エンコーダ/デコーダ型の翻訳モデルを用いてもよいし、双方向LSTMをインタリーブ式に組み合わせるなど、適宜、多層化してもよい(非特許文献2参照)。この場合であっても、上記各実施形態に係るRHN10,10A~10Eを組み込むことで、情報処理を効率良くすることができる。
 また、上記の各実施形態では、機械翻訳を行うための深層ニューラルネットワーク1にRHN10,10A~10Eを組み込む例について説明したが、本開示はこれに限定されない。本開示に係るRHN10,10A~10Eは、例えば音声認識、発話予測など、種々の時系列データを扱う情報処理に用いることができる。
 また、上記の各実施形態では、時系列データの一例として単語系列を説明した。時系列データはこれに限らず、例えば、文章中の文字列、音声データ中の音声特徴量の列、動画のフレーム列、画像の隣接ピクセル列など、種々のデータ要素の列であってもよい。
 また、上記の各実施形態では、RHN10,10A~10Eを深層ニューラルネットワーク1に組み込んで用いる例を説明したが、本開示はこれに限定されない。RHN10,10A~10E単体のニューラルネットワークによる情報処理が行われてもよい。本開示に係るRHNは、時系列データの時系列方向に演算処理を飛ばすあらゆる構成として適用可能である。
 以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
 したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において、種々の変更、置換、付加、省略などを行うことができる。
 本開示は、機械学習に基づく種々の時系列データの情報処理に適用可能であり、例えば音声認識処理、機械翻訳処理に適用可能である。

Claims (10)

  1.  時系列データに基づきニューラルネットワークとして機能する情報処理装置であって、
     時系列データにおける順番毎の入力変数、及びニューラルネットワークとして機能するためのパラメータ群を格納する記憶部と、
     前記パラメータ群に基づく変換を行って、各順番の入力変数に基づき当該順番の中間変数を算出し、算出した中間変数に基づき当該順番の出力変数を算出する演算処理部とを備え、
     前記演算処理部は、n+1番目の中間変数を算出する際に、n番目の中間変数の算出結果と、前記パラメータ群に基づきn番目の中間変数及びn+1番目の入力変数を変換した変換結果とを重み付け加算して、前記n+1番目の中間変数を算出する
    情報処理装置。
  2.  前記演算処理部は、前記パラメータ群によって規定される一つ又は複数の第1伝達関数に基づく重み付けにおいて、前記n+1番目の中間変数を算出する際の重み付け加算を行う
    請求項1に記載の情報処理装置。
  3.  前記第1伝達関数の引数は、前記n+1番目以前の入力変数、前記n番目以前の中間変数、及び前記n番目以前の出力変数の内の少なくとも1つを含む
    請求項2に記載の情報処理装置。
  4.  前記演算処理部は、一つ又は複数の第2伝達関数に基づく重み付けにおいて、各順番の入力変数と、前記パラメータ群に基づき変換された当該順番の中間変数とを重み付け加算して、当該順番の出力変数を算出する
    請求項1~3のいずれか1項に記載の情報処理装置。
  5.  前記演算処理部は、
     第3伝達関数に基づいて、前記n番目の中間変数の算出結果を部分的に消去し、
     部分的に消去したn番目の中間変数の算出結果を用いて、前記n+1番目の中間変数を算出する
    請求項1~4のいずれか1項に記載の情報処理装置。
  6.  前記演算処理部は、前記n+1番目の中間変数を算出する際に、一つ又は複数の第4伝達関数に基づく重み付けにおいて、前記n番目の中間変数の算出結果と前記変換結果とを重み付け加算した値と、前記n+1番目の入力変数の値とを重み付け加算する
    請求項1~5のいずれか1項に記載の情報処理装置。
  7.  前記演算処理部は、各順番の出力変数を算出する際に、一つ又は複数の第5伝達関数に基づく重み付けにおいて、当該順番の中間変数と、前記パラメータ群によって変換された当該順番の中間変数とを重み付け加算する
    請求項1~6のいずれか1項に記載の情報処理装置。
  8.  前記時系列データは自然言語を表すデータを含み、
     前記演算処理部が実行する処理に基づき、自然言語の機械翻訳を行う
    請求項1~7のいずれか1項に記載の情報処理装置。
  9.  ニューラルネットワークの機能を実現する情報処理装置によって実行される時系列データの情報処理方法であって、
     前記情報処理装置の記憶部には、ニューラルネットワークとして機能するためのパラメータ群が格納され、
     前記情報処理装置が、時系列データにおける順番毎の入力変数を取得するステップと、
     前記情報処理装置が、前記パラメータ群に基づく変換を行って、各順番の入力変数に基づき当該順番の中間変数を算出するステップと、
     前記情報処理装置が、前記パラメータ群に基づく変換を行って、各順番の中間変数に基づき当該順番の出力変数を算出するステップとを含み、
     n+1番目の中間変数を算出するステップは、n番目の中間変数の算出結果と、前記パラメータ群に基づきn番目の中間変数及びn+1番目の入力変数を変換した変換結果とを重み付け加算して、n+1番目の中間変数を算出する
    時系列データの情報処理方法。
  10.  請求項9に記載の時系列データの情報処理方法を情報処理装置に実行させるためのプログラム。
PCT/JP2017/021407 2016-06-30 2017-06-09 情報処理装置、時系列データの情報処理方法、及びプログラム Ceased WO2018003457A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201780008721.9A CN108604312A (zh) 2016-06-30 2017-06-09 信息处理装置、时间序列数据的信息处理方法以及程序
KR1020187022112A KR20190022439A (ko) 2016-06-30 2017-06-09 정보 처리 장치, 시계열 데이터의 정보 처리 방법, 및 프로그램
EP17819822.2A EP3480739A4 (en) 2016-06-30 2017-06-09 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING FOR TIME SERIES DATA AND PROGRAM
JP2018525012A JP6906181B2 (ja) 2016-06-30 2017-06-09 情報処理装置、時系列データの情報処理方法、及びプログラム
US16/048,281 US10832013B2 (en) 2016-06-30 2018-07-29 Information processing device, information processing method of time-series data, and program recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-130498 2016-06-30
JP2016130498 2016-06-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/048,281 Continuation US10832013B2 (en) 2016-06-30 2018-07-29 Information processing device, information processing method of time-series data, and program recording medium

Publications (1)

Publication Number Publication Date
WO2018003457A1 true WO2018003457A1 (ja) 2018-01-04

Family

ID=60786865

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/021407 Ceased WO2018003457A1 (ja) 2016-06-30 2017-06-09 情報処理装置、時系列データの情報処理方法、及びプログラム

Country Status (6)

Country Link
US (1) US10832013B2 (ja)
EP (1) EP3480739A4 (ja)
JP (1) JP6906181B2 (ja)
KR (1) KR20190022439A (ja)
CN (1) CN108604312A (ja)
WO (1) WO2018003457A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020020872A (ja) * 2018-07-30 2020-02-06 国立研究開発法人情報通信研究機構 識別器、学習済モデル、学習方法
JP2020515899A (ja) * 2017-03-29 2020-05-28 グーグル エルエルシー エンドツーエンドのテキスト音声変換
EP3846070A4 (en) * 2018-08-30 2021-09-08 Fujitsu Limited GENERATION METHOD, GENERATION PROGRAM AND INFORMATION PROCESSING DEVICE
US20210312295A1 (en) * 2018-08-03 2021-10-07 Sony Corporation Information processing method, information processing device, and information processing program

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263304B (zh) * 2018-11-29 2023-01-10 腾讯科技(深圳)有限公司 语句编码方法、语句解码方法、装置、存储介质及设备
WO2020196872A1 (ja) * 2019-03-28 2020-10-01 株式会社 東芝 情報処理装置、情報処理システム、情報処理方法、記憶媒体およびプログラム
US11321580B1 (en) * 2019-11-04 2022-05-03 Amazon Technologies, Inc. Item type discovery and classification using machine learning
US11436004B2 (en) * 2020-04-23 2022-09-06 Red Hat, Inc. Calculating a patch target on an application server
JP6935046B1 (ja) * 2020-12-18 2021-09-15 三菱電機株式会社 情報処理装置及び情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235599A (ja) * 2013-06-03 2014-12-15 独立行政法人情報通信研究機構 翻訳装置、学習装置、翻訳方法、およびプログラム
US10275704B2 (en) * 2014-06-06 2019-04-30 Google Llc Generating representations of input sequences using neural networks
JP2016057986A (ja) * 2014-09-11 2016-04-21 株式会社東芝 音声翻訳装置、方法およびプログラム
US10909329B2 (en) * 2015-05-21 2021-02-02 Baidu Usa Llc Multilingual image question answering
US20160350653A1 (en) * 2015-06-01 2016-12-01 Salesforce.Com, Inc. Dynamic Memory Network
CN105139864B (zh) * 2015-08-17 2019-05-07 北京眼神智能科技有限公司 语音识别方法和装置
US9807473B2 (en) * 2015-11-20 2017-10-31 Microsoft Technology Licensing, Llc Jointly modeling embedding and translation to bridge video and language
CN105513591B (zh) * 2015-12-21 2019-09-03 百度在线网络技术(北京)有限公司 用lstm循环神经网络模型进行语音识别的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NAOAKI OKAZAKI: "Frontiers in Distributed Representations for Natural Language Processing", JOURNAL OF JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, vol. 31, no. 2, 1 March 2016 (2016-03-01), pages 189 - 201, XP009511145, ISSN: 2188-2266 *
See also references of EP3480739A4 *
ZHANG, YU ET AL.: "HIGHWAY LONG SHORT-TERM MEMORY RNNS FOR DISTANT SPEECH RECOGNITION", 2016 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS , SPEECH AND SIGNAL PROCESSING (ICASSP), March 2016 (2016-03-01), pages 5755 - 5759, XP 032901706, ISSN: 2379-190X *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020515899A (ja) * 2017-03-29 2020-05-28 グーグル エルエルシー エンドツーエンドのテキスト音声変換
JP2020170200A (ja) * 2017-03-29 2020-10-15 グーグル エルエルシー エンドツーエンドのテキスト音声変換
US11107457B2 (en) 2017-03-29 2021-08-31 Google Llc End-to-end text-to-speech conversion
JP7009564B2 (ja) 2017-03-29 2022-01-25 グーグル エルエルシー エンドツーエンドのテキスト音声変換
JP2022058554A (ja) * 2017-03-29 2022-04-12 グーグル エルエルシー エンドツーエンドのテキスト音声変換
US11862142B2 (en) 2017-03-29 2024-01-02 Google Llc End-to-end text-to-speech conversion
US12190860B2 (en) 2017-03-29 2025-01-07 Google Llc End-to-end text-to-speech conversion
JP2020020872A (ja) * 2018-07-30 2020-02-06 国立研究開発法人情報通信研究機構 識別器、学習済モデル、学習方法
JP7209330B2 (ja) 2018-07-30 2023-01-20 国立研究開発法人情報通信研究機構 識別器、学習済モデル、学習方法
US20210312295A1 (en) * 2018-08-03 2021-10-07 Sony Corporation Information processing method, information processing device, and information processing program
US12462160B2 (en) * 2018-08-03 2025-11-04 Sony Corporation Performing distributed processing using layers of a neural network divided between a first device and a second device
EP3846070A4 (en) * 2018-08-30 2021-09-08 Fujitsu Limited GENERATION METHOD, GENERATION PROGRAM AND INFORMATION PROCESSING DEVICE

Also Published As

Publication number Publication date
KR20190022439A (ko) 2019-03-06
CN108604312A (zh) 2018-09-28
EP3480739A1 (en) 2019-05-08
US20180336190A1 (en) 2018-11-22
JP6906181B2 (ja) 2021-07-21
JPWO2018003457A1 (ja) 2019-04-18
EP3480739A4 (en) 2019-06-26
US10832013B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
JP6906181B2 (ja) 情報処理装置、時系列データの情報処理方法、及びプログラム
JP6910012B2 (ja) 文章評価装置、及び文章評価方法
JP7431833B2 (ja) 言語シーケンスラベリング方法、装置、プログラム及びコンピューティング機器
CN103810999B (zh) 基于分布式神经网络的语言模型训练方法及其系统
CN110476206B (zh) 将文本转换为语音的系统及其存储介质
JP7123938B2 (ja) データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム
JP7070653B2 (ja) 学習装置、音声認識順位推定装置、それらの方法、およびプログラム
US12020694B2 (en) Efficiency adjustable speech recognition system
JP2020190996A (ja) ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム
JP6612716B2 (ja) パターン識別装置、パターン識別方法およびプログラム
JP2023070090A (ja) モデル学習装置、方法、およびコンピュータ読み取り可能な記録媒体
US20210365780A1 (en) Method of generating model and information processing device
JP7068242B2 (ja) 学習装置、学習方法およびプログラム
JP7109071B2 (ja) 学習装置、学習方法、音声合成装置、音声合成方法及びプログラム
CN110866403B (zh) 基于卷积循环实体网络的端对端对话状态跟踪方法及系统
JP6973192B2 (ja) 言語モデルを利用する装置、方法及びプログラム
Jaakkola et al. Today is the future of yesterday; what is the future of today?
CN112069370A (zh) 神经网络结构搜索方法、装置、介质和设备
WO2023185896A1 (zh) 一种文本生成方法、装置、计算机设备及存储介质
JP2022037431A (ja) 評価指標値算出装置、評価指標値算出方法および評価指標値算出プログラム
US20230195837A1 (en) Method, computer-readable storage medium
JP7778466B2 (ja) データ処理方法、プログラム、データ処理装置
WO2020054402A1 (ja) ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法
JP2011090497A (ja) 行列分解装置、行列分解方法及びプログラム
WO2024261877A1 (ja) 学習装置、学習方法、及び学習プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018525012

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20187022112

Country of ref document: KR

Kind code of ref document: A

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

Ref document number: 17819822

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: 2017819822

Country of ref document: EP

Effective date: 20190130