WO2022260413A1 - 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법 - Google Patents

펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법 Download PDF

Info

Publication number
WO2022260413A1
WO2022260413A1 PCT/KR2022/008038 KR2022008038W WO2022260413A1 WO 2022260413 A1 WO2022260413 A1 WO 2022260413A1 KR 2022008038 W KR2022008038 W KR 2022008038W WO 2022260413 A1 WO2022260413 A1 WO 2022260413A1
Authority
WO
WIPO (PCT)
Prior art keywords
output current
error
current
neural network
charge
Prior art date
Application number
PCT/KR2022/008038
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
Priority claimed from KR1020220064093A external-priority patent/KR20220165192A/ko
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Publication of WO2022260413A1 publication Critical patent/WO2022260413A1/ko

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/04Architecture, e.g. interconnection topology
    • 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

Definitions

  • the present disclosure relates to an apparatus and method for calibrating transition error of a pulse width based current domain in-memory neural network operator.
  • Deep learning algorithms have evolved in the direction of increasing the size and complexity of networks in order to increase the accuracy of output results, and in accordance with this trend, the computer paradigm is changing from the existing central processor (CPU) to the memory center in the hardware area.
  • Artificial neural network operation one of the representative operations of deep learning algorithms, consists of MAC (multiply and accumulate) that repeatedly performs multiplication and addition of large numbers, and an operation method called in-memory computing to efficiently process them. It has recently been introduced and actively studied.
  • In-memory computing saves energy consumed for memory access by merging a local cache memory that stores the weight coefficient of artificial neural networks and an operator to read and operate data in the analog domain and maximize parallel processing of data. do.
  • FIG. 1 is a diagram showing a conventional digital calculator and an in-memory computing calculator
  • FIG. 2 is a diagram showing the structure of a current domain artificial neural network calculator and an output error generated due to a transition period of an input pulse.
  • in-memory artificial neural network operators can be largely classified into voltage domain and current domain operators according to the type of analog domain in which the corresponding computation is performed.
  • a memory structure that performs read and write operations through the magnitude of current such as Resistive-RAM (ReRAM) or Magnetic-RAM (MRAM)
  • the input data signal is applied to the wordline (WL) mainly using pulse width modulation (PWM), and the weighting coefficient uses a current mirror structure to achieve multibit resolution.
  • the current value finally obtained by implementation is passed through an analog-to-digital converter (ADC, A/D converter) to obtain a digital MAC output value.
  • ADC analog-to-digital converter
  • a virtual ground is applied to the bit line (BL, bitline) of the memory.
  • bit line bitline
  • FIG. 3 is an output characteristic graph of an operator having an error proportional to a weight coefficient.
  • the present invention is to solve the above-mentioned problems of the prior art, and a pulse width-based current domain in-memory neural network that corrects pulse transition errors of input data based on a pulse width modulation method using an operator structure and weight coefficients as they are. It is an object of the present invention to provide an apparatus and method for calibrating a transition error of an operator.
  • an apparatus for calibrating a transition error of a pulse width-based current domain in-memory neural network operator converts input data and unit pulse data based on a pulse width modulation method
  • a charge integrator for sampling the charge corresponding to the output current by the result of the second operation may be included.
  • the result of the second operation may correspond to an error component due to a pulse transition period of the input data.
  • the charge integrator may include a capacitor element charged or discharged by a first output current corresponding to a result of the first operation and a second output current corresponding to a result of the second operation.
  • the calculation unit may include a bidirectional current mirror such that a direction of the first output current and a direction of the second output current are opposite to each other.
  • the first output current discharges the charge of the first electrode of the capacitor element to increase the output voltage
  • the second output current charges the first electrode to charge the error component from the output voltage. A voltage corresponding to may be removed.
  • the apparatus for calibrating transition error of a pulse width based current domain in-memory neural network operator may include a storage unit including a memory device for storing the weights.
  • the operation unit may include a reference buffer forming a virtual ground with respect to the bit line of the memory device.
  • the apparatus for calibrating a transition error of a pulse width based current domain in-memory neural network operator may include a conversion unit that converts an analog signal according to the output voltage into a digital signal.
  • the calculation unit may include a switch element that is turned on and off to selectively apply the first output current or the second output current to the capacitor element.
  • an apparatus for calibrating a transition error of a pulse width-based current domain in-memory neural network operator includes a section to which the input data is applied, a section to which the unit pulse data is applied, and the switch element to be turned on and off.
  • a control unit for controlling the section may be included.
  • a transition error calibration method of a pulse width based current domain in-memory neural network operator input data is applied based on a pulse width modulation method, and calculation based on the input data and weights of the neural network is performed. obtaining a result of a first operation by applying unit pulse data based on a pulse width modulation method, and obtaining a result of a second operation by performing an operation based on the unit pulse data, and obtaining a result of the first operation; and and sampling the charge corresponding to the output current by the result of the second operation.
  • the sampling may include sampling the charge using a capacitor device in which charge is charged or discharged by a first output current corresponding to a result of the first operation and a second output current corresponding to a result of the second operation. can do.
  • the first electrode of the capacitor element is discharged by the first output current to increase the output voltage, and the second output current is to charge the first electrode to the second output current.
  • a voltage corresponding to the error component may be removed from the output voltage.
  • the transition error calibrating method of the pulse width based current domain in-memory neural network operator may include converting an analog signal according to the output voltage into a digital signal.
  • a pulse width-based current domain in-memory neural network calculation circuit to which a transition error correction technique according to an embodiment of the present invention is applied includes a reference buffer forming a virtual ground for a bit line of a memory device storing weights of a neural network, a pulse A bidirectional current mirror outputting a first output current based on input data applied based on a width modulation method and the weight and a second output current based on unit pulse data in opposite directions to each other, the first output current and the second output current It may include a charge integrator that samples the charge corresponding to the output current and an analog-to-digital signal converter that converts an analog signal according to an output voltage corresponding to the sampling result into a digital signal.
  • the charge of the first electrode is discharged by the first output current to increase the output voltage, and the charge of the first electrode is charged by the second output current to determine the output voltage from the output voltage.
  • a capacitor element may be included to remove a voltage corresponding to an error component caused by a pulse transition period of input data.
  • the transition error of the pulse width-based current domain in-memory neural network operator correcting the pulse transition error of the input data applied based on the pulse width modulation method by using the structure of the operator and the weight coefficient as it is.
  • Calibration devices and methods can be provided.
  • the pulse width-based current domain in-memory neural network disclosed herein
  • the operator's transition error correction technique eliminates the error by reusing the operator structure, so it is free from device mismatch problems and removes the error of the exact size regardless of the process-voltage-temperature variation, which is a major obstacle to the commercialization of analog artificial neural network operators. can be removed
  • 1 is a diagram showing an existing digital type calculator and an in-memory computing type operator.
  • FIG. 2 is a diagram showing the structure of a current domain artificial neural network operator and an output error generated due to a transition period of an input pulse.
  • 3 is a graph of output characteristics of an operator having an error proportional to a weight coefficient.
  • FIG. 4 is a circuit diagram of a transition error calibrating device of a pulse width based current domain in-memory neural network operator according to an embodiment of the present invention.
  • FIG. 5 is a diagram showing the structure of a bidirectional current mirror and a charge integrator.
  • FIG. 6 is a diagram illustrating a timing diagram for driving a transition error calibrating device of a pulse width based current domain in-memory neural network operator by way of example.
  • FIG. 7 is a simulation graph showing output characteristics of an artificial neural network operator before error correction is applied and after an error correction technique according to an embodiment of the present application is applied.
  • FIG. 8 is a schematic configuration diagram of an apparatus for calibrating a transition error of a pulse width based current domain in-memory neural network operator according to an embodiment of the present disclosure.
  • FIG. 9 is an operation flowchart of a transition error correction method of a pulse width based current domain in-memory neural network operator according to an embodiment of the present invention.
  • the present disclosure relates to an apparatus and method for calibrating transition error of a pulse width based current domain in-memory neural network operator.
  • FIG. 4 is a circuit diagram of a transition error calibrating device of a pulse width based current domain in-memory neural network operator according to an embodiment of the present invention.
  • an apparatus 100 for calibrating a transition error of a pulse width based current domain in-memory neural network operator includes an input unit 110 ), a storage unit 120, and a pulse width-based current domain in-memory neural network calculation circuit 1000 to which a transition error correction technique is applied (hereinafter referred to as 'neural network calculation circuit 1000').
  • the input unit 110 may apply input data and unit pulse data based on a Pulse Width Modulation (PWM) method.
  • PWM Pulse Width Modulation
  • the input unit 110 applies a signal corresponding to input data or unit pulse data to a word line (WL) using pulse width modulation (PWM). to-Time Converter) circuit, but is not limited thereto.
  • the storage unit 120 may include a memory device for storing weights.
  • the weight may be differently referred to as a pre-stored weight coefficient for neural network operation, and the memory device may be a local cache memory.
  • the memory device may be formed of a memory structure that performs a read and write operation based on information on the magnitude of current, such as Resistive-RAM (ReRAM) or Magnetic-RAM (MRAM). but not limited to
  • ReRAM Resistive-RAM
  • MRAM Magnetic-RAM
  • the memory device of the storage unit 120 may have a structure including a plurality of memory cells for individually storing a plurality of weights (weight coefficients) for neural network operation, and The cells of can be arranged in parallel to form several memory rows.
  • the neural network calculation circuit 1000 may include a reference buffer 131, a bidirectional current mirror 132, a charge integrator 140, and an analog-to-digital signal converter 150.
  • the reference buffer 131 may form a virtual ground for a bit line of a memory device storing weights of a neural network.
  • the reference buffer 131 is a bit line of a memory in order to prevent an output current value from fluctuating according to a weight coefficient value stored in each memory cell in the process of combining currents from several memory rows for parallel processing.
  • BL, bitline may be a circuit for maintaining a constant voltage value by forming a virtual ground.
  • the error calibrating apparatus 100 disclosed herein determines whether the device resistance value of each cell in which an operation is performed in a memory device is in a low resistance state (LRS) or a high resistance state (HRS). state), a reference buffer for maintaining the current of each cell consistently without being affected by the value of each weight (weight coefficient) stored in the memory device, considering that the equivalent resistance value seen on the bit line side changes depending on whether the 131) may be provided.
  • LRS low resistance state
  • HRS high resistance state
  • the bidirectional current mirror 132 may output a first output current based on input data and weights applied based on a pulse width modulation method and a second output current based on unit pulse data in opposite directions.
  • the first output current corresponds to a first operation result obtained by performing an operation based on input data and weights of the neural network
  • a second output current corresponds to an operation based on unit pulse data and weights additionally applied in addition to the input data. It may correspond to the result of the second operation performed.
  • unit pulse data may include data corresponding to a case where the value of input data is 0.
  • an operation based on a weight may refer to a multiply-accumulate operation (MAC) that repeatedly performs a multiplication operation and an addition operation, and the error calibrating apparatus 100
  • the memory device (corresponding to the storage unit 120 to be described later) reads data in the analog domain and performs calculations on its own, and maximizes parallel processing of data to save energy consumed in memory access. It may be an in-memory computing-based memory device (Memory with Embedded Analog Computation) in which a local cache memory for storing coefficients and an operator are merged.
  • the charge amount integrator 140 may sample charges corresponding to the first output current and the second output current.
  • FIG. 5 is a diagram showing the structure of a bidirectional current mirror and a charge integrator
  • FIG. 6 is a timing diagram for driving a transition error calibrating device of a pulse width based current domain in-memory neural network operator by way of example. it is a drawing
  • the bidirectional current mirror 132 copies the cell current (I Cell ) of the memory device to A first output current (I MAC ) reflecting the multi-bit weight coefficient is generated, and accordingly, the first electrode (eg, the left electrode of FIG. 5) of the capacitor element 141 ( CL ) of the charge integrator 140 is generated. Charges are discharged in , and the output voltage (V out ) may increase by an amount proportional to the amount of discharged charges (see V MAC in FIG. 6).
  • the second output current (I Error ) which is the current according to the error component
  • the first electrode eg, the left electrode in FIG. 5
  • the capacitor element 141 C L
  • the output voltage (V out ) decreases in proportion to the amount of charged charge (see V Error in FIG. 6).
  • the final error component corresponding to the unit pulse data is removed from the MAC calculation result based on the input data and the pre-stored weight (weight coefficient) by the bidirectional current mirror 132 and the charge integrator 140. It may be formed as an output voltage (V out ) to perform error correction.
  • V out an output voltage
  • the output voltage (V out ) corresponding to the sampling results for the first output current (I MAC ) and the second output current (I Error ) is analog- Through the digital signal converter 150, the analog signal form may be finally converted into a digital form signal.
  • the bidirectional current mirror 132 receives the current corresponding to the weight previously stored in the memory device (for example, the weight coefficient value in the form of a binary number) in the MAC operation step (first phase) to configure a multi-bit weight coefficient. to generate an output current (for example, current in decimal form), and in the error correction step (second phase), the current corresponding to the error current, which is a component corresponding to the transition error of the pulse-type input data It is generated as an output current (eg, a current in the form of a decimal number) in the same way as in phase 1, but the direction of the current can be changed and output.
  • an output current for example, a current in the form of a decimal number
  • the charge amount integrator 140 such that the direction in which the first output current, the output current by Mac operation, flows and the direction in which the second output current, the output current for error correction, flows are opposite to each other by the bidirectional current mirror 132 Since it is applied as , it is possible to implement a subtraction operation based on the analog domain in the charge integrator 140 of the next stage, and through this, error correction may be performed.
  • the charge integrator 140 is a circuit that implements a subtraction operation in the analog domain by sampling the Mac operation current and the error current in the form of electric charge to the capacitor element 141, respectively. based amplifier), and in this case, it can operate to convert the input current into a voltage form and amplify it by the voltage gain of the inverter and output it.
  • the error calibrating apparatus 100 disclosed herein adds an error correction step (second phase) between the MAC calculation step (first phase) and the analog-to-digital conversion step and has the same circuit structure for calculating the MAC calculation result.
  • second phase an error correction step between the MAC calculation step (first phase) and the analog-to-digital conversion step and has the same circuit structure for calculating the MAC calculation result.
  • FIG. 7 is a simulation graph showing output characteristics of an artificial neural network operator before error correction is applied and after an error correction technique according to an embodiment of the present application is applied.
  • pulse operation is first performed by applying input data in a pulse width modulation method, and then a unit pulse is applied once more to obtain a value corresponding to the error Error correction can be performed simply by performing a subtraction operation in the analog current domain after generation, and the error correction can be performed by reusing the operator circuit as it is without configuring a separate circuit for error correction (error elimination). have.
  • FIG. 8 is a schematic configuration diagram of an apparatus for calibrating a transition error of a pulse width based current domain in-memory neural network operator according to an embodiment of the present disclosure.
  • the error calibrating device 100 may include an input unit 110, a storage unit 120, a calculation unit 130, a charge integration unit 140, a conversion unit 150, and a control unit 160. have.
  • the input unit 110 may apply input data and unit pulse data based on a Pulse Width Modulation (PWM) method.
  • PWM Pulse Width Modulation
  • the storage unit 120 may include a memory device for storing weights.
  • the operation unit 130 may obtain a first operation result by performing an operation based on the input data and the weight of the neural network.
  • the calculator 130 may perform an operation based on unit pulse data to obtain a second operation result.
  • the second operation result may correspond to an error component due to a pulse transition period of the input data.
  • the calculation unit 130 may include a bidirectional current mirror 131 so that the direction of the first output current and the direction of the second output current are opposite to each other.
  • the calculation unit 130 may include a reference buffer 131 forming a virtual ground with respect to the bit line (bitline, BL) of the memory device.
  • the calculation unit 130 may include a switch element that is turned on and off so that the first output current or the second output current is selectively applied to the capacitor element 141 .
  • the charge integrator 140 may sample the charge corresponding to the output current by the first operation result and the second operation result.
  • the charge integrator 140 may include a capacitor device 141 charged or discharged by a first output current corresponding to a first operation result and a second output current corresponding to a second operation result. have.
  • the charge of the first electrode of the capacitor element 141 is discharged by the first output current, the output voltage rises, and the second output current causes the charge of the first electrode of the capacitor element 141 to rise.
  • the charge of one electrode may be charged and the voltage corresponding to the error component may be removed from the output voltage.
  • the conversion unit 150 may convert an analog signal according to an output voltage into a digital signal.
  • the conversion unit 150 may include various types of ADC (Analog-to-Digital Converter) modules that are previously known or may be developed in the future.
  • ADC Analog-to-Digital Converter
  • the controller 160 may control a period in which input data is applied, a period in which unit pulse data is applied, and a period in which a switch element is turned on or off.
  • FIG. 9 is an operation flowchart of a transition error correction method of a pulse width based current domain in-memory neural network operator according to an embodiment of the present invention.
  • the transition error calibrating method of the pulse width based current domain in-memory neural network operator shown in FIG. 9 may be performed by the error calibrating apparatus 100 described above. Therefore, even if omitted below, the description of the error calibrating apparatus 100 can be equally applied to the description of the transition error calibrating method of the pulse width based current domain in-memory neural network operator.
  • the input unit 110 may apply input data based on a pulse width modulation method.
  • step S12 the calculation unit 130 may obtain a first calculation result by performing an operation based on the input data applied in step S11 and the weight of the neural network.
  • the input unit 110 may apply unit pulse data based on a pulse width modulation scheme.
  • the calculation unit 130 may obtain a second calculation result by performing an operation based on the unit pulse data applied in step S13.
  • the second operation result may correspond to an error component due to a pulse transition period of the input data.
  • step S15 the charge integrator 140 may sample the charge corresponding to the output current by the first and second calculation results.
  • step S15 the charge integrator 140 determines the capacitor element 141 charged or discharged by the first output current corresponding to the first operation result and the second output current corresponding to the second operation result. Charge can be sampled using
  • step S15 the charge integrator 140 discharges the charge of the first electrode of the capacitor element 141 by the first output current so that the output voltage rises, and conversely, the A subtraction operation for removing an error component in an analog domain (current domain) may be implemented by charging the first electrode by the two output currents so that the voltage corresponding to the error component is removed from the output voltage.
  • control unit 160 may control an on-off period of the switch element provided so that the first output current or the second output current is selectively applied to the capacitor element 141 .
  • step S16 the conversion unit 150 may convert the analog signal according to the output voltage into a digital signal.
  • steps S11 to S16 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present application. Also, some steps may be omitted if necessary, and the order of steps may be changed.
  • a method for calibrating a transition error of a pulse width based current domain in-memory neural network calculator may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
  • the hardware devices described above may be configured to act as one or more software modules to perform the operations of the present invention, and vice versa.
  • transition error calibrating method of the pulse width-based current domain in-memory neural network operator may be implemented in the form of a computer program or application stored in a recording medium and executed by a computer.
  • Description of the error calibrating apparatus 100 according to an embodiment of the present invention described above is, according to an embodiment of the present invention, a pulse width based current domain in-memory neural network operator according to another embodiment of the present invention described below. It can be understood through the description of the transition error correction technique of . Therefore, hereinafter, even if omitted, the description of the error calibrating apparatus 100 according to an embodiment of the present application described above is the pulse width based current domain in-memory neural network calculator according to another embodiment of the present application. The same can be applied to the transition error correction technique.
  • a transition error correction technique of a current domain in-memory neural network operator based on pulse width proposes a simple circuit structure capable of solving an output error problem occurring in a current domain in-memory artificial neural network operator.
  • the output error problem refers to a phenomenon in which an operation output error proportional to a weight coefficient value occurs due to a transition period of a pulse when input data is applied in a pulse width modulation method from an operator.
  • the circuit system proposed in the present invention generates a current corresponding to the above output error by additionally applying a unit pulse after applying a pulse corresponding to the input data, and then cancels the error through subtraction in the current domain. It works.
  • the MAC operation step an operation is performed between the input data and the weight coefficient, and the value obtained as a result of the operation is passed through a reference buffer and a current mirror, and the current obtained is stored in the capacitor in the form of charge.
  • An error component due to the transition period is included.
  • a unit pulse corresponding to the case where the input data value is 0 is additionally applied to generate a current corresponding to the same value as the error component shown above. Then, after passing through the reference buffer in the same way, the current mirror changes the direction of the current and operates in the direction of subtracting charge from the capacitor, thereby canceling the output error.
  • the current domain in-memory artificial neural network operator system to which the output error correction technique disclosed herein is applied is a reference buffer for bit-line voltage clamping, a bidirectional current mirror, and a charge amount It can be composed of a total of four types of circuits, such as a charge integrator and an analog to digital converter.
  • the Reference Buffer for Bit-Line Voltage Clamping is a low resistance state (LRS, low resistance state) or a high resistance value of each cell where operation is performed in the memory array. Since the equivalent resistance value seen from the bit line varies depending on the state (HRS, high resistance state), a reference buffer is required to consistently maintain the current of each cell regardless of the value of the weight coefficient stored in the memory.
  • the Bidirectional Current Mirror receives the current corresponding to the weight coefficient value of the binary number from the MAC operation phase, constructs a multi-bit weight coefficient, creates a decimal current, and corrects the error.
  • the current corresponding to the error current is composed of the same decimal current, but it is a circuit that changes the direction of the current and outputs it. That is, since the direction of the current during MAC calculation and the current direction during error correction are opposite to each other, subtraction can be implemented in the analog domain by using the charge integrator of the next stage, and error correction is performed through this.
  • the charge integrator is a circuit that implements subtraction by sampling the MAC operation current and the error current in a capacitor in the form of charge, respectively. It consists of a simple structure using an inverter-based amplifier, and converts the input current into a voltage form and amplifies it by the voltage gain of the inverter and outputs it.
  • analog-to-digital converter is a general analog-to-digital converter that converts continuous analog signals into digital signals by receiving the error-corrected output obtained from the previous stage as input. It quantizes the value of the analog signal received as an input into a digital value.
  • an error correction step is added between the MAC calculation step and the analog-to-digital conversion step and the same circuit is reused to reduce the error current If generated, efficient output error correction is possible through subtraction in the analog domain.
  • the current of the memory cell is copied through the current mirror to generate the multi-bit weight coefficient as the output current, and accordingly, the electric charge is discharged from the left electrode of the capacitor, and the output voltage is proportional to this will increase
  • the error correction step ( ⁇ 2) the error current flows in the opposite direction to the previous step, and the left electrode is charged, and the output voltage is reduced in proportion to this.
  • the amount of the error component removed from the Mac operation result is formed as the final output voltage to perform error correction, and finally, a digital output value can be obtained by passing the corresponding voltage value through an analog/digital signal converter.

