WO2020054410A1 - ニューラルネットワーク装置 - Google Patents

ニューラルネットワーク装置 Download PDF

Info

Publication number
WO2020054410A1
WO2020054410A1 PCT/JP2019/033625 JP2019033625W WO2020054410A1 WO 2020054410 A1 WO2020054410 A1 WO 2020054410A1 JP 2019033625 W JP2019033625 W JP 2019033625W WO 2020054410 A1 WO2020054410 A1 WO 2020054410A1
Authority
WO
WIPO (PCT)
Prior art keywords
neural network
processing unit
input
layer processing
layer
Prior art date
Application number
PCT/JP2019/033625
Other languages
English (en)
French (fr)
Inventor
佑司 床爪
徹 知念
優樹 山本
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to US17/250,777 priority Critical patent/US20210312231A1/en
Priority to BR112021004116-8A priority patent/BR112021004116A2/pt
Publication of WO2020054410A1 publication Critical patent/WO2020054410A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Definitions

  • the present technology relates to a neural network device, and more particularly to a neural network device capable of improving recognition performance.
  • ⁇ ⁇ ⁇ Consider automatic recognition technology (identification, detection, etc.) for various signals such as images and audio.
  • a neural network is considered as a method for recognition (for example, see Non-Patent Document 1).
  • a neural network processing device that receives a signal as an input and outputs a result of recognition processing on the signal includes, for example, a convolution layer processing unit, an activation layer processing unit, a pooling layer processing unit, a convolution layer processing unit, and an activation layer.
  • the processing unit, the pooling layer processing unit, the convolution layer processing unit, and the activation layer processing unit are provided in this order from the input side to the output side.
  • Such a neural network processing device receives data of a certain signal as input, performs data conversion with eight components from a first convolutional layer processing unit to a last activation layer processing unit, and obtains a recognition result for input data. Output.
  • the magnitude of the signal input to the neural network may be biased.
  • a very loud signal such as an environmental sound in a train or an aircraft may be input to this neural network, but on the other hand, the environmental sound signal of the office to be identified is mostly small.
  • the microphone when the microphone is hit, a very large signal is input to the microphone compared to other environmental sounds. When the microphone is closed, a signal that is much smaller than other environmental sounds is input to the microphone. Even when these are detected individually or simultaneously, it is required to construct and learn a neural network to cope with the deviation of the magnitude of the input signal.
  • the present technology has been made in view of such a situation, and aims to improve recognition performance.
  • the neural network device includes a nonlinear conversion layer processing unit that performs conversion using a nonlinear function having learnable parameters.
  • conversion is performed by a non-linear conversion layer processing unit that performs conversion using a non-linear function having a parameter that can be learned.
  • FIG. 14 is a diagram illustrating a configuration example of a computer.
  • the present technology is intended to improve a recognition performance by constructing a neural network having a non-linear transformation based on a parameter that can be learned as a component. That is, high performance can be obtained even when the size of the neural network is limited.
  • non-linear conversion is performed by, for example, one or more of a logarithmic function, a power function, an exponential function, a trigonometric function, a hyperbolic function, and other linear or non-linear functions, and a function obtained by performing four arithmetic operations or combining them.
  • the neural network of the present technology has components that correspond to the deviation of the magnitude of the input signal.
  • This neural network has, as a component, a non-linear transformation using a parameter that can be learned.
  • the components of such a non-linear transform perform an optimal scale transform on the bias of the magnitude of the input signal, so that the neural network can analyze the portion where the magnitude of the input signal is concentrated in more detail. become.
  • the features of the neural network to which the present technology is applied will be described as an example of a neural network to which the present technology is applied, which has a “logarithmic layer” that performs a non-linear transformation using a logarithmic function as a component. .
  • FIG. 1 is a diagram illustrating a configuration example of an embodiment of a neural network processing device to which the present technology is applied.
  • the neural network processing device 11 shown in FIG. 1 is configured by a neural network, and includes a convolutional layer processing unit 21, an activation layer processing unit 22, a pooling layer processing unit 23, a logarithmic layer processing unit 24, and a convolutional layer processing unit. 25, an activation layer processing unit 26, a pooling layer processing unit 27, a convolution layer processing unit 28, and an activation layer processing unit 29.
  • the neural network processing device 11 is a neural network in which a logarithmic layer processing unit 24, that is, a logarithmic layer is introduced, in addition to a general configuration.
  • the neural network processing device 11 performs processing of each layer (layer) of the neural network on input data that is input data, and outputs a recognition result of a predetermined recognition target for the input data.
  • the convolutional layer processing unit 21 to the activation layer processing unit 29 are each layer of the neural network.
  • the convolution layer processing unit 21 performs a convolution layer process on the supplied input data, and supplies the processing result to the activation layer processing unit 22.
  • the activation layer processing unit 22 performs an activation layer process on the processing result supplied from the convolution layer processing unit 21 and supplies the processing result to the pooling layer processing unit 23.
  • the pooling layer processing unit 23 performs pooling layer processing on the processing result supplied from the activation layer processing unit 22, and supplies the processing result to the logarithmic layer processing unit 24.
  • the logarithmic layer processing unit 24 performs a non-linear conversion process using a logarithmic function on the processing result supplied from the pooling layer processing unit 23 as a logarithmic layer process, and supplies the processing result to the convolutional layer processing unit 25.
  • the convolution layer processing unit 25 performs a convolution layer process on the processing result supplied from the logarithmic layer processing unit 24 and supplies the processing result to the activation layer processing unit 26.
  • the activation layer processing unit 26 performs an activation layer process on the processing result supplied from the convolutional layer processing unit 25, and supplies the processing result to the pooling layer processing unit 27.
  • the pooling layer processing unit 27 performs pooling layer processing on the processing result supplied from the activation layer processing unit 26, and supplies the processing result to the convolutional layer processing unit 28.
  • the convolution layer processing unit 28 performs a convolution layer process on the processing result supplied from the pooling layer processing unit 27 and supplies the processing result to the activation layer processing unit 29.
  • the activation layer processing unit 29 performs an activation layer process on the processing result supplied from the convolution layer processing unit 28, and outputs the processing result as a recognition result of a recognition target for input data.
  • step S11 the convolution layer processing unit 21 performs a convolution layer process on the supplied input data, and supplies the processing result to the activation layer processing unit 22.
  • step S12 the activation layer processing unit 22 performs an activation layer process on the processing result supplied from the convolution layer processing unit 21, and supplies the processing result to the pooling layer processing unit 23.
  • step S13 the pooling layer processing unit 23 performs pooling layer processing on the processing result supplied from the activation layer processing unit 22, and supplies the processing result to the logarithmic layer processing unit 24.
  • step S14 the logarithmic layer processing unit 24 performs logarithmic layer processing on the processing result supplied from the pooling layer processing unit 23, and supplies the processing result to the convolutional layer processing unit 25.
  • step S15 the convolution layer processing unit 25 performs a convolution layer process on the processing result supplied from the logarithmic layer processing unit 24, and supplies the processing result to the activation layer processing unit 26.
  • step S16 the activation layer processing unit 26 performs an activation layer process on the processing result supplied from the convolution layer processing unit 25, and supplies the processing result to the pooling layer processing unit 27.
  • step S17 the pooling layer processing unit 27 performs pooling layer processing on the processing result supplied from the activation layer processing unit 26, and supplies the processing result to the convolutional layer processing unit 28.
  • step S18 the convolution layer processing unit 28 performs a convolution layer process on the processing result supplied from the pooling layer processing unit 27, and supplies the processing result to the activation layer processing unit 29.
  • step S19 the activation layer processing unit 29 performs an activation layer process on the processing result supplied from the convolution layer processing unit 28, and outputs the processing result as a recognition result of a recognition target for input data, The recognition processing ends.
  • the neural network processing device 11 performs the process of converting the data input in each layer of the neural network, and outputs the processing result as the recognition result of the recognition target. At this time, by performing nonlinear conversion processing in at least one layer, high recognition performance can be obtained even for a small-scale neural network. That is, the recognition performance can be improved.
  • a neural network learning device that generates the neural network processing device 11 by learning is configured, for example, as shown in FIG. Note that, in FIG. 3, portions corresponding to those in FIG.
  • the neural network learning device 51 generates (constructs) the neural network processing device 11 by learning based on the data of the signal input from the database 52.
  • the neural network learning device 51 includes an input data selection unit 61 and a coefficient update unit 62.
  • the input data selection unit 61 selects the data used for learning from the signal data recorded in the database 52 and supplies the selected data to the coefficient update unit 62 and the neural network processing device 11.
  • the coefficient update unit 62 performs processing of the neural network coefficients, that is, the processing in the layer of the neural network processing device 11, in accordance with the supply of the data from the input data selection unit 61 and the supply of the recognition result from the neural network processing device 11.
  • the used coefficients are updated and supplied to the neural network processing device 11.
  • a learning system for learning the neural network processing device 11 is configured by the neural network processing device 11, the neural network learning device 51, and the database 52.
  • step S41 the input data selection unit 61 performs input data selection for selecting input data to be used for learning from among signal data recorded in the database 52, and converts the selected input data into a coefficient update unit 62 , And the convolutional layer processing unit 21 of the neural network processing device 11.
  • steps S42 to S50 are performed. These processes are performed in steps S11 to S19 of FIG. Since the processing is the same as that of the processing, the description thereof is omitted.
  • the convolutional layer processing unit 21 in the neural network processing device 11 on the leftmost side that is, the input side in FIG.
  • the conversion process (data conversion) on the data is performed by the nine components (layers) up to the unit 29.
  • ⁇ Data obtained by the processing in the activation layer processing unit 29 is supplied to the coefficient updating unit 62 as the recognition result of the recognition target for the input data.
  • the convolutional layer and the logarithmic layer that is, the convolutional layer processing unit 21, the logarithmic layer processing unit 24, the convolutional layer processing unit 25, and the convolutional layer processing unit 28 are supplied from the coefficient updating unit 62. It is assumed that convolutional layer processing and logarithmic layer processing, that is, data conversion processing (conversion processing) are performed using the coefficients.
  • step S51 the coefficient updating unit 62 updates the coefficient based on the input data supplied from the input data selecting unit 61 and the recognition result supplied from the activation layer processing unit 29 of the neural network processing device 11.
  • step S51 the coefficients of the neural network are updated by the coefficient updating unit 62 so that the input data and the recognition result have a desired relationship, that is, a desired input / output relationship is realized.
  • the coefficients used in the three convolutional layers that is, the coefficients used in the convolutional layer processing in the convolutional layer processing unit 21, the convolutional layer processing unit 25, and the convolutional layer processing unit 28, and the logarithm in the logarithmic layer processing unit 24
  • the coefficients (parameters) used in the layer processing are updated.
  • the update of the coefficient can be performed by, for example, an error back propagation method.
  • the coefficient updating unit 62 supplies the updated coefficient to each unit of the neural network processing device 11.
  • the convolutional layer processing unit 21, the logarithmic layer processing unit 24, the convolutional layer processing unit 25, and the convolutional layer processing unit 28 replace the held coefficient with a coefficient newly supplied from the coefficient update unit 62, and Update.
  • step S52 the coefficient updating unit 62 determines whether or not a condition for terminating the learning is satisfied.
  • the condition for terminating the learning may be any condition, such as an error between a desired input / output relationship and an actual input / output relationship being equal to or less than a threshold.
  • step S52 If it is determined in step S52 that the condition for terminating the learning is not satisfied, the process returns to step S41, and the above-described process is repeatedly performed.
  • step S52 if it is determined in step S52 that the condition for terminating the learning is satisfied, the learning process ends.
  • the final neural network processing device 11 is obtained by learning, and the neural network processing device 11 uses the coefficient supplied from the coefficient updating unit 62 and finally held to input data using the coefficient. Perform recognition processing.
  • the learning system learns the neural network processing device 11 by updating the coefficients used in the neural network processing device 11.
  • FIG. 5 shows a relational expression of input and output of a logarithmic layer (logarithmic layer processing unit 24) and a graph.
  • the horizontal axis indicates the input x of the logarithmic layer
  • the vertical axis indicates the output y of the logarithmic layer.
  • the logarithmic layer (the logarithmic layer processing unit 24) outputs 0 as the output y.
  • the logarithmic layer increases the rate of change of the output y with respect to the input x as the input x increases.
  • the value of the function that becomes smaller is output as the output y.
  • the coefficient p is updated (learned) by the coefficient updating unit 62.
  • the rate of change of output y is very large, especially for a small positive input x. Further, it has a coefficient (parameter) p, and by changing the coefficient p, the relationship between the input x and the output y can be changed as shown in FIG.
  • the rate of change of the output y with respect to the small positive input x is large, so that the neural network having the logarithmic layer as a component, that is, the neural network processing device 11,
  • the signal (input data) can be analyzed in more detail.
  • this neural network is particularly effective when the magnitude of the input signal (input data) is biased, such as when the above-described office environment sound or microphone closing sound is identified. It is.
  • the portion indicated by arrow Q11 indicates a user interface, that is, an operation “direct tap” in which the user directly taps the microphone portion with a finger as an operation by the user.
  • the portion indicated by arrow Q12 indicates, as a user interface, an operation “rub” by which the user rubs the microphone portion with a finger.
  • the portion indicated by arrow Q13 indicates, as a user interface, an operation of the user closing the microphone portion with his / her finger “close”. Further, the portion indicated by arrow Q14 shows, as a user interface, an operation “blocking tap” in which the user taps while closing the microphone portion with the finger (tapping while closing).
  • acoustic data obtained by collecting sound with a microphone is used as input data to perform recognition processing for recognizing each operation by a neural network, that is, a sound generated when each operation is performed.
  • FIG. 7 shows the result of the recognition processing.
  • FIG. 7 shows a rate and a detection success rate when each operation is detected by the neural network processing device 11 having introduced a logarithmic layer. That is, the vertical axis in FIG. 7 indicates the detection success rate when each operation is detected (recognized).
  • DNN general neural network
  • the detection success rate of the operation “direct tap” is shown in the part indicated by the arrow Q21
  • the detection success rate of the operation “rub” is shown in the part indicated by the arrow Q22.
  • the portion indicated by arrow Q23 indicates the detection success rate of the operation "blocking”
  • the portion indicated by arrow Q24 indicates the detection success rate of the operation "blocking tap”.
  • the left side in the figure shows the detection success rate when a general neural network is used, and the right side uses the neural network processing device 11 in the figure. It shows the detection success rate in the case.
  • the detection target sound when the threshold value is set so that the excessive detection rate is 0.01%, that is, the detection success rate of the operation of the recognition target.
  • the value of the coefficient (parameter) p of the logarithmic layer learned in the operation “close” is 4.25, and the coefficient p learned in the other three types of operations “direct tap”, “rub”, and “block tap”. (2.34, 1.29, and 1.06, respectively).
  • the effective range of the logarithmic layer is not limited to the case where the ambient sound of the office or the closing sound of the microphone is identified.
  • a general range is used for an audio signal that often converts a signal magnitude to a logarithmic scale (such as a decibel value) or the like. It is effective for an audio signal that often converts a signal magnitude to a logarithmic scale (such as a decibel value) or the like. It is effective for
  • the present technology may be effective for other signals such as images.
  • the present technology is similarly effective not only in a small-scale neural network but also in a large-scale neural network.
  • the neural network described with reference to FIGS. 1 to 4 is an example of a neural network having a component that performs non-linear conversion using a learnable coefficient (parameter), and various other modified examples are considered.
  • various examples other than the logarithmic layer can be considered as the constituent elements.
  • FIGS. 8 and 9 For example, as an example of a component (layer) that performs non-linear conversion, input and output relational expressions and graphs are shown in FIGS. 8 and 9 for an inverse proportional layer using an inverse proportional function and a power layer using a power function. Shown in 8 and 9, the horizontal axis indicates the input x, and the vertical axis indicates the output y.
  • FIG. 8 shows the relationship between the input x and the output y in the inverse proportional layer.
  • the input x is negative, that is, when x ⁇ 0, the inverse proportional layer outputs 0 as the output y.
  • FIG. 9 shows the relationship between the input x and the output y in the power layer.
  • the power layer outputs 0 as the output y when the input x is negative, that is, when x ⁇ 0.
  • the coefficient (parameter) as p the coefficient (parameter) as p
  • the coefficient p is updated (learned) by the coefficient updating unit 62.
  • non-linear transformations include not only logarithmic functions, power functions (including inversely proportional functions), but also one or more of exponential functions, trigonometric functions, hyperbolic functions, and other linear or non-linear functions, and their four arithmetic operations, This may be performed using a function obtained by synthesis or the like.
  • this component that is, the component (layer) that performs the nonlinear conversion, can be introduced at an arbitrary position in the neural network in an arbitrary form.
  • the present component may be introduced at a plurality of locations in the neural network.
  • coefficients (parameters) of this component may be applied commonly to all dimensions of the input x, or may be different for each dimension.
  • the logarithmic layer (logarithmic layer processing unit 24) has 16 types of input channels.
  • Different parameters may be applied to each.
  • the parameters (coefficients) of this component may not be included in the learning target, and may be fixed values.
  • the fixed value may be determined by a human in some way. For example, a fixed value may be determined based on a certain rule determined by a human based on a statistical value of the distribution of the magnitude of the input signal.
  • the initial value for learning the parameters (coefficients) of this component may be determined based on the value thus determined by the human.
  • the parameters of this component and the coefficients of the other components of the neural network may be learned at the same time, or one may be fixed while the other is learned.
  • the recognition performance of the neural network can be improved. Moreover, according to the present technology, high recognition performance can be obtained even for a small-scale neural network.
  • Example of computer configuration By the way, the above-described series of processing can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in a computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer that can execute various functions by installing various programs, and the like.
  • FIG. 10 is a block diagram illustrating a configuration example of hardware of a computer that executes the series of processes described above by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 505 is further connected to the bus 504.
  • An input unit 506, an output unit 507, a recording unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
  • the input unit 506 includes a keyboard, a mouse, a microphone, an image sensor, and the like.
  • the output unit 507 includes a display, a speaker, and the like.
  • the recording unit 508 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 509 includes a network interface and the like.
  • the drive 510 drives a removable recording medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 501 loads the program recorded in the recording unit 508 into the RAM 503 via the input / output interface 505 and the bus 504 and executes the program, for example. Is performed.
  • the program executed by the computer (CPU 501) can be provided by being recorded on a removable recording medium 511 as a package medium or the like, for example. Further, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 508 via the input / output interface 505 by attaching the removable recording medium 511 to the drive 510.
  • the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the recording unit 508.
  • the program can be installed in the ROM 502 or the recording unit 508 in advance.
  • the program executed by the computer may be a program in which processing is performed in chronological order in the order described in this specification, or may be performed in parallel or at a necessary timing such as when a call is made. It may be a program that performs processing.
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and processed jointly.
  • each step described in the above-described flowchart can be executed by a single device, or can be shared and executed by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or can be shared and executed by a plurality of devices.
  • the present technology may have the following configurations.
  • a neural network device comprising a non-linear conversion layer processing unit for performing conversion using a non-linear function having parameters that can be learned.
  • An input unit to which an input signal is input is further provided, The neural network device according to any one of (1) to (3), wherein the input unit receives the input signal having a bias in signal magnitude.
  • a pooling layer processing unit The neural network device according to any one of (1) to (4), wherein the processing of the nonlinear conversion layer processing unit is performed after the processing of the pooling layer processing unit.
  • a convolutional layer processing unit The neural network device according to any one of (1) to (5), wherein the processing of the non-linear conversion layer processing unit is performed before the processing of the convolution layer processing unit.
  • (7) The neural network device according to any one of (1) to (6), wherein the conversion by the non-linear function of the non-linear conversion layer processing unit is performed as an activation function.
  • ⁇ 11 ⁇ neural network processing unit ⁇ 21 ⁇ convolutional layer processing unit, ⁇ 24 ⁇ logarithmic layer processing unit, ⁇ 25 ⁇ convolutional layer processing unit, ⁇ 28 ⁇ convolutional layer processing unit, ⁇ 51 ⁇ neural network learning device, ⁇ 61 ⁇ input data selection unit, ⁇ 62 ⁇ coefficient updating unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Image Analysis (AREA)

