Provided is a neural network computation circuit capable of outputting output data according to the result of a multiply-accumulate operation performed on input data and connection weight coefficients, said circuit comprising a computation unit having: storage elements RP and transistors T0 connected in series between data lines BL0, SL0; storage elements RN and transistors T1 connected in series between data lines BL1, SL1; and word lines connected to the gates of the transistors T0, T1. Connection weight coefficients w0-wn are stored in the storage elements RP, RN, a word line selection circuit (30) sets word lines WL0-WLn to either the selected or non-selected state according to input data x0-xn, and an assessment circuit (50) assesses current values flowing through the BL0, BL1, whereby output data is outputted. A current application circuit (100) has a function of adjusting the current values flowing through the BL0, BL1 and adjusts the connection weight coefficients without overwriting the storage elements RP, RN.
NEURAL NETWORK COMPUTATION CIRCUIT USING NON-VOLATILE SEMCONDUCTOR STORAGE ELEMENT