Landscapes

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

Abstract

펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법이 개시되며, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하는 입력부, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 연산부 및 상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 전하 적분부를 포함할 수 있다.

Description

펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법
본원은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법에 관한 것이다.
최근 빅데이터 처리에 대한 수요가 급증함에 따라 수많은 정보 중에서 의미 있는 데이터 선별을 용이하게 하는 딥 러닝과 같은 인공지능 시스템이 중요해졌으며, 이에 따라 소프트웨어 영역에서는 딥 러닝 알고리즘에 대한 연구가 활발히 진행되고 있다.
딥 러닝 알고리즘은 출력 결과의 정확도를 높이기 위하여 네트워크의 크기와 복잡도를 늘리는 방향으로 발전하였으며 이런 흐름에 따라 하드웨어 영역에서는 기존의 중앙프로세서(CPU) 중심에서 메모리 중심으로 컴퓨터 패러다임의 변화가 일어나고 있다. 딥 러닝 알고리즘의 대표적인 연산 중 하나인 인공 신경망 연산은 많은 수의 곱셈과 덧셈을 반복적으로 수행하는 맥(MAC, multiply and accumulate)으로 구성되어 있으며, 이를 효율적으로 처리하기 위한 인-메모리 컴퓨팅이라는 연산 방식이 근래 소개되어 활발히 연구되고 있다.
인-메모리 컴퓨팅은 인공신경망의 가중치 계수(weight coefficient)를 저장하는 로컬 캐쉬 메모리와 연산기를 병합하여 아날로그 도메인에서 데이터를 읽고 연산을 하며, 데이터의 병렬 처리를 극대화함으로써 메모리 접근에 소모되는 에너지를 절약한다.
도 1은 기존 디지털 방식의 연산기와 인-메모리 컴퓨팅 방식의 연산기를 나타낸 도면이고, 도 2는 전류 영역 인공신경망 연산기의 구조 및 입력 펄스의 천이구간으로 인해 발생하는 출력 오차를 나타낸 도면이다.
도 1 및 도 2를 참조하면, 인-메모리 방식의 인공신경망 연산기는 해당 연산이 이루어지는 아날로그 도메인의 종류에 따라 크게 전압 영역과 전류 영역 연산기로 분류할 수 있다. 전류 영역 연산기의 경우 주로 ReRAM(Resistive-RAM) 또는 MRAM(Magnetic-RAM)과 같이 전류의 크기를 통하여 읽기 및 쓰기 동작을 수행하는 메모리 구조를 사용한다. 입력 데이터 신호를 워드라인(WL, wordline)에 주로 펄스 폭 변조 방식(PWM, pulse width modulation)을 사용하여 인가하며, 가중치 계수는 전류 미러(current mirror) 구조를 사용하여 다중 비트(multibit) 해상도를 구현하여 최종적으로 얻어진 전류 값을 아날로그-디지털 변환기(ADC, A/D converter)를 통과시켜 디지털 맥 출력 값을 얻게 된다.
또한, 병렬 처리를 위하여 여러 개의 메모리 행에서 나온 전류를 합치는 과정에서 각각의 메모리 셀에 저장된 가중치 계수 값에 따라 출력 전류 값이 변동하는 것을 막기 위하여 메모리의 비트 라인(BL, bitline)에는 버츄얼 그라운드(virtual ground)를 형성하여 전압 값을 일정하게 유지시켜 주는 레퍼런스 버퍼(reference buffer) 회로가 존재한다.
한편 펄스 폭 변조 방식으로 데이터를 인가할 경우 펄스의 천이(transition) 구간의 기울기가 유한하기 때문에 전류 오차가 생기며, 이로 인해 가중치 계수의 값이 0인 경우에도 0이 아닌 출력 전류가 나타나는 현상이 나타난다. 이로 인해 전체적인 맥 출력 특성이 가중치 계수에 비례하는 오프셋을 가지는 형태로 나타나는 오차 문제가 발생한다. 이와 관련하여 도 3은 가중치 계수에 비례하는 오차를 가지는 연산기 출력 특성 그래프이다.
이를 해결하기 위해 다른 방법으로 데이터를 인가하거나 디지털 도메인에서 출력 값을 후 보정하는 방식의 연구가 이루어져왔다.
예를 들어, 카운터를 이용하여 단일 펄스를 입력 데이터에 비례하는 개수만큼 인가하여 데이터를 입력하는 방식이 있는데 이는 디지털 카운터의 특성 상 데이터의 해상도가 높아질 경우 전체 시스템의 처리 속도(throughput)를 급격하게 떨어뜨리는 단점이 존재한다.
또한 디지털 후-보정 방법의 경우 가중치 계수 값에 따라 출력 오차가 달라지기 때문에 가중치 계수 정보를 미리 알아야 실질적으로 정확한 보정이 가능하다는 허점이 존재한다.
본원의 배경이 되는 기술은 한국공개특허공보 제10-2021-0043762호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 연산기 구조 및 가중치 계수를 그대로 사용하여 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터의 펄스 천이 오차를 보정하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법을 제공하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하는 입력부, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 연산부 및 상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 전하 적분부를 포함할 수 있다.
또한, 상기 제2연산 결과는 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응할 수 있다.
또한, 상기 전하 적분부는, 상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 포함할 수 있다.
또한, 상기 연산부는, 상기 제1출력 전류의 방향과 상기 제2출력 전류의 방향이 서로 반대 방향이 되도록 양방향 전류 미러(Bidirectional Current Mirror)를 포함할 수 있다.
또한, 상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거될 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 상기 가중치를 저장하는 메모리 소자를 포함하는 저장부를 포함할 수 있다.
또한, 상기 연산부는, 상기 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼를 포함할 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 변환부를 포함할 수 있다.
또한, 상기 연산부는, 상기 제1출력 전류 또는 상기 제2출력 전류가 상기 커패시터 소자로 선택적으로 인가되도록 온오프되는 스위치 소자를 포함할 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치는, 상기 입력 데이터가 인가되는 구간, 상기 단위 펄스 데이터가 인가되는 구간 및 상기 스위치 소자가 온오프되는 구간을 제어하기 위한 제어부를 포함할 수 있다.
한편, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은, 입력 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하는 단계, 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 단계 및 상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 단계를 포함할 수 있다.
또한, 상기 샘플링하는 단계는, 상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 이용하여 상기 전하를 샘플링할 수 있다.
또한, 상기 샘플링하는 단계는, 상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거될 수 있다.
또한, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은, 상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 단계를 포함할 수 있다.
한편, 본원의 일 실시예에 따른 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로는, 신경망의 가중치를 저장하는 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼, 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터 및 상기 가중치에 기초한 제1출력 전류와 단위 펄스 데이터에 기초한 제2출력 전류를 상호 반대 방향이 되도록 출력하는 양방향 전류 미러, 상기 제1출력 전류 및 상기 제2출력 전류에 대응하는 전하를 샘플링하는 전하량 적분기 및 상기 샘플링 결과에 대응하는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 아날로그-디지털 신호 변환기를 포함할 수 있다.
또한, 상기 전하량 적분기는, 상기 제1출력 전류에 의해 제1전극의 전하가 방전되어 상기 출력 전압을 상승시키고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 전압을 제거하는 커패시터 소자를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 연산기 구조 및 가중치 계수를 그대로 사용하여 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터의 펄스 천이 오차를 보정하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법을 제공할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 오차 보정을 위해 별도의 회로를 사용하지 않기 때문에 구조가 간단하며 처리 속도를 크게 저하시키지 않는 방식으로 동작할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 오차 보정을 위해 연산기와 가중치 계수를 그대로 재사용하기 때문에 디지털 후-보정 방식이 가지는 문제점으로부터 자유로울 수 있다.
전술한, 본원의 과제 해결 수단에 의하면, 기존의 전류영역 인공신경망 연산기는 높은 연산 효율에도 불구하고 근원적이 펄스 천이 오차 때문에 상용화가 어려웠던 것과 달리, 본원에서 개시하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법은 연산기 구조를 재사용하여 오차를 제거하기 때문에 디바이스 미스매치 문제에서 자유롭고 공정-전압-온도 변이와 상관없이 항상 정확한 크기의 오차를 제거하여 아날로그 인공 신경망 연산기의 상용화의 큰 걸림돌을 제거할 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1은 기존 디지털 방식의 연산기와 인-메모리 컴퓨팅 방식의 연산기를 나타낸 도면이다.
도 2는 전류 영역 인공신경망 연산기의 구조 및 입력 펄스의 천이구간으로 인해 발생하는 출력 오차를 나타낸 도면이다.
도 3은 가중치 계수에 비례하는 오차를 가지는 연산기 출력 특성 그래프이다.
도 4는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 회로도이다.
도 5는 양 방향 전류 미러와 전하량 적분기의 구조를 나타낸 도면이다.
도 6은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 구동을 위한 타이밍도를 예시적으로 나타낸 도면이다.
도 7은 오차 보정이 적용되기 전과 본원의 일 실시예에 따른 오차 보정 기법 적용후의 인공신경망 연산기 출력 특성을 비교하여 나타낸 시뮬레이션 그래프이다.
도 8은 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 개략적인 구성도이다.
도 9는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 대한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법에 관한 것이다.
도 4는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 회로도이다.
도 4를 참조하면, 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치(100)(이하, '오차 교정 장치(100)'라 한다.)는 입력부(110), 저장부(120) 및 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로(1000)(이하, '신경망 연산 회로(1000)'라 한다.)를 포함할 수 있다.
입력부(110)는 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조(Pulse Width Modulation, PWM) 방식에 기초하여 인가할 수 있다. 도 4를 참조하면, 입력부(110)는 입력 데이터 또는 단위 펄스 데이터에 대응하는 신호를 워드라인(wordline, WL)에 펄스 폭 변조 방식(PWM, pulse width modulation)을 사용하여 인가하는 DTC(Digital-to-Time Converter) 회로를 포함할 수 있으나, 이에만 한정되는 것은 아니다.
저장부(120)는 가중치를 저장하는 메모리 소자를 포함할 수 있다. 이와 관련하여, 가중치는 신경망의 연산을 위해 기 저장되는 가중치 계수(Weight Coefficient) 등으로 달리 지칭될 수 있으며, 예시적으로 메모리 소자는 로컬 캐쉬 메모리일 수 있다. 또한, 본원의 일 실시예에 따르면, 메모리 소자는 ReRAM(Resistive-RAM) 또는 MRAM(Magnetic-RAM)과 같이 전류의 크기 정보에 기반하여 읽기 및 쓰기 동작을 수행하는 메모리 구조로 이루어질 수 있으나, 이에만 한정되는 것은 아니다.
또한, 본원의 일 실시예에 따르면, 저장부(120)의 메모리 소자는 신경망의 연산을 위한 복수의 가중치(가중치 계수)를 각각 개별 저장하는 복수의 메모리 셀을 포함하는 구조로 이루어질 수 있으며, 복수의 셀은 여러 개의 메모리 행을 이루도록 병렬적으로 배치될 수 있다.
또한, 도 4를 참조하면, 신경망 연산 회로(1000)는 레퍼런스 버퍼(131), 양방향 전류 미러(132), 전하량 적분기(140) 및 아날로그-디지털 신호 변환기(150)를 포함할 수 있다.
구체적으로, 레퍼런스 버퍼(131)는 신경망의 가중치를 저장하는 메모리 소자의 비트 라인에 대하여 가상 접지를 형성할 수 있다. 이와 관련하여, 레퍼런스 버퍼(131)는 병렬 처리를 위하여 여러 개의 메모리 행에서 나온 전류를 합치는 과정에서 각각의 메모리 셀에 저장된 가중치 계수 값에 따라 출력 전류 값이 변동하는 것을 막기 위하여 메모리의 비트 라인(BL, bitline)에는 버츄얼 그라운드(virtual ground)를 형성하여 전압 값을 일정하게 유지시키기 위한 회로일 수 있다.
보다 구체적으로, 본원에서 개시하는 오차 교정 장치(100)는 메모리 소자에서 연산이 이루어지는 각 셀(cell)의 소자 저항 값이 낮은 저항 상태(LRS, low resistance state)인지 높은 저항 상태(HRS, high resistance state)인지에 따라 비트 라인 측에서 보이는 등가 저항 값이 달라지는 것을 고려하여, 메모리 소자에 저장된 각각의 가중치(가중치 계수)의 값의 영향을 받지 않고 각 셀의 전류를 일관되게 유지하기 위한 레퍼런스 버퍼(131)를 구비할 수 있다.
양방향 전류 미러(132)는 펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터 및 가중치에 기초한 제1출력 전류와 단위 펄스 데이터에 기초한 제2출력 전류를 상호 반대 방향이 되도록 출력할 수 있다.
한편 이와 관련하여, 제1출력 전류는 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행한 제1연산 결과에 대응하고, 제2출력 전류는 입력 데이터 외에 추가로 인가된 단위 펄스 데이터 및 가중치에 기초한 연산을 수행한 제2연산 결과에 대응하는 것일 수 있다. 또한, 본원의 실시예에 관한 설명에서 단위 펄스 데이터는 입력 데이터의 값이 0인 경우에 해당하는 데이터를 포함할 수 있다.
또한, 본원의 실시예에 관한 설명에서 가중치에 기초한 연산은 곱셈 연산 및 덧셈 연산을 반복적으로 수행하는 곱셈-누산 연산(multiply-accumulate operation, MAC)을 지칭하는 것일 수 있으며, 오차 교정 장치(100)에 구비되는 메모리 소자(후술하는 저장부(120)에 대응)는 아날로그 도메인에서 데이터를 읽고 자체적으로 연산을 수행하며, 데이터의 병렬 처리를 극대화함으로써 메모리 접근에 소모되는 에너지를 절약하도록 가중치 계수(weight coefficient)를 저장하는 로컬 캐쉬 메모리와 연산기를 병합한 형태의 인-메모리 컴퓨팅 기반의 메모리 소자(Memory with Embedded Analog Computation)일 수 있다.
전하량 적분기(140)는 제1출력 전류 및 제2출력 전류에 대응하는 전하를 샘플링할 수 있다.
이와 관련하여, 도 5는 양 방향 전류 미러와 전하량 적분기의 구조를 나타낸 도면이고, 도 6은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 구동을 위한 타이밍도를 예시적으로 나타낸 도면이다.
도 5 및 도 6을 참조하면, 입력 데이터가 인가되는 제1페이즈(달리 말해, '맥 연산 단계', Φ1)에서는 양방향 전류 미러(132)는 메모리 소자의 셀 전류(ICell)를 복사하여 다중 비트 가중치 계수를 반영하는 제1출력 전류(IMAC)를 생성하며, 이에 따라 전하량 적분기(140)의 커패시터 소자(141, CL)의 제1전극(예를 들면, 도 5의 왼쪽 전극)에서 전하가 방전되고, 방전된 전하량에 비례하는 크기만큼 출력 전압(Vout)이 증가하는 것일 수 있다(도 6의 VMAC 참조).
이어서, 천이 오차의 보정(교정)을 위한 단위 펄스 데이터가 인가되는 제2페이즈(달리 말해, '오차 보정 단계', Φ2)에서는 오차 성분에 따른 전류인 제2출력 전류(IError)가 제1페이즈에서와 반대 방향으로 흐르도록 양방향 전류 미러(132)를 통해 복사됨으로써 제1페이즈에서와 반대로 커패시터 소자(141, CL)의 제1전극(예를 들면, 도 5의 왼쪽 전극)에 전하가 충전되고, 충전된 전하량에 이에 비례하는 만큼 출력 전압(Vout)이 감소하게 된다(도 6의 VError 참조).
결과적으로, 양방향 전류 미러(132)와 전하량 적분기(140)에 의해 입력 데이터 및 기 저장된 가중치(가중치 계수)에 기초한 맥(MAC) 연산 결과에서 단위 펄스 데이터에 대응하는 오차 성분이 제거된 만큼이 최종적인 출력 전압(Vout)으로 형성되어 오차 보정이 이루어지는 것일 수 있다. 또한, 전하량 적분기(140)의 커패시터 소자(141)에 걸리는 전압으로서 제1출력 전류(IMAC)와 제2출력 전류(IError)에 대한 샘플링 결과에 대응하는 출력 전압(Vout)은 아날로그-디지털 신호 변환기(150)를 통해 아날로그 신호 형태에서 디지털 형태의 신호로 최종 변환될 수 있다.
종합하면, 양방향 전류 미러(132)는 맥 연산 단계(제1페이즈)에서는 메모리 소자에 기 저장된 가중치(예를 들면, 이진 수 형태의 가중치 계수 값)에 해당하는 전류를 받아서 다중 비트 가중치 계수를 구성하여 출력 전류(예를 들면, 십진 수 형태의 전류)를 생성할 수 있으며, 오차 보정 단계(제2페이즈)에서는 펄스 형태의 입력 데이터의 천이 오차에 대응하는 성분인 오차 전류에 해당하는 전류를 제1페이즈에서와 동일하게 출력 전류(예를 들면, 십진 수 형태의 전류)로 생성하되, 전류의 방향을 바꾸어 출력할 수 있다.
즉, 양방향 전류 미러(132)에 의해 맥 연산에 의한 출력 전류인 제1출력 전류가 흐르는 방향과 오차 보정을 위한 출력 전류인 제2출력 전류가 흐르는 방향이 서로 반대 방향이 되도록 전하량 적분기(140)로 인가되기 때문에 후속 단의 전하량 적분기(140)에서 아날로그 도메인에 기반한 뺄셈 연산을 구현할 수 있으며 이를 통해 오차 보정이 이루어지는 것일 수 있다.
또한, 전하량 적분기(140)는 맥 연산 전류와 오차 전류를 각각 전하의 형태로 커패시터 소자(141)에 샘플링하여 아날로그 도메인에서의 뺄셈 연산을 구현하는 회로로서, 예시적으로 인버터 기반의 증폭기(inverter-based amplifier)를 구비하는 간단한 구조로 이루어질 수 있으며, 이 경우 입력 전류를 전압의 형태로 바꾸어 인버터의 전압이득(voltage gain)만큼 증폭하여 출력하도록 동작할 수 있다.
이와 같이, 본원에서 개시하는 오차 교정 장치(100)는 맥 연산 단계(제1페이즈)와 아날로그 디지털 변환 단계 사이에 오차 보정 단계(제2페이즈)를 추가하고 맥 연산 결과를 산출하기 위한 동일한 회로 구조를 재사용하여 오차 전류를 생성하고, 아날로그 도메인에서 뺄셈 연산을 구현함으로써 효율적인 출력 오차 보정이 가능한 이점이 있다.
도 7은 오차 보정이 적용되기 전과 본원의 일 실시예에 따른 오차 보정 기법 적용후의 인공신경망 연산기 출력 특성을 비교하여 나타낸 시뮬레이션 그래프이다.
도 7을 참조하면, 왼쪽 그림에서 오차 보정이 없을 경우 가중치 계수에 비례하는 오프셋을 가지는 출력 특성을 확인 가능하며, 오른쪽 그림에서 오차 보정 기법이 적용되었을 경우 해당 오프셋이 현저하게 줄어들어 입력 데이터 값이 0일 때 출력 값이 한 점에 가깝게 모이는 모양을 확인할 수 있다.
종합하면, 본원에서 개시하는 오차 교정 장치(100)에 의할 때, 펄스폭 변조 방식으로 입력 데이터를 인가하여 맥 연산을 먼저 수행한 후, 단위 펄스를 한 번 더 인가하여 오차에 해당하는 값을 생성한 후 아날로그 전류 도메인에서 뺄셈 연산을 수행하는 방식으로 간단하게 오차 교정이 이루어질 수 있으며, 오차 보정(에러 제거)를 위한 별도의 회로를 구성하지 않고 연산기 회로를 그대로 재사용하여 오차 보정이 가능한 이점이 있다.
도 8은 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치의 개략적인 구성도이다.
도 8을 참조하면, 오차 교정 장치(100)는 입력부(110), 저장부(120), 연산부(130), 전하 적분부(140), 변환부(150) 및 제어부(160)를 포함할 수 있다.
입력부(110)는 입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조(Pulse Width Modulation, PWM) 방식에 기초하여 인가할 수 있다.
저장부(120)는 가중치를 저장하는 메모리 소자를 포함할 수 있다.
연산부(130)는 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득할 수 있다.
또한, 연산부(130)는 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득할 수 있다. 여기서, 제2연산 결과는 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것일 수 있다.
또한, 본원의 일 실시예에 따르면, 연산부(130)는 제1출력 전류의 방향과 제2출력 전류의 방향이 서로 반대 방향이 되도록 양방향 전류 미러(Bidirectional Current Mirror, 131)를 구비할 수 있다.
또한, 본원의 일 실시예에 따르면, 연산부(130)는 메모리 소자의 비트 라인(bitline, BL)에 대하여 가상 접지(Virtual Ground)를 형성하는 레퍼런스 버퍼(131)를 포함할 수 있다.
또한, 본원의 일 실시예에 따르면, 연산부(130)는 제1출력 전류 또는 제2출력 전류가 커패시터 소자(141)로 선택적으로 인가되도록 온오프되는 스위치 소자를 포함할 수 있다.
전하 적분부(140)는 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링할 수 있다. 구체적으로, 전하 적분부(140)는 제1연산 결과에 대응하는 제1출력 전류 및 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자(141)를 포함할 수 있다.
이와 관련하여, 전하 적분부(140)에서는 제1출력 전류에 의해 커패시터 소자(141)의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 제2출력 전류에 의해 커패시터 소자(141)의 제1전극의 전하가 충전되어 출력 전압으로부터 오차 성분에 대응하는 전압이 제거되는 것일 수 있다.
변환부(150)는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환할 수 있다. 예를 들어, 변환부(150)는 종래에 이미 공지되었거나 향후 개발될 수 있는 다양한 형태의 ADC(Analog-to-Digital Converter) 모듈을 포함할 수 있다.
제어부(160)는 입력 데이터가 인가되는 구간, 단위 펄스 데이터가 인가되는 구간 및 스위치 소자가 온오프되는 구간을 제어할 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 9는 본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 대한 동작 흐름도이다.
도 9에 도시된 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은 앞서 설명된 오차 교정 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 오차 교정 장치(100)에 대하여 설명된 내용은 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 9를 참조하면, 단계 S11에서 입력부(110)는 입력 데이터를 펄스 폭 변조 방식에 기초하여 인가할 수 있다.
다음으로, 단계 S12에서 연산부(130)는 단계 S11에서 인가된 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득할 수 있다.
다음으로, 단계 S13에서 입력부(110)는 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가할 수 있다.
다음으로, 단계 S14에서 연산부(130)는 단계 S13에서 인가된 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득할 수 있다. 여기서, 제2연산 결과는 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것일 수 있다.
다음으로, 단계 S15에서 전하 적분부(140)는 제1연산 결과 및 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링할 수 있다.
구체적으로, 단계 S15에서 전하 적분부(140)는 제1연산 결과에 대응하는 제1출력 전류 및 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자(141)를 이용하여 전하를 샘플링할 수 있다.
또한, 본원의 일 실시예에 따르면, 단계 S15에서 전하 적분부(140)는 제1출력 전류에 의해 커패시터 소자(141)의 제1전극의 전하가 방전되어 출력 전압이 상승하도록 하고, 이와 반대로 제2출력 전류에 의해 제1전극의 전하가 충전되어 출력 전압으로부터 오차 성분에 대응하는 전압이 제거되도록 하여 아날로그 도메인(전류 도메인)에서 오차 성분 제거를 위한 뺄셈 연산을 구현할 수 있다.
한편, 단계 S115에서 제어부(160)는 제1출력 전류 또는 제2출력 전류가 커패시터 소자(141)로 선택적으로 인가되도록 구비되는 스위치 소자가 온오프되는 구간을 제어할 수 있다.
다음으로, 단계 S16에서 변환부(150)는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환할 수 있다.
상술한 설명에서, 단계 S11 내지 S16은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 전술한 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.
지금까지 상술한 본원의 일 실시예에 따른 오차 교정 장치(100)에 대한 설명은, 본원의 구현예에 따라서, 하기에서 서술하는 본원의 다른 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법에 대한 설명을 통해서 이해될 수 있다. 따라서, 이하, 생략된 내용이라고 하더라도 상술한 본원의 일 실시예에 따른 오차 교정 장치(100)에 대하여 설명된 내용은 하기의 본원의 다른 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법에도 동일하게 적용될 수 있다.
본원의 다른 실시예에 따른 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법은 전류 영역 인-메모리 인공신경망 연산기에 생기는 출력 오차 문제를 해결할 수 있는 간단한 회로 구조를 제안한다. 출력 오차 문제라 함은 연산기에서 입력 데이터를 펄스 폭 변조 방식으로 인가할 때 펄스의 천이구간으로 인해 가중치 계수 값에 비례하는 연산 출력 오차가 발생하는 현상을 말한다. 본 발명에서 제안하는 회로 시스템은 입력 데이터에 해당하는 펄스를 인가한 후에 추가적으로 단위 펄스를 인가하여 위의 출력 오차에 해당하는 전류를 생성한 뒤, 전류 도메인에서의 뺄셈을 통해 오차를 상쇄시키는 구조로 동작한다.
구체적으로는, 맥 연산 단계에서는 입력 데이터와 가중치 계수 간의 연산을 수행하여, 해당 연산 결과로 얻어진 값을 레퍼런스 버퍼와 전류 미러를 통과시켜 얻은 전류를 커패시터에 전하의 형태로 저장하며, 여기에는 펄스의 천이구간에 의한 오차 성분이 포함되어 있다. 이어지는 오차 보정 단계에서 입력 데이터 값이 0인 경우에 해당하는 단위 펄스를 추가로 인가하여 앞에서 나타난 오차 성분과 동일한 값에 해당하는 전류를 생성한다. 이후 레퍼런스 버퍼를 동일하게 통과시킨 후 전류 미러에서 전류의 방향을 바꾸어 커패시터에서 전하를 빼내는 방향으로 동작 시켜서 출력 오차를 상쇄시킨다. 최종적으로 이 결과를 아날로그 전압으로 샘플링하여 ADC를 통과시키면 출력 오차가 보정된 맥 연산 결과를 얻을 수 있다. 맥 연산기 구조를 그대로 재사용하여 출력 오차를 생성시키기 때문에 디바이스의 미스매치 문제에서 자유로우며, 공정-전압-온도 변이에 강인한 특성을 가진다.
본원에서 개시하는 출력 오차 보정 기법이 적용된 전류 영역 인-메모리 인공신경망 연산기 시스템은 비트라인 전압 클램핑을 위한 레퍼런스 버퍼(Reference Buffer for Bit-Line Voltage Clamping), 양 방향 전류 미러(Bidirectional Current Mirror), 전하량 적분기(Charge Integrator), 아날로그-디지털 변환기(Analog to Digital Converter)로 크게 총 4가지 종류의 회로로 구성될 수 있다.
먼저, 비트라인 전압 클램핑을 위한 레퍼런스 버퍼(Reference Buffer for Bit-Line Voltage Clamping)는 메모리 어레이에서 연산이 이루어지는 각 셀(cell)의 소자 저항 값이 낮은 저항 상태(LRS, low resistance state)인지 높은 저항 상태(HRS, high resistance state)인지에 따라 비트라인에서 보이는 등가 저항 값이 달라지기 때문에 메모리에 저장된 가중치 계수의 값과 무관하게 각 셀의 전류를 일관되게 유지하기 위한 레퍼런스 버퍼가 필요하다.
다음으로, 양 방향 전류 미러(Bidirectional Current Mirror)는 맥 연산 단계(phase)에서는 나온 이진 수의 가중치 계수 값에 해당하는 전류를 받아서 다중 비트 가중치 계수를 구성하여 십진 수의 전류를 만들어내며, 오차 보정 단계에서는 오차 전류에 해당하는 전류를 동일하게 십진 수의 전류로 구성하되 전류의 방향을 바꾸어 출력하는 회로이다. 즉, 맥 연산 시의 전류 방향과 오차 보정 시의 전류 방향이 서로 반대이기 때문에 후속 단의 전하량 적분기를 활용하여 아날로그 도메인에서 뺄셈을 구현할 수 있으며 이를 통해 오차 보정이 이루어진다.
또한, 전하량 적분기(Charge Integrator)는 맥 연산 전류와 오차 전류를 각각 전하의 형태로 커패시터에 샘플링하여 뺄셈을 구현하는 회로이다. 인버터 기반의 증폭기(inverter-based amplifier)를 사용하여 간단한 구조로 이루어져 있으며 입력 전류를 전압의 형태로 바꾸어 인버터의 전압이득(voltage gain)만큼 증폭하여 출력하는 구조이다.
또한, 아날로그-디지털 신호 변환기(Analog-to-Digital Converter)는 앞 단에서 얻은 오차 보정된 출력을 입력으로 받아 연속적인 아날로그 신호를 디지털 신호로 바꿔주는 일반적인 아날로그-디지털 신호 변환기이며, 일반적인 ADC와 같이 입력으로 받은 아날로그 신호의 값을 디지털 값으로 양자화 한다.
따라서, 본원에서 개시하는 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 기법에 의할 때, 맥 연산 단계와 아날로그 디지털 변환 단계 사이에 오차 보정 단계를 추가하고 동일한 회로를 재사용하여 오차 전류를 생성하면 아날로그 도메인에서 뺄셈을 통하여 효율적인 출력 오차 보정이 가능하다.
또한, 맥 연산 단계(Φ1)에서 전류 미러를 통해 메모리 셀의 전류를 복사하여 다중 비트 가중치 계수를 출력 전류로 만들어내며, 이에 따라 커패시터의 왼쪽 전극에서 전하를 방전되고 이에 비례하는 크기만큼 출력 전압은 증가하게 된다. 오차 보정 단계(Φ2)에서는 오차 전류가 앞의 단계와 반대 방향으로 흐르면서 왼쪽 전극에 전하가 충전되고 이에 비례하는 만큼 출력 전압이 감소하게 된다. 결과적으로 맥 연산 결과에서 오차 성분이 제거된 만큼이 최종 출력 전압으로 형성되어 오차 보정이 이루어지며, 마지막으로 해당 전압 값을 아날로그/디지털 신호 변환기를 통과시켜 디지털 출력 값을 얻을 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.

Claims (18)

  1. 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치에 있어서,
    입력 데이터 및 단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하는 입력부;
    상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 연산부; 및
    상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 전하 적분부,
    를 포함하는, 오차 교정 장치.
  2. 제1항에 있어서,
    상기 제2연산 결과는 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것인, 오차 교정 장치.
  3. 제2항에 있어서,
    상기 전하 적분부는,
    상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 포함하는 것인, 오차 교정 장치.
  4. 제3항에 있어서,
    상기 연산부는,
    상기 제1출력 전류의 방향과 상기 제2출력 전류의 방향이 서로 반대 방향이 되도록 양방향 전류 미러(Bidirectional Current Mirror)를 포함하는 것인, 오차 교정 장치.
  5. 제4항에 있어서,
    상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거되는 것인, 오차 교정 장치.
  6. 제1항에 있어서,
    상기 가중치를 저장하는 메모리 소자를 포함하는 저장부,
    를 더 포함하는 것인, 오차 교정 장치.
  7. 제6항에 있어서,
    상기 연산부는,
    상기 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼를 포함하는 것인, 오차 교정 장치.
  8. 제5항에 있어서,
    상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 변환부,
    를 더 포함하는 것인, 오차 교정 장치.
  9. 제4항에 있어서,
    상기 연산부는,
    상기 제1출력 전류 또는 상기 제2출력 전류가 상기 커패시터 소자로 선택적으로 인가되도록 온오프되는 스위치 소자를 포함하는 것인, 오차 교정 장치.
  10. 제9항에 있어서,
    상기 입력 데이터가 인가되는 구간, 상기 단위 펄스 데이터가 인가되는 구간 및 상기 스위치 소자가 온오프되는 구간을 제어하기 위한 제어부,
    를 더 포함하는 것인, 오차 교정 장치.
  11. 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 방법에 있어서,
    입력 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 입력 데이터 및 신경망의 가중치에 기초한 연산을 수행하여 제1연산 결과를 획득하는 단계;
    단위 펄스 데이터를 펄스 폭 변조 방식에 기초하여 인가하고, 상기 단위 펄스 데이터에 기초한 연산을 수행하여 제2연산 결과를 획득하는 단계; 및
    상기 제1연산 결과 및 상기 제2연산 결과에 의한 출력 전류에 대응하는 전하를 샘플링하는 단계,
    를 포함하는, 천이 오차 교정 방법.
  12. 제11항에 있어서,
    상기 제2연산 결과는 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 것인, 오차 교정 방법.
  13. 제12항에 있어서,
    상기 샘플링하는 단계는,
    상기 제1연산 결과에 대응하는 제1출력 전류 및 상기 제2연산 결과에 대응하는 제2출력 전류에 의해 전하가 충전되거나 방전되는 커패시터 소자를 이용하여 상기 전하를 샘플링하는 것인, 오차 교정 방법.
  14. 제13항에 있어서,
    양방향 전류 미러(Bidirectional Current Mirror)에 의해 상기 커패시터 소자로 인가되는 상기 제1출력 전류의 방향과 상기 제2출력 전류의 방향이 서로 반대 방향이 되는 것을 특징으로 하는, 오차 교정 방법.
  15. 제14항에 있어서,
    상기 샘플링하는 단계는,
    상기 제1출력 전류에 의해 상기 커패시터 소자의 제1전극의 전하가 방전되어 출력 전압이 상승하고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 오차 성분에 대응하는 전압이 제거되는 것인, 오차 교정 방법.
  16. 제15항에 있어서,
    상기 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 단계,
    를 더 포함하는 것인, 오차 교정 방법.
  17. 천이 오차 보정 기법이 적용된 펄스폭 기반 전류 영역 인-메모리 신경망 연산 회로에 있어서,
    신경망의 가중치를 저장하는 메모리 소자의 비트 라인에 대하여 가상 접지를 형성하는 레퍼런스 버퍼;
    펄스 폭 변조 방식에 기초하여 인가되는 입력 데이터 및 상기 가중치에 기초한 제1출력 전류와 단위 펄스 데이터에 기초한 제2출력 전류를 상호 반대 방향이 되도록 출력하는 양방향 전류 미러;
    상기 제1출력 전류 및 상기 제2출력 전류에 대응하는 전하를 샘플링하는 전하량 적분기; 및
    상기 샘플링 결과에 대응하는 출력 전압에 따른 아날로그 신호를 디지털 신호로 변환하는 아날로그-디지털 신호 변환기,
    를 포함하는, 신경망 연산 회로.
  18. 제17항에 있어서,
    상기 전하량 적분기는,
    상기 제1출력 전류에 의해 제1전극의 전하가 방전되어 상기 출력 전압을 상승시키고, 상기 제2출력 전류에 의해 상기 제1전극의 전하가 충전되어 상기 출력 전압으로부터 상기 입력 데이터의 펄스 천이 구간에 의한 오차 성분에 대응하는 전압을 제거하는 커패시터 소자를 포함하는 것인, 신경망 연산 회로.
PCT/KR2022/008038 2021-06-07 2022-06-07 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법 WO2022260413A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0073498 2021-06-07
KR20210073498 2021-06-07
KR10-2022-0064093 2022-05-25
KR1020220064093A KR20220165192A (ko) 2021-06-07 2022-05-25 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2022260413A1 true WO2022260413A1 (ko) 2022-12-15

Family

ID=84425282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/008038 WO2022260413A1 (ko) 2021-06-07 2022-06-07 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2022260413A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628504A (ja) * 1992-05-19 1994-02-04 Intel Corp ニューラル・ネットワーク
JP2015195011A (ja) * 2014-03-18 2015-11-05 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法
US20160111963A1 (en) * 2014-10-21 2016-04-21 Rohm Co., Ltd. Switching converter and control circuit thereof, current sensing method, ac/dc converter, and power adaptor and electronic devices
KR20180088258A (ko) * 2017-01-25 2018-08-03 한국전자통신연구원 뉴로모픽 연산 장치
KR20180093245A (ko) * 2017-02-10 2018-08-21 한국전자통신연구원 뉴로모픽 연산 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628504A (ja) * 1992-05-19 1994-02-04 Intel Corp ニューラル・ネットワーク
JP2015195011A (ja) * 2014-03-18 2015-11-05 パナソニックIpマネジメント株式会社 ニューラルネットワーク回路およびその学習方法
US20160111963A1 (en) * 2014-10-21 2016-04-21 Rohm Co., Ltd. Switching converter and control circuit thereof, current sensing method, ac/dc converter, and power adaptor and electronic devices
KR20180088258A (ko) * 2017-01-25 2018-08-03 한국전자통신연구원 뉴로모픽 연산 장치
KR20180093245A (ko) * 2017-02-10 2018-08-21 한국전자통신연구원 뉴로모픽 연산 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116029351A (zh) * 2023-03-30 2023-04-28 南京大学 基于光电存算单元的模拟域累加读出电路
CN116029351B (zh) * 2023-03-30 2023-06-13 南京大学 基于光电存算单元的模拟域累加读出电路

Similar Documents

Publication Publication Date Title
US10860682B2 (en) Binary, ternary and bit serial compute-in-memory circuits
WO2022260413A1 (ko) 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법
US5434620A (en) Image sensor
US5167008A (en) Digital circuitry for approximating sigmoidal response in a neural network layer
CN108064446B (zh) 模拟读取电路及影像传感模块
US10891080B1 (en) Management of non-volatile memory arrays
Gu et al. ROQ: A noise-aware quantization scheme towards robust optical neural networks with low-bit controls
US11551759B2 (en) Voltage offset for compute-in-memory architecture
CN115390789A (zh) 基于磁隧道结计算单元的模拟域全精度存内计算电路及方法
US5140531A (en) Analog neural nets supplied digital synapse signals on a bit-slice basis
JP4616875B2 (ja) 電圧検出装置
CN114125334B (zh) 可输出时间信号及进行模拟运算的像素电路
US5115492A (en) Digital correlators incorporating analog neural network structures operated on a bit-sliced basis
WO2023022298A1 (ko) 비트라인 멀티 레벨 전압 센싱 회로
CN110720212B (zh) 用于像素阵列的信号处理电路和方法以及图像传感器
US20220075600A1 (en) Memory device and operation method thereof
KR20220165192A (ko) 펄스폭 기반 전류 영역 인-메모리 신경망 연산기의 천이 오차 교정 장치 및 방법
Lim et al. AA-ResNet: Energy efficient all-analog ResNet accelerator
CN114915743A (zh) 读出电路、处理器、误差处理方法和装置
JP2812169B2 (ja) A/d変換装置
WO2018235997A1 (ko) 스위치드-커패시터 d/a 변환기를 사용한 축차 비교형 a/d 변환기
CN113890538A (zh) 采样电路、采样阵列、存算一体芯片以及电子设备
US4972348A (en) Opto-electric hybrid associative memory
CN207398159U (zh) 传感器和光传感器系统
US11656988B2 (en) Memory device and operation method thereof

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE