WO2023167168A1 - 演算処理装置 - Google Patents

演算処理装置 Download PDF

Info

Publication number
WO2023167168A1
WO2023167168A1 PCT/JP2023/007251 JP2023007251W WO2023167168A1 WO 2023167168 A1 WO2023167168 A1 WO 2023167168A1 JP 2023007251 W JP2023007251 W JP 2023007251W WO 2023167168 A1 WO2023167168 A1 WO 2023167168A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
arithmetic
data
circuit
arithmetic processing
Prior art date
Application number
PCT/JP2023/007251
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 国立大学法人九州工業大学
Publication of WO2023167168A1 publication Critical patent/WO2023167168A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Definitions

  • the present invention relates to an arithmetic processing apparatus having memory circuits and arithmetic circuits suitable for executing predetermined arithmetic processing.
  • Non-Patent Document 1 As a RatSLAM algorithm that models the memory function of the hippocampus of rodents and applies it to a spatial recognition system, the visual information from the camera and the self-position are learned by the Hebbian rule, and the correlation between the visual information and the self-position It has been reported that memorizing relationships enables advanced spatial recognition.
  • Patent Document 1 discloses a method of implementing SLAM, which is a type of self-localization algorithm.
  • a storage device is required for storing visual information relating to objects placed in space in association with their own position information. In this case, it is desirable to store visual information about objects placed in the space within a range having a predetermined extent centering on a predetermined position in order to make the spatial position ambiguous.
  • the event information including the visual information about the objects placed in the space described above and the information associated with the self position information are efficiently combined. must be encoded and stored.
  • the present invention has been made in view of the above circumstances, and is a memory suitable for executing predetermined arithmetic processing, including intelligent processing for learning the correlation between information on events occurring in space and self-positions.
  • An object of the present invention is to provide an arithmetic processing device having a circuit and an arithmetic circuit.
  • an arithmetic processing device of the present invention has a plurality of memory blocks for storing data relating to events occurring in a space having a predetermined extent, and further executes a predetermined operation on the data. and a control circuit for controlling reading and writing of data held in a memory block and arithmetic processing in the arithmetic circuit, wherein the memory block receives different events correlated with spatial information.
  • the arithmetic circuit performs a prescribed arithmetic processing on the data contained in a prescribed area in the space with respect to the data stored in the memory block, and after the arithmetic processing is completed, the space It is characterized by outputting part or all of data related to different events having correlation with information as a result of arithmetic processing.
  • ADVANTAGE OF THE INVENTION it becomes possible to implement efficiently as hardware the intelligent processing for learning the correlation of the information of the event which occurred in space, and spatial information. Further, when the arithmetic circuit is configured near the memory element, it is possible to reduce the power consumption required to drive the read/write wiring.
  • FIG. 1 is a block diagram of an arithmetic processing device in the first embodiment;
  • FIG. Schematic diagram of a hippocampus-entorhinal cortex model in the first embodiment.
  • FIG. 4 is a diagram related to storage of weight information for each event in the first embodiment;
  • FIG. 4 is a diagram showing an example of weight distribution in the first embodiment;
  • FIG. 4 is a diagram showing an example of weight distribution values in the first embodiment;
  • FIG. 4 is a diagram relating to addition of weight information in the first embodiment;
  • FIG. 2 is a configuration diagram of a memory circuit according to the first embodiment;
  • FIG. 2 is a configuration diagram of a memory circuit according to the first embodiment;
  • 2 is a configuration diagram of an arithmetic circuit in the first embodiment;
  • FIG. 2 is a diagram of an event type detection device and a spatial position detection device in the first embodiment; 4 is a flow chart of processing in the first embodiment.
  • FIG. 2 is a configuration diagram of a memory circuit according to the first embodiment; The block diagram of the arithmetic processing unit in 2nd Embodiment.
  • FIG. 4 is a configuration diagram of a memory arithmetic circuit according to a second embodiment;
  • FIG. 7 is a configuration diagram of a memory operation block in the second embodiment;
  • 4 is a configuration diagram of a memory arithmetic element in the second embodiment; 11 shows a method of specifying coordinates for a memory arithmetic circuit in the second embodiment; 9 is a flowchart of processing in the second embodiment; 9 is a timing chart of addition processing in the second embodiment; 9 is a timing chart of addition processing in the second embodiment; 4A and 4B are examples of values stored in a memory circuit according to the second embodiment; 4A and 4B are examples of values stored in a memory circuit according to the second embodiment; The block diagram of the arithmetic processing unit in 3rd Embodiment. The block diagram of the arithmetic processing unit in 3rd Embodiment. A configuration example of an arithmetic circuit in the third embodiment. FIG.
  • FIG. 11 is a configuration diagram of a memory arithmetic element in the third embodiment; 9 is a timing chart of subtraction processing in the third embodiment; The block diagram of the memory circuit in 4th Embodiment. The block diagram of the memory operation block in 4th Embodiment. The block diagram of the arithmetic processing unit of the modification in 2nd Embodiment.
  • FIG. 11 is a configuration diagram of a memory operation block of a modified example in the second embodiment;
  • FIG. 1 shows a block diagram of an arithmetic processing device described in this embodiment.
  • an arithmetic processing unit 100 includes a memory circuit 2 composed of a plurality of memory blocks 1 for storing data relating to events occurring in a space having a predetermined extent, and and a memory control circuit 4 for controlling reading and writing of data held in the memory circuit 1 and arithmetic processing in the arithmetic circuit 3 .
  • the arithmetic processing unit 100 executes processing based on the hippocampus-entorhinal cortex model shown in FIG.
  • FIG. 2 shows a hippocampus-entorhinal cortex model, which is the basic concept of an arithmetic processing model that learns the correlation between information on events occurring in space and spatial information, which is realized in the arithmetic processing unit 100 described in this embodiment.
  • Fig. 4 shows a schematic diagram;
  • the hippocampus-entorhinal cortex model used as an arithmetic processing model in this embodiment is based on the hippocampus-entorhinal cortex model found in the hippocampus and entorhinal cortex of organisms such as rats as physiological knowledge.
  • a simplified hippocampal-entorhinal cortex model consisting of place cells 8, cue cells 9, and connecting cells 10, intended to be implemented as wear.
  • the internal state of the place cell 8 transitions according to the speed information and the direction information to express the self-location information.
  • a cue cell 9 that responds to a specific event expresses information about the type of event.
  • the connecting cell 10 by combining the spatial information input from the place cell 8 and the non-spatial information about the specific event input from the cue cell 9, the information on the event occurring in the space and the spatial information are correlated. It has the function of learning relationships.
  • an agent For example, a subject that detects events while moving in space is called an agent.
  • the agent 11 detects events a, b, and c while moving between positions 12 to 15 in space.
  • Weight information having a predetermined spatial extent is stored as information relating to the event having a correlation with the spatial information for the location where is detected.
  • the weight distribution 16 of each event is stored as (A) to (C) in FIG. be.
  • the size of the stored weight distribution is indicated by the size in the direction perpendicular to the two-dimensional space.
  • the weight information having a predetermined spatial spread has a distribution in which the maximum value is at the center and the value attenuates as the distance from the center increases in the predetermined spatial spread.
  • the weight distribution is often a two-dimensional Gaussian distribution as shown in FIG. 4, but it is not necessarily limited to this. Weight information having another distribution may be used as long as the distribution has a spatial spread of .
  • the spatial distribution of the weight information in this embodiment is described as a two-dimensional Gaussian distribution as described above, but as shown in FIG. are represented as two-dimensional coordinates.
  • the space in which the agent moves as shown in (A) to (C) is expressed as discrete two-dimensional coordinates (x, y). Therefore, the spatial distribution of weight information also takes discrete values corresponding to discrete two-dimensional coordinates.
  • FIG. 5 shows a weight distribution having discrete values corresponding to discrete two-dimensional coordinates in this embodiment.
  • the weight distribution in this embodiment can take three values of 1, 2, and 4 in an area defined by 3 ⁇ 3 discrete two-dimensional coordinates.
  • the weight information having a predetermined spatial extent stored at a plurality of locations is correlated with the spatial information. It is stored as information of the relevant event.
  • the weight information of the same event detected at the present time is added to the weight information of the past event, so as the agent moves, the weight information of the event correlates with the spatial information as shown in FIG. is stored as information having
  • weight distributions relating to the same event detected at different positions do not overlap spatially, so each weight distribution is stored independently. If so, by adding the value of the newly detected weight distribution to the weight distribution stored in the past, the weight information about the event has a correlation with the spatial information as shown in FIG. stored as information.
  • FIG. 6(A) shows weight information about an event in which two weight distributions are added to form a further peak between the peaks of the two weight distributions.
  • FIG. 6B shows FIG. 6A as values corresponding to two-dimensional spatial positions (only the distribution of positions where the values are not 0 is shown). Note that the x-coordinate and y-coordinate are omitted in FIG. 6(B).
  • the weight distribution at the position is added at any time as described above, so that the weight information related to the event is stored as information having a correlation with the spatial information as described above. .
  • FIG. 6A shows the values in the height direction with respect to the two-dimensional space in order to explain the addition of weight distributions having two-dimensional distributions. Since the three-dimensional diagram of the weight distribution is expressed on two-dimensional paper, the shape of the distribution does not necessarily match the actual weight distribution of FIG. 6B.
  • the arithmetic processing device 100 in this embodiment has the memory circuit 2 composed of a plurality of memory blocks 1, the arithmetic circuit 3, and the memory control circuit 4.
  • FIG. 1 the arithmetic processing device 100 in this embodiment has the memory circuit 2 composed of a plurality of memory blocks 1, the arithmetic circuit 3, and the memory control circuit 4.
  • FIG. 7 shows a configuration example of the memory circuit 2.
  • the memory circuit 2 in this embodiment has a configuration having a plurality of memory blocks 1 corresponding to two-dimensional spatial coordinates.
  • each memory block 1 is composed of memory elements for storing values.
  • each memory block 1 constitutes each row of the memory circuit 2, and the memory circuit 2 has 36 rows of memory blocks 1 in total.
  • the boundaries of each memory block 1 are indicated by solid lines.
  • one cell surrounded by a solid line and a broken line stores a value obtained by adding weight information values corresponding to a predetermined event type at a predetermined coordinate position. It corresponds to a memory element.
  • storing the data related to the space and the correlation of the event in the memory circuit 2 means that in the hippocampus-entorhinal cortex model described above, the correlation between the information of the event occurring in the space and the spatial information is learned. is equivalent to In the following description (including other embodiments), the terms “memory” and “learning” are used, but unless otherwise specified, both have the same meaning.
  • each memory block 1 has a data input port 17 and a data output port 18 between it and the arithmetic circuit 3 .
  • Each memory block 1 corresponds to positional coordinates in a two-dimensional space.
  • Each column of memory circuit 2 corresponds to an event type detected in space.
  • 10 labels of each event type labeled 0-9, are associated with the labels of each column.
  • the boundaries of the labels for each event type are indicated by dashed lines. That is, in this embodiment, it is assumed that there are 10 types of events detected by agents in space.
  • FIG. 7 omits illustration of an input port for control signals from the memory control circuit 4 and an output port for outputting data to the outside of the arithmetic processing unit 100 .
  • two-dimensional spatial coordinates (2, 1), (3, 1), (4, 1), (2, 2), (3, 2), (4, 2 ), (2,3), (3,3), and (4,3) store non-zero values.
  • the agent has a memory for event type (7) at said coordinate location.
  • the two-dimensional coordinate pattern of memory shown here is just an example. The notation of the value 0 is omitted.
  • the weight information is stored in the memory circuit as information having a correlation with the spatial information, as shown in FIG. .
  • Each memory block 1 in this embodiment has an independent input port 17 and an independent output port 18.
  • a designated event It is possible to read in parallel the data of the predetermined coordinate area for .
  • the parallel reading is not essential.
  • the memory circuit as a whole may have one input/output port and read data serially. That is, the memory circuit 2 is not limited to being composed of a plurality of memory blocks 1, and may be composed of one memory block (memory array) as a whole.
  • the memory circuit 2 composed of a plurality of memory blocks 1 is shown as an example for the purpose of facilitating understanding of the correspondence relationship between the information regarding the event type and the information regarding the event detection position.
  • the arithmetic circuit 3 in this embodiment has a function of adding a predetermined value to each of a plurality of input data. and a register 22 for holding a plurality of predetermined values which are augend values.
  • the input value register 20 has an input port 23 for inputting data read out from the memory circuit 2
  • the addition result register 21 has an output port 24 for outputting the addition result to the memory circuit 2 .
  • the arithmetic circuit 3 holds a plurality of input values read from the memory circuit 2 and inputted from the input port 23 in the input value register 20, and adds a plurality of predetermined values held in the addend value register 22. Afterwards, the addition result is held in the addition result register 21 and output from the output port 24 to the memory circuit 2 .
  • the present invention is not limited to these configurations. Any other configuration may be used.
  • the memory control circuit 4 in this embodiment has an input terminal 5 for event type data and an input terminal 6 for event detection position data. It has a function of outputting a control signal for executing control of reading corresponding data and inputting it to the arithmetic circuit 3 . Further, it has a function of outputting a control signal for writing back the operation result of the arithmetic circuit 3 to the original position (read position) of the memory circuit 2 . Furthermore, the memory control circuit 4 also has a function of outputting a control signal for executing control of outputting part or all of the data in the memory circuit 2 to the outside. In FIG. 1, the control signal is represented by one signal line. The memory control circuit 4 also has a function of outputting a control signal for controlling the execution of calculations in the arithmetic circuit 3 .
  • the hippocampus-entorhinal cortex model shown in FIG. is input from a device configured outside the arithmetic processing device 100 . That is, regarding the hippocampus-entorhinal cortex model, the functions realized by the arithmetic processing device 100 described in this embodiment correspond to the connecting cells described above. In the arithmetic processing unit 100 in the present embodiment, the function of calculating spatial information and non-spatial information in the hippocampus-entorhinal cortex model is not essential, but even if the arithmetic processing unit includes these functions I do not care. Example embodiments of these functions are described below.
  • the data on the type of event and the data on the position where the event was detected are input from the outside. Specific examples of each data are shown below.
  • an image acquired by a camera is subjected to object detection processing, and data recognized as a predetermined object type is used as event type data.
  • the object detection algorithm of Non-Patent Document 2 can be used to determine the type of object appearing in the image.
  • the event type detection device 25 in FIG. 10 has a processor, and it is assumed that the object detection algorithm is implemented as software. Furthermore, 10 types of object types are set in advance for the event type detection device 25, and the above-described object type data is output to the arithmetic processing unit 100 when a corresponding object type is detected.
  • the processing unit 100 in this embodiment is installed in an agent such as a robot that can move in space.
  • the agent has a spatial position detection device 26 shown in FIG. 10 for detecting where it is currently located within a preset space.
  • the implementation method of the spatial position detection device 26 is not the main focus of the present invention, and any implementation means may be used. has a function to always calculate the moving distance and direction from the point where the agent first departed, and is capable of calculating the current position (coordinates) in the space.
  • the spatial position detection device 26 detects the position (coordinates) in space to the processing unit 100.
  • the arithmetic processing unit 100 can learn the event type data and the event detection position data as spatially correlated data.
  • FIG. 1 the operation of the arithmetic processing device 100 in this embodiment will be described using the flowcharts shown in FIGS. 1 and 11.
  • FIG. 1 the flowcharts shown in FIGS. 1 and 11.
  • event type data data on the type of event that occurred in space
  • event detection position data data on the position of the agent when the event was detected
  • the event type data and the event detection position data are input to the memory control circuit 4 (process 28 in the flow chart of FIG. 11).
  • the memory control circuit 4 outputs a control signal for reading an appropriate data group to the memory circuit 2 based on the event type data and the event detection position data.
  • the appropriate data group refers to a plurality of data to which weight information corresponding to the detected event type and having the above-described predetermined spatial spread should be added. That is, in the case of this embodiment, the weight information having a predetermined spatial spread has values distributed in a range of 3 ⁇ 3 corresponding to a two-dimensional Gaussian distribution as shown in FIG. , based on the coordinates of the event type data and the event detection position data, the data of the 3 ⁇ 3 area around the coordinates are read out (process 29 in the flow chart of FIG. 11).
  • the data of the read 3 ⁇ 3 area (9 data in total) are subsequently input to the arithmetic circuit 3 based on the control signal from the memory control circuit 4 described above (process 30 in the flow chart of FIG. 11).
  • the arithmetic circuit 3 has an adder 19, and adds weight data distributed in a 3x3 range to the input data of a 3x3 area (process 31 in the flowchart of FIG. 11). .
  • the memory control circuit 4 After the addition processing is completed in the arithmetic circuit 3, the memory control circuit 4 subsequently reads out the result of the addition processing from the arithmetic circuit 3 and inputs a control signal to the arithmetic circuit 3 and the memory circuit 2 to write the result into the memory circuit 2. .
  • the calculation result read out from the calculation circuit 3 corresponds to the same event as when it was read out, and is written in the memory element at the same coordinate position. This completes the updating of the data related to the spatial information regarding the event. This corresponds to the learning process in the hippocampus-entorhinal cortex model described above (process 32 in the flowchart of FIG. 11). As a result, the distribution of values in the memory circuit 2 becomes as shown in FIG. 7, as in the example described above.
  • the agent moves and recognizes the same event at another location
  • the event type data and the data on the agent's position when the event was detected are stored in the arithmetic processing unit in the same manner as described above. 100 is entered.
  • the event type data and the event detection position data are input to the memory control circuit 4 in the same manner as described above, and the memory control circuit 4 sends an appropriate data group to the memory circuit 2.
  • a control signal for reading out is input.
  • the event type data are the same as those described above, while the event detection position data indicate different position coordinates.
  • (7) be the label of the detected event type, and (3, 4) be the position coordinates where the event was detected. Therefore, from the memory circuit 2, based on the coordinates of the event detection position data, 3 ⁇ 3 data around coordinates different from those described above are read out.
  • the read data of the 3x3 area (9 data in total) are subsequently input to the arithmetic circuit 3, and the input 3x3 area is converted by the adder 19. Weight data distributed over a 3 ⁇ 3 area is added to the area data in the same manner as described above.
  • the agent moves and recognizes a different event (for example, event type (3)) at another location
  • event type data and the location where the event was detected are stored in the same manner as described above. is input to the arithmetic processing unit 100 .
  • the event type data and the event detection position data are input to the memory control circuit 4 in the same manner as described above, and the memory control circuit 4 sends an appropriate data group to the memory circuit 2.
  • a control signal for reading out is input.
  • let (3) be the label of the detected event type
  • let (2, 2) be the position coordinates where the event was detected. Therefore, from the memory circuit 2, based on the coordinates of the event detection position data, the data of the 3 ⁇ 3 area around the coordinates of the event detection position is read out for an event different from the above case.
  • the data of the read 3x3 area (total 9 pieces of data) are subsequently input to the arithmetic circuit 3 based on the control signal from the memory control circuit described above, and the 3x3 area input by the adder 19. Add the weight data distributed in the range of 3x3 to the data of .
  • the calculation result is written in the memory circuit 2 based on the event type data and the event detection position data, similarly to the process described above. This completes the updating of the data related to the spatial information regarding the event. As a result, the distribution of values in the memory circuit becomes as shown in FIG.
  • the memory circuit stores the information correlated with the spatial information regarding the event detected with the movement of the agent (process 33 in the flow chart of FIG. 11).
  • the end timing is determined by an end signal input to the memory control circuit 4 from the outside. Since the method of determining the end timing and the input method/means do not limit the present invention, FIG.
  • a read signal for all or part of the data is input from the memory control circuit 4 to the memory circuit 2, and the data is output from the memory circuit 2 to the outside through the output terminal 7 of the arithmetic processing unit 100. (process 34 in the flowchart of FIG. 11). It should be noted that the method of reading data from the memory circuit 2 after completion of processing does not limit the present invention, and any method for reading data from a general memory circuit may be used.
  • the information stored in the memory circuit 2 is information indicating the correlation between the event detected as the agent moves and the spatial information. This makes it possible to obtain the positional coordinates in the space where the event is most likely to occur. Since the application of the data output from the memory circuit 2 is not the focus of the present invention, further detailed explanation is omitted.
  • the event type data in the first embodiment is assumed to be recognized as a predetermined object type by executing object detection processing on an image acquired by a camera. It is not limited to this.
  • the type of command may be recognized by voice recognition and used as the type of event.
  • the data regarding the type of event may be related to any other event such as olfactory information or tactile information.
  • the hippocampus-entorhinal cortex model as an arithmetic processing device having a memory circuit, an arithmetic circuit for executing a predetermined arithmetic operation, and a control circuit, the information on the detected event is correlated with the space. , and can update the memory each time a plurality of events are detected.
  • the configurations of the memory circuit, the arithmetic circuit, and the control circuit shown in this embodiment are examples, and any configuration may be used as long as the same arithmetic processing can be executed.
  • the characteristic configuration of the present embodiment which is the main focus of the invention, is to store and update the information related to the detected event as information having a correlation with the space.
  • the distribution of the weight information is assumed to be the same regardless of the type of event, but it is not necessarily limited to this.
  • the distribution of weight information may have different distributions depending on events.
  • each event can be stored as information having a unique correlation with the space.
  • FIG. 13 shows a block diagram of the arithmetic processing device 200 described in this embodiment.
  • an arithmetic processing unit 200 stores data relating to events occurring in a space having a predetermined extent, and includes a plurality of memory operation blocks 35 for executing predetermined operations on the data. and a memory operation control circuit 37 for controlling reading of data held in the memory operation block 35 and operation processing.
  • the arithmetic processing unit 200 executes processing based on the hippocampus-entorhinal cortex model shown in FIG. The description is omitted assuming that there is one.
  • FIG. 14 shows a block diagram of the memory arithmetic circuit 36.
  • the memory operation circuit 36 in this embodiment has a configuration in which memory operation blocks 35 corresponding to spatial coordinates are arranged in an array.
  • each memory operation block 35 is arranged in an array so as to correspond to positional coordinates in a two-dimensional space.
  • row and column labels correspond to x-coordinates and y-coordinates, respectively.
  • each memory operation block 35 is composed of memory operation elements 38 each corresponding to an event type detected in the space, and an operation control circuit 39 for controlling the memory operation elements 38.
  • FIG. 15 is an enlarged view of the memory operation block 35 corresponding to the position coordinates (0, 5) in FIG.
  • FIG. 15 shows that one memory operation block 35 includes 10 memory operation elements 38 corresponding to 10 types of labels of each event type, which are denoted as 0-9 as event type labels. there is That is, in this embodiment, it is assumed that there are 10 types of events detected by agents in space.
  • one memory arithmetic element 38 is a memory element that stores data corresponding to one event at a corresponding coordinate position, and stores the data stored in the memory element when the event occurs. It has a configuration and a function that serve both as an arithmetic circuit for executing the addition processing of the values of the weight distribution to be added. Further, the arithmetic control circuit 39 controls arithmetic operations in the memory arithmetic elements as will be described later.
  • FIG. 16 shows an example in which the memory operation element 38 having the functions described above is composed of a toggle flip-flop circuit 40 and an XOR circuit 41.
  • the memory arithmetic element 38 has a configuration in which eight toggle flip-flop circuits 40 are connected so as to be able to store 8-bit data.
  • the position where the event is detected is added to the data to be stored.
  • An XOR circuit 41 is configured to add a predetermined value of the weight distribution according to the relative position of the .
  • FIG. 13 the operation of the arithmetic processing unit 200 configured as described above will be described in detail with reference to the flow charts shown in FIGS. 13, 17 and 18.
  • FIG. 13 the flow charts shown in FIGS. 13, 17 and 18.
  • event type data and event detection position data are input to the memory operation control circuit 37 from the outside of the operation processing unit 200 . (Processing 42 in the flowchart of FIG. 18)
  • FIG. 13 the event type data is input to all the memory operation blocks 35 via the memory operation control circuit 37.
  • signals relating to the coordinate position are input from the wirings located at the y-coordinate and x-coordinate corresponding to the position where the event is detected from the respective row and column directions.
  • signals corresponding to event detection position coordinates are input from wires positioned at the y and x coordinates, and the memory operation block 35 positioned at the intersection is selected.
  • FIG. 17 shows a case where the event detection position is position coordinates (3, 2) (processes 44 and 45 in the flow chart of FIG. 18).
  • one memory operation element 38 corresponding to the event type is selected from the memory operation block 35 (processes 44 and 45 in the flow chart of FIG. 18).
  • the value at the center position of the weight distribution similar to that of the first embodiment shown in FIG. 5 is added to the value already stored in the memory arithmetic element 38. Specifically, when a control signal is input from the arithmetic control circuit 39 in the memory arithmetic element 38 to the S2 terminal in FIG. 16, the value 4 is added (process 46 in the flowchart of FIG. 18).
  • FIG. 19 shows a timing chart as an example of addition processing in the memory arithmetic element 38.
  • the timing chart of FIG. 19 shows an example of adding a weight of 4 when the already stored value is 0 (B7 to B0 are all 0).
  • the arithmetic control circuit 39 in the memory arithmetic element 38 executes addition processing in the corresponding peripheral memory arithmetic blocks with respect to the weight distribution similar to that of the first embodiment shown in FIG. to the memory operation block 35 corresponding to the area of the weight distribution.
  • the memory operation block of this embodiment has eight operation processing execution output signal lines for outputting operation processing execution signals to the surrounding eight memory operation blocks.
  • FIG. 20 shows a timing chart as an example of addition processing in the memory arithmetic element 38 in this case.
  • FIG. 21 shows only the stored values of the memory operation elements corresponding to the event type label (7) in the memory operation block.
  • FIG. 22 shows a case where the event type label is (7) and the event detection position where the event was detected is position coordinates (3, 4).
  • the value of the weight distribution is added to the memory arithmetic element corresponding to the detected event type in the same manner as described above.
  • the memory circuit stores information correlated with spatial information regarding an event detected along with the movement of the agent.
  • a data read signal is input from the memory operation control circuit 37 to the memory operation circuit 35, and the data is output from the memory operation circuit 35 to the outside through the output terminal 7 of the operation processing device 200 (Fig. 18 processes 47 and 48 in the flow chart).
  • the end timing is determined by an end signal input to the memory operation control circuit 37 from the outside. Since the method of determining the end timing and the input method/means do not limit the present invention, the illustration of the input port for the end signal and the like is omitted in FIG. Data may be output by reading data for one row in the memory arithmetic circuit 35 in the column direction, or by reading all the data serially. The method of reading data from the memory arithmetic circuit 35 after processing is not limited to the present invention, and any method for reading data from a general memory circuit may be used.
  • the data output from the memory arithmetic circuit 35 is information indicating the correlation between the event detected as the agent moves and the spatial information. It is possible to obtain the position coordinates in space where the event is most likely to occur.
  • a control signal for executing processing is a signal for adding a fixed value (that is, a signal input to predetermined S0-S7).
  • Any configuration is fine.
  • the weight distribution to be added can be changed by changing the control signal from the arithmetic control circuit 39 according to the signal input from the outside.
  • information about detected events is stored as information having correlation with space, and each time a plurality of events are detected, Memory can be updated.
  • the arithmetic circuit is configured in the vicinity of the memory element that stores data, it is necessary to externally read the memory from the memory circuit and write it back each time arithmetic processing is executed. Therefore, it is possible to reduce the power consumption required to drive the read/write wiring.
  • the characteristic configuration of the present embodiment which is the main focus of the invention, is that, as described above, the arithmetic processing unit for storing and updating information related to the detected event as information having a correlation with the space executes an operation.
  • circuitry is constructed within a memory circuit that stores information.
  • FIG. 30 and 31 show modifications of this embodiment.
  • the memory arithmetic processing device 200 in the modified example is configured to have a plurality of memory arithmetic circuits 56 each corresponding to an event type detected in space.
  • FIG. 30 shows an example in which four memory operation circuits are arranged in a 2 ⁇ 2 array corresponding to four kinds of labels 0-3 as event type labels.
  • the memory operation block 57 in this modified example has a configuration having only one memory operation element 38, as shown in FIG.
  • the memory operation processing device has a configuration in which one memory operation circuit corresponds to one event type and a plurality of such memory operation circuits are arranged.
  • the event detection position data is output only to the memory operation circuit corresponding to the event type.
  • a method of selecting a memory operation block based on event detection position data is the same as that of the memory operation processing device according to the present embodiment described above.
  • FIG. 23 and 24 show block diagrams of the arithmetic processing device 300 and the arithmetic processing device 400 described in this embodiment.
  • an arithmetic processing device 300 according to the present embodiment is obtained by changing the arithmetic circuit 3 of the arithmetic processing device 100 according to the first embodiment to an arithmetic circuit 49 having an addition/subtraction circuit for performing addition/subtraction.
  • the arithmetic processing device 400 is such that the memory arithmetic element 38 constituting the memory arithmetic circuit 36 of the arithmetic processing device 200 according to the second embodiment shown in FIG. It is changed to a memory operation block 50 and a memory operation circuit 51 that perform addition and subtraction based on signals.
  • the arithmetic processing units 300 and 400 according to the present embodiment are the same as those in the first embodiment except that the arithmetic circuit 3 and the memory arithmetic circuit 36 in the first and second embodiments execute not only addition processing but also subtraction processing. It is the same as the form and the second embodiment. Therefore, regarding this embodiment, only the differences from the first and second embodiments will be described, and other points will be the same as those of the first and second embodiments, and the description will be omitted.
  • the arithmetic circuit 49 in the arithmetic processing device 300 has an adder/subtractor 52 and can perform subtraction processing in addition to addition processing. That is, for example, in the hippocampus-entorhinal cortex model, when realizing the effect of attenuating the memory with the passage of time with respect to the memory related to the space and correlation of the detected event, the data held in the memory circuit 3 after the lapse of a predetermined time can be realized by subtracting a predetermined value from It is also possible to add weight distributions with negative values for specific events. It also allows for a given event to set a negative weight distribution under certain conditions, adding (or subtracting) the storage for both positive and negative weight distributions.
  • the memory arithmetic element 53 in the memory operation block 50 included in the memory operation circuit 51 in the operation processing device 400 has the same configuration as the arithmetic element 38 in FIG. 16, but performs subtraction processing in addition to addition processing. That is, as in the case of the arithmetic processing unit 300 described above, for example, in the hippocampus-entorhinal cortex model, when realizing the effect of memory decay with the passage of time with respect to the memory related to the space and correlation of the detected event, a predetermined can be realized by subtracting a predetermined value from the data held in the memory arithmetic circuit 51 after the elapse of time. It is also possible to add weight distributions with negative values for specific events. It also allows for a given event to set a negative weight distribution under certain conditions, adding (or subtracting) the storage for both positive and negative weight distributions.
  • the memory operation element 53 in this case has the same configuration as the memory operation element 38 in the operation processing device 200, but based on the control signal from the operation control circuit 39, it is based on the two's complement.
  • Subtraction processing can be executed by executing subtraction processing.
  • FIG. 27 shows a timing chart in an example of subtraction processing.
  • FIG. 27 shows a timing chart for subtracting (4) as negative weight data from the already stored value (202).
  • the present embodiment as in the first and second embodiments, it is possible to retain and update memories having correlation with space regarding detected events in the hippocampus-entorhinal cortex model. In addition to this, it is possible to perform a subtraction process on the stored data. This makes it possible to realize the effect of memory decay over time and the processing of memory having a negative weight distribution.
  • the arithmetic processing unit in this embodiment is obtained by extending the event detection position in the first, second, and third embodiments to a three-dimensional space. That is, with respect to the arithmetic processing device in this embodiment, the memory circuit or the memory arithmetic circuit is changed to a configuration extended to the three-dimensional space for each event type, and the event occurring in the three-dimensional space It has a function to learn the correlation between the information and spatial information.
  • the memory circuit 2 and the memory arithmetic circuit 36 in the first and second embodiments, and furthermore, the memory circuit 2 and the memory arithmetic circuit 51 in the third embodiment are arranged so that the information on the event is tertiary. It is the same as the first, second, and third embodiments except that it has an expanded configuration to store information having correlation with the position in the original space. Therefore, regarding this embodiment, only differences from the first, second, and third embodiments will be described, and other points will be the same, and the description will be omitted.
  • the hippocampus-entorhinal cortex model of the present embodiment various events are detected while a robot or the like moves in space. It is the same as the first embodiment, the second embodiment, and the third embodiment to store the weight information having a spatial spread as information having a correlation with the spatial information related to the event, but the target space is three-dimensional. extended to the original space.
  • a robot uses stairs to move between the first and second floors, and stores events that occur in two-dimensional space on different floors as information that correlates with spatial information.
  • the z-axis is newly added as the coordinates defining the space, and only two values of 0 and 1 are defined as the z-values.
  • the weight information distribution in this case has a two-dimensional distribution as in the first, second, and third embodiments, assuming that events occur independently on each floor.
  • the definition of the three-dimensional space does not need to be binary in the z-axis direction as described above.
  • an agent such as a robot handles information on multiple positions in the z-axis direction as event detection positions. It doesn't matter if there is.
  • the distribution of weight information is not necessarily limited to a two-dimensional space distribution, and may have a three-dimensional distribution.
  • the arithmetic processing device in this embodiment stores information corresponding to three-dimensional spatial coordinates as shown in FIG.
  • the extension is to memory circuit 54 with corresponding memory blocks in the z-axis direction. That is, it is configured to have a plurality of memory blocks 1 each corresponding to three-dimensional spatial coordinates.
  • FIG. 28 shows the memory circuit 54 when the two-dimensional space size is 4 ⁇ 4 due to space limitations.
  • a difference from the arithmetic processing device 100 and the arithmetic processing device 300 is that memory blocks are configured corresponding to three-dimensional spatial coordinates extended in the z-axis direction.
  • each memory block 1 constitutes each row of the memory circuit 54, and the memory circuit 54 has 32 rows of memory blocks 1 in total.
  • each memory block 1 corresponds to position coordinates in a three-dimensional space.
  • each line is labeled with coordinates (x, y, z).
  • each column of memory circuits corresponds to an event type sensed in space.
  • each column is associated with 10 types of labels of each event type, represented as 0-9.
  • the memory control circuit Based on the event type data and the event detection position data, the memory control circuit reads out the data of the region corresponding to the event type from the memory circuit 54 configured as described above, inputs the data to the arithmetic circuit, and adds the data. Execution of processing or addition/subtraction processing, and further execution of processing to write back the operation result by the arithmetic circuit to the original location (read location) of the memory circuit 54 is the same as the arithmetic processing device 100 and the It is similar to the arithmetic processing unit 300 .
  • the weight distribution to be added has a two-dimensional distribution as described above.
  • the data stored in the area to be calculated may be read out from the memory circuit and operated.
  • the arithmetic processing device in this embodiment stores and stores information in a three-dimensional space, as shown in FIG. It is composed of a memory operation block 55 having memory operation elements corresponding to three-dimensional spatial coordinates so that operations can be performed.
  • each memory operation block is composed of a memory operation element 37 corresponding to the type of event detected in space and to the position in the z-axis direction.
  • 10 memory arithmetic elements corresponding to 10 labels of each event type labeled 0-9 as event type labels for each position in the z-axis direction are Included in one memory operation block.
  • one memory arithmetic element is a memory element that stores data corresponding to one event at a corresponding coordinate position, data stored in the memory element, and addition when the event occurs. It is the same as the arithmetic processing device 200 and the arithmetic processing device 400 in the second and third embodiments in that it has a configuration and functions that serve both as an arithmetic circuit that performs addition processing of values of weight distribution. Note that the configuration and operation of the memory arithmetic element are the same as those of the second and third embodiments, and the description thereof is omitted.
  • addition processing and addition/subtraction processing are performed on the values stored in the memory arithmetic elements based on the event type data and the event detection position data. It is the same as the arithmetic processing device 200 and the arithmetic processing device 400 in the form 3.
  • FIG. 1 is the same as the arithmetic processing device 200 and the arithmetic processing device 400 in the form 3.
  • the weight distribution to be added has a two-dimensional distribution as described above. Based on the control signal from the arithmetic control circuit of the memory arithmetic block, addition processing and addition/subtraction processing can be executed in the peripheral memory arithmetic blocks corresponding to the weight distribution.
  • the memory circuit or the memory arithmetic circuit is changed to a configuration that is extended to the three-dimensional space for each event type, so that in the three-dimensional space It is possible to learn the correlation between the information of the event that occurred and the spatial information.
  • arithmetic processing unit 100, 200, 300, 400 arithmetic processing unit 1 memory blocks 2, 54 memory circuits 3, 49 arithmetic circuit 4 memory control circuits 5, 6, 17, 23 input ports 7, 18, 24 output port 8 place cell 9 queue cell 10 Connected cell 11 Agents 12-15 Position in space 16 Weight distribution 19 Adders 20-22 Register 25 Event type detector 26 Spatial position detector 27-34, 42-48 Processing items 35, 50, 55, 57 Memory operation block 36, 51, 56 memory operation circuit 37 memory operation control circuit 38, 53 memory operation element 39 operation control circuit 40 toggle flip-flop circuit 41 XOR circuit 52 adder/subtractor