Abstract

本技術は、認識性能を向上させることができるようにするニューラルネットワーク装置に関する。 ニューラルネットワーク装置は、学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える。本技術はニューラルネットワークに適用することができる。

Description

ニューラルネットワーク装置
 本技術は、ニューラルネットワーク装置に関し、特に、認識性能を向上させることができるようにしたニューラルネットワーク装置に関する。
 例えば画像やオーディオ等の様々な信号の自動認識技術(識別、検出等)について考える。ここでは、認識のための方法としてニューラルネットワークについて考えるものとする(例えば、非特許文献1参照)。
 ある信号を入力とし、その信号を対象とした認識処理の結果を出力するニューラルネットワーク処理装置は、例えば畳み込みレイヤ処理部、活性化レイヤ処理部、プーリングレイヤ処理部、畳み込みレイヤ処理部、活性化レイヤ処理部、プーリングレイヤ処理部、畳み込みレイヤ処理部、および活性化レイヤ処理部が入力側から出力側まで順番に設けられた構成とされる。
 このようなニューラルネットワーク処理装置は、ある信号のデータを入力とし、最初の畳み込みレイヤ処理部から、最後の活性化レイヤ処理部までの8つの構成要素でデータ変換を行い、入力データに対する認識結果を出力する。
 一般にニューラルネットワークの規模(構成要素の数や係数の数)を大きくすればするほど、複雑な入出力関係を実現できるようになるとされている。
Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, The MIT Press, 2016
 ところが、ニューラルネットワークに入力される信号の大きさには、偏りがある場合がある。
 例えば様々な環境音の中から、オフィスの環境音であるかどうかをニューラルネットワークを用いて識別することを考える。
 このニューラルネットワークには、電車内や航空機内の環境音のように非常に大きな信号が入力されることもあるが、一方で識別対象であるオフィスの環境音の信号は小さいことがほとんどである。
 オフィスの環境音を精度良く識別するためには、小さい信号をより詳細に分析する必要がある。このように、高い認識性能を得るためには入力信号の大きさの偏りに対応するようにニューラルネットワークを構築および学習する必要がある。
 他にも、マイクロホンを用いたユーザインターフェース(マイクロホンを叩く、塞ぐ等)のために、マイクロホンに入力される信号をニューラルネットワークで検出する場合にも、入力信号の大きさの偏りが現れる。
 例えばマイクロホンを叩いたときには、他の環境音に比べて非常に大きな信号がマイクロホンに入力される。また、マイクロホンを塞いだときには、他の環境音に比べて非常に小さな信号がマイクロホンに入力される。これらを個別または同時に検出する場合にも、入力信号の大きさの偏りに対応するようにニューラルネットワークを構築および学習することが求められる。
 しかしながら、入力信号の大きさの偏りに対応するような構成要素を持ったニューラルネットワークは、現状では存在しない。また、入力信号の大きさの偏りに対応するためには、ニューラルネットワークの規模を大きくして複雑な入出力関係を実現できるようにする必要があり、ハードウェアの制約等でニューラルネットワークの規模に制限がある場合には、高い性能を得ることは困難である。
 本技術は、このような状況に鑑みてなされたものであり、認識性能を向上させることができるようにするものである。
 本技術の一側面のニューラルネットワーク装置は、学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える。
 本技術の一側面においては、学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部により変換が行われる。
ニューラルネットワーク処理装置の構成例を示す図である。 認識処理を説明するフローチャートである。 ニューラルネットワーク学習装置の構成例を示す図である。 学習処理を説明するフローチャートである。 対数レイヤの入力および出力の関係式とグラフを示す図である。 ユーザによる操作について説明する図である。 各操作の検出成功率について説明する図である。 反比例レイヤの入力および出力の関係式とグラフを示す図である。 冪レイヤの入力および出力の関係式とグラフを示す図である。 コンピュータの構成例を示す図である。
 以下、図面を参照して、本技術を適用した実施の形態について説明する。
〈第1の実施の形態〉
〈ニューラルネットワーク処理装置の構成例〉
 本技術は、学習可能なパラメータによる非線形な変換を構成要素として持つニューラルネットワークを構築することで、認識性能を向上させることができるようにするものである。すなわち、ニューラルネットワークの規模に制限がある場合でも、高い性能を得ることができるようにするものである。
 なお、上記の非線形な変換は、例えば対数関数、冪関数、指数関数、三角関数、双曲線関数、その他の線形または非線形な関数の1つ若しくは複数、およびそれらの四則演算や合成等によって得られる関数を用いて行われるようにすることができる。
 本技術のニューラルネットワークは、入力信号の大きさの偏りに対応するような構成要素を持つようになされている。このニューラルネットワークは、学習可能なパラメータによる非線形な変換を構成要素として持つ。
 このような非線形な変換の構成要素が入力信号の大きさの偏りに対して最適なスケール変換を行うことで、ニューラルネットワークは入力信号の大きさが集中している部分をより詳細に分析できるようになる。
 これにより、小規模のニューラルネットワークであっても、入力信号の大きさの偏りに対応でき、高い認識性能が得られるようになる。
 以下では、本技術を適用したニューラルネットワークとして、対数関数を用いた非線形変換を行う「対数レイヤ」を構成要素として持つニューラルネットワークを例として挙げながら、本技術を適用したニューラルネットワークの特徴について説明する。
 図1は、本技術を適用したニューラルネットワーク処理装置の一実施の形態の構成例を示す図である。
 図1に示すニューラルネットワーク処理装置11は、ニューラルネットワークにより構成されるものであり、畳み込みレイヤ処理部21、活性化レイヤ処理部22、プーリングレイヤ処理部23、対数レイヤ処理部24、畳み込みレイヤ処理部25、活性化レイヤ処理部26、プーリングレイヤ処理部27、畳み込みレイヤ処理部28、および活性化レイヤ処理部29を有している。
 特にニューラルネットワーク処理装置11は、一般的な構成に加えて、対数レイヤ処理部24、つまり対数レイヤを導入したニューラルネットワークとなっている。
 ニューラルネットワーク処理装置11は、入力されたデータである入力データに対してニューラルネットワークの各レイヤ(階層)の処理を施し、入力データに対する所定の認識対象についての認識結果を出力する。ここでは、畳み込みレイヤ処理部21乃至活性化レイヤ処理部29がニューラルネットワークの各レイヤとなっている。
 畳み込みレイヤ処理部21は、供給された入力データに対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部22に供給する。
 活性化レイヤ処理部22は、畳み込みレイヤ処理部21から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部23に供給する。
 プーリングレイヤ処理部23は、活性化レイヤ処理部22から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を対数レイヤ処理部24に供給する。
 対数レイヤ処理部24は、プーリングレイヤ処理部23から供給された処理結果に対して対数関数を用いた非線形変換処理を対数レイヤ処理として行い、その処理結果を畳み込みレイヤ処理部25に供給する。
 畳み込みレイヤ処理部25は、対数レイヤ処理部24から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部26に供給する。
 活性化レイヤ処理部26は、畳み込みレイヤ処理部25から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部27に供給する。
 プーリングレイヤ処理部27は、活性化レイヤ処理部26から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を畳み込みレイヤ処理部28に供給する。
 畳み込みレイヤ処理部28は、プーリングレイヤ処理部27から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部29に供給する。
 活性化レイヤ処理部29は、畳み込みレイヤ処理部28から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果を、入力データに対する認識対象についての認識結果として出力する。
〈認識処理の説明〉
 次に、図1に示したニューラルネットワーク処理装置11の動作について説明する。
 すなわち、以下、図2のフローチャートを参照して、ニューラルネットワーク処理装置11による認識処理について説明する。
 ステップS11において畳み込みレイヤ処理部21は、供給された入力データに対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部22に供給する。
 ステップS12において活性化レイヤ処理部22は、畳み込みレイヤ処理部21から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部23に供給する。
 ステップS13においてプーリングレイヤ処理部23は、活性化レイヤ処理部22から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を対数レイヤ処理部24に供給する。
 ステップS14において対数レイヤ処理部24は、プーリングレイヤ処理部23から供給された処理結果に対して対数レイヤ処理を行い、その処理結果を畳み込みレイヤ処理部25に供給する。
 ステップS15において畳み込みレイヤ処理部25は、対数レイヤ処理部24から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部26に供給する。
 ステップS16において活性化レイヤ処理部26は、畳み込みレイヤ処理部25から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部27に供給する。
 ステップS17においてプーリングレイヤ処理部27は、活性化レイヤ処理部26から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を畳み込みレイヤ処理部28に供給する。
 ステップS18において畳み込みレイヤ処理部28は、プーリングレイヤ処理部27から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部29に供給する。
 ステップS19において活性化レイヤ処理部29は、畳み込みレイヤ処理部28から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果を、入力データに対する認識対象についての認識結果として出力し、認識処理は終了する。
 以上のようにしてニューラルネットワーク処理装置11は、ニューラルネットワークの各レイヤにおいて入力されたデータを変換する処理を行い、その処理結果を認識対象についての認識結果として出力する。このとき、少なくとも1つのレイヤにおいて非線形な変換処理を行うようにすることで、小規模のニューラルネットワークであっても高い認識性能を得ることができる。すなわち、認識性能を向上させることができる。
〈ニューラルネットワーク学習装置の構成例〉
 また、ニューラルネットワーク処理装置11を学習により生成するニューラルネットワーク学習装置は、例えば図3に示すように構成される。なお、図3において図1における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
 図3に示す例では、ニューラルネットワーク学習装置51は、データベース52から入力された信号のデータに基づいて、学習によりニューラルネットワーク処理装置11を生成(構築)する。
 ニューラルネットワーク学習装置51は、入力データ選択部61および係数更新部62を有している。
 入力データ選択部61は、データベース52に記録されている信号のデータのなかから、学習に用いるものを選択し、係数更新部62およびニューラルネットワーク処理装置11に供給する。
 係数更新部62は、入力データ選択部61からのデータの供給、およびニューラルネットワーク処理装置11からの認識結果の供給に応じて、ニューラルネットワークの係数、すなわちニューラルネットワーク処理装置11のレイヤでの処理に用いられる係数(パラメータ)を更新し、ニューラルネットワーク処理装置11に供給する。
 図3では、ニューラルネットワーク処理装置11、ニューラルネットワーク学習装置51、およびデータベース52によって、ニューラルネットワーク処理装置11を学習する学習システムが構成されている。
〈学習処理の説明〉
 次に、図3に示した学習システムにより行われる学習処理について説明する。すなわち、以下、図4のフローチャートを参照して、学習システムにより行われる学習処理について説明する。
 ステップS41において、入力データ選択部61は、データベース52に記録されている信号のデータのなかから学習に用いる入力データを選択する入力データ選択を行い、その結果選択された入力データを係数更新部62、およびニューラルネットワーク処理装置11の畳み込みレイヤ処理部21に供給する。
 このようにしてニューラルネットワーク処理装置11の畳み込みレイヤ処理部21に入力データが供給されると、ステップS42乃至ステップS50の処理が行われるが、これらの処理は、図2のステップS11乃至ステップS19の処理と同様であるので、その説明は省略する。
 すなわち、ステップS42乃至ステップS50では、ニューラルネットワーク処理装置11における図1中、最も左側、つまり入力側にある畳み込みレイヤ処理部21から、図1中、最も右側、つまり出力側にある活性化レイヤ処理部29まで、9個の構成要素(レイヤ)でデータに対する変換処理(データ変換)が行われる。
 そして、活性化レイヤ処理部29での処理で得られたデータが、入力データに対する認識対象の認識結果として係数更新部62に供給される。
 なお、ニューラルネットワーク処理装置11では、畳み込みレイヤおよび対数レイヤ、すなわち畳み込みレイヤ処理部21、対数レイヤ処理部24、畳み込みレイヤ処理部25、および畳み込みレイヤ処理部28では、係数更新部62から供給された係数が用いられて畳み込みレイヤ処理や対数レイヤ処理、つまりデータ変換の処理(変換処理)が行われるものとする。
 ステップS51において係数更新部62は、入力データ選択部61から供給された入力データと、ニューラルネットワーク処理装置11の活性化レイヤ処理部29から供給された認識結果とに基づいて係数の更新を行う。
 ステップS51では、入力データと認識結果とが所望の関係となるように、すなわち所望の入出力関係が実現されるように、係数更新部62により、ニューラルネットワークの係数が更新される。ここでは、3つの畳み込みレイヤで用いられる係数、つまり畳み込みレイヤ処理部21、畳み込みレイヤ処理部25、および畳み込みレイヤ処理部28での畳み込みレイヤ処理で用いられる係数と、対数レイヤ処理部24での対数レイヤ処理で用いられる係数(パラメータ)とが更新される。係数の更新は、例えば誤差逆伝播法により行われるようにすることができる。
 係数の更新が行われると、係数更新部62は、更新後の係数をニューラルネットワーク処理装置11の各部に供給する。畳み込みレイヤ処理部21、対数レイヤ処理部24、畳み込みレイヤ処理部25、および畳み込みレイヤ処理部28は、保持している係数を、係数更新部62から新たに供給された係数に置き換えて、係数を更新する。
 ステップS52において係数更新部62は、学習終了の条件を満たすか否かを判定する。
 例えばステップS41乃至ステップS51の処理が規定回数だけ繰り返し行われた場合、学習終了の条件が満たされたとされる。なお、学習終了の条件は、所望の入出力関係と、実際の入出力関係との誤差が閾値以下であるなど、どのような条件であってもよい。
 ステップS52において学習終了の条件を満たさないと判定された場合、処理はステップS41に戻り、上述した処理が繰り返し行われる。
 これに対して、ステップS52において学習終了の条件を満たすと判定された場合、学習処理は終了する。
 この場合、最終的なニューラルネットワーク処理装置11が学習により得られたことになり、ニューラルネットワーク処理装置11は、係数更新部62から供給され、最終的に保持している係数を用いて入力データに対する認識処理を行う。
 このような学習により得られたニューラルネットワーク処理装置11を用いることで、データベース52に保持されている入力データに含まれていない未知の入力データに対しても、正しい認識結果を出力することができるようになる。
 以上のようにして学習システムは、ニューラルネットワーク処理装置11で用いる係数を更新することで、ニューラルネットワーク処理装置11を学習する。
 特に対数レイヤなど、非線形な変換処理を行うレイヤの係数を含む1または複数の係数を学習により得ることで、小規模のニューラルネットワークであっても高い認識性能を得ることができるようになる。すなわち、学習で得られるニューラルネットワーク処理装置11の認識性能を向上させることができる。
