WO2017187516A1 - 情報処理システムおよびその運用方法 - Google Patents

情報処理システムおよびその運用方法 Download PDF

Info

Publication number
WO2017187516A1
WO2017187516A1 PCT/JP2016/063072 JP2016063072W WO2017187516A1 WO 2017187516 A1 WO2017187516 A1 WO 2017187516A1 JP 2016063072 W JP2016063072 W JP 2016063072W WO 2017187516 A1 WO2017187516 A1 WO 2017187516A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine learning
layer
data
recognition
learning
Prior art date
Application number
PCT/JP2016/063072
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 PCT/JP2016/063072 priority Critical patent/WO2017187516A1/ja
Priority to JP2018513989A priority patent/JP6714690B2/ja
Priority to US15/761,217 priority patent/US20180260687A1/en
Publication of WO2017187516A1 publication Critical patent/WO2017187516A1/ja

Links

Images

Classifications

    • 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
    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • Deep learning is known as a machine learning technique of a multi-layered neural network (Deep Neural Network: DNNd). This is a technique based on a neural network, but in recent years, the situation has been reviewed again in the field of image recognition, triggered by an improvement in the recognition rate using a convolutional neural network. Deep learning devices range from terminals such as image recognition for autonomous driving to cloud such as big data analysis.
  • Patent Document 1 is configured using a first network and a second network for the purpose of accurately and quickly obtaining the derivative in addition to the output value of the network, and the first network uses a sigmoid function. Although the calculation is performed, the second network discloses a technique for improving the calculation efficiency by performing a derivative operation of the sigmoid function to make a substantial four arithmetic operation.
  • Patent Document 2 relates to a learning method of a neural network having a wide application field such as pattern recognition, character recognition, and various controls. For example, using a plurality of neural networks having different numbers of units in the intermediate layer, An object of the present invention is to provide a neural network learning system capable of performing learning efficiently and at high speed while suppressing an increase.
  • the above patent document cannot be an efficient solution for implementing so-called deep learning in an IoT environment in which a neural network is set deeper.
  • the reason is that the above-mentioned system is intended to use each output for each purpose, and therefore there is no concept of network reconfiguration at each layer and efficient use of computing resources.
  • the hardware scale, power, and computing performance of the hardware installed on the terminal side are limited. In particular, there is a demand for a system that can perform efficient calculations and can appropriately change the configuration according to the situation.
  • a framework that enables efficient processing in cooperation with a central computer is also important.
  • the IoT era will be a huge system with trillion sensors, and it becomes difficult to centrally control everything, but it is also a requirement that the system be capable of autonomous control for each terminal .
  • One aspect of the present invention for solving the above problems is that a plurality of DNNs are hierarchically configured, and the hidden layer data of the DNN of the first layer machine learning / recognition device is used as the second layer machine learning / recognition device. It is an information processing system characterized by using the input data of DNN.
  • the hardware scale of the second hierarchy machine learning / recognition apparatus is configured larger than the hardware scale of the first hierarchy machine learning / recognition apparatus.
  • Another aspect of the present invention is an operation method of an information processing system including a plurality of DNNs, and the plurality of DNNs include a first layer machine learning / recognition device and a second layer machine learning / recognition device. It has a multi-layered structure, and the information processing capability of the second layer machine learning / recognition device is higher than the information processing capability of the first layer machine learning / recognition device.
  • the DNN hidden layer data is used as the DNN input data of the second-layer machine learning / recognition apparatus.
  • the configuration of the DNN neural network of the first layer machine learning / recognition device is controlled based on the processing result of the second layer machine learning / recognition device.
  • data of the second layer is calculated using the data of the first layer, and vice versa. It has a means for calculating data.
  • weight data that determines the relationship between each data of the first layer and each data of the second layer, and the weight data is stored as a single memory holding unit as all the weight coefficient matrices that constitute the weight data.
  • a calculation unit having a product-sum operation unit corresponding to the calculation of each matrix element, which is a constituent element of the weighting coefficient matrix has a one-to-one correspondence. Is stored with the row vector of the matrix as the basic unit, and the calculation of the weighting coefficient matrix is performed for each basic unit stored in the storage holding unit.
  • the first row component of the row vector is held in the storage holding unit in the same arrangement order as the column vector of the original matrix.
  • the second row component of the row vector is held in the storage holding unit while shifting the component of the column vector of the original matrix by one element to the right or left.
  • the third row component of the row vector is held in the storage holding unit by being shifted by one element in the same direction as the direction in which the constituent elements of the column vector of the original matrix are moved by the second row component.
  • the Nth row component of the last row of the row vector is held in the memory holding unit with one element shifted further in the same direction as the component of the column vector of the original matrix is moved by the N-1th row component. Is done.
  • the second layer data when calculating the first layer data from the second layer data using the weighting coefficient matrix, arrange the second layer data as a column vector of the matrix and input each element to the product-sum calculator. At the same time, the first row of the weighting coefficient matrix is input to the product-sum operation unit, the multiplication operation is performed on both data, the result of the operation is stored in the accumulator, and the second and lower rows of the weighting coefficient matrix are calculated.
  • the second layer data is shifted to the left or right, and each time the weight matrix row operation is performed, the second layer data is shifted by one element and then rearranged with the element data of the corresponding row of the weight coefficient matrix.
  • the arithmetic unit has a configuration in which the multiplication operation with the data of the second layer is performed, the data stored in the accumulator of the same operation unit is added, and the same operation is performed up to the Nth row of the weighting coefficient matrix.
  • the data of the first layer is arranged like a column vector of the matrix, and each element is input to the product-sum calculator.
  • the first row of the weighting coefficient matrix is input to the product-sum operation unit, the multiplication operation is performed, the result is stored in the accumulator, and the second and lower rows of the weighting coefficient matrix are calculated.
  • the weighting coefficient matrix row operation is performed, the first layer data is shifted by one element to the left or right, and then the first data is rearranged with the element data of the corresponding row of the weighting coefficient matrix.
  • the multiplication operation with the layer data is performed, and then the accumulator information stored in the operation unit is input to the addition unit of the adjacent operation unit, the addition with the result of the multiplication operation is performed, and the result is stored in the accumulator.
  • Store and perform similar operations on the weight matrix A machine learning arithmetic unit which comprises carrying out N lines away.
  • intermediate data is generated by calculating connection between neurons using a weight function determined in advance by learning. System.
  • This intermediate data is intermediate data obtained by extracting feature points for classifying input data.
  • the generated intermediate data is input to an upper level neural network device provided in the second level.
  • the second-layer neural network device receives an output signal from an intermediate layer of one or more neural network devices in the first layer.
  • the second-layer neural network device receives new inputs from one or more first-layer neural network devices and performs new learning.
  • FIG. 1 is a configuration block diagram according to a first embodiment of the present invention.
  • A The figure which shows the structure of a 1st hierarchy
  • B It is explanatory drawing of the structure between each calculation node.
  • FIG. 6 is a block diagram showing another form of the embodiment shown in FIG. 2 (A). It is a figure which shows the communication protocol of a 1st hierarchy and a 2nd hierarchy. It is a flowchart which shows the sequence which updates the DNN information of a 1st hierarchy.
  • the same symbol or number may be distinguished by adding a suffix. However, if there is no need to distinguish between them, the suffix may be omitted.
  • notations such as “first”, “second”, and “third” are attached to identify the constituent elements, and do not necessarily limit the number or order.
  • a number for identifying a component is used for each context, and a number used in one context does not necessarily indicate the same configuration in another context. Further, it does not preclude that a component identified by a certain number also functions as a component identified by another number.
  • FIG. 1A explains the basic concept of this embodiment.
  • the simplest example is to perform learning on the server side as shown in FIG. It will be a system that performs recognition on the terminal side.
  • the inventors of the present application proceeded with the DNN study, they found that learning on the upper server side becomes efficient by utilizing the intermediate data of the DNN calculation in the recognition unit.
  • the input data on the terminal side and the DNN middle layer data when the terminal side recognizes are sent to the server side.
  • the learning is performed on the side, and the learning result on the server is transmitted to the terminal side at an appropriate timing to advance the recognition operation on the terminal.
  • the input of the DNN on the server side is to use the data output of the intermediate layer of the DNN of the terminal and learn with the DNN in each layer.
  • the DNN of the terminal performs supervised learning
  • the DNN of the server performs supervised learning.
  • the terminal-side DNN device is composed of a small, small-area, low-power device
  • the server-side DNN device is composed of a so-called server having high-speed computation and a large-capacity memory.
  • FIG. 1B is a diagram showing a main embodiment of the present invention.
  • FIG. 1B (a) shows a system composed of a plurality of machine learning devices (DNN1-1 to 2-1).
  • DNN1-1 to 2-1 machine learning devices
  • paths indicated by nd011-nd014, nd021-nd024, and nd031-nd034 indicate paths connecting the levels of each neural network.
  • the first machine learning and recognition device hierarchy (1 st HRCY) machine learning and recognition device and the second hierarchy (2 nd HRCY) are hierarchically connected.
  • Each machine learning / recognition device DNN includes an input layer IL, an intermediate layer HL, and an output layer OL.
  • the first layer machine learning / recognition device and the second layer machine learning / recognition device in the deep neural network constituting the first layer machine learning / recognition device, it is not the data of the output layer OL at the time of recognition.
  • the intermediate layer HL data (nd014, nd024) generated during the recognition process, which is called a hidden layer, is used as the input of the second-level machine learning / recognition apparatus.
  • the data from the output layer OL is output as data that presents the recognition result in a histogram or the like for each category classified in advance, and is composed of data indicating how the input data is classified as a result of recognition.
  • Data from the intermediate layer (hidden layer) HL is data obtained by extracting feature values of the input data.
  • the reason why this intermediate layer data is utilized is that the intermediate layer data is the data from which the features of the input data are extracted, and the high-quality input data in the learning by the second-level machine learning / recognition device Because it can be used as.
  • the signals (nd015, nd025) from the second hierarchy learning / recognition apparatus to the first hierarchy learning / recognition apparatus are the network and weight of the first hierarchy learning / recognition apparatus, or a signal for instructing a change thereof. This is because a change signal is issued when it is necessary to change the recognition network of the first layer learning / recognition apparatus in the learning / recognition processing in the first and second layers. This makes it possible to improve the recognition rate of the first layer learning / recognition apparatus in the actual operation situation.
  • CNN convolutional neural network
  • a part of the original image is cut out (called the kernel) for the part corresponding to the hidden layer, and so-called image convolution is performed by a pixel-unit product-sum operation with a weight filter of the same image size.
  • image convolution is performed by a pixel-unit product-sum operation with a weight filter of the same image size.
  • a pooling operation for coarse-graining the image is further performed to generate a plurality of smaller data.
  • the hidden layer is characterized in that information that is a feature of the original image is efficiently extracted.
  • the inventors have found that, in considering data conversion in machine learning, for example, it is possible to improve learning efficiency by effectively using data extracted from features appearing in a hidden layer of CNN.
  • image recognition learning In general, it is often difficult for a machine to grasp the meaning of image data, even if it can be understood by human beings when it is understood.
  • the above hidden layer data is processed to conspicuously show the features of the image at the same time as compressing information by convolution with weight data and coarse-graining by statistical processing between surrounding pixels. Is a feature.
  • CNN by providing a plurality of such feature extraction processes, it is possible to make the feature quantity stand out, and by processing the feature quantity, there is a feature that makes the judgment of the image close to the correct answer with high probability.
  • the data in the intermediate layer is worthy of highlighting features.
  • a neural network type learning machine requires computation in proportion to the number of neurons, computing resources (calculation performance, hardware scale, etc.) ) Is important.
  • the low latency is satisfied in order to satisfy the requirement (3).
  • the machine learning / recognition apparatus is small and capable of high-speed feedback and has limited functions.
  • the requirement (2) is also satisfied.
  • FIG. 1B (b) shows a combination configuration example of four types of hardware used in the first layer and the second layer.
  • the hardware scale on the second layer side is made larger than that on the first layer side.
  • the information processing capability is generally higher.
  • the requirement (4) is also satisfied.
  • learning in the second level is performed by using the conventional first level using input data. Compared with the learning similar to the recognition in the above, qualitative improvement can be made for the requirement (1). This is because a larger amount of information is input to the second layer machine learning / recognition apparatus by taking values from the hidden layer instead of the output layer of the first layer machine learning / recognition apparatus.
  • the first layer machine learning / recognition device and the second layer machine learning / recognition device can each have a learning function.
  • supervised learning is performed by the second hierarchy machine learning / recognition apparatus.
  • learning is easier than making the whole one DNN.
  • the learning of the second layer machine learning / recognition device can be performed while using the data from other first layer machine learning / recognition devices as input data, it is possible to efficiently increase the amount of data, and the learning efficiency and Improve learning outcomes.
  • the second-level machine learning / recognition device supervised learning is performed by using the hidden layer value calculated by the first-level machine learning / recognition device as input, so that learning is repeated in the second-level machine learning / recognition device.
  • supervised learning is performed by using the hidden layer value calculated by the first-level machine learning / recognition device as input, so that learning is repeated in the second-level machine learning / recognition device.
  • FIG. 2 shows a specific configuration of the first layer machine learning / recognition apparatus (DNN1).
  • a neural network type machine learning / recognition apparatus includes nodes (i 1 to i L ) of an input layer IL1, nodes (o 1 to o P ) of an output layer OL1, and , Each node of the hidden layers HL11 to HL13 (n 2 1 to n 2 M , n 3 1 to n 3 N , n 4 1 to n 4 O ), and the connection between the nodes is shown in FIG.
  • the arithmetic operation (AU) of the weights w i j, k and the input node n i j is entered into the connection between n i j and n i + 1 k .
  • DNN network configuration controller is a control circuit that controls the DNN network configuration.
  • DNN configuration data is stored as information on the neural network configuration information data transmission line (NWCD) and weight coefficient change line (WCD), and the information is reflected in the DNN device as necessary.
  • This configuration data can correspond to a so-called configuration memory when using an FPGA (Field Programmable Gate Array) described later.
  • the DNN network configuration control unit can communicate with the second layer machine learning / recognition device (DNN2).
  • the contents of the DNN configuration data can be transmitted to the second layer machine learning / recognition apparatus, and the contents of the DNN configuration data can be received from the second layer machine learning / recognition apparatus. Data for communication will be described later with reference to FIG. 3B.
  • the data storage memory (DNN_MIDD) has a function of holding data of each layer of the neural network and outputting it to the second layer machine learning / recognition device.
  • the data of nd014 and nd024 have been described in the form of being transmitted to the second layer machine learning / recognition apparatus.
  • LM learning module
  • This is a well-known technique generally called supervised learning, but it is possible to evaluate how much the output result of the result calculated by DNN1 deviates compared to so-called teacher data (TDS1), which is considered correct. It is important to learn that the weighting coefficient of the neural network is changed based on the amount of deviation.
  • the error detection unit (DD: Deviation Detection) unit calculates the error amount (DDATA) by matching the DNN1 calculation result with the teacher data (TDS1), and compares the result information with the correct answer information as necessary. Recognition result rating information is generated and stored.
  • weights are determined and stored by a weight coefficient adjustment circuit (WCU: Weight Change Unit), weight coefficients are set by weight coefficient change lines (WUD), and each neural network n i j and n i is set.
  • WCU Weight Change Unit
  • WUD weight coefficient change lines
  • each neural network n i j and n i is set.
  • the weights w i j, k defined as +1 k are changed.
  • FIG. 3A shows another configuration example of the first layer machine learning / recognition apparatus (DNN1).
  • DNN1 first layer machine learning / recognition apparatus
  • the data of the final output layer OL1 that has undergone recognition processing (Recognition) is used as input, and the inverse operation (Learning) of the recognition operation is performed and returned to the input layer IL1.
  • DD error detection unit
  • LM learning modules
  • DNN_MIDD data storage memory
  • the first-level machine learning / recognition apparatus (DNN1) is provided with means for storing a recognition result recognition result score at the same time as performing recognition processing, and the recognition result is a predetermined threshold value 1 If the variance is greater than a predetermined value when the recognition result histogram is created, or if the variance is greater than a predetermined value, An update request transmitting means for transmitting an update request signal to the DNN neural network structure and the weighting coefficient of the first layer machine learning / recognition device is provided for the second layer machine learning / recognition device.
  • the second layer machine learning / recognition device Upon receiving the update request signal of the first layer machine learning / recognition device, the second layer machine learning / recognition device (DNN2) updates the DNN neural network structure and weighting factor of the first layer machine learning / recognition device. Then, the update data is transmitted to the first hierarchy machine learning / recognition apparatus.
  • the first-level machine learning / recognition device (DNN1) builds a new neural network based on the updated data.
  • FIGS. 2A and 3A show specific examples of the first-level machine learning / recognition apparatus (DNN1).
  • the basic structure of the second-level machine learning / recognition device (DNN2) is the same.
  • supervised learning is performed by using data from the hidden layer HL of the first layer machine learning / recognition device (DNN1) as an input to the second layer machine learning / recognition device (DNN2). It also has an interface for data communication with the DNN network configuration controller (DNNCC) of the first layer machine learning / recognition device (DNN1) and the data storage memory (DNN_MIDD).
  • DNNCC DNN network configuration controller
  • DNN_MIDD data storage memory
  • FIG. 3B is a diagram showing communication protocols of the first layer and the second layer. The structure of data held in the first hierarchy is shown in both the case where learning is performed by the first hierarchy machine learning / recognition apparatus and the case where learning is not performed.
  • the configuration information (DNN #) of the neural network As information representing the features of the first layer machine learning / recognition device, the configuration information (DNN #) of the neural network, the weight coefficient information (WPN #), the comparison result information (RES_COMP) with the correct answer information, It consists of recognition result information (recognition accuracy rate, etc., Det_rank), configuration update request signal (update request) (UD (Req) of the first layer machine learning / recognition device.
  • the configuration update request signal of the first hierarchy machine learning / recognition apparatus has a configuration of several bits at most, and the second hierarchy machine learning / recognition apparatus periodically requests the configuration update of the first hierarchy machine learning / recognition apparatus. Check the signal to see if it needs to be updated. If this information indicates a request for update, prepare to transfer the latest data additionally learned by the second-layer machine learning / recognition device to the first-layer machine learning / recognition device, and prepare to transfer data update information Then, the request update preparation completion signal data is transmitted to the first hierarchy machine learning / recognition apparatus and stored in the data of the first hierarchy machine learning / recognition apparatus. This data is stored as UD_Prprd.
  • DNN learning is performed in the second-level machine learning / recognition device, if the learning fails to achieve the desired recognition rate, the learning in the first-level machine learning / recognition device may be re-executed. Conceivable. Even in such a case, since learning is hierarchized, there is an effect that efficient calculation as a whole becomes possible.
  • FIG. 4 shows a program sequence for changing the configuration of the first layer machine learning / recognition apparatus.
  • the second-tier machine learning / recognition device can First-tier machine learning / recognition device update request information is transmitted to the recognition device.
  • a data preparation completion signal or update bit is sent to the first layer machine learning / recognition device. Send information.
  • the boot sequence shown in FIG. 4 is run in a situation where the first-tier machine learning / recognition apparatus is rebooted.
  • the second layer machine learning / recognition device By checking the data preparation completion signal or the update bit information, it is determined whether data update access to the second layer machine learning / recognition device is necessary, and if necessary, the second layer machine learning / recognition device Sends a data download request signal to the server (S401), detects the arrival of update data, stops downloading the update data (S402), uses parity and CRC (Cyclic Redundancy Check) to check the normality of the data Inspect (S403). Thereafter, the FPGA configuration information is reconfigured (S404). Thereafter, the FPGA is booted (S405), and normal operation is started (S406).
  • CRC Cyclic Redundancy Check
  • Figure 5 shows the configuration when applying DNN to FPGA (501) when DNN is configured with FPGA.
  • a dynamic rewriting technology of the configuration memory (CRAM) inside the FPGA is used.
  • the FPGA includes a look-up table unit (LEU) and a switch unit (SWU), and an arithmetic unit (DSP) and a memory (RAM) that perform a product-sum operation and the like configured by hardware.
  • LEU look-up table unit
  • SWU switch unit
  • DSP arithmetic unit
  • RAM memory
  • the logic circuit such as DNN network in this embodiment is mounted on LEU, SEU, DSP, RAM and performs normal operation.
  • updating the contents of the DNN as described above can be realized by writing the update data transmitted from the second-level machine learning / recognition apparatus into the CRAM by the CRAM control circuit (CRAMC).
  • CRAMC CRAM control circuit
  • this first-level machine learning / recognition device when configuring this first-level machine learning / recognition device with an FPGA, intermediate layer data stored in the memory, and network configuration information (configuration information describing the switch part of the FPGA), it is conceivable that weight information, discrimination information of recognition information recognized by the first hierarchy learning / recognition apparatus, and the like are transmitted to the second hierarchy learning / recognition apparatus.
  • the second layer learning / recognition device can send efficient, high-quality data, This has the effect of improving learning efficiency in the second hierarchy.
  • the configuration of this embodiment it is not necessarily limited to the type of neural network in the first layer and the second layer.
  • the same network is formed in the first hierarchy and the second hierarchy, there is an effect that a larger neural network can be constructed as a whole.
  • a neural network for image recognition processing is configured in the first layer and a neural network for natural language processing is assembled in the second layer, the effect of enabling efficient learning linked to the first layer and the second layer is effective. is there.
  • FIG. 6 is an embodiment characterized in that no means for sending data from the second-tier machine learning / recognition device DNN2 to the first-tier machine learning / recognition device DNN1 is provided.
  • the simplest configuration is obtained.
  • the advantage of this method is that the second-tier machine learning / recognition device DNN2 performs learning and recognition computation using the computation results of the first-tier machine learning / recognition device DNN1, but the second-tier machine learning / recognition device There is no feedback path from DNN2 to the first layer machine learning / recognition device DNN1, and therefore the first layer machine learning / recognition device DNN1 and the second layer machine learning / recognition device DNN2 are independent from each other. It is a point that can be.
  • the second layer machine learning / recognition device DNN2 performs supervised learning using the values of the hidden layers HL13 and HL23 calculated by the first layer machine learning / recognition device DNN1 as inputs. Therefore, when the learning is repeatedly performed in the second hierarchy machine learning / recognition apparatus DNN2, it is not necessary to perform the operation again in the first hierarchy machine learning / recognition apparatus DNN1, so in the second hierarchy machine learning / recognition apparatus DNN2 In the learning, there is no need to re-execute the learning executed by the first-level machine learning / recognition device DNN1, and there is an effect that the calculation amount can be reduced as a whole.
  • the second-level machine learning / recognition device can be input to the second-level machine learning / recognition device DNN2 by generating and transferring the input data during learning by the first-level machine learning / recognition device DNN1 even in the case of learning computation. There is also an effect that less data is passed to DNN2.
  • FIG. 7 assumes a case where the first-level machine learning / recognition apparatus DNN1 advances the recognition process.
  • a signal line from the upper hierarchy to the lower hierarchy will be described.
  • from the upper hierarchy Can easily be extended when there is a signal connection.
  • the first-level machine learning / recognition device DNN1 receives input from an external sensor device or a database, and executes recognition processing inside DNN1. At that time, the data of the intermediate layer, here, the data of nd014nd is held in the data storage STORAGE 1 (HDD, Flash memory, DRAM, etc.) attached to DNN1.
  • the first layer machine learning / recognition device DNN1 assumes that the hardware scale is often limited, and it is considered that there is a limit to data storage in this layer. For this reason, it is desirable to implement a temporary memory-like configuration such as FIFO in this layer, and by intermittently transmitting the data to the second layer machine learning / recognition device DNN2, in the second layer, the database Construct Class DATA.
  • the recognition score information obtained by advancing the recognition process in DNN1, the neural network configuration information of DNN1 device, and the weighting factor information are stored at the same time, it is added in the second-level machine learning / recognition device DNN2.
  • the neural network information and the weighting factor information may be information that can be mutually recognized in the first layer and the second layer, and for example, it is conceivable to share the data in units of 64 bits.
  • the first layer does not need to understand details of network configuration information and weight coefficient information, and does not forget the network being executed and the weight coefficient information.
  • the second layer machine learning / recognition device DNN2 needs to know what kind of weighting factor pattern is used in what network the first layer machine learning / recognition device DNN1. It is necessary to prepare a correspondence table with the corresponding first level machine learning / recognition device DNN1.
  • FIG. 8 shows a case where there are three or more first level machine learning / recognition devices DNN1.
  • the first-level machine learning / recognition device DNN1 performs learning and recognition calculation independently of each other, so even if the number is increased, the second-level machine learning / recognition device DNN2 performs learning. Extension to is easy.
  • connection between the first layer and the second layer is described as only the information connection between the two layers. However, as the number of the first layer is increased, the connection is more efficient. The connection method becomes important.
  • an embodiment has been described in which data is exchanged using the network NW.
  • This network NW may be wireless or wired, and may be connected appropriately depending on the location and situation where the system is installed.
  • FIG. 9 is a diagram showing a modified example. The feature in this figure shows that the first-tier machine learning / recognition device DNN1 can be shared by different second-tier machine learning / recognition devices DNN2-1 and DNN2-2.
  • the first hierarchy machine learning is performed.
  • the connection between the recognition device DNN1 and the second-level machine learning device DNN2 can be implemented flexibly. This is a configuration that takes advantage of the feature of performing independent calculations in the first and second layers.
  • FIG. 10 is a diagram showing an example of another modification.
  • the feature in this figure is that the data of the optimum layer is selected from the plurality of intermediate hidden layers as data to be input from the first layer machine learning / recognition device DNN1 to the second layer machine learning / recognition device DNN2.
  • the feature is that it can be transmitted.
  • the figure extracted from the output of the HL12 and HL22 layers is shown, but the output from HL11, HL21, etc. may be used.
  • the switching of this connection can be set independently of the first layer machine learning / recognition device DNN1 and the second layer machine learning / recognition device DNN2 and the second layer machine learning / recognition device DNN2.
  • the transmission data to the second layer machine learning / recognition device DNN2 desirably transmits the network structure and the weight coefficient information together with the intermediate layer data.
  • the means described in the first embodiment may be used.
  • switching of output data can be set in cooperation with other first-level machine learning / recognition device DNN1 and second-level machine learning / recognition device DNN2.
  • the second It is effective to provide a signal transmission / reception indicating whether or not to switch the layer from which transmission data is extracted to the hierarchical machine learning / recognition device DNN2.
  • the recognition rate is evaluated when learning based on the data is performed, and the related first machine learning / The output control switching control of the recognition device group may be executed.
  • FIG. 11 shows an embodiment in which operation layers are provided in three layers.
  • the reason for providing a plurality of operation hierarchies is based on the calculation capability and efficiency.
  • the first-level machine learning / recognition device DNN1 is intended to be installed in an embedded system, and is very compact and has large power constraints, so a large amount of computation cannot be expected.
  • the computations of the second and third layers DNN2 and DNN3 have less computational hardware restrictions, making it possible to perform large-scale and high-speed computations by taking advantage of the advantages of larger size and relaxed power constraints.
  • the second-layer machine learning / recognition device is provided with the neural network structure of the first-layer machine learning / recognition device DNN1 and the duplicate DNN1C of the weighting factor information.
  • the learning calculation is performed by the device.
  • the neural network structure and weight coefficient information of the learning result are appropriately reflected in the first layer machine learning / recognition device DNN1 by the data nd015.
  • the present embodiment there are fewer functions on the terminal side, and the amount of hardware to be mounted can be reduced.
  • learning with a high-performance machine learning / recognition device in the second hierarchy has an effect of shortening the time required for learning by the first-layer machine learning / recognition device DNN1.
  • the hidden layer value is calculated in the first layer machine learning / recognition device DNN1, and the result nd014 is sent to the second layer machine learning / recognition device DNN1C.
  • the learning in the second layer is repeatedly performed using the intermediate layer data of the first layer machine learning / recognition device DNN1.
  • Data such as the structure of the neural network and the weighting coefficient obtained as a learning result in the second hierarchy machine learning / recognition apparatus DNN1C is transmitted to the first hierarchy machine learning / recognition apparatus DNN1 at an appropriate timing.
  • the first hierarchy machine learning / recognition apparatus DNN1 performs the recognition process after reflecting the updated configuration information.
  • the first layer machine learning / recognition device DNN1 does not need to perform the calculation again, so that the amount of calculation during learning can be reduced.
  • the learning function in the first layer machine learning / recognition device DNN1 is not used at the time of normal recognition calculation, but is learned at the timing of initialization or update. Is a feature.
  • the second-layer machine learning / recognition apparatus has a copy of the first-layer machine learning / recognition apparatus, and after learning there, the first-layer machine learning / recognition apparatus reflects the neural network structure, weighting factors, and the like.
  • supervised learning is performed in the first-level machine learning / recognition device, and the learning result data is used as an initial value. As shown in the first embodiment, supervised learning is performed in the entire system including the first hierarchy and the second hierarchy.
  • FIG. 14 shows a specific embodiment when applied to Convolutional Neural network (CNN).
  • CNN the hidden layer is composed of a convolution layer (Convolution Layer: CL) and a pooling layer (Pooling Layer: PL), and a plurality of combinations thereof are provided.
  • the data of the hidden layer is data such as nd111 to nd115.
  • an FPGA is used for the first layer machine learning / recognition device DNN1 and the second layer machine learning / recognition device is composed of a device composed of a CPU and a GPU.
  • CNN is structurally decomposed into small pixel blocks (called kernels) with respect to the input image, and performs the inner product operation with the weighting coefficient matrix corresponding to the same number of pixels while scanning the original image in every unit. .
  • kernels small pixel blocks
  • parallel processing in hardware is effective, and implementation with an FPGA having a large number of arithmetic units and memories in the LSI is very efficient with low power and high performance.
  • the second hierarchy it is effective to efficiently distribute data from a plurality of first hierarchies as a batch process to a plurality of arithmetic units, and a low-cost distributed arithmetic system using software processing is effective. It is desirable to use it. As in this example, it can be easily applied to various DNNs.
  • FIG. 15 shows an example of application to a machine learning system using different sensors (for example, a camera and a microphone).
  • the image processing neural network DNN1-11 and the voice processing neural network DNN1-13 are combined.
  • recognition with a robot or the like, it is considered that characterizing both the image and the sound is highly effective in various recognitions. This is because, when a person understands things, the amount of information is dramatically larger than the case where the visual information and the auditory information are combined, which is a single case, so that the recognition efficiency is increased.
  • the image is processed by CNN and the voice is constituted by a fully connected neural network.
  • the configuration is aimed at improving the recognition rate by using various types of non-uniform neural networks and merging the advantages.
  • the learning itself can be learned separately, there is an effect that the learning itself is easy even in a complicated system.
  • FIG. 16 shows a system application and operation method of this embodiment including a database construction system for object recognition to which such a system is applied.
  • a plurality of first-level machine learning / recognition devices perform recognition / learning on one target at the same time, and hidden layer data calculated by the first-level machine learning / recognition device is used as a second-level machine learning / recognition device. To communicate.
  • this object is not limited to image data.
  • data from various angles such as audio information, temperature information, odor information, and texture information (hardness and composition) are handled as input.
  • efficient information is transmitted to the second layer machine learning device, and more detailed multi-sensor cooperation learning / recognition is performed.
  • the learning enhancement period is thus characterized by conducting detailed observations at the laboratory level. Furthermore, the results need to be put into actual operation. This period is defined as the actual operation period. During this period, reconfiguration data is transmitted from the second-level machine learning / recognition device to the first-level machine learning / recognition device so that efficient recognition can be realized even if the first-level machine learning / recognition device is a single unit.
  • This situation is based on the first embodiment of this application, such as transmitting the recognition results for the constantly changing environment to the second-layer machine learning / recognition device as appropriate, and further data for efficient recognition. Conduct collection.
  • the quality of the initial data (high recognition rate, efficient neural network form, etc.) can be improved when it is used in the actual operation period. I can expect.
  • the first level machine learning / recognition devices DNN 1 to DNN N are assumed to be small learning / discriminators, and the second layer machine learning / recognition device DNN is a large learning machine. Assumed.
  • the 1st step learning is performed with the second-level machine learning / recognition device DNN.
  • This is the first learning phase (learning I). Therefore, learning by the second-level machine learning / recognition device DNN with abundant computational resources is efficient.
  • the input data is learned with data that matches the operational status implemented in 2nd STEP. For example, when considering automatic driving or the like, moving image data taken by a camera provided in an automobile can be considered. In a sense, learning at this stage uses data under limited conditions, and the amount of data is limited, but a basic DNN network for the first-level machine learning / recognition device is constructed. It is positioned as learning that builds a basic configuration for doing this.
  • the discriminator is installed in the first-level machine learning / recognition devices DNN 1 to DNN N to perform recognition and learning (supervised learning) through on-the-job training under actual operational conditions. Learning at this stage is exactly equivalent to on-the-job training for acquiring a driver's license when acquiring a driver's license.
  • the main purpose is to collect data for improving the recognition rate, and the purpose is to grasp the separation status of the DNN constructed in the first step from the teacher data. For example, when it is applied to an automatic driving system, it is installed in an actual car, and a driver (human) judgment is used as teacher data, and the deviation is scored to collect data.
  • the data of the hidden layer of DNN 1 to DNN N is sent to the second layer machine learning / recognition device DNN as appropriate, and further learning is accumulated in the second layer machine learning / recognition device DNN.
  • the update data is reflected on the recognition devices DNN 1 to DNN N, and supervised learning is promoted by the first layer machine learning / recognition devices DNN 1 to DNN N.
  • the score is particularly good, when the score is bad, or when the judgment is good, it is sorted out and sent to the second level machine learning / recognition device DNN.
  • the device DNN enables multifaceted learning while also using such information.
  • This stage corresponds to the case where the discriminators of the first-level machine learning / recognition devices DNN 1 to DNN N are sufficiently learned, and is a stage where a control right is given.
  • the first-level machine learning / recognition apparatus does not perform the learning, but mainly performs the recognition process.
  • basic items are compared with teacher data, a simple check mechanism that maintains the level of the comparison results is provided, and appropriately transmitted to the second-level machine learning / recognition device DNN. Continuous learning is carried out with the DNN machine learning / recognition device.
  • FIG. 18 shows an embodiment for implementing a fully connected layer of a neural network with an FPGA. It is a connection form used in neural networks such as the final output layer of the CNN method and the GRBM (Gaussian Restricted Boltzmann Machine) method, but high-efficiency implementation is required to make it an FPGA.
  • the calculation order of the weighting factors is different between the calculation of connection from the lower layer (visible layer) to the upper layer (hidden layer) and the calculation from the upper layer (hidden layer) to the lower layer (visible layer).
  • the lower layer is composed of four nodes from Vo to V3
  • the upper layer is composed of three nodes from h0 to h2
  • the lower layer nodes are all connected to the upper layer nodes.
  • the operation is to calculate the value of the node on the output side by multiplying the value of the node by the weight function.
  • this value is expressed in a matrix format, it is expressed as a 4 ⁇ 4 matrix.
  • the weighting factor is a matrix having a very large dimension, it is disadvantageous in cost to prepare two such matrices, especially in the first layer machine learning / recognition apparatus. . Therefore, it is important to have a memory configuration that retains this weighting coefficient that can reduce the area while maintaining high-speed computation.
  • the means for realizing this will first be the following matrix representation as shown in FIG. 18 (B) when storing the weighting factor.
  • the arithmetic circuit is a product-sum arithmetic circuit as shown in FIG. 18C, and the operation result of this circuit is input to the input selector unit in the multiplication unit and addition unit in the input path to the accumulator. It has a feature that it has a path and a path to be input to the multiplication unit and the addition unit of the adjacent product-sum operation circuit.
  • Each arithmetic unit has a multiplication unit (pd0 to pd3), an addition unit (ad0 to ad3), and an accumulator (ac0 to ac3).
  • the input of the addition unit is a selector, and the first input is 3 inputs. (I000, i001, i002), the second input is (i010, i011, i012), the input of the addition unit is the output of the multiplication unit as the first input, and the second input is four inputs that can be switched by the selector ( i020, i021, i022, i023) are shown.
  • i020 is “0”
  • i021 is an input from a register
  • i022 is an accumulator output
  • i023 is an example in which an input is shared with a part (i012) of a multiplication unit input.
  • the data input to the V register is input to each adder (i010, i020, i030, i040), and the corresponding W array weight coefficient is input to the multiplier (i000, i100, i2000, i300), and multiplication is performed.
  • information at address # 3 is read from the W array and input to the multiplication unit (i000, i100, i2000, i300).
  • the corresponding unit of the H register is input to the multiplication unit (i010, i020, i030), then multiplied, and initially “0” is added and then stored in the accumulator.
  • the storage data of the accumulator is input to the adder circuit of the adjacent arithmetic unit, so sw01, sw11, sw21, and sw31 are turned on, and sw02, sw12, sw22, and sw32 are turned off, and the computation is performed.
  • the example in which the DNN device is hierarchized and the terminal side processing unit and the server side processing unit are provided has been described. Furthermore, the input data on the terminal side and the DNN intermediate layer data when recognition is being performed on the terminal side are sent to the server side, learning is performed on the server side, and the learning result on the server is The example which advances to the recognition operation
  • the input of the DNN on the server side is to use the data output of the intermediate layer of the DNN of the terminal and learn with the DNN in each layer.
  • the DNN of the terminal performs supervised learning, and then the DNN of the server performs supervised learning.
  • the DNN device on the terminal side is composed of a small, small area, low power device, and the DNN device on the server side is composed of a so-called server having high-speed computation and a large capacity memory.
  • the hierarchical learning has the effect of shortening the learning time and facilitating the learning itself, rather than making the entire DNN as one.
  • control variable originally considered by the designer is not necessarily optimal, but between multiple terminals and servers where such optimization is difficult.
  • the overall DNN configuration can be optimized as a whole.
  • the present invention is not limited to the above-described embodiment, and includes various modifications.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • machine learning can be applied in all technical fields to which machine learning can be applied, for example, social infrastructure systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

ニューラルネットワークの効率的な学習を可能とする。 複数のDNNを階層的に構成し、第一階層機械学習・認識装置のDNNの隠れ層のデータを、第二階層機械学習・認識装置のDNNの入力データとする。

Description

情報処理システムおよびその運用方法
 機械学習を適用できる技術分野全般、例えば、社会インフラシステム分野に関し、特に階層型ディープニューラルネットワークシステムに関する。
 サーバ等に搭載されるCPUは、微細化に頼った動作処理性能の向上が難しくなってきており、コンピュータアーキテクチャとしてのノイマン型コンピュータの限界が顕在化してきた。そのような背景のもと、非ノイマン型コンピューティングの研究が加速している。非ノイマン型コンピューティングの候補として、ディープラーニングが顕在化している。
 ディープラーニング(deep learning)は、多層構造のニューラルネットワーク(ディープニューラルネットワーク:DNN (deep neural network))の機械学習技術として知られている。これはニューラルネットワークに基づく技術であるが、近年、画像認識の分野で畳込み型ニューラルネットワークによる認識率向上をきっかけに、再度見直されている状況になっている。ディープラーニングの適用機器は、自動運転向け画像認識など端末から、ビッグデータ解析などクラウドまで多岐にわたる。
 一方で、近年は全ての機器がネットワークにつながるという、IoT (Internet of Things)の可能性が示唆されており、端末の小型・廉価な装置に対して、コストが許される限りの高性能な処理を持たせて、社会インフラ等の効率活用に向けた取り組みも盛んになってきた。これは、上記のように、サーバ等へ搭載されるプロセッサの動作速度は向上が頭打ちになっているものの、半導体技術微細加工技術の進化により、特に組込み型システムにおけるLSIの集積度は増大の余地があり、様々なデバイスの開発が加速されている。特に、GPGPU(General Purpose Graphic Processing Unit)、やFPGA(Field Programmable Gate Array)の発展が著しくなってきたことも一因である。
特開平8-292934号公報 特開平5-197705号公報
 特許文献1は、ネットワークの出力値に加え、その微係数を正確かつ短時間で求めることを目的に、第一のネットワークと第二のネットワークを用いて構成し、第一のネットワークはシグモイド関数を演算するが、第二のネットワークはシグモイド関数の導関数演算することで、実質四則演算にすることで計算効率を向上させる技術を開示している。
 一方の特許文献2は、パターンや文字の認識、各種制御等の広い応用分野を持つニューラルネットワークの学習方式に係わり、例えば中間層のユニット数が異なる複数のニューラルネットワークを用いて、ハードウエア量の増加を抑えながら学習を効率的、かつ高速に行うことができるニューラルネットワークの学習システムを提供することを目的としている。
 しかしながら、上記の特許文献は、ニューラルネットワークがより深く設定される、いわゆるディープラーニングをIoT環境で実施する上での効率的な解決策にはなりがたい。その理由は、上記のシステムはあくまでも、それぞれの出力を各目的に対して用いることを念頭においており、そのため、各階層でのネットワークの再構成や、計算資源を効率的に活用する概念がない。しかしながら、今後、実用化が期待されるIoTの分野においては、端末側に搭載されるハードウエアに対して、背景技術でも述べたように、ハードウエア規模や電力、演算性能に制限がある状況の中で、効率的な演算を実施し、しかも、状況に応じて適切に構成を変更できるシステムが望まれている。
 さらに、IoTでは、従来の組み込み装置におかれた環境と決定的に違う点として、ネットワークの介在があり、そのネットワークを介して、違う場所に存在するある程度規模の大きな演算資源を活用できるという点が挙げられる。そのため、このような、IoT時代の組込み装置の高付加価値化は今後急拡大すると想定されるとともに、それを実現させる技術の創出が望まれている。
 このような状況の中、今後の技術の方向性を模索した。計算機としては、末端部分については小型で演算性能の限られたものしか使えず、中央部では、計算資源(計算能力、屋情報集積記憶装置)の大型なものが使えるが、IoT時代には、末端部分での効率的な演算処理が求められる。中でもニューラルネットワークをベースとした技術は有望であり、現在使用することができる演算資源を有効に活用しながら、そのニューラルネットワークを構築することが必要になってきている。これは、革新的な情報処理装置になると考えられる。また、末端の制御は、リアルタイム性などの制御対象への高速な追従性や制御レイテンシを守った制御が必要になるので、中央の計算機からの指令だけの制御ではその要件を満たすことができない。中央の計算機と連携した効率的な処理ができるフレームワークも重要になる。さらに、IoT時代はトリリオンセンサによる巨大システムになるとの見方もあり、全てを中央集権的に制御することも困難になる中、端末ごとの自律的な制御が可能なシステムであることも要件となる。
 以上、課題をまとめると
(1)組込み装置における各種制限(ハード規模、電力、演算性能)下での革新的な情報制御装置の創出
(2)IoT時代はネットワークによる物理的に離れた演算資源の利活用が可能であるので、その資産を有効に活用する技術であること
(3)IoT時代は、トリリオンセンサによる巨大システムになるとの想定があり、自律した制御が可能なシステムであること
となる。
 上記課題を解決するための、本願発明の一側面は、複数のDNNを階層的に構成し、第一階層機械学習・認識装置のDNNの隠れ層のデータを、第二階層機械学習・認識装置のDNNの入力データとすることを特徴とする情報処理システムである。
 より具体的な例では、第一階層機械学習・認識装置のDNNについて出力層が所望の出力となるように教師有り学習を行った後、第二階層機械学習・認識装置のDNNの教師有り学習を行う。
 別の具体的な例では、第一階層機械学習・認識装置のハードウエア規模よりも、第二階層機械学習・認識装置のハードウエア規模を大きく構成する。
 本発明の他の一側面は、複数のDNNから構成される情報処理システムの運用方法であって、複数のDNNは、第一階層機械学習・認識装置と第二階層機械学習・認識装置を含む多層構造を構成し、第二階層機械学習・認識装置の情報処理能力は、第一階層機械学習・認識装置の情報処理能力よりも高いものを用いることとし、第一階層機械学習・認識装置のDNNの隠れ層のデータを、前記第二階層機械学習・認識装置のDNNの入力データとする。
 より具体的な好ましい例では、第二階層機械学習・認識装置の処理結果に基づいて、第一階層機械学習・認識装置のDNNのニューラルネットワークの構成を制御する。
 本発明の他の一側面は、多層からなるニューラルネットワークにおいて、第一層のデータを用いて第二層のデータを演算し、その逆の、第二層のデータを用いて前記第一層のデータを演算する手段を有するものである。両方のこれら演算において、第一層の各データと、第二層の各データとの間の関係を決める重みデータを有し、重みデータは、構成するすべての重み係数行列としてひとつの記憶保持部に格納される。また、重み係数行列の構成要素である、ひとつひとつの行列要素の演算に対して、1対1対応する積和演算器からなる演算ユニットを有し、重み係数行列を構成する行列要素を記憶保持部へ格納する際に、行列の行ベクトルを基本単位にして格納され、重み係数行列の演算は、記憶保持部に格納された基本単位ごとに演算される。
 ここで、行ベクトルの第一行成分は、元の行列の列ベクトルと構成要素の並び順が同じくして記憶保持部へ保持される。また、行ベクトルの第二行成分は、元の行列の列ベクトルの構成要素を右もしくは左へ一要素ずらして記憶保持部に保持される。さらに、行ベクトルの第三行成分は、元の行列の列ベクトルの構成要素を第二行成分で移動させた方向と同じ方向に、さらに一要素ずらして記憶保持部に保持される。さらに、行ベクトルの最終行の第N行成分は、元の行列の列ベクトルの構成要素を第N-1行成分で移動させた方向と同じ方向に、さらに一要素ずらして記憶保持部へ保持される。
 また、第一層のデータを第二層のデータから重み係数行列を用いて演算する場合は、第二層のデータを行列の列ベクトルのように並べ、各要素を積和演算器へ入力し、同時に、重み係数行列の第一行を積和演算器へ入力して両データに関する乗算演算を実施し、その演算結果をアキュムレータへ格納し、重み係数行列の第二行以下を計算する際には、前記第二層のデータを左もしくは右へ、重み行列の行演算を実施する毎に第二層のデータを一要素ずらした後に、重み係数行列の対応する行の要素データと並べ替えられた第二層のデータとの乗算演算を実施し、その後、同じ演算ユニットのアキュムレータに格納したデータを加算し、同様な演算を重み係数行列の第N行まで実施する演算器構成を有する。
 また、第二層のデータを第一層のデータから重み係数行列を用いて演算する場合は、第一層のデータを行列の列ベクトルのように並べ、各要素を前記積和演算器へ入力し、同時に、重み係数行列の第一行を積和演算器へ入力して乗算演算を実施し、その結果をアキュムレータへ格納し、重み係数行列の第二行以下を計算する際には、第一層のデータを左もしくは右へ、重み係数行列の行演算を実施する毎に第一層のデータを一要素ずらした後に、重み係数行列の対応する行の要素データと並べ替えられた第一層のデータとの乗算演算を実施し、その後、演算ユニットに格納されたアキュムレータの情報を隣の演算ユニットの加算部へ入力し、乗算演算の結果との加算を実施し、その結果をアキュムレータに格納し、同様な演算を重み行列の第N行まで実施することを特徴とする機械学習演算器である。
 本発明の他の一側面は、第一階層に設けられる、3層以上のネットワーク層を有するニューラルネットワーク装置において、予め学習により決定した重み関数を用いてニューロン間接続を計算し中間データを生成するシステムである。この中間データは、入力データを分類する上での特徴点を抽出した中間データである。生成された中間データは、第二階層に設けられる、上位階層のニューラルネットワーク装置へ入力される。第二階層のニューラルネットワーク装置は、第一階層の一または複数のニューラルネットワーク装置の中間層からの出力信号を入力としている。そして第二階層のニューラルネットワーク装置は、一または複数の第一階層のニューラルネットワーク装置からの入力を受けて新たな学習を実施する。
 より多くの情報量がサーバのDNNの入力となることで、全体として効率的な学習が可能になる効果がある。
本願発明の実施例の基本概念を説明するためのシステム概念図である。 本発明の第1の実施の形態に係る構成ブロック図である。 本発明の第1の実施の形態における、(A)第一階層の構成を示す図、(B)各演算ノード間の構成の説明図である。 第2図(A)に示した実施例の別の形態を示すブロック図である。 第一階層と第二階層の通信プロトコルを示す図である。 第一階層のDNN情報を更新するシーケンスを示す流れ図である。 本願発明の第1階層DNN装置にFPGAを適用する際の説明ブロック図である。 本願発明の第2の実施の形態に係る構成図である。 本願発明の第3の実施の形態に係る構成図である。 本願発明の第4の実施の形態に係る構成図である。 本願発明の第5の実施の形態に係る構成図である。 本願発明の第6の実施の形態に係る構成図である。 本願発明の第7の実施の形態に係る構成図である。 本願発明の第8の実施の形態に係る構成図である。 本願発明の第9の実施の形態に係る構成図である。 本願発明の第10の実施の形態に係る構成図である。 本願発明の第11の実施の形態に係る構成図である。 本願発明の第12の実施の形態に係る構成図である。 本願発明の第13の実施の形態に係る構成図である。 本願発明の第14の実施の形態に係る構成図である。
 以下、本発明に係る実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
 以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
 実施例中、等価とみなせる構成要素が複数個存在する場合には、同一の記号や番号に添え字を付けて区別することがある。ただし、特に区別する必要がない場合は、添え字を省略して記載することがある。
 本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
 図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
 図1Aで本実施例の基本概念を説明する。複数の端末とサーバとの間での階層的なDNNを構成する場合、最もシンプルな例としては、図1A(A)に示すような、サーバ側で学習を実施し、その学習結果を端末側へ送り、端末側で認識を実施するシステムであろう。しかし、本願発明者らがDNNの検討を進めた際、認識部でのDNN演算の中間データを活用することで、上位のサーバ側での学習が効率化することを見出した。
 すなわち、図1A(B)に示すように、端末側のデータを活用しながら、端末側の入力データや端末側で認識を実施している際のDNNの中間層データをサーバ側へ送り、サーバ側で学習を実施し、サーバでの学習結果をしかるべきタイミングで、端末側へ送信し端末での認識動作を進めることである。サーバ側のDNNの入力は、端末のDNNの中間層のデータ出力を用い、それぞれの階層においてDNNで学習することである。学習方法としては、端末のDNNの教師有り学習を行った後、サーバのDNNの教師有り学習を行う。
 端末側のDNN装置は、小型、小面積、低電力なデバイスで構成し、サーバ側のDNN装置は、高速演算かつ大容量メモリを有する、いわゆるサーバで構成する。
 図1Bは本願発明の主たる実施の形態を示す図である。図1B(a)には、複数の機械学習装置(DNN1-1~2-1)で構成されるシステムを示している。機械学習装置において、nd011 ~ nd014, nd021 ~ nd024, nd031 ~ nd034 で示される経路は各ニューラルネットの階層を接続する経路を示している。
 本実施例では、システム構成として、第一の階層(1st HRCY)の機械学習・認識装置と第二の階層(2nd HRCY)の機械学習・認識装置が階層的に接続されている。各機械学習・認識装置DNNは、入力層IL,中間層HL,出力層OLを備える。さらに、第一階層機械学習・認識装置と第二階層機械学習・認識装置との接続として、第一階層機械学習・認識装置を構成するディープニューラルネットワークにおいて、認識時の出力層OLのデータではなく、認識処理中に生成される、いわゆる隠れ層と呼ばれる中間層HLのデータ(nd014,nd024)を第二階層機械学習・認識装置の入力としている。
 一般に、出力層OLからのデータは、あらかじめ分類されたカテゴリごとに認識結果をヒストグラム等で提示するデータとして出力され、入力データが認識の結果どのように分類されたかを示すデータで構成される。中間層(隠れ層)HLからのデータは、入力データの特徴量を抽出したデータである。本実施例で、この中間層データを活用する理由は、この中間層データは、入力データの特長が抽出されたデータであり、第二階層機械学習・認識装置での学習における質の良い入力データとして利用できるからである。
 第二階層学習・認識装置から第一階層学習・認識装置への信号(nd015,nd025)は、第一階層学習・認識装置のネットワークや重み、もしくは、それらの変更を指示する信号等である。これは、第一、第二のそれぞれの階層での学習・認識における処理において、第一階層学習・認識装置の認識ネットワークの変更が必要となった際に、変更信号が発行される。これにより、実運用状況において、第一階層学習・認識装置の認識率を向上させることが可能になる。
 深層型ニューラルネットワーク(DNN)は、様々な方式が提案されているが、近年、もっとも活発に研究されているものとして、畳込型ニューラルネットワーク(CNN: Convolutional Neural Network)というものがある。このCNN型ネットワークでは、隠れ層に相当する部分について、元画像の一部を切り出して(カーネルと呼ぶ)、それと同じ画像サイズの重みフィルタとの画素単位の積和演算により、いわゆる画像の畳込みを実施した後、さらにその画像を粗視化するプーリング演算を実施して、より小型の複数のデータを生成することが特徴である。隠れ層には、元画像の特長となる情報が効率的に抽出されていることが特徴である。
 発明者らは、機械学習におけるデータの変換を検討していく上で、例えば、CNNの隠れ層に現れる特徴が抽出されたデータをうまく活用することで、学習の効率化ができることを見出した。
 例えば、画像認識学習を考える。画像データは、一般的に、人間が見れば、そこに表されているものの意味を理解できるものであっても、機械にとってはなかなか意味をくみ取ることが難しいことが多い。上記の隠れ層のデータは、重みデータとの畳み込み演算や周囲の画素の間との統計処理による粗視化により情報を圧縮すると同時に、その画像の特長を際立たせて示すように処理されることが特徴である。CNNでは、そのような特徴抽出過程を複数持たせることで、特徴量を際立たせることができ、その特徴量を処理することで画像の判断が高確率で正解に近付けられる特徴がある。十分に学習された認識装置であれば、中間層のデータは特徴を際立たせた価値のあるデータとも言える。
 学習においては、大量のデータを用いることが重要と言われており、効率的な学習においては、一般的に、
(1)学習を実施するための十分な入力データが揃っていること
(2)ニューラルネット型学習機であれば、ニューロン数に比例した演算が必要であり、計算資源(演算性能、ハード規模等)が潤沢であること
が重要視される。
 一方で、IoTへ適用するに当たって、端末側の状況は刻一刻と変化するので、組み込み側システムとの連携を考える上では、
(3)柔軟な適応(低レイテンシ、高速フィードバック)
等の要件も必要である。しかも、IoTとして、多数の端末を考える上では、
(4)いわゆる複雑系としての対応が必要となる。
 本実施例にて説明されるように、第一階層1st HRCYと第二階層2nd HRCYを設けることによって、例えば末端側の第一階層では、上記(3)の要件を満たすべく、低レイテンシ、高速フィードバックが可能な小型でかつ機能の制限がなされた機械学習・認識装置で構成する。第二階層では、高性能CPU等を具備し、大容量のメモリシステムを使うことができる計算資源を利用することができるので、上記(2)の要件も満たされる。
 図1B(b)には、第一階層と第二階層に用いる4種類のハードウエアの組み合わせ構成例を示している。これらの例では、第二階層側のハードウエア規模を第一階層側より大きくしている。ハードウエア規模が大きい場合には、一般的に、より情報処理能力が高くなる。
 また、複数の第一階層機械学習・認識装置の隠れ層のデータを用いて、第二階層機械学習・認装置での学習を実施することで、各第一階層機械学習・認識装置からの情報を使い、それらの最適化を機械学習で実現できるので、上記(4)の要件も満たされる。しかも、複数の第一階層の機械学習装置からの特徴が効率的に抽出されたデータを入力として活用することができるので、第二階層での学習は、従来の、入力データを用いる第一階層での認識と同様な学習と比較して、前出の要件(1)について質的な改善ができる。第一階層機械学習・認識装置の出力層ではなく、隠れ層から値をとることにより、より多くの情報量が第二階層機械学習・認識装置の入力となるからである。
 第一階層機械学習・認識装置と第二階層機械学習・認識装置は、それぞれ学習機能を持たせることができる。一例として、第一階層機械学習・認識装置にて教師有り学習を行った後、第二階層機械学習・認識装置の教師有り学習を行う。このようにすることで、全体を一つのDNNとするよりも学習が容易である。しかも、第二階層機械学習・認識装置の学習は、他の第一階層機械学習・認識装置からのデータも入力データとしながら実施できるので、データ量の効率的な積み増しが可能となり、学習効率と学習成果の向上が実現できる。
 また、第二階層機械学習・認識装置では、第一階層機械学習・認識装置で演算された隠れ層の値を入力として教師有り学習を行うので、第二階層機械学習・認識装置において学習を繰り返し行う際に、第一階層機械学習・認識装置にて再度演算実行する必要がない。したがって学習時の演算量が小さくできる効果もある。
 図2は、第一階層機械学習・認識装置(DNN1)の具体的構成を示したものである。図2(A)に示すように、一般に、ニューラルネットワーク型の機械学習・認識装置は、入力層IL1のノード(i~iL)、出力層OL1のノード(o~oP)、そして、隠れ層HL11~HL13の各ノード(n ~n M、n ~n N、n ~n O)で構成され、各ノード間の接続は、図2(B)に示すように、ni jとni+1 との接続には、重みwi j、kと入力ノードni jとの算術演算(AU)が入る。
 DNNネットワーク構成制御部(DNNCC)はDNNのネットワーク構成を制御する制御回路である。ニューラルネットワーク構成情報データ伝送線(NWCD)や重み係数変更線(WCD)の情報としての、DNNコンフィギュレーションデータを格納し、必要に応じてその情報をDNN装置に反映させる。このコンフィギュレーションデータは、後述するFPGA (Field Programmable Gate Array)を活用する場合には、いわゆるコンフィギュレーションメモリに対応させることができる。
 DNNネットワーク構成制御部(DNNCC)は、第二階層機械学習・認識装置(DNN2)と通信がを可能である。DNNコンフィギュレーションデータの内容を第二階層機械学習・認識装置に送信することができ、また、第二階層機械学習・認識装置からDNNコンフィギュレーションデータの内容を受信することができる。通信のためのデータについては、後に図3Bで説明する。
 また、データ蓄積メモリ(DNN_MIDD)は、ニューラルネットワークの各層のデータを保持し、第二階層機械学習・認識装置へ出力する機能を持つ。図1Bの例では、nd014、nd024のデータを第二階層機械学習・認識装置へ送信する形で述べたが、図2(A)の例では、各層のデータnd011~nd016をデータ蓄積メモリ(DNN_MIDD)に保持できるようにしておくことで、入力層、中間層、出力層のうち任意の層のデータnd011~nd016を第二階層機械学習・認識装置へ送信することができ、柔軟なシステム設計ができる。
 図1Bには明に記載しなかったが、学習を実施する上では、学習モジュール(LM)が必要である。これは、一般に教師あり学習と呼ばれる公知技術になるが、DNN1で演算した結果の出力結果が、正解と考えられる、いわゆる教師データ(TDS1)と比較してどれだけずれているかを評価することが重要で、そのずれ量をもとに、ニューラルネットワークの重み係数を変更していくことが学習である。図2では、誤差検出部(DD:Deviation Detection)部にて、DNN1の演算結果と教師データ(TDS1)を突き合わせ誤差量(DDATA)を算出し、必要に応じて正解情報との比較結果情報や認識結果レーティング情報を生成、記憶する。その結果に基づいて、重み係数調整回路(WCU:Weight Change Unit)にて重みを決定、格納し、重み係数を重み係数変更線(WUD)にて設定し、各ニューラルネットワークni jとni+1 とに定義される重みwi j、kを変更する。
 図3Aは第一階層機械学習・認識装置(DNN1)の他の構成例である。図3Aに示すように、機械学習の対象によっては、認識処理(Recognition)を進めた最終段出力層OL1のデータを入力として、認識演算の逆演算(Learning)を実施し、入力層IL1まで戻して誤差検出部(DD)で演算する、いわゆる逆プロパゲーション手法も存在する。この場合、教師データが入力データ(i1~iL)自身で実現できるので、新たに教師データを準備することなく、対象とする入力データと逆プロパゲーションで生成されたデータとを比較することで適宜状況に応じた認識の性能を実現できる効果がある。
 これらの学習モジュール(LM)は、敢えて設けない設定も可能である。それは、第一階層機械学習・認識装置は非常に制限された演算資源での運用が必要となる場合が想定されるので、認識処理に特化したハード構成にしておくことが望ましい場合があるからである。その場合でも、教師データとの突き合わせにて誤差の単純評価は可能であり、その結果得られる認識に対する認識結果のスコア情報を、例えばデータ蓄積メモリ(DNN_MIDD)の一部に保持しておくことは効果的である。なぜなら、そのスコア情報が悪いデータ処理に関するデータ(ニューラルネットワーク構成情報、重み係数情報、入力データ、中間データ、スコア情報等)をしかるべきタイミングで第二階層機械学習・認識装置へ送信し、第二階層での効率的な学習によって、第一階層機械学習・認識装置を再構成することも可能である。
 構成例としては、第一階層機械学習・認識装置(DNN1)は、認識処理を実施すると同時に、認識処理の認識結果のスコアを記憶する手段を設け、認識結果があらかじめ決められたしきい値1よりも大きくなった場合、もしくは、あらかじめ決められたしきい値2よりも小さくなった場合、もしくは、認識結果のヒストグラムを作成した際に分散があらかじめ決められた値より大きくなった場合に、第二階層機械学習・認識装置に対して、第一階層機械学習・認識装置のDNNのニューラルネットワーク構造および重み係数に対して更新リクエスト信号を送信する更新リクエスト送信手段を設ける。
 第二階層機械学習・認識装置(DNN2)は、第一階層機械学習・認識装置の更新リクエスト信号を受取ると、第一階層機械学習・認識装置のDNNのニューラルネットワーク構造および重み係数の更新を実施し、その、更新データを第一階層機械学習・認識装置へ送信する。第一階層機械学習・認識装置(DNN1)では、更新データをもとに、新たなニューラルネットワークを構築する。
 図2(A)、図3Aは第一階層機械学習・認識装置(DNN1)の具体例を示した。第二階層機械学習・認識装置(DNN2)も基本的な構成は同様である。ただし、第二階層機械学習・認識装置(DNN2)の入力としては、第一階層機械学習・認識装置(DNN1)の隠れ層HLからのデータを用い、教師あり学習を行う。また、第一階層機械学習・認識装置(DNN1)のDNNネットワーク構成制御部(DNNCC)や、データ蓄積メモリ(DNN_MIDD)とデータの通信を行うインタフェースを備える。
 図3Bは、第一階層と第二階層の通信プロトコルを示す図である。第一階層機械学習・認識装置にて学習する場合と、学習をしない場合の両状況において、第一階層に保持するデータの構造を示している。
 この図3Bには、第一階層機械学習・認識装置の特長を表す情報として、ニューラルネットワークの構成情報(DNN#)、重み係数情報(WPN#)、正解情報との比較結果情報(RES_COMP)、認識結果情報(認識正解率等、Det_rank)、第一階層機械学習・認識装置の構成更新要求信号(更新リクエスト)(UD Req)で構成される。
 特に、第一階層機械学習・認識装置の構成更新要求信号は、高々数ビットの構成であり、定期的に第二階層機械学習・認識装置はこの第一階層械学習・認識装置の構成更新要求信号をチェックし、更新が必要かどうかを把握する。この情報が更新必要要求を示す場合は、第二階層機械学習・認識装置で追加学習した最新データを第一階層機械学習・認識装置へ転送する準備を実施し、データ更新情報の転送準備が可能になったら、第一階層機械学習・認識装置のへ要求アップデート準備完了信号データを送信し、第一階層機械学習・認識装置のデータへ格納する。このデータは、UD_Prprdとして格納する。
 この構成情報の更新については様々な場合が想定される。第一階層機械学習・認識装置で一定期間の認識処理を経過後、たとえば平均認識率(例えば認識結果レーティング情報)を算出し、あるしきい値を超えた場合に第二階層機械学習・認識装置との通信を確立させる。そして、更新に必要な集積データを第一階層から第二階層へ送信し、第二階層機械学習・認識装置で効率的に学習を実施する。その後、新たなニューラルネットワークや重み係数が決定後に、第一階層機械学習・認識装置の運用状況に応じて、適切な時期に第一階層機械学習・認識装置への更新を実施する。更新時期は、第一階層機械学習・認識装置がシャットダウン後のリブート時に第二階層機械学習・認識装置との通信を確保し、更新データのダウンロードが可能かどうかを問い合わせるプログラムを記述しておけばよい。
 第二階層機械学習・認識装置内でDNN学習を実施するが、その学習が所望の認識率を実現できなかった場合には、第一階層機械学習・認識装置での学習を再実行することも考えられる。その場合でも、学習の階層化を実施しているので、全体として効率的な演算が可能になる効果がある。
 図4に、第一階層機械学習・認識装置の構成を変更するためのプログラムシーケンスを記載する。この場合、第一階層機械学習・認識装置と第二階層機械学習・認識装置間で、必要最小限のデータを送受信するプロトコルを準備しておくことが都合がよい。例えば、第一階層機械学習・認識装置で認識スコアが著しく低下した場合や、ニューラルネットワークや重み係数の定期更新期限が近付いた場合など、第一階層機械学習・認識装置から第二階層機械学習・認識装置へ第一階層機械学習・認識装置の更新依頼情報を送信しておく。そのようにすることで、第二階層機械学習・認識装置での学習更新作業が始まり更新済データが準備できた段階で、第一階層機械学習・認識装置へデータ準備完了信号、もしくは、更新ビット情報を送信しておく。その結果、第一階層機械学習・認識装置がリブートされる状況において、図4記載のブートシーケンスを走らせる。
 データ準備完了信号、もしくは、更新ビット情報を確認することで、第二階層機械学習・認識装置へのデータ更新アクセスが必要かどうかを判定し、必要に応じて、第二階層機械学習・認識装置へのデータダウンロード要求信号を送信し(S401)、アップデートデータが到着を検出後、アップデートデータのダウンロード完了(S402)をまって、データの正常性をパリティやCRC(Cyclic Redundancy Check)を活用して検査する(S403)。その後、FPGAの構成情報を再構成する(S404)。その後、FPGAをブートし(S405)、通常動作に入る(S406)。
 図5にDNNをFPGAで構成した際に、FPGA(501)へ適用する場合の構成を示す。FPGAの再構成には、FPGA内部のコンフィグレーションメモリ(CRAM)の動的な書き換え技術を利用する。FPGA内には、ルックアップテーブルユニット(LEU)とスイッチユニット(SWU)および、ハードウエアで構成された積和演算等を実施する演算ユニット(DSP)およびメモリ(RAM)で構成される。
 本実施例のDNNネットワーク等の論理回路は、LEU、SEU、DSP、RAMに実装され通常動作を実施する。一方、上記のようにDNNの内容を更新する場合は、第二階層機械学習・認識装置より送信された更新データを、CRAM制御回路(CRAMC)でCRAMへ書き込むことで実現できる。FPGAが再構成された後は、通常通りFPGAを起動させ、第一階層機械学習・認識装置の通常オペレーションを実施する。
 本実施例の機械学習装置を用いた場合の、第一階層と第二階層の間のデータとしては、
(1)第一階層機械学習・認識装置で生成された中間層データ
(2)機械学習装置をFPGAで構成した場合のニューラルネットワーク構造
(3)ニューロン間演算の重み係数
(4)第一階層機械学習・認識装置で入力データを弁別する際の識別率および弁別スコア(ヒストグラム)情報
(5)第一階層機械学習・認識装置でOn the Job Trainingを実施する際の教師あり学習による矯正情報、等が考えられる。
 特に、FPGAでこの第一階層機械学習・認識装置を構成する場合、メモリ内に格納している中間層のデータ、および、ネットワークの構成情報(FPGAのスイッチ部を記述するコンフギュレーション情報)、重み情報、第一階層学習・認識装置で認識を実施した認識情報の弁別情報等を第二階層学習・認識装置へ送信することが考えられる。
 このようにすることで、入力データを全て第二階層学習・認識装置へ送るよりも少ないデータで、第二階層学習・認識装置が学習する上で効率的な、質の良いデータが送れるので、第二階層での学習効率が高まる効果がある。
 本実施例の構成によれば、第一階層と第二階層とでニューラルネットワークのタイプを制限することは必然ではない。例えば、第一階層と第二階層で同様のネットワークを組む場合、全体としてより大型のニューラルネットワークが構築できる効果がある。一方で、第一階層で画像認識処理のニューラルネットワークを構成し、第二階層では自然言語処理のニューラルネットワークを組む場合、第一階層と第二階層とで連携した効率学習が可能になる効果がある。
 図6は、第二階層機械学習・認識装置DNN2から第一階層機械学習・認識装置DNN1へデータを送致する手段を設けていないことが特徴の実施例である。実施例では最もシンプルな構成になる。
 この方式の利点としては、第二階層機械学習・認識装置DNN2は第一階層機械学習・認識装置DNN1の演算結果を利用して学習および認識演算を実施するが、第二階層機械学習・認識装置DNN2から第一階層機械学習・認識装置DNN1へのフィードバック経路を有せず、したがって、構成として、第一階層機械学習・認識装置DNN1と第二階層機械学習・認識装置DNN2とを独立とすることができる点である。
 第二階層機械学習・認識装置DNN2では、第一階層機械学習・認識装置DNN1で演算された隠れ層HL13、HL23の値を入力として教師有り学習を行う。したがって、第二階層機械学習・認識装置DNN2において学習を繰り返し行う際に、第一階層機械学習・認識装置DNN1にて再度演算実行する必要がないので、第二階層機械学習・認識装置DNN2での学習においては、第一階層機械学習・認識装置DNN1で実行する学習を再度実施する必要がなく、全体として演算量を小さくできる効果もある。
 また、第二階層機械学習・認識装置DNN2へ入力させる学習時入力データを第一階層機械学習・認識装置DNN1で生成して転送することで、学習演算の場合でも第二階層機械学習・認識装置DNN2へ渡すデータは少なくて済む効果もある。
 図7により、本実施例の階層型DNN方式を効率よく運用する上での、データ運用手法について説明する。図7は、第一階層機械学習・認識装置DNN1にて、認識処理を進める場合を想定したものである。以後の実施例を説明する図では、煩雑さを避けるために、上位階層から下位階層への信号線を設けない図で説明するが、第一の実施例で示したように、上位階層からの信号接続がある場合にも容易に拡張できる。
 第一階層機械学習・認識装置DNN1は外部センサデバイス等や、データベースからの入力を受けて、DNN1内部で認識処理を実行する。その際、中間層のデータ、ここでは、nd014 のデータをDNN1に付属するデータストレージSTORAGE 1(HDD、Flashメモリ、DRAM等)に保持する。第一階層機械学習・認識装置DNN1は、ハードウエア規模が制限される場合が多いと想定しており、この階層でのデータ格納には限界があると考えられる。そのため、この階層には、FIFOのような一時メモリ的な構成を実施することが望ましく、そのデータを第二階層機械学習・認識装置DNN2に間欠的に送信することで、第二階層において、データベースClass DATAを構築する。
 このとき、DNN1にて認識処理を進める上で得られる認識スコア情報および、DNN1装置のニューラルネットワーク構成情報、重み係数情報を同時に格納しておくと、第二階層機械学習・認識装置DNN2での追加学習に際して効率がよい。例えば、ニューラルネットワーク情報や重み係数情報は、第一階層と第二階層で相互に認識できる情報であればよく、例えば、64 bit単位のデータで共有することが考えられる。また、第一階層は、ネットワークの構成情報や重み係数情報の詳細は理解する必要がなく、実行しているネットワークと重み係数情報を忘れなければよい。一方で、第二階層機械学習・認識装置DNN2は、第一階層機械学習・認識装置DNN1がどのようなネットワークでどのような重み係数のパターンを用いて実行しているかを知る必要があるので、対応する第一階層機械学習・認識装置DNN1との対応テーブルを用意しておく必要がある。
 この図には記載していないが、図1Bに記載のように第二階層から第一階層への情報伝達手段を設けて構成することも可能である。
 図8は、第一階層機械学習・認識装置DNN1が3つ以上ある場合を示している。本実施例によれば、第一階層機械学習・認識装置DNN1はそれぞれ独立して学習および認識演算を実施するので、数を増やしても、第二階層機械学習・認識装置DNN2にての学習実行に対する拡張も容易である。
 前記の実施例1~3では、第一階層と第二階層の接続について、2つの階層間では単なる情報の接続だけを示した記載としたが、第一階層の数が増えるに従い、効率的な接続方法が重要になる。この実施例では、ネットワークNWを活用してデータの授受を実施する実施例を示した。通常、ネットワークNWでは、パケットを単位としてデータ授受がなされるので、送り手のアドレスや受けてのアドレス、および通信情報等をまとめて、送付することが可能である。このネットワークNWは、無線でも有線でも不問であり、このシステムが設置される場所や状況に応じて適切に接続すればよい。
 図9は、変形の実施例を示した図である。この図での特徴は、第一階層機械学習・認識装置DNN1を異なる第二階層機械学習・認識装置DNN2-1、DNN2-2で共有することも可能であることを示している。
 また、この図に示さないが、図8に記載したように、第一階層機械学習・認識装置DNN1と第二階層機械学習・認識装置DNN2間にネットワークNWを設けることで、第一階層機械学習・認識装置DNN1と第二階層機械学習装置DNN2との間の接続が柔軟に実施できる。これは、第一階層と第二階層で独立した演算を実施している特徴を生かした構成である。
 このような構成によって、第一階層および第二階層の機械学習・認識装置で全体の機械学習ネットワークを構成することも可能である。
 図10は、他の変形の実施例を示した図である。この図での特徴は、第一階層機械学習・認識装置DNN1から第二階層機械学習・認識装置DNN2へ入力するデータとして、複数設けられている中間隠れ層の中から、最適な層のデータを送信できることが特徴である。この図では、HL12およびHL22層の出力から取り出している図を示したが、HL11やHL21等の出力からでもかまわない。
 この接続の切り替えは、第一階層機械学習・認識装置DNN1が他の第一階層機械学習・認識装置DNN1、および、第二階層機械学習・認識装置DNN2とは独立に設定することができる。
 この場合、第二階層機械学習・認識装置DNN2への送信データは、中間層のデータとともに、ネットワーク構造および重み係数情報を送信することが望ましい。データの送受信手段は、実施例1で述べた手段を用いればよい。
 また、出力データの切り替えを、他の第一階層機械学習・認識装置DNN1、および、第二階層機械学習・認識装置DNN2と協調して設定することも可能である。その場合は、他の第一階層機械学習・認識装置DNN1、および、第二階層機械学習・認識装置DNN2とのインターフェースとして、他の機械学習・認識装置からの学習・認識精度情報から、第二階層機械学習・認識装置DNN2への送信データの取り出す層を切り替えるか否かの信号授受を設けると効果的である。
 さらに、第二階層機械学習・認識装置DNN2にて、データを出力する中間層を変更した場合、当該データに基づく学習を実行した際の認識率の評価を実施し、関連する第一機械学習・認識装置群の出力制御切り替え制御を実行すればよい。
 このようにすることで、刻々と変化する環境に対応した柔軟な学習・認識システムが提供できる効果がある。さらに、設計で追い込めない最適化について実際のデータに基づきデータ収集と学習・認識を運用実施中に適切に変更することで、認識・学習を効率化できる効果がある。
 図11は、演算階層を3階層に設けた実施例である。演算階層を複数設ける理由は、演算能力と効率を考えている。第一階層機械学習・認識装置DNN1は、組込システムへの搭載を念頭においており、非常にコンパクトな実装並びに、電力制約等が大きく、演算量の多さは期待できない。
 一方、第二、第三の階層DNN2、DNN3の演算は、演算ハードウエアの制約が緩くなり、大型化、電力制約緩和等のメリットを活かして、大規模・高速演算が可能となる。
 ただし、一般的に、クラウドコンピューティングと呼ばれる階層は、設置場所が不明で、場合によっては、地球の裏側に設置された機材を使うことになる。その場合、物理的距離の影響による遅延並びに、クラウドサーバへの接続に対してネットワーク的な関門(各種ゲートウエイやルータ装置)を通過する遅延等により、リアルタイム制御が難しいという課題がある。
 そこで、クラウドコンピューティングによる第三階層DNN3の前に、中規模の第二階層DNN2を設けて低レイテンシ、および、ある程度の高速・大容量演算を実現する階層を設けると都合がよいことがある。これによる負荷分散が効率化できる効果がある。
 以下の実施例にて、第一階層機械学習・認識装置での学習機能がない場合の実施例について説明する。
 図12に記載の実施例は、第一階層機械学習・認識装置DNN1のニューラルネットワーク構造、および、重み係数情報の複製DNN1Cを第二階層機械学習・認識装置にもたせ、第二階層機械学習・認識装置にて学習演算を実施させる。
 学習結果のニューラルネットワーク構造、および、重み係数情報は、データnd015により第一階層機械学習・認識装置DNN1に適宜反映させる。
 本実施例によれば、端末側の機能が少なくて済み、実装するハード物量が削減できる効果がある。また、第二階層の高性能な機械学習・認識装置で学習することで、第一階層機械学習・認識装置DNN1の学習に要する時間が短くできる効果もある。
 第二階層機械学習・認識装置DNN1Cにおける学習演算については、第一階層機械学習・認識装置DNN1で隠れ層の値を演算しておき、それの結果nd014を第二階層機械学習・認識装置DNN1Cへ入力し、第二階層機械学習・認識装置DNN1Cにて教師有り学習を行う。
 第二階層での学習では、第一階層機械学習・認識装置DNN1の中間層データを用いて繰り返し実施する。第二階層機械学習・認識装置DNN1Cでの学習結果としてえられた、ニューラルネットワークの構造と重み係数等のデータは、しかるべきタイミングで該一階層機械学習・認識装置DNN1へ送信する。第一階層機械学習・認識装置DNN1では、更新された構成情報を反映後、認識処理を実施する。
 このように、第二階層機械学習・認識装置の学習を繰り返し行う際に、第一階層機械学習・認識装置DNN1では再度演算をする必要がないので、学習時の演算量が削減できるという省力化および装置小型化が実現できるメリットがある。
 図13を用いて、学習法の別の変形例について説明する。この実施例では、実施例8で説明したように、第一階層機械学習・認識装置DNN1での学習機能は、通常認識演算時には使用せず、初期化時や更新時等のタイミングで学習することが特徴である。
 第二階層機械学習・認識装置内に第一階層機械学習・認識装置の複製を持ち、そこで学習した後に、第一階層機械学習・認識装置にニューラルネットワーク構造や重み係数等を反映させる。
 第一階層機械学習・認識装置へ新しいニューラルネットワーク構造や重み係数情報が更新された後、第一階層機械学習・認識装置にて教師有り学習を行った後、その学習結果のデータを初期値として用いて、実施例1にて示したように、第一階層および第二階層を含めた全体系での教師有り学習を行う。
 このような構成をとることによって、第一階層機械学習・認識装置と第二階層機械学習・認識装置の全体を一つの深層型ニューラルネットワークとして一気に学習するよりも、学習が容易であるとういう効果がある。
 また、上述の他の基本的な実施例と同様に、第一階層機械学習・認識装置の出力層ではなく、隠れ層から値をとることにより、より多くの情報量がサーバのDNNの入力となる。
基本的な実施例と比べた場合、第一階層機械学習・認識装置だけで使うことはできなくなるが、第一階層および第二階層を含めた全体システムとしての最適化が実現できる効果がある。
 図14は、Convolutional Neural network(CNN)に適用した場合の具体的な実施例である。CNNの場合、隠れ層は、畳込み層(Convolution Layer:CL)とプーリング層(Pooling Layer:PL)にて構成され、その組み合わせが複数段設けられている。この場合、隠れ層のデータとしては、nd111乃至、nd115等のデータである。
 この実施例では、同一対象物を複数のカメラでとらえ、映像の認識処理を実施する例を示した。カメラ1でとらえた映像と、カメラ2でとらえた映像は、位置が異なるので、同一被写体をとらえても被写体の形状が異なる。したがって、同一の被写体を入力データとしつつも、撮影角度や光線の当たり具合などの異なる条件下での情報を同時に取得し認識・学習できるので、効率的である。
 さらに、注目被写体と背景被写体の画像情報が位置ずれ等で変化するので、特徴量抽出に関する情報の切り出しにおける重み係数の算出等の学習に対して効率化できる。
 このとき、全結合層FL11、FL21の前の情報を第二階層機械学習・認識装置DNN2に送ることで、位置情報を持った情報を第二階層機械学習・認識装置DNN2に入力でき、複数のカメラおよびCNN認識処理結果を用い、かつ、複数の第一階層機械学習・認識装置DNN1での中間データを相互に組み合わせる演算を実施することで、より高度な学習が実現できる。また、位置情報や時刻同期情報なども同時に持たせることで、対象とする認識物体への解析情報量が増すことで、より正確な認識の実現に向けた学習が実現できる効果がある。
 さて、本実施例では、第一階層機械学習・認識装置DNN1にFPGAを活用し、第二階層機械学習・認識装置にCPUおよびGPUからなる装置で構成することが考えられる。CNNはその構造上、入力画像に関して小型の画素ブロック(カーネルと呼ぶ)に分解し、その単位で元画像をくまなくスキャンしながら、同じ画素数に対応する重み係数行列との内積演算を実施する。この内積演算に関しては、ハードウエアでの並列処理が効果的であり、LSI内部に多数の演算ユニットとメモリを有するFPGAによる実装が低電力化・高性能化で非常に効率的である。一方で、第二階層においては、複数の第一階層からのデータを効率的に複数の演算ユニットにバッチ処理として分散演算させることが効果的であり、ソフトウエア処理による低コストな分散演算システムを利用することが望ましい。この例のように各種のDNNに容易に適用可能である。
 図15は異なるセンサ(たとえばカメラとマイク)を用いた機械学習システムへの適用の実施例である。この場合、画像処理のニューラルネットワークDNN1-11と音声処理のニューラルネットワークDNN1-13処理を融合したシステムである。ロボットなどでの認識を考える場合、画像と音声の両者を併せて特徴づけることが、様々な認識の上で効果が高いと考えられる。人間が物事を理解する上で、視覚情報と聴覚情報が合わさる方がどちらか単一の場合に比べて、飛躍的に情報量が多いため、認識効率が高まるからである。
 また、この例では、画像はCNNで処理を実施し、音声は全結合のニューラルネットワークで構成することも考えられる。このように、画一的でない様々な方式のニューラルネットワークを用いて、それぞれの長所を融合させることで認識率の向上を目指す構成である。なお、この場合は、学習自体は別々に学習できるので、複雑なシステムであっても、学習自体は容易となる効果がある。
 図16に、このようなシステムを適用した物体認識のためのデータベース構築システムを含む、本実施例のシステム適用および運用方法について示す。
 図14(実施例10)に記載したように、画像情報については複数の第一階層機械学習・認識装置からの情報を第二階層機械学習・認識装置へ送信し、第二階層機械学習・認識装置での効率的な学習の実施例について述べた。
 その応用として、ある物体についての学習を強化させ、そのデータベースを構築し、第二階層機械学習・認識装置の学習効率および認識効率を向上させることが効果的である。
 その場合、ひとつの対象について同時に複数の第一階層機械学習・認識装置で認識・学習を実施し、その第一階層機械学習・認識装置で演算した隠れ層データを第二階層機械学習・認識装置へ伝達する。
 この実施例では、まず、画像認識の例として、センサとしてのカメラとその出力データを認識解析するための第一階層機械学習・認識装置DNN 1~DNN 8で構成される複数のシステムで同時観察する構成を示した。本図には、8個の第一階層機械学習・認識装置を記載したが、本願発明に関しては、その数に制約は設けなくても運用は可能である。
 このように、認識対象を多角的に観察しその基本的な動作や特徴を抽出し、第二階層機械学習・認識装置にてさらに解析し、その観察対象の動作や特徴をうまく抽出するためのニューラルネットワーク構造並びに、重み係数を抽出し、データベース化する。
 本願発明によれば、この対象は画像データに制約されることはなく、例えば、音声情報、温度情報、匂い情報、質感情報(硬さや組成)、等の様々な角度からのデータを入力として扱うことが可能であり、第一階層機械学習・認識装置において情報処理を実施後、効率的な情報を第二階層機械学習装置へ伝送し、さらに詳細な多センサ連携の学習・認識を実施する。
 学習強化期間は、このように、実験室レベルで詳細な観察を実施することが特徴である。さらに、その結果を実運用に供する必要がある。その期間を実運用期間と定義する。
この期間には、第二階層機械学習・認識装置から第一階層機械学習・認識装置への再構成データを伝送し、第一階層機械学習・認識装置が単体でも効率的な認識が実現できるように設定される。
 この状況は、常に変化する環境に対する認識結果を適宜第二階層機械学習・認識装置へ伝達するなどの、本願第一の実施例に基づく運用を実施し、効率的な認識に向けた更なるデータ収集を実施する。
 このようなシステムを構築することで、実運用期間に供する際、最初のデータの質(高い認識率や効率的なニューラルネットワーク形態等)を高められるので、市場での不具合の低減等の効果が期待できる。
 図17を用いて商用適用する上での実施形態について、説明する。この実施例では、前提として、第一階層機械学習・認識装置DNN 1~DNN Nは、小型の学習・弁別機を想定しており、第二階層機械学習・認識装置DNNは大型の学習機を想定している。
 1st ステップとしては、第二階層機械学習・認識装置DNNでの学習を実施する。ここは最初の学習フェーズである(学習I)そのため、計算資源の潤沢な第二階層機械学習・認識装置DNNでの学習が効率的である。この場合、入力データは2nd STEPで実施する運用状況に即したデータで学習する。例えば、自動運転等を考える場合、自動車に備え付けられたカメラで撮影した動画データ等が考えられる。ある意味、この段階の学習は、限られた状況下のデータを使うことになり、データ量としては制限のある学習になるが、第一階層機械学習・認識装置の基本的なDNNネットワークを構築するための基本的な構成を構築する学習と位置づけられる。
 ついで、2nd ステップについて説明する。弁別機を第一階層機械学習・認識装置DNN 1~DNN Nに搭載し、実際の運用状況下での実地訓練による認識・学習(教師あり学習)を実施する。この段階での学習は、まさに、自動車運転免許を取得する際の、運転免許取得に向けた実地訓練に相当する。
 この段階では、まずは、認識率向上に向けたデータ収集が主たる目的であり、1st ステップで構築したDNNについて、教師データとのかい離状況を把握することが目的である。例えば、自動運転システムに適用する場合、実際の自動車に搭載し、ドライバ(人間)の判断を教師データとし、その乖離をスコア化してデータ収集を実施する。その際、DNN 1~DNN Nの隠れ層のデータを適宜第二階層機械学習・認識装置DNNへ送信し、第二階層機械学習・認識装置DNNで更なる学習を積み上げ、第一階層機械学習・認識装置DNN 1~DNN Nへ更新データを反映させ、さらに、第一階層機械学習・認識装置DNN 1~DNN Nで教師あり学習を推進する。
 このとき、特にスコアがよい状態や、スコアが悪い場合、もしくは、判定にまよいが生じた場合を分別して整理し、第二階層機械学習・認識装置DNNへ送信すると、第二階層機械学習・認識装置DNNでそれらの情報も用いながら多角的な学習が可能となる。
 最後に、3rdステップについて述べる。この段階は、第一階層機械学習・認識装置DNN 1~DNN Nの弁別機が十分に学習された場合に相当し、制御権を付与される段階である。この段階では、基本的に第一階層機械学習・認識装置では学習はせずに、認識処理を中心に実施する。ただし、基本的な事項について、教師データとの比較を実施し、比較結果のレベルを保持する簡易的なチェック機構を設けて、適宜第二階層機械学習・認識装置DNNへ伝達し、第二階層機械学習・認識装置DNNにて継続学習を実施する。
 このように、継続的に機械学習システムも更新させていくことで、自動運転等の高度な制御を実現することができる。
 図18は、ニューラルネットワークの完全結合層をFPGAで実装するための一実施例である。CNN方式の最終出力層やGRBM(Gaussian Restricted Boltzmann Machine)方式等のニューラルネットワークで使用される接続形態であるが、FPGA化する上で高効率な実装が必要である。特に、下層(可視層)から上層(隠れ層)への接続の演算と、その逆の上層(隠れ層)から下層(可視層)への演算では、重み係数の演算順序が異なる。下層から上層、および、上層から下層の両者を高速に演算するためには、重み係数を両者の読み出しが高速になるように、最適配置しておく必要がある。
 つまり、下層から上層への変換に関する演算では、重み係数行列をWと置くと
 H = W ・ V   ・・・ (1)
の内積演算が必要になるが、逆に、上層から下層への演算においては、
 V = WT ・ H   ・・・ (2)
のWの転置行列との内積演算が必要になる。図18(A)に示すネットワークを例に演算を具体的に説明する。
 ここでは、下層はVo~V3の4つのノードで構成され、上層はh0~h2の3つのノードで構成されており、下層のノードはすべて上層のノードと接続され、その接続は、入力側のノードの値に重み関数を掛け合わせて出力側のノードの値を求める演算になっている。
 すなわち、下層4ノード、上層3ノード間を夫々の層間で完全に接続が出来る構成となっているので、重み係数は、4x4=16通りの値を持っている。この値を行列形式で表現すると、4x4行列で表される。上記(1)式、(2)式より明らかに、両式の間には、W行列を転置する演算が必要になり、ハードウエアで構成する場合、高速化を考えると、演算に最適化したメモリ配置にしておく必要がある。すなわち、式(1)、式(2)を計算する場合には、両者で独立したW行列用のレジスタやメモリを用意しておく必要がある。
 しかしながら、重み係数は、非常に大きな次元を持つ行列になるので、そのような行列を2つ用意して演算することは、特に、第一階層機械学習・認識装置においてはコスト的に不利になる。そこで、演算の高速性を維持しつつ、面積低減が可能なこの重み係数を保持するメモリ構成が重要になる。
 これを実現する手段は、まず、重み係数を格納する際、図18(B)に示すように、一般的には、下記の行列表現になろう。
Figure JPOXMLDOC01-appb-M000001
 とあらわすことになるが、それを、図18(B)のように、ずらした形で記述する。これと同時に、演算回路としては、図18(C)に示すような、積和演算回路に、入力セレクタ部に本回路での演算結果をアキュムレータへの入力経路にある乗算部、加算部に入れる経路と、隣の積和演算回路の乗算部、加算部に入れる経路とを有していることが特長である。
 ここでは4つの演算ユニット(eu0~eu3)を示している。各演算ユニットには、乗算部(pd0~pd3)と、加算部(ad0~ad3)と、アキミュレータ(ac0~ac3)を有し、加算部の入力は、セレクタによって、第一入力は3入力(i000,i001,i002)、第2入力は、(i010,i011,i012)、加算部の入力は、乗算部の出力を第一入力とし、第二入力は、セレクタで切り替え可能な4入力(i020,i021,i022,i023)とする例を示した。ここで、i020は“0”、i021はレジスタからの入力、i022はアキュムレータ出力、i023は乗算部入力の一部(i012)と入力を共有化する例を示した。
 演算方法としては、
 (1)下層から上層の値を求める場合:
 Vレジスタに入力されたデータを各加算部に入力し(i010,i020,i030,i040)、対応するWアレイの重み係数を乗算部に入力し(i000,i100,i2000,i300)、乗算を実施後、最初は”0”を”i020, i120 i220 i320 へ入力し加算する。次に、Vレジスタの値を左にシフト(ローテート)し、対応するVレジスタの値を乗算部に入力する。これにより、実質的にWレジスタのアドレスがインクリメントしたアドレスのデータを乗算部へ入力することができる。乗算後、sw01、sw11、sw21、sw31をOFFにし、sw02、sw12、sw22、sw32をONにして、アキュムレータに格納されているデータを加算部に入力して加算する。これを全てにわたって実行する。その結果、
V0*W00+V1*W10+V2*W20+V3*W30   ・・・ (3)
V0*W01+V1*W11 +V2*W21+V3*W31  ・・・ (4)
V0*W02+V1*W12 +V2*W22+V3*W32  ・・・ (5)
を得る。このモードは隣の演算ユニットの結果を利用しないので、セルフ演算モードとよぶ。
 (2)上層から下層の値を求める場合:
 この場合は、アキュムレータに格納されたデータを隣の積和演算回路の加算部に渡すことで、実質的に、Wアレイの斜めシフト演算を実行するものである。
 まず、Wアレイからアドレス#3の情報を読み出し、乗算部に入力する(i000,i100,i2000,i300)。Hレジスタの対応するユニットを乗算部に入力し(i010,i020,i030)、その後乗算し、最初は”0”を加算後、アキュムレータへ格納する。2回目以降は、アキュムレータの格納データを隣の演算ユニットの加算回路に入力するので、sw01、sw11、sw21、sw31をONにし、sw02、sw12、sw22、sw32をOFFにして演算を実施する。最初の演算でも、アキュムレータをリセットしておけば、隣の積和演算回路のアキュムレータ出力を入力することで、実質的な”0”加算が実施することができる。 
 上記の演算を繰り返し、以下を得る。
H2*W32+H1*W31+H0*W30 ・・・ (6)
H0*W00+H2*W02+H1*W01 ・・・ (7)
H1*W11+H0*W10+H2*W12 ・・・ (8)
H2*W22+H1*W21+H0*W20 ・・・ (9)
 このモードはとなりの演算ユニットの結果を利用するので、相互演算モードとする。
 このように演算することで、下層から上層の演算を実施する場合でも、その逆で、上層から下層の演算を実施する場合でも省面積でかつ高速な演算が実現できる。
 以上の実施例では、DNN装置を階層化させて、端末側処理部とサーバ側処理部を設ける例を説明した。さらに、端末側の入力データや端末側で認識を実施している際のDNNの中間層データをサーバ側へ送り、サーバ側で学習を実施し、サーバでの学習結果をしかるべきタイミングで、端末側へ送信し端末での認識動作を進める例を説明した。サーバ側のDNNの入力は、端末のDNNの中間層のデータ出力を用い、それぞれの階層においてDNNで学習することである。学習方法としては、端末のDNNの教師有り学習を行った後、サーバのDNNの教師有り学習を行う。端末側のDNN装置は、小型、小面積、低電力なデバイスで構成し、サーバ側のDNN装置は、高速演算かつ大容量メモリを有する、いわゆるサーバで構成した。
 以上詳細に説明した実施例によると、端末のDNNの出力層ではなく、隠れ層から値をとることにより、より多くの情報量がサーバのDNNの入力となることで、全体として効率的な学習が可能になる効果がある。
 また、階層的な学習とすることで、全体を一つのDNNとするよりも、学習時間が短縮、および、学習自体が容易化する効果がある。
 さらに、IoTを活用した複数端末の協調動作を考える場合、設計者が当初考えた制御変数が最適であるとは必ずしも言えないが、このような最適化が困難である複数の端末とサーバ間での階層的なDNN構成することで、全体としての最適化ができる効果もある。
 本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。
 機械学習を適用できる技術分野全般、例えば、社会インフラシステム分野に利用することができる。
1st  HRCY  第一階層機械学習・認識装置
2nd  HRCY  第二階層機械学習・認識装置
3rd  HRCY  第三階層機械学習・認識装置
IL  入力層
HL  隠れ層
OL  出力層
DNN  ディープニューラルネット型機械学習・認識部
WUD  重み係数変更線(WUD:Wait coefficient up date)
NWCD  ニューラルネットワーク構成情報データ伝送線
WCD  重み係数変更線
WCU  重み係数調整回路(WCU:Weight Change Unit)
DNNCC DNNネットワーク構成制御部
DDATA 検出データ
LM   学習モジュール
DD   誤差検出部(DD:Deviation Detection)部
TDS  教師データ
DS  データストレージ部
ni j   i層,j番目のノード
nd i j,k  i層,j番目のノードとi+1層,k番目のノードとの接続線
AU  算術演算ユニット
i j,k   i層,j番目のノードを入力とし、i+1層,k番目のノードの値を計算する際の重み係数
DNN#  第一階層機械学習・認識装置に搭載されているDNNネットワークの識別番号
WPN# 第一階層機械学習・認識装置に搭載されているDNNネットワークの重み係数のパターン番号
RES_COMP 
Det_rank 検出結果のランキング情報
UD Req  第一階層機械学習・認識装置のニューラルネットワークの更新リクエスト発行情報
UD Prprd 第一階層機械学習・認識装置のニューラルネットワークの更新完了情報
CRAM FPGAの構成情報格納メモリ
LEU ルックアップテーブル格納ユニット
SWU スイッチ部ユニット
DSP 算術演算ハード演算部
RAM  FPGA内メモリ
IO  データ入出力回路部
IN_DATA 第一階層機械学習・認識装置の入力データ
STORAGE  第一階層機械学習・認識装置から第二階層機械学習・認識装置へのデータ転送一時保管データ蓄積部
CLASS_DATA  第一階層からの複数の第一階層機械学習・認識装置から送信された情報を蓄えるデータベース
NW  ネットワーク
CL11 畳込み層
PL11 プーリング層
FL11  完全結合層

Claims (15)

  1.  複数のDNNを階層的に構成し、
     第一階層機械学習・認識装置のDNNの隠れ層のデータを、
     第二階層機械学習・認識装置のDNNの入力データとすることを特徴とする情報処理システム。
  2.  前記第一階層機械学習・認識装置のDNNについて出力層が所望の出力となるように教師有り学習を行った後、
     前記第二階層機械学習・認識装置のDNNの教師有り学習を行う、請求項1記載の情報処理システム。
  3.  前記第一階層機械学習・認識装置は、
      認識処理を実施すると同時に、前記認識処理の認識結果のスコアを記憶する手段を設け、前記認識結果があらかじめ決められたしきい値1よりも大きくなった場合、もしくは、あらかじめ決められたしきい値2よりも小さくなった場合、もしくは、前記認識結果のヒストグラムを作成した際に分散があらかじめ決められた値より大きくなった場合に、前記第二階層機械学習・認識装置に対して、前記第一階層機械学習・認識装置のDNNのニューラルネットワーク構造および重み係数に対して更新リクエスト信号を送信する更新リクエスト送信手段を設け、
     前記第二階層機械学習・認識装置は、
      第一階層機械学習・認識装置の前記更新リクエスト信号を受取ると、前記第一階層機械学習・認識装置のDNNのニューラルネットワーク構造および重み係数の更新を実施し、その、更新データを前記第一階層機械学習・認識装置へ送信し、
     前記第一階層機械学習・認識装置は、
      前記更新データをもとに、新たなニューラルネットワークを構築する、請求項1記載の情報処理システム。
  4.  前記第一階層機械学習・認識装置は、
      学習処理を行う学習モジュールと、
      前記学習処理の学習結果の重み係数情報、認識結果レーティング情報、中間層データ情報を格納する記憶手段と、
      前記第一階層機械学習・認識装置のニューラルネットワークの更新が必要な場合に、更新リクエスト信号を、前記第二階層機械学習・認識装置へ送信する手段を有する、請求項1記載の情報処理システム。
  5.  前記第一階層機械学習・認識装置と、前記第二階層機械学習・認識装置の接続において、
     前記第一階層機械学習・認識装置から前記第二階層機械学習・認識装置への入力のみを有する、請求項1記載の情報処理システム。
  6.  前記第一階層機械学習・認識装置は、
      前記DNNの隠れ層の値を一時的に保持する記憶装置を有するとともに、前記第二階層機械学習・認識装置において前記記憶装置のデータを入力データデータベースとして保持する機構を有する、請求項1記載の情報処理システム。
  7.  前記第一階層機械学習・認識装置が複数あり、前記複数の第一階層機械学習・認識装置から単一の前記第二階層機械学習・認識装置への前記入力データの送信については、直接もしくは、有線および無線の少なくとも一つを用いたネットワークを介して接続されることを特徴とする、請求項1記載の情報処理システム。
  8.  複数の前記第二階層機械学習・認識装置を備え、
     一つの前記第一階層機械学習・認識装置からの前記隠れ層のデータを、複数の前記第二階層機械学習・認識装置で共有する、請求項1記載の情報処理システム。
  9.  前記第二階層機械学習・認識装置には、前記第一階層機械学習・認識装置のDNNの複製を設け、
     前記第一階層機械学習・認識装置での学習、もしくは、認識処理とともに、
     前記第二階層機械学習・認識装置でも前記第一階層機械学習・認識装置からの入力データをもとに学習を実施し、その結果、前記第二階層機械学習・認識装置での学習結果であるニューラルネットワークの構成情報、並びに、重み係数情報を前記第一階層機械学習・認識装置へ送信し、前記第一階層機械学習・認識装置のニューラルネットワークおよび重み係数を更新する、請求項1記載の情報処理システム。
  10.  前記第一階層機械学習・認識装置のハードウエア規模よりも、前記第二階層機械学習・認識装置のハードウエア規模を大きく構成した、請求項1記載の情報処理システム。
  11.  複数のDNNから構成される情報処理システムの運用方法であって、
     前記複数のDNNは、第一階層機械学習・認識装置と第二階層機械学習・認識装置を含む多層構造を構成し、
     前記第二階層機械学習・認識装置の情報処理能力は、前記第一階層機械学習・認識装置の情報処理能力よりも高いものを用いることとし、
     前記第一階層機械学習・認識装置のDNNの隠れ層のデータを、前記第二階層機械学習・認識装置のDNNの入力データとする、情報処理システムの運用方法。
  12.  前記第二階層機械学習・認識装置の処理結果に基づいて、前記第一階層機械学習・認識装置のDNNのニューラルネットワークの構成を制御する、請求項11記載の情報処理システムの運用方法。
  13.  複数の前記第一階層機械学習・認識装置を用いて、ひとつの被検査対象の観察を実施し、
     前記観察の過程で得られる、前記第一階層機械学習・認識装置の前記隠れ層のデータを前記第二階層機械学習・認識装置へ伝達し、
     前記第二階層機械学習・認識装置では、前記隠れ層のデータをもとに学習を実施するとともに、前記第一階層機械学習・認識装置のニューラルネットワーク構造および重み係数を算出するためのデータベースを構築し、
     前記第二階層機械学習・認識装置での前記学習ならびに前記データベースの構築期間を前記第一階層機械学習・認識装置の学習強化期間として定義し、
     前記第二階層機械学習・認識装置は、前記学習が完了後に、前記第一階層機械学習・認識装置のニューラルネットワークおよび重み係数を設定し、前記第一階層機械学習・認識装置と前記第二階層機械学習・認識装置とで認識学習の運用を実施する、実運用期間を定義する運用形態を有する、請求項11記載の情報処理システムの運用方法。
  14.  複数の前記第一階層機械学習・認識装置の構築に向けて、前期第二階層機械学習・認識装置にて初期のニューラルネットワーク構築のための第一の学習期間を設け、
     その後、前記第一の学習期間で会得された学習データを前記第一階層機械学習・認識装置に実装し、前記第一階層機械学習・認識装置を実運用させながら教師あり学習を推進する第二の学習期間を設け、
     さらに、前記第二の学習期間が終了後に、前記第一階層機械学習・認識装置を用いた機械学習認識制御を実施し、必要に応じて前期第二階層機械学習・認識装置との連携学習を推進する第三の学習期間を設ける、請求項11記載の情報処理システムの運用方法。
  15.  多層からなるニューラルネットワークにおいて、
     第一層のデータを用いて第二層のデータを演算し、その逆の、前記第二層のデータを用いて前記第一層のデータを演算する手段を有し、
     両方の前記演算において、前記第一層の各データと、前記第二層の各データとの間の関係を決める重みデータを有し、
     前記重みデータは、構成するすべての重み係数行列としてひとつの記憶保持部に格納され、
     前記重み係数行列の構成要素である、ひとつひとつの行列要素の演算に対して、1対1対応する積和演算器からなる演算ユニットを有し、
     前記重み係数行列を構成する行列要素を前記記憶保持部へ格納する際に、行列の行ベクトルを基本単位にして格納され、
     前記重み係数行列の演算は、前記記憶保持部に格納された基本単位ごとに演算され、
     前記行ベクトルの第一行成分は、元の行列の列ベクトルと構成要素の並び順が同じくして前記記憶保持部へ保持し、
     前記行ベクトルの第二行成分は、元の行列の列ベクトルの構成要素を右もしくは左へ一要素ずらして前期記憶保持部に保持し、
     前記行ベクトルの第三行成分は、元の行列の列ベクトルの構成要素を前記第二行成分で移動させた方向と同じ方向に、さらに一要素ずらして前期記憶保持部に保持し、
     前記行ベクトルの最終行の第N行成分は、元の行列の列ベクトルの構成要素を第N-1行成分で移動させた方向と同じ方向に、さらに一要素ずらして前記記憶保持部へ保持し、

     前記第一層のデータを前記第二層のデータから前記重み係数行列を用いて演算する場合は、
     前記第二層のデータを行列の列ベクトルのように並べ、各要素を前記積和演算器へ入力し、
     同時に、前記重み係数行列の第一行を前記積和演算器へ入力して両データに関する乗算演算を実施し、その演算結果をアキュムレータへ格納し、
     前記重み係数行列の第二行以下を計算する際には、前記第二層のデータを左もしくは右へ、重み行列の行演算を実施する毎に前記第二層のデータを一要素ずらした後に、前記重み係数行列の対応する行の要素データと並べ替えられた前記第二層のデータとの乗算演算を実施し、
     その後、同じ演算ユニットの前記アキュムレータに格納したデータを加算し、
    同様な演算を重み係数行列の第N行まで実施する演算器構成を有し、

     前記第二層のデータを前記第一層のデータから前記重み係数行列を用いて演算する場合は、
     前記第一層のデータを行列の列ベクトルのように並べ、各要素を前記積和演算器へ入力し、
     同時に、前記重み係数行列の第一行を前記積和演算器へ入力して乗算演算を実施し、その結果を前記アキュムレータへ格納し、
     前記重み係数行列の第二行以下を計算する際には、前記第一層のデータを左もしくは右へ、前記重み係数行列の行演算を実施する毎に前記第一層のデータを一要素ずらした後に、前記重み係数行列の対応する行の要素データと並べ替えられた前記第一層のデータとの乗算演算を実施し、
     その後、前記演算ユニットに格納された前記アキュムレータの情報を隣の演算ユニットの加算部へ入力し、前記乗算演算の結果との加算を実施し、その結果を前記アキュムレータに格納し、
     同様な演算を重み行列の第N行まで実施することを特徴とする機械学習演算器。
PCT/JP2016/063072 2016-04-26 2016-04-26 情報処理システムおよびその運用方法 WO2017187516A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2016/063072 WO2017187516A1 (ja) 2016-04-26 2016-04-26 情報処理システムおよびその運用方法
JP2018513989A JP6714690B2 (ja) 2016-04-26 2016-04-26 情報処理システム、情報処理システムの運用方法、および機械学習演算器
US15/761,217 US20180260687A1 (en) 2016-04-26 2016-04-26 Information Processing System and Method for Operating Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/063072 WO2017187516A1 (ja) 2016-04-26 2016-04-26 情報処理システムおよびその運用方法

Publications (1)

Publication Number Publication Date
WO2017187516A1 true WO2017187516A1 (ja) 2017-11-02

Family

ID=60161328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/063072 WO2017187516A1 (ja) 2016-04-26 2016-04-26 情報処理システムおよびその運用方法

Country Status (3)

Country Link
US (1) US20180260687A1 (ja)
JP (1) JP6714690B2 (ja)
WO (1) WO2017187516A1 (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109523752A (zh) * 2018-11-28 2019-03-26 润电能源科学技术有限公司 一种设备故障预警方法、装置、电子设备和介质
JP2019061578A (ja) * 2017-09-27 2019-04-18 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置
JP2019095932A (ja) * 2017-11-20 2019-06-20 日本製鉄株式会社 異常判定方法及び装置
WO2019131527A1 (ja) * 2017-12-26 2019-07-04 株式会社エイシング 汎用学習済モデルの生成方法
WO2019216513A1 (ko) * 2018-05-10 2019-11-14 서울대학교산학협력단 행 단위 연산 뉴럴 프로세서 및 이를 이용한 데이터 처리 방법
JP2020038658A (ja) * 2018-09-04 2020-03-12 株式会社ストラドビジョン エッジイメージを利用して物体を検出する学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
WO2020102887A1 (en) * 2018-11-19 2020-05-28 Tandemlaunch Inc. System and method for automated design space determination for deep neural networks
WO2020188794A1 (ja) * 2019-03-20 2020-09-24 株式会社日立国際電気 映像システム、撮像装置、および映像処理装置
JP2021503668A (ja) * 2017-11-21 2021-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation マルチ・タスク学習を用いた特徴抽出方法、コンピュータ・システム、およびコンピュータ・プログラム製品(マルチ・タスク学習を用いた特徴抽出)
JP2021503653A (ja) * 2017-11-17 2021-02-12 タレス・ディス・フランス・エス・ア 通信装置によって行われるユーザ認証を改善する方法
WO2021028967A1 (ja) * 2019-08-09 2021-02-18 三菱電機株式会社 制御システム、サーバ、機器、制御方法およびプログラム
JP2021081930A (ja) * 2019-11-18 2021-05-27 日本放送協会 学習装置、情報分類装置、及びプログラム
KR20210066545A (ko) * 2019-11-28 2021-06-07 광주과학기술원 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
DE102018002781B4 (de) 2017-04-13 2021-07-22 Fanuc Corporation Schaltungskonfigurations-Optimierungsvorrichtung und maschinelle Lernvorrichtung
JP2021526253A (ja) * 2018-05-23 2021-09-30 モビディウス リミテッド 深層学習システム
JP2023511864A (ja) * 2020-01-15 2023-03-23 グーグル エルエルシー 小さいフットプリントのマルチチャネルキーワードスポッティング
US11741026B2 (en) 2020-08-31 2023-08-29 Samsung Electronics Co., Ltd. Accelerator, method of operating an accelerator, and electronic device including an accelerator
JP7475509B2 (ja) 2018-10-19 2024-04-26 ジェネンテック, インコーポレイテッド 畳み込みニューラルネットワークによる凍結乾燥製剤における欠陥検出
JP7475150B2 (ja) 2020-02-03 2024-04-26 キヤノン株式会社 推論装置、推論方法、及びプログラム
US11983879B2 (en) 2018-11-30 2024-05-14 Fujifilm Corporation Image processing apparatus, image processing method, and program

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180129900A1 (en) * 2016-11-04 2018-05-10 Siemens Healthcare Gmbh Anonymous and Secure Classification Using a Deep Learning Network
KR20180060149A (ko) * 2016-11-28 2018-06-07 삼성전자주식회사 컨볼루션 처리 장치 및 방법
US10769501B1 (en) * 2017-02-15 2020-09-08 Google Llc Analysis of perturbed subjects using semantic embeddings
CN108062246B (zh) * 2018-01-25 2019-06-14 北京百度网讯科技有限公司 用于深度学习框架的资源调度方法和装置
US11126649B2 (en) 2018-07-11 2021-09-21 Google Llc Similar image search for radiology
CN109445688B (zh) * 2018-09-29 2022-04-15 上海百功半导体有限公司 一种存储控制方法、存储控制器、存储设备及存储系统
KR102161758B1 (ko) * 2018-10-24 2020-10-05 아주대학교 산학협력단 사용자 단말, 서버 및 이를 포함하는 클라이언트 서버 시스템
KR20200063289A (ko) * 2018-11-16 2020-06-05 삼성전자주식회사 영상 처리 장치 및 그 동작방법
CN110059076A (zh) * 2019-04-19 2019-07-26 国网山西省电力公司电力科学研究院 一种输变电线路设备的故障数据库半自动化建立方法
EP3767548A1 (en) * 2019-07-03 2021-01-20 Nokia Technologies Oy Delivery of compressed neural networks
EP3767549A1 (en) * 2019-07-03 2021-01-20 Nokia Technologies Oy Delivery of compressed neural networks
US11886963B2 (en) 2020-12-01 2024-01-30 OctoML, Inc. Optimizing machine learning models

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254086A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, restricted boltzmann machine and batch-based parallelizable optimization
JP2015166962A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 情報処理装置、学習方法、及び、プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0926948A (ja) * 1995-07-11 1997-01-28 Fujitsu Ltd ニューラルネットワークによる情報処理装置
JP4121061B2 (ja) * 2002-01-10 2008-07-16 三菱電機株式会社 類識別装置及び類識別方法
JP5816771B1 (ja) * 2015-06-08 2015-11-18 株式会社Preferred Networks 学習装置ユニット

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254086A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, restricted boltzmann machine and batch-based parallelizable optimization
JP2015166962A (ja) * 2014-03-04 2015-09-24 日本電気株式会社 情報処理装置、学習方法、及び、プログラム

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018002781B4 (de) 2017-04-13 2021-07-22 Fanuc Corporation Schaltungskonfigurations-Optimierungsvorrichtung und maschinelle Lernvorrichtung
JP2019061578A (ja) * 2017-09-27 2019-04-18 富士フイルム株式会社 学習支援装置、学習支援装置の作動方法、学習支援プログラム、学習支援システム、および端末装置
JP2021503653A (ja) * 2017-11-17 2021-02-12 タレス・ディス・フランス・エス・ア 通信装置によって行われるユーザ認証を改善する方法
JP2019095932A (ja) * 2017-11-20 2019-06-20 日本製鉄株式会社 異常判定方法及び装置
JP7046181B2 (ja) 2017-11-21 2022-04-01 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチ・タスク学習を用いた特徴抽出方法、コンピュータ・システム、およびコンピュータ・プログラム製品(マルチ・タスク学習を用いた特徴抽出)
JP2021503668A (ja) * 2017-11-21 2021-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation マルチ・タスク学習を用いた特徴抽出方法、コンピュータ・システム、およびコンピュータ・プログラム製品(マルチ・タスク学習を用いた特徴抽出)
WO2019131527A1 (ja) * 2017-12-26 2019-07-04 株式会社エイシング 汎用学習済モデルの生成方法
JPWO2019131527A1 (ja) * 2017-12-26 2020-01-16 株式会社エイシング 汎用学習済モデルの生成方法
US11568327B2 (en) 2017-12-26 2023-01-31 Aising Ltd. Method for generating universal learned model
WO2019216513A1 (ko) * 2018-05-10 2019-11-14 서울대학교산학협력단 행 단위 연산 뉴럴 프로세서 및 이를 이용한 데이터 처리 방법
JP2021526253A (ja) * 2018-05-23 2021-09-30 モビディウス リミテッド 深層学習システム
JP7372010B2 (ja) 2018-05-23 2023-10-31 モビディウス リミテッド 深層学習システム
JP2020038658A (ja) * 2018-09-04 2020-03-12 株式会社ストラドビジョン エッジイメージを利用して物体を検出する学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
JP7475509B2 (ja) 2018-10-19 2024-04-26 ジェネンテック, インコーポレイテッド 畳み込みニューラルネットワークによる凍結乾燥製剤における欠陥検出
WO2020102887A1 (en) * 2018-11-19 2020-05-28 Tandemlaunch Inc. System and method for automated design space determination for deep neural networks
CN109523752A (zh) * 2018-11-28 2019-03-26 润电能源科学技术有限公司 一种设备故障预警方法、装置、电子设备和介质
CN109523752B (zh) * 2018-11-28 2021-01-29 润电能源科学技术有限公司 一种设备故障预警方法、装置、电子设备和介质
US11983879B2 (en) 2018-11-30 2024-05-14 Fujifilm Corporation Image processing apparatus, image processing method, and program
WO2020188794A1 (ja) * 2019-03-20 2020-09-24 株式会社日立国際電気 映像システム、撮像装置、および映像処理装置
JP7108780B2 (ja) 2019-03-20 2022-07-28 株式会社日立国際電気 映像システム、撮像装置、および映像処理装置
JPWO2020188794A1 (ja) * 2019-03-20 2021-12-09 株式会社日立国際電気 映像システム、撮像装置、および映像処理装置
US11881013B2 (en) 2019-03-20 2024-01-23 Hitachi Kokusai Electric Inc. Video system
JP7483104B2 (ja) 2019-08-09 2024-05-14 三菱電機株式会社 制御システム
WO2021028967A1 (ja) * 2019-08-09 2021-02-18 三菱電機株式会社 制御システム、サーバ、機器、制御方法およびプログラム
JPWO2021028967A1 (ja) * 2019-08-09 2021-02-18
JP2021081930A (ja) * 2019-11-18 2021-05-27 日本放送協会 学習装置、情報分類装置、及びプログラム
KR20210066545A (ko) * 2019-11-28 2021-06-07 광주과학기술원 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
KR102293791B1 (ko) * 2019-11-28 2021-08-25 광주과학기술원 반도체 소자의 시뮬레이션을 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
JP7345667B2 (ja) 2020-01-15 2023-09-15 グーグル エルエルシー 小さいフットプリントのマルチチャネルキーワードスポッティング
JP2023511864A (ja) * 2020-01-15 2023-03-23 グーグル エルエルシー 小さいフットプリントのマルチチャネルキーワードスポッティング
JP7475150B2 (ja) 2020-02-03 2024-04-26 キヤノン株式会社 推論装置、推論方法、及びプログラム
US11741026B2 (en) 2020-08-31 2023-08-29 Samsung Electronics Co., Ltd. Accelerator, method of operating an accelerator, and electronic device including an accelerator

Also Published As

Publication number Publication date
US20180260687A1 (en) 2018-09-13
JPWO2017187516A1 (ja) 2018-07-19
JP6714690B2 (ja) 2020-06-24

Similar Documents

Publication Publication Date Title
WO2017187516A1 (ja) 情報処理システムおよびその運用方法
WO2020221200A1 (zh) 神经网络的构建方法、图像处理方法及装置
CN109102065B (zh) 一种基于PSoC的卷积神经网络加速器
US11164074B2 (en) Multi-core systolic processor system for neural network processing
WO2022083536A1 (zh) 一种神经网络构建方法以及装置
CN112183718B (zh) 一种用于计算设备的深度学习训练方法和装置
WO2021057056A1 (zh) 神经网络架构搜索方法、图像处理方法、装置和存储介质
WO2019060290A1 (en) DIRECT ACCESS MATERIAL ACCELERATION IN A NEURONAL NETWORK
EP3710995B1 (en) Deep neural network processor with interleaved backpropagation
WO2021244249A1 (zh) 一种分类器的训练方法、数据处理方法、系统以及设备
WO2022001805A1 (zh) 一种神经网络蒸馏方法及装置
WO2021218517A1 (zh) 获取神经网络模型的方法、图像处理方法及装置
WO2023221928A1 (zh) 一种推荐方法、训练方法以及装置
JP2021510219A (ja) マルチキャストネットワークオンチップに基づいた畳み込みニューラルネットワークハードウェアアクセラレータおよびその動作方式
WO2022179492A1 (zh) 一种卷积神经网络的剪枝处理方法、数据处理方法及设备
KR102562344B1 (ko) 네트워크 프로세서와 컨볼루션 처리기를 갖는 디바이스용 신경망 처리기
US20220207327A1 (en) Method for dividing processing capabilities of artificial intelligence between devices and servers in network environment
CN112163601A (zh) 图像分类方法、系统、计算机设备及存储介质
CN111931901A (zh) 一种神经网络构建方法以及装置
CN114037882A (zh) 边缘人工智能装置、电子装置及其方法
WO2021036397A1 (zh) 目标神经网络模型的生成方法和装置
WO2024114659A1 (zh) 一种摘要生成方法及其相关设备
CN114662646A (zh) 实现神经网络的方法和装置
WO2023197857A1 (zh) 一种模型切分方法及其相关设备
JP6957659B2 (ja) 情報処理システムおよびその運用方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018513989

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15761217

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16900389

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16900389

Country of ref document: EP

Kind code of ref document: A1