Landscapes

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

Abstract

空間内で生じた事象の情報と空間情報の相関関係を学習するための知的処理をハードウェアとして効率的に実装する演算処理装置を提供する。 演算処理装置は、所定の広がりを有する空間内で生じた事象に関するデータを記憶するメモリブロックを複数有し、さらに演算回路と制御回路を有し、前記メモリブロックは、空間情報と相関を有する異なる事象に関するデータを記憶し、また前記演算回路は、前記メモリブロックに記憶されたデータに関して、空間内の所定領域に含まれるデータに対して所定の演算処理を実行し、さらに演算処理完了後に、前記空間情報と相関を有する異なる事象に関するデータの一部または全部を演算処理結果として出力することを特徴とする。

Description

演算処理装置
本発明は、所定の演算処理を実行するために好適なメモリ回路および演算回路を有する演算処理装置に関するものである。
生物における知的処理をモデル化し、ロボットなどの制御に応用する研究が盛んに行われている。例えば非特許文献1では、げっ歯類の海馬の記憶機能をモデル化し空間認識システムに応用したRatSLAMアルゴリズムとして、カメラからの視覚情報と自己位置をヘブ則によって学習し、視覚情報と自己位置の相関関係を記憶することで高度な空間認識を可能とすることが報告されている。 また特許文献1では、自己位置推定アルゴリズムの一種であるSLAMの実装方法が開示されている。
特開平2021-77353
Milford Michael J., et al., "RatSLAM: A hippocampal model for simultaneous localization and mapping," IEEE International Conference on Robotics and Automation, 2004. Joseph Redmon, Ali Farhadi, "YOLOv3: An Incremental Improvement," arXiv:1804.02767v1, 2018.
しかしながら、上記のような視覚情報と自己位置の相関関係を記憶することで高度な空間認識を行うためには、学習に膨大な記憶容量を必要とし、ハードウェア実装を行うことが困難である。すなわち、前記処理をハードウェア実装するためには、空間内に配置されたオブジェクトに関する視覚情報を自己の位置情報と関連付けて記憶するための記憶装置を必要とする。またこの際、空間位置に曖昧性を持たせるために、所定位置を中心として、所定の広がりを有する範囲内に前記空間内に配置されたオブジェクトに関する視覚情報を記憶することが望まれる。
この際、ハードウェア実装に使用可能なリソースには限りがあるため、前述した空間内に配置されたオブジェクトに関する視覚情報を含む事象の情報と、自己の位置情報を関連付けた情報を、効率的に符号化し記憶する必要がある。 
本発明は、上記事情に鑑みてなされたものであり、空間内で生じた事象に関する情報と自己位置の相関関係を学習する知的処理を含む、所定の演算処理を実行するために好適なメモリ回路および演算回路を有する演算処理装置を提供することを目的とする。
上記目的を達成するために、本発明の演算処理装置は、所定の広がりを有する空間内で生じた事象に関するデータを記憶するメモリブロックを複数有し、さらに前記データに対して所定の演算を実行する演算回路と、メモリブロックに保持されたデータの読み出しと書き込み、および演算回路における演算処理を制御する制御回路を有する演算処理装置であって、前記メモリブロックは、空間情報と相関を有する異なる事象に関するデータを記憶し、また前記演算回路は、前記メモリブロックに記憶されたデータに関して、空間内の所定領域に含まれるデータに対して所定の演算処理を実行し、さらに演算処理完了後に、前記空間情報と相関を有する異なる事象に関するデータの一部または全部を演算処理結果として出力することを特徴とするものである。
本発明によれば、空間内で生じた事象の情報と空間情報の相関関係を学習するための知的処理をハードウェアとして効率的に実装することが可能となる。また、演算回路をメモリ素子の近傍に構成した場合、読み出し・書き込み配線を駆動するために必要となる電力消費量を削減することが可能となる。
第1実施形態における演算処理装置のブロック図。 第1実施形態における海馬-嗅内皮質モデルの概略図。 第1実施形態における事象ごとの重み情報の記憶に関する図。 第1実施形態における重み分布の例を示す図。 第1実施形態における重み分布の値の例を示す図。 第1実施形態における重み情報の加算に関する図。 第1実施形態におけるメモリ回路の構成図。 第1実施形態におけるメモリ回路の構成図。 第1実施形態における演算回路の構成図。 第1実施形態における事象種別検出装置および空間位置検出装置の図。 第1実施形態における処理のフローチャート。 第1実施形態におけるメモリ回路の構成図。 第2実施形態における演算処理装置のブロック図。 第2実施形態におけるメモリ演算回路の構成図。 第2実施形態におけるメモリ演算ブロックの構成図。 第2実施形態におけるメモリ演算素子の構成図。 第2実施形態におけるメモリ演算回路の座標指定方法。 第2実施形態における処理のフローチャート。 第2実施形態における加算処理のタイミングチャート。 第2実施形態における加算処理のタイミングチャート。 第2実施形態におけるメモリ回路に記憶した値の例。 第2実施形態におけるメモリ回路に記憶した値の例。 第3実施形態における演算処理装置のブロック図。 第3実施形態における演算処理装置のブロック図。 第3実施形態における演算回路の構成例。 第3実施形態におけるメモリ演算素子の構成図。 第3実施形態における減算処理のタイミングチャート。 第4実施形態におけるメモリ回路の構成図。 第4実施形態におけるメモリ演算ブロックの構成図。 第2実施形態における変形例の演算処理装置のブロック図。 第2実施形態における変形例のメモリ演算ブロックの構成図。
[第1実施形態]
図1に本実施形態で説明する演算処理装置のブロック図を示す。
図1において、本実施形態における演算処理装置100は、所定の広がりを有する空間内で生じた事象に関するデータを記憶する、複数のメモリブロック1から構成されるメモリ回路2と、さらに前記データに対して所定の演算を実行する演算回路3と、メモリ回路1に保持されたデータの読み出し、および書き込みと、演算回路3における演算処理を制御するためのメモリ制御回路4を有する。ここで、演算処理装置100は図2に示した海馬-嗅内皮質モデルに基づいた処理を実行するものである。
図2は、本実施形態で説明する演算処理装置100において実現する、空間内で生じた事象の情報と空間情報の相関関係を学習する演算処理モデルの基本概念となる海馬-嗅内皮質モデルの概略図を示している。
まず図2を用いて、本実施例で実現する処理モデルを説明する。図2に示すように、本実施形態で演算処理モデルとして用いる海馬-嗅内皮質モデルは、生理学的知見としてラットなどの生物の海馬と嗅内皮質に見られる海馬-嗅内皮質モデルを、ハードウェアとして実装することを目的として簡略化した、場所細胞8、キュー細胞9、および連結細胞10から構成される簡略化した海馬-嗅内皮質モデルである。
図2の海馬-嗅内皮質モデルにおいては、速度情報と方向情報によって場所細胞8の内部状態が遷移して自己位置情報を表現する。また、特定の事象に反応するキュー細胞9が、事象の種別に関する情報を表現する。
さらに連結細胞10においては、場所細胞8から入力される空間情報と、キュー細胞9から入力される特定の事象に関する非空間情報を組み合わせることにより、空間内で生じた事象の情報と空間情報の相関関係を学習する機能を有する。
例えば、空間を移動しつつ事象を検知する主体をエージェントと呼ぶことにする。前述した海馬-嗅内皮質モデルでは、図3に示すように、エージェント11は空間内の位置12~15を移動しながら事象a, bおよびcを検知し、事象を検知するごとに、その事象を検知した場所に対して、所定の空間的な広がりを有する重み情報を、空間情報と相関を有する当該事象に関する情報として記憶する。
すなわち、エージェント11が位置12から位置15に移動する間に事象a, b, cを検知することにより、各事象の重み分布16は、図3における(A)から(C)のように記憶される。なお図3において、記憶された重み分布の大きさは、二次元空間に対して垂直方向の大きさで示している。
ここで所定の空間的な広がりを有する重み情報は、図4に示すように中心において最大の値を有し、前記所定の空間的な広がりにおいて、中心から離れるにつれて値が減衰する分布を有する。ここで重み分布は、図4に示すような2次元ガウンシアン分布であることが多いが、必ずしもこれに限るものでは無く、空間内で生じた事象の情報と空間情報の相関関係を表し、かつ所定の空間的な広がりを有する分布であれば、その他の分布を有する重み情報であっても構わない。
また、本実施例における重み情報の空間的な分布を、前述したように2次元ガウンシアン分布と説明したが、図3に示したように、エージェントが移動する空間は、本実施例においては離散的な2次元座標として表現される。例えば、(A)から(C)に示したようにエージェントが移動する空間は、離散的な2次元座標(x, y)として表現される。そのため、重み情報の空間的な分布も離散的な2次元座標に対応して離散的な値を取る。
図5に、本実施形態における離散的な2次元座標に対応して離散的な値を有する重み分布を示す。図5に示すように、本実施形態における重み分布は3x3の離散的な2次元座標で定義される領域において、1, 2, 4の3種類の値を取り得る。
なお図3の(A)に示したように、同一の事象を別の場所において検知した場合は、複数の位置で記憶された所定の空間的な広がりを有する重み情報を、空間情報と相関を有する当該事象の情報として記憶する。この際、現時点で検知した同一の事象の重み情報は、過去の事象に関する重み情報と加算されるため、エージェントが移動するに従って、事象に関する重み情報が図3(A)のように空間情報と相関を有する情報として記憶される。
なお図3(A)では、異なる位置において検出した同一の事象に関する重み分布に空間的な重なりが無いため、それぞれの重み分布が独立に記憶されているが、両者の分布が位置的に重なりを有する場合は、過去に記憶された重み分布に対して、新たに検出された重み分布の値を加算することにより、当該事象に関する重み情報が図6(A)のように空間情報と相関を有する情報として記憶される。
図6(A)は、2つの重み分布が加算されることにより、2つの重み分布のピークの間にさらにピークが形成された、事象に関する重み情報を示している。また、図6(B)は、図6(A)を二次元空間位置に対応した値として示したものである(値が0でない位置の分布のみを示す)。なお、図6(B)ではx座標およびy座標は省略している。
さらに複数の同一の事象が検出された場合も、当該位置における重み分布を前述したように随時加算することにより、当該事象に関する重み情報が上述したように空間情報と相関を有する情報として記憶される。
また海馬-嗅内皮質モデルでは、異なる事象を検知した場合は、図3の(A)から(C)に示すように、重み情報はそれぞれが異なる事象に関する記憶として、空間情報と相関を有する情報として記憶される。すなわち海馬-嗅内皮質モデルでは、事象に関する空間と相関を有する情報は、事象ごとに個別に記憶される。
なお、図6の(A)は、二次元分布を有した重み分布の加算を説明するために、その値を二次元空間に対する高さ方向として図示している。図面上では、重み分布に関する三次元図を二次元紙面上に表現しているため、図6(B)の実際の重み分布とは、その分布形状が必ずしも一致していない。
続いて、前述した海馬-嗅内皮質モデルをハードウェアとして実現する演算処理装置に関して説明する。前述したように、本実施例における演算処理装置100は、複数のメモリブロック1から構成されるメモリ回路2と、演算回路3と、メモリ制御回路4を有する。
ここで、前記メモリ回路2の構成例を図7に示す。図7に示すように、本実施形態におけるメモリ回路2は、二次元空間座標に対応したメモリブロック1を複数有する構成となっている。またさらに、各メモリブロック1は、値を記憶するメモリ素子から構成される。なお図7においては、各メモリブロック1がメモリ回路2の各行を構成しており、メモリ回路2は合計で36行のメモリブロック1を有している。図7において、各メモリブロック1の境界は、実線で示している。
すなわち、図7に示すメモリ回路2においては、実線と破線に囲まれた1つのセルが、所定の座標位置における所定の事象種別に対応した、重み情報の値を加算した結果の値を記憶するメモリ素子に相当する。
なお本実施形態において、事象に関する空間と相関を有するデータをメモリ回路2に記憶することは、前述した海馬-嗅内皮質モデルにおいて、空間内で生じた事象の情報と空間情報の相関関係を学習することと等価である。以降の説明(他の実施形態を含む)においては、用語として“記憶”と“学習”を用いるが、特に断らない限り両者の意味するところは同一である。
続いて図7に示すように、各メモリブロック1は演算回路3との間のデータ入力ポート17と、データ出力ポート18を有している。
また各メモリブロック1は、それぞれが二次元空間における位置座標に対応する。図7では、各行のラベルとして、(x, y)の形式で表記された座標を対応させている。すなわち本実施形態においては、空間情報として6x6(=36)の位置座標に対応するデータを記憶することを想定しており、前述したエージェントが移動する二次元空間の位置は、6x6の二次元空間座標として検知される。
またメモリ回路2の各列は、空間内で検知される事象種別に対応している。図7では、各列のラベルとして、0-9と表記した各事象種別の10種類のラベルを対応させている。図7において、各事象種別のラベルの境界は、破線で示している。すなわち本実施形態においては、空間内でエージェントが検知する事象が10種類有るケースを想定している。なお図7においては、メモリ制御回路4からの制御信号の入力ポート、および演算処理装置100の外部にデータを出力する出力ポートの記載を省略している。
ここでメモリ回路2に記憶された、空間と相関を有する事象の情報の例を図7を用いて説明する。図7では、事象種別(7)に関して、二次元空間座標の(2, 1)、(3, 1)、(4, 1)、(2, 2) 、(3, 2) 、(4, 2)、(2、3)、(3、3)、(4、3)に対応するメモリ素子が、0では無い値を記憶している。この場合は、エージェントが前記座標位置で事象種別(7)に関する記憶を有することを意味する。(ここで示した記憶の二次元座標のパターンはあくまで一例である。また、値0の表記は省略している。)
また事象種別(7)に関して、 図6に示した2つの重み分布が加算された場合に関しては、メモリ回路には図8に示すように、重み情報が空間情報と相関を有する情報として記憶される。
本実施例における各メモリブロック1は、それぞれが独立した入力ポート17および出力ポート18を有しているものとしており、後述するようにメモリ制御回路4からの制御信号に基づいて、指定された事象に関する所定の座標領域のデータを並列に読み出すことが可能である。なおメモリ回路2としては、前記並列読み出しは必須のものでは無く、例えばメモリ回路全体が一つの入出力ポートを有し、シリアルにデータを読み出すものであっても構わない。すなわち、メモリ回路2は複数のメモリブロック1から構成されるものに限る訳では無く、全体として一つのメモリブロック(メモリアレイ)から構成されるものであっても構わない。本実施形態では、事象種別に関する情報と、事象検出位置に関する情報の対応関係を理解し易くすることを目的として、複数のメモリブロック1から構成されるメモリ回路2を例として示した。
続いて、前記演算回路3の本実施例における構成例を図9を用いて説明する。本実施例における演算回路3は、入力された複数のデータそれぞれに対して所定の値を加算する機能を有しており、複数の加算器19、入力値を保持するレジスタ20、加算結果を保持するレジスタ21、および被加算値である複数の所定値を保持するレジスタ22より構成される。
また、入力値レジスタ20はメモリ回路2から読み出されたデータを入力する入力ポート23を有し、加算結果レジスタ21は加算結果をメモリ回路2に出力する出力ポート24を有する。
演算回路3は、前記メモリ回路2から読み出され、入力ポート23から入力された複数の入力値を入力値レジスタ20に保持し、被加算値レジスタ22に保持された複数の所定値を加算した後に加算結果レジスタ21に加算結果を保持し、それを出力ポート24からメモリ回路2に対して出力する。ここで本実施例においては、加算器19およびレジスタ20、21、22は、重み分布の空間分布に対応する3x3=9個の値に対する演算を並列に実行することが可能な構成を設定しているが、本発明としてこれらの構成に限定するものでは無く、所望の演算(本実施形態の場合は加算処理)を実行可能なものであれば、加算をシリアルに実行するものであっても、その他のどのような構成をとっても構わない。
続いて、前記メモリ制御回路4の本実施例における機能を説明する。図1に示すように本実施形態におけるメモリ制御回路4は、事象種別データの入力端子5と、事象検出位置データの入力端子6を有し、入力された前記データに基づいて、メモリ回路2から対応するデータを読み出して演算回路3に入力する制御を実行するための制御信号を出力する機能を有する。またさらに、演算回路3による演算結果をメモリ回路2の元の位置(読み出した位置)に書き戻す制御を実行するための制御信号を出力する機能を有する。またさらに、メモリ制御回路4は、メモリ回路2の一部または全てのデータを外部に出力する制御を実行するための制御信号を出力する機能も有している。なお図1では、前記制御信号を一つの信号線により表記している。またメモリ制御回路4は、演算回路3における演算の実行を制御するための制御信号を出力する機能を有している。
なお、図2に示した海馬-嗅内皮質モデルにおいて、連結細胞に入力される空間情報に相当する事象検出位置データと、非空間情報に相当する事象種別データは、本演算処理装置100においては、演算処理装置100の外部に構成された装置から入力されるものとする。
すなわち、海馬-嗅内皮質モデルに関して、本実施形態で説明する演算処理装置100が実現する機能は、前述した連結細胞に相当する。本実施形態における演算処理装置100において、海馬-嗅内皮質モデルにおける空間情報、および非空間情報を算出する機能は必須のものでは無いが、演算処理装置がこれらの機能を含むものであっても構わない。これらの機能の実施形態例に関しては、以降で説明する。
本実施形態において、事象の種別に関するデータ、および事象を検知した位置に関するデータは、外部から入力されるものとしているが、それぞれのデータの具体例は次のように示される。まず本実施例における事象の種別に関するデータは、カメラにより取得された画像に対して物体検出処理を実行し、所定の物体種別として認識されたものを事象種別データとする。
例えば、非特許文献2の物体検出アルゴリズムを用い、前記画像中に写る物体の種別を判別することができる。図10における事象種別検出装置25は、プロセッサを有し、ソフトウェアとして前記物体検出アルゴリズムを実装したものを想定している。さらに前記事象種別検出装置25に対して、事前に10種類の物体種別を設定し、該当する物体種別が検出された場合に、前述した物体種別データを演算処理装置100に出力する。
続いて、本実施例における演算処理装置100は、ロボットなどの空間を移動することが可能なエージェントに搭載されることを想定している。ここでエージェントは、事前に設定された空間内において、現在どこに位置するかを検知する図10に示す空間位置検出装置26を有しているものとする。空間位置検知装置26の実現方法に関しては本発明の主眼とするものでは無く、どのような実現手段を用いても構わないが、本実施例においては実現が容易な手段として、空間位置検知装置26は、エージェントが最初に出発した地点からの移動距離・方向を常時算出する機能を有し、現時点での空間内における位置(座標)を算出可能なものとする。
前述した事象種別検出装置25が物体種別を検出し、物体種別の情報を演算処理装置100に出力するタイミングと同期して、空間位置検出装置26が空間内における位置(座標)を演算処理装置100に出力することにより、演算処理装置100においては、事象種別データと事象検出位置データを空間的に相関を有するデータとして学習することが可能となる。
続いて、本実施形態における演算処理装置100の動作に関して、図1および図11に示すフローチャートを用いて説明を行う。 
本実施例における演算処理装置100においては、空間内で生じた事象の種類に関するデータ(以下、事象種別データ)と、前記事象を検知した時のエージェントの位置に関するデータ(以下、事象検出位置データ)は、演算処理装置100の外部から入力される(図11フローチャートの処理27)。ここでは、検知された事象種別のラベルを(7)とし、また事象が検出された位置座標を(3, 2)とする。
演算処理装置100の内部では、事象種別データおよび事象検出位置データは、前記メモリ制御回路4に入力される(図11フローチャートの処理28)。メモリ制御回路4は、前記事象種別データおよび事象検出位置データに基づき、メモリ回路2に対して、適切なデータ群を読み出すための制御信号を出力する。
ここで適切なデータ群とは、検出された事象種別に対応した、前述した所定の空間的な広がりを有する重み情報を加算すべき複数のデータを指している。すなわち本実施形態の場合は、所定の空間的な広がりを有する重み情報は図5に示すような2次元ガウシアン分布に相当する3x3の範囲に分布する値を有しているため、前記メモリ回路2から、事象種別データおよび事象検出位置データの座標に基づいて、前記座標の周囲3x3の領域のデータが読み出される(図11フローチャートの処理29)。
読み出された3x3の領域のデータ(トータル9個のデータ)は、前述したメモリ制御回路4からの制御信号に基づいて、続いて演算回路3に入力される(図11フローチャートの処理30)。
なお本実施形態においては、前記演算回路3は加算器19を有し、入力された3x3の領域のデータに対して、3x3の範囲に分布する重みデータを加算する(図11フローチャートの処理31)。
演算回路3において加算処理が完了すると、続いてメモリ制御回路4は、加算処理結果を演算回路3から読み出した上でメモリ回路2に書き込むための制御信号を演算回路3およびメモリ回路2に入力する。
前記制御信号に基づいて、演算回路3から読み出された演算結果は、メモリ回路2に対して、読み出された時と同じ事象に対応し、かつ同じ座標位置のメモリ素子に書き込まれる。これにより、当該事象に関する、空間情報と相関を有するデータの更新が完了する。これは、前述した海馬-嗅内皮質モデルにおける学習処理に対応する(図11フローチャートの処理32)。結果として、メモリ回路2の値の分布は、前述した例と同様に図7に示すようになる。
さらに、エージェントが移動し、別の場所において同一の事象を認識した場合は、前述したのと同様に、事象種別データと、前記事象を検知した時のエージェントの位置に関するデータが、演算処理装置100に入力される。
演算処理装置100の内部では、前述したのと同様に事象種別データおよび事象検出位置データが、前記メモリ制御回路4に入力され、メモリ制御回路4から前記メモリ回路2に対して、適切なデータ群を読み出すための制御信号が入力される。ここで、事象種別データは前述のものと同一で、一方事象検出位置データは異なる位置座標を示すものとする。ここでは、検知された事象種別のラベルを(7)とし、また事象が検出された位置座標を(3, 4)とする。従ってメモリ回路2からは、事象検出位置データの座標に基づいて、前述した場合とは異なる座標の周囲3x3のデータが読み出される。
読み出された3x3の領域のデータ(トータル9個のデータ)は、前述したメモリ制御回路からの制御信号に基づいて、続いて演算回路3に入力され、加算器19により、入力された3x3の領域のデータに対して、前述したのと同様に3x3の領域に分布する重みデータを加算する。
加算処理が完了すると、前述した処理と同様に、事象種別データおよび事象検出位置データに基づいて、同じ事象に対応し、かつ同じメモリ位置に書き込みが実行される。これにより、当該事象に関する、空間情報と相関を有するデータの更新が完了する。その結果、メモリ回路の値の分布は、前述した例と同様に図8に示すようになる。
またさらに、エージェントが移動し、別の場所において異なる事象(例えば、事象種別(3)とする)を認識した場合は、前述したのと同様に、事象種別データと、前記事象を検知した位置に関するデータが、演算処理装置100に入力される。
演算処理装置100の内部では、前述したのと同様に事象種別データおよび事象検出位置データが、前記メモリ制御回路4に入力され、メモリ制御回路4から前記メモリ回路2に対して、適切なデータ群を読み出すための制御信号が入力される。ここでは、検知された事象種別のラベルを(3)とし、また事象が検出された位置座標を(2, 2)とする。従って、メモリ回路2からは、事象検出位置データの座標に基づいて、前述した場合とは異なる事象に関する、事象検出位置の座標の周囲3x3の領域のデータが読み出される。
読み出された3x3の領域のデータ(トータル9個のデータ)は、前述したメモリ制御回路からの制御信号に基づいて、続いて演算回路3に入力され、加算器19により入力された3x3の領域のデータに対して、3x3の範囲に分布する重みデータを加算する。
加算処理が完了すると、前述した処理と同様に、事象種別データおよび事象検出位置データに基づいて、メモリ回路2に演算結果が書き込まれる。これにより、当該事象に関する、空間情報と相関を有するデータの更新が完了する。その結果、メモリ回路の値の分布は、図12に示すようになる。
以上の処理は、所定の終了タイミングまで繰り返され、メモリ回路にはエージェントの移動に伴って検出した事象に関して、空間情報と相関した情報が記憶される(図11フローチャートの処理33)。なお前記終了タイミングは、本実施形態においては、外部からメモリ制御回路4に対して入力される終了信号により決定されるものとする。終了タイミングの決定方法、および入力方法・手段は本発明を限定するものでは無いため、図1では終了信号の入力ポート等の図示を省略している。
また処理が終了した後は、本実施形態においては、前記メモリ回路2に記憶した情報を全て、または一部を外部に読み出すものとしている。この場合は、メモリ制御回路4からメモリ回路2に対して、全データまたは一部のデータの読み出し信号が入力され、メモリ回路2から演算処理装置100の出力端子7を通して、外部にデータが出力される(図11フローチャートの処理34)。なお処理終了後のメモリ回路2からのデータの読み出し方法は、本発明を限定するものでは無く、一般的なメモリ回路からの読み出しにおけるどのような方法を用いても構わない。
前述したように、メモリ回路2に記憶された情報は、エージェントの移動に伴って検出した事象と空間情報の相関を示す情報であるため、例えば特定の事象に関して最大値を記憶する座標を検出することにより、その事象が最も発生し易い空間内の位置座標を得ることが可能となる。なお、メモリ回路2から出力されるデータの応用に関しては、本発明の主眼とするところではないため、これ以上の詳細な説明を割愛する。
なお前述したように、第1実施形態における事象の種別に関するデータは、カメラにより取得された画像に対して物体検出処理を実行し、所定の物体種別として認識されたものとしたが、本発明はこれに限るものではない。例えばエージェントに対して使用者から発せられた音声に関して、音声認識により命令種別を認識し、それを事象の種別とするものであっても良い。
この場合、物体検出処理を実行する事象種別検出装置と同様に、命令種別を判別し、本実施形態における演算処理装置100に出力することが可能である。また、事象の種別に関するデータは、その他嗅覚情報、または触覚情報などのどのような事象に関するものであっても構わない。
以上説明したように、海馬-嗅内皮質モデルを、メモリ回路と、所定の演算を実行する演算回路と、制御回路を有する演算処理装置として実装することにより、検知した事象に関する情報を空間と相関を有する情報として記憶し、さらに複数の事象を検知するごとに記憶を更新することが可能となる。
なお、本実施形態で示したメモリ回路、演算回路および制御回路の構成は一例であり、同様の演算処理を実行可能なものであれば、どのような構成を有するものであっても構わない。本実施形態において発明の主眼とする特徴的な構成は、以上で説明したように、検知した事象に関する情報を空間と相関を有する情報として記憶・更新するところにある。
なお本実施例においては、前記重み情報の分布は事象の種類を問わず同一のものとしているが、必ずしもこれに限るものでは無い。例えば重み情報の分布は、事象に応じて異なる分布を有するものであっても構わない。この場合は事象ごとに、空間と特有の相関関係を有する情報として記憶することが可能となる。
[第2実施形態]
図13に本実施形態で説明する演算処理装置200のブロック図を示す。
図13において、本実施形態における演算処理装置200は、所定の広がりを有する空間内で生じた事象に関するデータを記憶し、かつ前記データに対して所定の演算を実行する複数のメモリ演算ブロック35を有するメモリ演算回路36と、メモリ演算ブロック35に保持されたデータの読み出し、および演算処理を制御するメモリ演算制御回路37を有する。ここで演算処理装置200は、第1実施形態と同様に、図2に示した海馬-嗅内皮質モデルに基づいた処理を実行するものであるため、当該処理に関しては第1実施形態と同様であるものとして説明を省略する。
続いて、前記メモリ演算回路36の構成図を図14に示す。本実施形態におけるメモリ演算回路36は、空間座標に対応したメモリ演算ブロック35をアレイ状に配置した構成を有している。
ここで各メモリ演算ブロック35は、それぞれが二次元空間における位置座標に対応するようにアレイ状に構成されている。図14では、行・列のラベルとして、それぞれx座標・ y座標と表記した座標に対応しており、本実施形態の場合は、メモリ演算回路36は6x6の空間座標に対応したアレイ構成を有し、36個のメモリ演算ブロック35から構成される。
また図15に示すように、各メモリ演算ブロック35は、空間内で検知される事象種別にそれぞれが対応しているメモリ演算素子38と、メモリ演算素子38を制御する演算制御回路39から構成される。なお図15は、図14における位置座標(0, 5)に対応するメモリ演算ブロック35を拡大して示したものである。
図15では、事象種別のラベルとして0-9と表記した各事象種別の10種類のラベルに対応した、10個のメモリ演算素子38が1つのメモリ演算ブロック35に含まれていることを示している。すなわち本実施形態においては、空間内でエージェントが検知する事象が10種類有るケースを想定している。
ここで1つのメモリ演算素子38は、対応する座標位置における1つの事象に対応したデータを記憶するメモリ素子と、前記メモリ素子に記憶しているデータに対して、さらに当該事象が発生した場合に加算される重み分布の値の加算処理を実行する演算回路の両者を兼ねた構成、および機能を有するものである。また、演算制御回路39は、後述するようにメモリ演算素子における演算動作を制御するものである。
図16に、前述した機能を有するメモリ演算素子38を、トグルフリップフロップ回路40と XOR回路41で構成した例を示す。図16に示すように、メモリ演算素子38は8bitのデータを記憶可能なように、トグルフリップフロップ回路40を8個接続した構成を有する。また、保持しているデータに対して、第1実施形態と同様に、事象を検知した空間的な位置に対応した重み分布を加算するために、記憶するデータに対して、事象を検知した位置との相対位置に応じた重み分布の所定値を加算するための、XOR回路41が構成されている。
続いて、前述したように構成した演算処理装置200の動作を図13、図17および図18に示すフローチャートを用いて詳細に説明する。
図13において、事象種別データと、事象検出位置データは、演算処理装置200の外部からメモリ演算制御回路37に対して入力される。(図18フローチャートの処理42)
続いて図13において、事象種別データはメモリ演算制御回路37を経由して、全てのメモリ演算ブロック35に対して入力される。
また、事象検出位置データは、行・列それぞれの方向から、事象を検出した位置に対応するy座標・x座標に位置する配線より、座標位置に関する信号がそれぞれ入力される。本実施形態では、図17に示したように、y座標・x座標に位置する配線から、事象の検出位置座標に相当する信号が入力され、その交差点に位置するメモリ演算ブロック35が選択される。図17には、事象検出位置が位置座標(3, 2)であるケースを示している(図18フローチャートの処理44、45)。
さらに事象種別データに基づいて、メモリ演算ブロック35の中から事象種別に対応する1つのメモリ演算素子38が選択される(図18フローチャートの処理44、45)。
選択されたメモリ演算素子38においては、図5に示す第1実施形態と同様の重み分布の中心位置の値を、既にメモリ演算素子38に記憶している値に対して加算する処理を実行する。具体的には、メモリ演算素子38内の演算制御回路39から図16のS2端子に制御信号が入力されることで、値4の加算処理が実行される(図18フローチャートの処理46)。
図19に、メモリ演算素子38における加算処理の一例となるタイミングチャートを示す。図19のタイミングチャートでは、既に記憶していた値が0(B7~B0が全て0)である場合に、重み4を加算する例を示している。
また、メモリ演算素子38内の演算制御回路39は、図5に示す第1実施形態と同様の重み分布に関して、図15に示すように、該当する周囲のメモリ演算ブロックで加算処理を実行するための演算処理実行信号を、重み分布の領域に対応するメモリ演算ブロック35に対して出力する。図15に示すように、本実施形態のメモリ演算ブロックの場合は、周囲8個のメモリ演算ブロックに対して演算処理実行信号を出力するために、8本の演算処理実行出力信号線を有する。
前記演算処理実行信号が、図15に示す演算処理実行入力信号として、演算制御回路39に入力された周囲のメモリ演算ブロック35においては、既に事象種別データに基づいて選択された1つのメモリ演算素子38において、前記演算処理実行信号に基づいて、図5に示す重み分布に対応した加算処理が実行される(図18フローチャートの処理46)。
この場合は、例えば図5の重み分布の値2の位置に相当するメモリ演算素子は、図16において、メモリ演算素子38のS1端子に前記制御信号が入力されることで、当該メモリ演算素子が記憶していた値に対して、重み分布の値である2が加算される。図20に、この場合のメモリ演算素子38における加算処理の一例となるタイミングチャートを示す。
ここで、検知された事象種別のラベルを(7)とし、また事象が検出された位置座標を(3, 2)とした場合、メモリ演算回路36には、重み分布が図21に示すように記憶される。なお図21では、メモリ演算ブロック内の事象種別ラベル(7)に対応するメモリ演算素子の記憶値のみを記載している。
続いて、さらに事象を検出した場合、事象に関する情報を空間と相関を有する情報として記憶するために、以上のように説明した演算処理を繰り返し、既にメモリ演算回路36に記憶しているデータに対して、重み分布を加算する処理を実行する。例えば、図22には、事象種別ラベルが(7)で、さらに事象を検知した事象検出位置が位置座標(3, 4)であるケースを示している。
なお異なる事象が検知された場合は、上述したのと同様に、検知された事象種別に対応するメモリ演算素子に重み分布の値が加算されていく。
これらの処理を所定の終了タイミングまで繰り返すことにより、第1実施形態と同様に、メモリ回路にはエージェントの移動に伴って検出した事象に関して、空間情報と相関した情報が記憶される。
また処理が終了した後は、本実施形態においては、前記メモリ演算回路36に記憶した情報の一部または全部を外部に読み出すものとしている。この場合は、メモリ演算制御回路37からメモリ演算回路35に対して、データの読み出し信号が入力され、メモリ演算回路35から演算処理装置200の出力端子7を通して、外部にデータが出力される(図18フローチャートの処理47、48)。
なお前記終了タイミングは、本実施形態においては、外部からメモリ演算制御回路37に対して入力される終了信号により決定されるものとする。終了タイミングの決定方法、および入力方法・手段は本発明を限定するものでは無いため、図13では終了信号の入力ポート等の図示を省略している。なおデータの出力は、メモリ演算回路35の1行分のデータを列方向に読み出すものであっても構わないし、全てのデータをシリアルに読み出すものであっても構わない。処理終了後のメモリ演算回路35からのデータの読み出し方法は、本発明を限定するものでは無く、一般的なメモリ回路からの読み出しにおけるどのような方法を用いても構わない。
メモリ演算回路35から出力されたデータは、エージェントの移動に伴って検出した事象と空間情報の相関を示す情報であるため、例えば特定の事象に関して最大値を記憶する座標を検出することにより、その事象が最も発生し易い空間内の位置座標を得ることが可能となる。
なお、本実施形態において、図5に示す重み分布は事前に決定されているものとし、事象検出位置のメモリ演算素子38の演算制御回路39から、周囲のメモリ演算ブロック35に対して出力する加算処理を実行するための制御信号は、固定の値を加算する信号(すなわち所定のS0-S7に入力される信号)である。
これに対して、前記演算制御回路39から、周囲のメモリ演算ブロック35に対して出力する加算処理を実行するための制御信号を、演算処理装置200の外部から入力する信号により変更可能とする回路構成をとっても構わない。この場合は、前記外部から入力する信号により、前記演算制御回路39からの制御信号を変更することにより、加算する重み分布を変更することが可能となる。
以上説明したように、第2実施形態におけるメモリ演算回路においては、第1実施形態と同様に、検知した事象に関する情報を空間と相関を有する情報として記憶し、さらに複数の事象を検知するごとに記憶を更新することが可能となる。
またさらに第2実施形態においては、演算回路がデータを記憶するメモリ素子の近傍に構成されているため、演算処理を実行するたびにメモリ回路から外部にメモリを読み出したり、また書き戻したりする必要が無くなるため、特に読み出し・書き込み配線を駆動するために必要となる電力消費量を削減することが可能となる。
なお、本実施形態で示したメモリ演算素子の構成は一例であり、同様の演算処理を実行可能なものであれば、どのような構成を有するものであっても構わない。
本実施形態において発明の主眼とする特徴的な構成は、以上で説明したように、検知した事象に関する情報を空間と相関を有する情報として記憶・更新するための演算処理装置において、演算を実行する回路が、情報を記憶するメモリ回路の内部に構成されるところにある。
また、本実施形態に関する変形例を図30、図31に示す。図30に示すように、変形例におけるメモリ演算処理装置200は、それぞれが空間内で検知される事象種別に対応しているメモリ演算回路56を複数個有する構成となっている。図30においては、事象種別のラベルとして0-3と表記した4種類のラベルに対応した、4個のメモリ演算回路が2x2のアレイ状に構成されている例を示している。また本変形例におけるメモリ演算ブロック57は、図31に示すように、メモリ演算素子38を1つのみ有する構成を有している。
すなわち本変形例におけるメモリ演算処理装置は、前述した本実施形態におけるメモリ演算処理装置と異なり、1つのメモリ演算回路が1つの事象種別に対応し、そのメモリ演算回路を複数配置した構成を有する。なお図30に示した例では、メモリ演算制御回路に入力される事象種別データに対応して、事象検出位置データが当該事象種別に対応するメモリ演算回路に対してのみ出力される。事象検出位置データによるメモリ演算ブロックの選択方法は、前述した本実施形態におけるメモリ演算処理装置と同様である。
なお本変形例では、メモリ演算回路が2x2のアレイ状に構成されているメモリ演算処理装置の例を示したが、アレイ状ではなく、直列(1x4)またはその他の配置方法をとるものであっても構わない。また当然のことながら、事象種別は4種類に限るものでは無く、その他の種別数であっても構わないのも本実施形態において同様である。
本変形例は、前述した本実施形態における全ての効果を同様に有するものである。また本変形例は、第3および第4実施形態以降において、第2実施形態を基に説明する実施形態に対しても全て適用可能である。
[第3実施形態]
図23および図24に本実施形態で説明する演算処理装置300および演算処理装置400のブロック図を示す。
図23において、本実施形態における演算処理装置300は、第1実施形態の演算処理装置100の演算回路3が、加減算を実行する加減算回路を有する演算回路49に変更されたものである。
また図24において、本実施形態における演算処理装置400は、図13に示した第2実施形態の演算処理装置200のメモリ演算回路36を構成するメモリ演算素子38が、演算制御回路39からの制御信号に基づき加減算を実行するメモリ演算ブロック50およびメモリ演算回路51に変更されたものである。
なお本実施形態に関する演算処理装置300および400は、第1実施形態および第2実施形態における演算回路3およびメモリ演算回路36が、加算処理だけではなく減算処理も実行すること以外は、第1実施形態および第2実施形態と同様である。そのため、本実施形態に関しては第1実施形態および第2実施形態と異なる点についてのみ説明を行い、その他の点は第1実施形態および第2実施形態と同様として説明を省略する。
まず、図25を用いて演算処理装置300における演算回路49の説明を行う。図25に示す通り、演算処理装置300における演算回路49は加減算器52を有し、加算処理に加えて減算処理を実行可能である。すなわち、例えば海馬-嗅内皮質モデルにおいて、検知した事象に関する空間と相関を有する記憶に関して、時間の経過に従い記憶が減衰する作用を実現する場合、所定の時間経過後にメモリ回路3に保持されたデータから、所定値を減算することで実現が可能となる。また、特定の事象に関して、負の値を有する重み分布を加算することが可能となる。またこれは、所定の事象に関して、特定の条件下においては負の重み分布を設定し、正負両方の重み分布に関する記憶を加算(または減算)することが可能となる。
続いて、図26を用いて演算処理装置400におけるメモリ演算回路51が有する、メモリ演算ブロック50内のメモリ演算素子53の説明を行う。図26に示す通り、演算処理装置400におけるメモリ演算素子53は、図16における演算素子38と同様の構成を有するが、加算処理に加えて減算処理を実行するものである。すなわち、前述した演算処理装置300の場合と同様に、例えば海馬-嗅内皮質モデルにおいて、検知した事象に関する空間と相関を有する記憶に関して、時間の経過に従い記憶が減衰する作用を実現する場合、所定の時間経過後にメモリ演算回路51に保持されたデータから、所定値を減算することで実現が可能となる。また、特定の事象に関して、負の値を有する重み分布を加算することが可能となる。またこれは、所定の事象に関して、特定の条件下においては負の重み分布を設定し、正負両方の重み分布に関する記憶を加算(または減算)することが可能となる。
この場合のメモリ演算素子53は図26に示すように、演算処理装置200におけるメモリ演算素子38と同様の構成を有するが、演算制御回路39からの制御信号に基づいて、2の補数に基づいた減算処理を実行することにより、減算処理を実行することができる。図27に、減算処理の一例におけるタイミングチャートを示す。図27では、既に記憶している値(202)から、負の重みデータとして(4)を減算する場合のタイミングチャートを示している。
以上説明したように、本実施形態により、第1実施形態および第2実施形態と同様に、海馬-嗅内皮質モデルおける、検知した事象に関する空間と相関を有する記憶を保持および更新可能であることに加え、さらに記憶したデータに対する減算処理を実行することが可能となる。これにより、時間の経過に従い記憶が減衰する作用、および負の重み分布を有する記憶に関する処理を実現することが可能となる。
[第4実施形態]
本実施形態における演算処理装置は、第1実施形態、第2実施形態および第3実施形態における事象検出位置を三次元空間に拡張したものである。すなわち本実施形態における演算処理装置に関しては、メモリ回路またはメモリ演算回路が、それぞれの事象種別ごとに、三次元空間に拡張された構成に変更されたものであり、3次元空間内で生じた事象の情報と空間情報の相関関係を学習する機能を有する。
なお本実施形態に関する演算処理装置は、第1実施形態および第2実施形態におけるメモリ回路2およびメモリ演算回路36、さらに第3実施形態におけるメモリ回路2およびメモリ演算回路51が、事象に関する情報を三次元空間の位置と相関を有する情報として記憶するように拡張された構成を有する以外は、第1実施形態、第2実施形態および第3実施形態と同様である。そのため、本実施形態に関しては第1実施形態、第2実施形態および第3実施形態と異なる点についてのみ説明を行い、その他の点は同様として説明を省略する。
まず、本実施形態における海馬-嗅内皮質モデルにおいては、ロボットなどの空間を移動しながら様々な事象を検知し、事象を検知するごとに、その事象を検知した場所に対して、所定の空間的な広がりを有する重み情報を、当該事象に関する空間情報と相関を有する情報として記憶することは第1実施形態、第2実施形態および第3実施形態と同様であるが、対象となる空間は三次元空間に拡張される。
例えばロボットが階段を使用して1階と2階を移動し、異なる階における二次元空間で生じた事象に関して、空間情報と相関を有する情報として記憶する。この場合、空間を定義する座標としては、新たにz軸が追加され、zの値としては0, 1の2値のみが定義される。
またこの場合の重み情報の分布は、各階において独立に事象が生じるものとして、第1実施形態、第2実施形態および第3実施形態と同様に、二次元的な分布を有するものとする。
なお三次元空間の定義は、前述したようなz軸方向に2値である必要は無く、例えばロボットなどのエージェントが、事象の検知位置としてさらに複数のz軸方向の位置の情報を扱うものであっても構わない。また重み情報の分布に関しても、必ずしも二次元空間としての分布に限るものでは無く、三次元的に分布を有するものであっても構わない。
まず、本実施形態における演算処理装置に関して説明する。本実施形態における演算処理装置は、第1実施形態および第3実施形態における演算処理装置100および演算処理装置300におけるメモリ回路2を、図28に示すように三次元空間座標に対応した情報を記憶可能なように、z軸方向に対応するメモリブロックを有するメモリ回路54に拡張したものである。すなわち、それぞれが三次元空間座標に対応したメモリブロック1を複数有する構成となっている。
なお図28においては、紙面の都合により二次元空間サイズを4x4とした場合のメモリ回路54を図示している。演算処理装置100および演算処理装置300と異なる点は、z軸方向に拡張した三次元空間座標に対応してメモリブロックが構成されている点にある。図28においては、各メモリブロック1がメモリ回路54の各行を構成しており、メモリ回路54は合計で32行のメモリブロック1を有している。ここで各メモリブロック1は、それぞれが三次元空間における位置座標に対応する。図では、各行のラベルとして、(x, y, z)と表記した座標を対応させている。
すなわち本実施形態においては、空間情報として4x4x2(=32)の位置座標に対応するデータを記憶することを想定しており、前述したエージェントが移動する三次元空間の位置は、4x4x2個の座標として検知される。
また、メモリ回路の各列は、空間内で検知される事象種別に対応している。図では、各列のラベルとして、0-9と表記した各事象種別の10種類のラベルを対応させていることは、演算処理装置100および演算処理装置300と同様である。
以上のように構成されたメモリ回路54に対して、事象種別データと、事象検出位置データに基づいて、メモリ制御回路が対応する事象種別の当該領域のデータを読み出し、演算回路に入力して加算処理または加減算処理を実行し、さらに、演算回路による演算結果をメモリ回路54の元の位置(読み出した位置)に書き戻す処理を実行することは実施形態1および実施形態3における演算処理装置100および演算処理装置300と同様である。
なお本実施形態においては、加算する重み分布は前述したように二次元分布を有するものとしたが、三次元分布を有する重みを加算処理または加減算処理する場合は、三次元的な重み分布に対応する領域の記憶データをメモリ回路から読み出して演算すれば良い。
続いて、本実施形態における演算処理装置に関して説明する。
本実施形態における演算処理装置は、実施形態2および実施形態3における演算処理装置200および演算処理装置400におけるメモリ演算回路36、51を、図29に示すように、三次元空間における情報を記憶および演算が可能なように、三次元空間座標に対応したメモリ演算素子を有するメモリ演算ブロック55から構成したものである。
演算処理装置200および演算処理装置400と異なる点は、メモリ演算ブロック55が、さらにz軸方向に拡張した空間座標に対応するメモリ演算素子を有する点である。図29においては、各メモリ演算ブロックが、空間内で検知される事象種別に対応し、さらにz軸方向の位置に対応した、メモリ演算素子37から構成される。図29では、z軸方向の位置(0, 1の2値)ごとに、事象種別のラベルとして0-9と表記した各事象種別の10種類のラベルに対応した10個のメモリ演算素子が、1つのメモリ演算ブロックに含まれている。
ここで1つのメモリ演算素子は、対応する座標位置における1つの事象に対応したデータを記憶するメモリ素子と、前記メモリ素子に記憶しているデータと、さらに当該事象が発生した場合に加算される重み分布の値の加算処理を実行する演算回路の両者を兼ねた構成、および機能を有することは、実施形態2および実施形態3における演算処理装置200および演算処理装置400と同様である。なおメモリ演算素子の構成および動作に関しては、実施形態2および実施形態3と同様であるものとして説明を省略する。
以上のように構成されたメモリ演算回路に対して、事象種別データと、事象検出位置データに基づいて、メモリ演算素子に記憶する値に加算処理および加減算処理を実行することは実施形態2および実施形態3における演算処理装置200および演算処理装置400と同様である。
なお本実施例においては、加算する重み分布は前述したように二次元分布を有するものとしたが、三次元分布を有する重みを加算処理または加減算処理する場合は、重み分布の中心位置に相当するメモリ演算ブロックの演算制御回路からの制御信号に基づき、重み分布に対応する周辺のメモリ演算ブロックにおいて、加算処理および加減算処理を実行することが可能である。
以上説明したように、本実施形態における演算処理装置は、メモリ回路またはメモリ演算回路が、それぞれの事象種別ごとに、三次元空間に拡張された構成に変更されたことにより、3次元空間内で生じた事象の情報と空間情報の相関関係を学習することが可能となる。
100、200、300、400            演算処理装置
1                                 メモリブロック
2、54                           メモリ回路
3、49                           演算回路
4                                 メモリ制御回路
5、6、17、23                 入力ポート
7、18、24                            出力ポート
8                                 場所細胞
9                                 キュー細胞
10                               連結細胞
11                               エージェント
12~15                         空間内の位置
16                               重み分布
19                               加算器
20~22                         レジスタ
25                               事象種別検出装置
26                               空間位置検出装置
27~34、42~48                    処理項目
35、50、55、57                    メモリ演算ブロック
36、51、56                   メモリ演算回路
37                               メモリ演算制御回路
38、53                         メモリ演算素子
39                               演算制御回路
40                               トグルフリップフロップ回路
41                               XOR回路
52                               加減算器

Claims (8)

  1. 所定の広がりを有する空間内で生じた事象に関するデータを記憶するメモリブロックを複数有し、さらに前記データに対して所定の演算を実行する演算回路と、メモリブロックに保持されたデータの読み出しと書き込み、および演算回路における演算処理を制御する制御回路を有する演算処理装置であって、
    前記メモリブロックは、空間情報と相関を有する異なる事象に関するデータを記憶し、また前記演算回路は、前記メモリブロックに記憶されたデータに関して、空間内の所定領域に含まれるデータに対して所定の演算処理を実行し、さらに演算処理完了後に、前記空間情報と相関を有する異なる事象に関するデータの一部または全部を演算処理結果として出力することを特徴とする演算処理装置。
  2. 前記演算処理は、所定領域で分布を有する重みデータの加算処理、または加減算処理であることを特徴とする請求項1に記載の演算処理装置。
  3. 前記演算回路は、メモリブロックの各メモリセル内に構成されることを特徴とする請求項1又は2に記載の演算処理装置。
  4. 前記演算回路は、メモリブロックの外部に構成されることを特徴とする請求項1又は2に記載の演算処理装置。
  5. 前記制御回路は、演算対象となる所定領域の位置情報に関する制御信号をメモリブロックに入力し、さらに前記制御信号が入力されたメモリブロックは、所定領域に含まれる隣接するメモリブロックに制御信号を入力し、前記制御信号が入力されたメモリブロックにおいて、前記演算回路によって、メモリブロックに保持されたデータに対する演算処理を行う制御を実行することを特徴とする請求項1から3のいずれかに記載の演算処理装置。
  6. 前記制御回路は、メモリブロックから、所定領域に含まれる事象に関連するデータを読み出し、さらに前記演算回路により演算処理を実行し、さらに演算処理の実行後に演算結果をメモリブロックの同一の所定領域に書き込む制御を実行することを特徴とする請求項1、2又は4に記載の演算処理装置。
  7. 前記所定領域で分布を有する重みデータは、中心位置から単調に減衰する分布を有することを特徴とする請求項1から6のいずれかに記載の演算処理装置。
  8. 事象に関するデータは、視覚情報、音声認識情報、触覚情報、嗅覚情報に関するデータであることを特徴とする、請求項1から7のいずれかに記載の演算処理装置。
PCT/JP2023/007251 2022-03-04 2023-02-28 演算処理装置 WO2023167168A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022033282A JP2023128729A (ja) 2022-03-04 2022-03-04 演算処理装置
JP2022-033282 2022-03-04

Publications (1)

Publication Number Publication Date
WO2023167168A1 true WO2023167168A1 (ja) 2023-09-07

Family

ID=87883758

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/007251 WO2023167168A1 (ja) 2022-03-04 2023-02-28 演算処理装置

Country Status (2)

Country Link
JP (1) JP2023128729A (ja)
WO (1) WO2023167168A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03250244A (ja) * 1990-01-24 1991-11-08 Hitachi Ltd 情報処理装置
JP2015526702A (ja) * 2012-06-12 2015-09-10 アンスティテュ ド ラディオプロテクシオン エ ド スルテ ニュクレエール サイトにおいて光子分布をリアルタイムにマッピングする方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03250244A (ja) * 1990-01-24 1991-11-08 Hitachi Ltd 情報処理装置
JP2015526702A (ja) * 2012-06-12 2015-09-10 アンスティテュ ド ラディオプロテクシオン エ ド スルテ ニュクレエール サイトにおいて光子分布をリアルタイムにマッピングする方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIMODOME, RYO ET AL.: "An integrated circuit model of hippocampus and entorhinal cortex for home service robots", IEICE TECHNICAL REPORT, vol. 118, no. 414, 2019, pages 5 - 10, XP009548672, ISSN: 2432-6380 *

Also Published As

Publication number Publication date
JP2023128729A (ja) 2023-09-14

Similar Documents

Publication Publication Date Title
Jose et al. Task allocation and collision-free path planning of centralized multi-robots system for industrial plant inspection using heuristic methods
US5675720A (en) Method of searching for points of closest approach, and preprocessing method therefor
Csiszar et al. On solving the inverse kinematics problem using neural networks
JP7387920B2 (ja) ロボットを制御するための方法及びロボットコントローラ
CA2200326A1 (en) Method of and apparatus for segmenting foreground and background information for optical character recognition of labels employing single layer recurrent neural network
JP2019171501A (ja) ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
KR20220155921A (ko) 로봇 디바이스를 제어하기 위한 방법
US10875176B2 (en) Process control using deep learning training model
Lin et al. Analytical solution for inverse kinematics using dual quaternions
JP7259860B2 (ja) ロボットの経路決定装置、ロボットの経路決定方法、プログラム
WO2023167168A1 (ja) 演算処理装置
KR20190041388A (ko) 전자 장치 및 그 제어 방법
Wei et al. Vision-guided fine-operation of robot and its application in eight-puzzle game
Solvang et al. Robot programming in machining operations
CN111708283B (zh) 一种机器人仿真方法、设备以及计算机可读存储介质
Krupke et al. Flexible Modular Robotic Simulation Environment For Research And Education.
CN114193436A (zh) 一种机器人工作空间优化方法、装置、存储介质和设备
JP2718678B2 (ja) 座標系合わせ方法
Nagchaudhuri et al. Camera-robot transform for vision-guided tracking in a manufacturing work cell
Tutsoy et al. Developing linear and nonlinear models of ABB IRB120 industrial robot with Maplesim multibody Modelling software
JP3363846B2 (ja) 実世界情報データベース構築方法及び装置と自律移動走行体学習方法
JP2023154162A (ja) 演算処理装置
Bulej et al. Simulation of manipulation task using iRVision aided robot control in Fanuc RoboGuide software
EP3978209B1 (en) Generative design techniques for soft robot manipulators
Komák et al. Creating a Simulation Environment for the Micromouse.

Legal Events

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

Ref document number: 23763425

Country of ref document: EP

Kind code of ref document: A1