〈対数レイヤの導入について〉
 ここで、ニューラルネットワークに対数レイヤを導入することによる認識性能の向上について説明する。
 図5に対数レイヤ(対数レイヤ処理部24)の入力および出力の関係式とグラフを示す。なお、図5において横軸は対数レイヤの入力xを示しており、縦軸は対数レイヤの出力yを示している。
 この例では、対数レイヤ(対数レイヤ処理部24)は、入力xが負の場合、つまりx<0である場合には、出力yとして0を出力する。
 これに対して、対数レイヤ(対数レイヤ処理部24)は、入力xが正の場合、つまりx≧0である場合には、入力xが大きくなるにつれて、入力xに対する出力yの変化の割合が小さくなっていくような関数の値を出力yとして出力する。
 ここでは、所定の係数(パラメータ)をpとして、出力yは、出力y=(log(x+e-p)+p)/(log(1+e-p)+p)とされる。なお、学習時にはこの係数pが係数更新部62により更新(学習)される。
 この例では、特に小さい正の入力xに対して、出力yの変化の割合が非常に大きくなっている。また、係数(パラメータ)pを有し、この係数pを変化させることにより、図5に示すように入力xと出力yの関係を変えることができる。
 特に、ここでは折れ線L11は係数p=-4である場合における入力xと出力yの関係を示しており、曲線L12は係数p=-2である場合における入力xと出力yの関係を示しており、曲線L13は係数p=0である場合における入力xと出力yの関係を示している。
 同様に、曲線L14は係数p=2である場合における入力xと出力yの関係を示しており、曲線L15は係数p=4である場合における入力xと出力yの関係を示している。
 このように係数pを大きくすればするほど、小さい正の入力xに対する出力yの変化の割合が大きくなり、グラフ(曲線)の曲率が大きくなる。一方、係数pを小さくすると、グラフの曲率は小さくなり、入力xと出力yの関係を表すグラフは、入力xが正の範囲で直線に近付いていく。さらに、係数pの値は学習可能になっており、人間が何らかの方法で決定するよりも、より入力信号(入力データ)の大きさの偏りに適したグラフの形状を、学習によって自動で求めることができる。
 対数レイヤ(対数レイヤ処理部24)では、小さい正の入力xに対する出力yの変化の割合が大きくなっているので、対数レイヤを構成要素として持つニューラルネットワーク、すなわちニューラルネットワーク処理装置11は、小さい入力信号(入力データ)をより詳細に分析することができる。
 そのため、このニューラルネットワーク(ニューラルネットワーク処理装置11)は、上述したオフィスの環境音やマイクロホンの塞ぎ音を識別する場合など、入力信号(入力データ)の大きさに偏りがある場合に、特に効果的である。
 電車内や航空機内の環境音のような大きな信号も入力される中で、小さい入力信号を精度良く識別するためには、ニューラルネットワークの規模を大きくする必要があった。
 しかし、本技術では、対数レイヤを導入することにより、小さい入力信号をより詳細に分析できるようになるため、小規模のニューラルネットワークあっても高い識別性能(認識性能)を実現することができる。
 例えば、実際にマイクロホンを用いたユーザインターフェースとして、図6に示すような「直接タップ」、「こする」、「塞ぐ」、および「塞ぎタップ」の4種類を考え、それぞれのマイクロホン入力の信号を、ニューラルネットワークを用いて検出した。
 図6では、矢印Q11に示す部分にはユーザインターフェース、すなわちユーザによる操作として、ユーザが指でマイクロホン部分を直接タップする操作「直接タップ」を示している。また、矢印Q12に示す部分にはユーザインターフェースとして、ユーザが指でマイクロホン部分をこする操作「こする」を示している。
 矢印Q13に示す部分にはユーザインターフェースとして、ユーザが指でマイクロホン部分を塞ぐ操作「塞ぐ」を示している。さらに、矢印Q14に示す部分にはユーザインターフェースとして、ユーザが指でマイクロホン部分を塞ぎつつタップ(塞ぎながらタップ)する操作「塞ぎタップ」を示している。
 このような4種類の操作について、マイクロホンで収音を行うことにより得られた音響データを入力データとして、ニューラルネットワークにより各操作を認識する認識処理、すなわち、各操作をしたときに発生する音の認識処理を行った結果を図7に示す。
 図7では、「直接タップ」、「こする」、「塞ぐ」、および「塞ぎタップ」の4種類の操作について、一般的なニューラルネットワーク(DNN)を用いて各操作を検出したときの検出成功率と、対数レイヤを導入したニューラルネットワーク処理装置11により各操作を検出したときの検出成功率とが示されている。すなわち、図7において縦軸は、各操作を検出(認識)したときの検出成功率を示している。
 特に、図7では矢印Q21に示す部分には操作「直接タップ」の検出成功率が示されており、矢印Q22に示す部分には操作「こする」の検出成功率が示されている。また、矢印Q23に示す部分には操作「塞ぐ」の検出成功率が示されており、矢印Q24に示す部分には操作「塞ぎタップ」の検出成功率が示されている。
 なお、これらの矢印Q21乃至矢印Q24に示す部分では、図中、左側は一般的なニューラルネットワークを用いた場合の検出成功率を示しており、図中、右側はニューラルネットワーク処理装置11を用いた場合の検出成功率を示している。
 また、図7では過剰検出率が0.01%となるように閾値を設定したときの検出対象の音、つまり認識対象の操作の検出成功率となっている。
 図7では、「直接タップ」、「こする」、および「塞ぐ」の3種類の操作について、対数レイヤの導入によって識別性能(認識性能)が向上していることが分かる。特に操作「塞ぐ」において識別性能が著しく向上している。
 操作「塞ぐ」において学習された対数レイヤの係数(パラメータ)pの値は4.25であり、他の3種類の操作「直接タップ」、「こする」、および「塞ぎタップ」において学習された係数pの値(順にそれぞれ2.34、1.29、および1.06)よりも大きかった。
 これは微小な信号である操作「塞ぐ」を行ったときに得られる音、つまり操作「塞ぐ」を検出するために、より小さい信号を詳細に分析するように対数レイヤの学習が行われたということを意味している。
 さらに対数レイヤの有効範囲はオフィスの環境音やマイクロホンの塞ぎ音を識別する場合に限られず、信号の大きさを対数尺度(デシベル値等)等に変換することが多いオーディオ信号においては、全般的に有効である。
 また、画像等のその他の信号においても本技術が有効な場合がある。さらに、小規模のニューラルネットワークに限らず、大規模なニューラルネットワークにおいても本技術は同様に効果的である。
 なお、図1乃至図4を参照して説明したニューラルネットワークは、学習可能な係数(パラメータ)による非線形な変換を行う構成要素を持つニューラルネットワークの一例であり、他にも様々な変形例が考えられる。まず、本構成要素として、対数レイヤ以外にも様々な例が考えられる。
 例えば、非線形な変換を行う構成要素(レイヤ)の例として、反比例の関数を利用した反比例レイヤと、冪関数を利用した冪レイヤとについて、入力および出力の関係式とグラフを図8および図9に示す。なお、図8および図9において横軸は入力xを示しており、縦軸は出力yを示している。
 図8は反比例レイヤにおける入力xと出力yとの関係を示している。反比例レイヤは入力xが負の場合、つまりx<0である場合には、出力yとして0を出力する。
 これに対して、反比例レイヤでは入力xが正の場合、つまりx≧0である場合には、係数(パラメータ)をpとして、出力yは、出力y=(1+p)x/(x+p)とされる。なお、学習時にはこの係数pが係数更新部62により更新(学習)される。
 また、図8において折れ線L21は係数p=16である場合における入力xと出力yの関係を示しており、曲線L22は係数p=4である場合における入力xと出力yの関係を示している。同様に曲線L23は係数p=0である場合における入力xと出力yの関係を示しており、曲線L24は係数p=1/4である場合における入力xと出力yの関係を示している。
 これに対して、図9は冪レイヤにおける入力xと出力yとの関係を示している。冪レイヤは入力xが負の場合、つまりx<0である場合には、出力yとして0を出力する。
 これに対して、冪レイヤでは入力xが正の場合、つまりx≧0である場合には、係数(パラメータ)をpとして、出力yは、出力y=xpとされる。なお、学習時にはこの係数pが係数更新部62により更新(学習)される。
 図9において曲線L31は係数p=2である場合における入力xと出力yの関係を示しており、折れ線L32は係数p=1である場合における入力xと出力yの関係を示している。同様に曲線L33は係数p=5/8である場合における入力xと出力yの関係を示しており、曲線L34は係数p=3/8である場合における入力xと出力yの関係を示している。
 図8に示した反比例レイヤは、対数レイヤと同様に、小さい正の入力xに対して出力yの変化の割合がより大きくなっている。
 また、図9に示した冪レイヤは、係数pが1より小さい場合は小さい正の入力xに対して出力yの変化の割合がより大きくなっている一方で、係数pを1より大きくすると、大きい正の入力xに対して出力yの変化の割合がより大きくなる。すなわち、大きい入力信号をより詳細に分析できる。
 反比例レイヤと冪レイヤの何れにおいても、係数、すなわちパラメータであるpを変えることで入力xと出力yの関係を変えることができ、さらにそのパラメータは学習可能となっている。また、非線形な変換は対数関数、冪関数(反比例の関数も含む)だけでなく、指数関数、三角関数、双曲線関数、その他の線形または非線形な関数の1つ若しくは複数、およびそれらの四則演算や合成等によって得られる関数を用いて行ってもよい。入力xと出力yの関係を変えるためのパラメータ(係数)は、2つ以上あってもよい。
 また、本構成要素、つまり非線形な変換を行う構成要素(レイヤ)は、ニューラルネットワーク中の任意の位置に、任意の形態で導入することができる。
 例えば、畳み込みレイヤの出力に対して活性化関数として導入してもよいし、畳み込みレイヤの係数に対して導入してもよい。また、ニューラルネットワーク中の複数箇所に本構成要素を導入してもよい。
 さらに、本構成要素の係数(パラメータ)は、入力xの全ての次元に対して共通で適用してもよいし、次元ごとに異なるものを適用してもよい。
 例えば、図1に示した例で、最も左の畳み込みレイヤ(畳み込みレイヤ処理部21)のフィルタ種類数が16である場合、対数レイヤ(対数レイヤ処理部24)は16種類の入力チャネルを有するが、それぞれに対して異なるパラメータ(係数)を適用してもよい。
 なお、本構成要素のパラメータ(係数)は、学習対象に含めず、固定値を使用してもよい。その固定値は、何らかの方法で人間が決定してもよい。例えば入力信号の大きさの分布の統計値等から、人間が決めたあるルールに基づいて固定値を決定してもよい。
 さらに、本構成要素のパラメータ(係数)を学習する際の初期値を、そのようにして人間が決定した値に基づいて決めてもよい。本構成要素のパラメータと、ニューラルネットワークの他の構成要素(畳み込みレイヤ等)の持つ係数は、同時に学習してもよいし、一方を固定しながら他方を学習してもよい。
 以上のような本技術によれば、ニューラルネットワークの認識性能を向上させることができる。しかも、本技術によれば、小規模のニューラルネットワークであっても高い認識性能を得ることができる。
〈コンピュータの構成例〉
 ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
 入力部506は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体511を駆動する。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、本技術は、以下の構成とすることも可能である。
(1)
 学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える
 ニューラルネットワーク装置。
(2)
 前記非線形変換レイヤ処理部の非線形な関数による変換は、対数関数による変換である
 (1)に記載のニューラルネットワーク装置。
(3)
 前記非線形変換レイヤ処理部の非線形な関数による変換は、複数の非線形な関数の組み合わせによる変換である
 (1)に記載のニューラルネットワーク装置。
(4)
 入力信号が入力される入力部をさらに備え、
 前記入力部には、信号の大きさに偏りがある前記入力信号が入力される
 (1)乃至(3)の何れか一項に記載のニューラルネットワーク装置。
(5)
 プーリングレイヤ処理部をさらに備え、
 前記非線形変換レイヤ処理部の処理は、前記プーリングレイヤ処理部による処理の後に行われる
 (1)乃至(4)の何れか一項に記載のニューラルネットワーク装置。
(6)
 畳み込みレイヤ処理部をさらに備え、
 前記非線形変換レイヤ処理部の処理は、前記畳み込みレイヤ処理部による処理の前に行われる
 (1)乃至(5)の何れか一項に記載のニューラルネットワーク装置。
(7)
 前記非線形変換レイヤ処理部の非線形な関数による変換は、活性化関数として行われる
 (1)乃至(6)の何れか一項に記載のニューラルネットワーク装置。
 11 ニューラルネットワーク処理装置, 21 畳み込みレイヤ処理部, 24 対数レイヤ処理部, 25 畳み込みレイヤ処理部, 28 畳み込みレイヤ処理部, 51 ニューラルネットワーク学習装置, 61 入力データ選択部, 62 係数更新部

Claims (7)

  1.  学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える
     ニューラルネットワーク装置。
  2.  前記非線形変換レイヤ処理部の非線形な関数による変換は、対数関数による変換である
     請求項1に記載のニューラルネットワーク装置。
  3.  前記非線形変換レイヤ処理部の非線形な関数による変換は、複数の非線形な関数の組み合わせによる変換である
     請求項1に記載のニューラルネットワーク装置。
  4.  入力信号が入力される入力部をさらに備え、
     前記入力部には、信号の大きさに偏りがある前記入力信号が入力される
     請求項1に記載のニューラルネットワーク装置。
  5.  プーリングレイヤ処理部をさらに備え、
     前記非線形変換レイヤ処理部の処理は、前記プーリングレイヤ処理部による処理の後に行われる
     請求項1に記載のニューラルネットワーク装置。
  6.  畳み込みレイヤ処理部をさらに備え、
     前記非線形変換レイヤ処理部の処理は、前記畳み込みレイヤ処理部による処理の前に行われる
     請求項1に記載のニューラルネットワーク装置。
  7.  前記非線形変換レイヤ処理部の非線形な関数による変換は、活性化関数として行われる
     請求項1に記載のニューラルネットワーク装置。
PCT/JP2019/033625 2018-09-11 2019-08-28 ニューラルネットワーク装置 WO2020054410A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/250,777 US20210312231A1 (en) 2018-09-11 2019-08-28 Neural network device
BR112021004116-8A BR112021004116A2 (pt) 2018-09-11 2019-08-28 dispositivo de rede neural

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-169718 2018-09-11
JP2018169718A JP2022001968A (ja) 2018-09-11 2018-09-11 ニューラルネットワーク装置

Publications (1)

Publication Number Publication Date
WO2020054410A1 true WO2020054410A1 (ja) 2020-03-19

Family

ID=69777577

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/033625 WO2020054410A1 (ja) 2018-09-11 2019-08-28 ニューラルネットワーク装置

Country Status (4)

Country Link
US (1) US20210312231A1 (ja)
JP (1) JP2022001968A (ja)
BR (1) BR112021004116A2 (ja)
WO (1) WO2020054410A1 (ja)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GOOFFELLOW, IAN J. ET AL.: "Maxout Networks", ARXIV, vol. 4, 20 September 2013 (2013-09-20), pages 1 - 9, XP055252282, Retrieved from the Internet <URL:https://arxiv.org/pdf/1302.4389.pdf> [retrieved on 20191113] *
HE, KAIMING ET AL.: "Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification", ARXIV, 6 February 2015 (2015-02-06), pages 1 - 11, XP055694220, Retrieved from the Internet <URL:https://arxiv.org/pdf/1502.01852.pdf> [retrieved on 20191113] *
MIYASHITA, DAISUKE ET AL.: "Convolutional Neural Networks using Logarithmic Data Representation", ARXIV, 17 March 2016 (2016-03-17), pages 1 - 10, XP080686928, Retrieved from the Internet <URL:https://arxiv.org/pdf/1603.01025.pdf> [retrieved on 20191113] *

Also Published As

Publication number Publication date
JP2022001968A (ja) 2022-01-06
US20210312231A1 (en) 2021-10-07
BR112021004116A2 (pt) 2021-05-25

Similar Documents

Publication Publication Date Title
US20240038218A1 (en) Speech model personalization via ambient context harvesting
CN111292764B (zh) 辨识系统及辨识方法
CN110600017A (zh) 语音处理模型的训练方法、语音识别方法、系统及装置
US11514925B2 (en) Using a predictive model to automatically enhance audio having various audio quality issues
JP6987075B2 (ja) オーディオ源分離
CN103258533B (zh) 远距离语音识别中的模型域补偿新方法
WO2022141868A1 (zh) 一种提取语音特征的方法、装置、终端及存储介质
WO2020140374A1 (zh) 语音数据处理方法、装置、设备及存储介质
KR102401959B1 (ko) 다채널 음향 신호를 이용한 심화 신경망 기반의 잔향 제거, 빔포밍 및 음향 인지 모델의 결합 학습 방법 및 장치
CN111128222B (zh) 语音分离方法、语音分离模型训练方法和计算机可读介质
US10262680B2 (en) Variable sound decomposition masks
WO2016119388A1 (zh) 一种基于语音信号构造聚焦协方差矩阵的方法及装置
KR20200029351A (ko) 샘플 처리 방법, 장치, 기기 및 저장 매체
EP4371112A1 (en) Speech enhancement
CN108847251B (zh) 一种语音去重方法、装置、服务器及存储介质
CN112488306A (zh) 一种神经网络压缩方法、装置、电子设备和存储介质
WO2020054410A1 (ja) ニューラルネットワーク装置
US11322169B2 (en) Target sound enhancement device, noise estimation parameter learning device, target sound enhancement method, noise estimation parameter learning method, and program
JP7024615B2 (ja) 音響信号分離装置、学習装置、それらの方法、およびプログラム
CN116982111A (zh) 音频特征补偿方法、音频识别方法及相关产品
US20230343312A1 (en) Music Enhancement Systems
CN111354372A (zh) 一种基于前后端联合训练的音频场景分类方法及系统
WO2024018390A1 (en) Method and apparatus for speech enhancement
CN113744754B (zh) 语音信号的增强处理方法和装置
CN113470686B (zh) 语音增强方法、装置、设备及存储介质

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021004116

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112021004116

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210304

122 Ep: pct application non-entry in european phase

Ref document number: 19859078

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP