KR20200049550A - 인공 신경망 및 범용 프로세서 회로를 통합한 시스템온칩 - Google Patents

인공 신경망 및 범용 프로세서 회로를 통합한 시스템온칩 Download PDF

Info

Publication number
KR20200049550A
KR20200049550A KR1020190130530A KR20190130530A KR20200049550A KR 20200049550 A KR20200049550 A KR 20200049550A KR 1020190130530 A KR1020190130530 A KR 1020190130530A KR 20190130530 A KR20190130530 A KR 20190130530A KR 20200049550 A KR20200049550 A KR 20200049550A
Authority
KR
South Korea
Prior art keywords
circuit
data
neural network
processor
output
Prior art date
Application number
KR1020190130530A
Other languages
English (en)
Inventor
니그메이어 더크
에이. 포스터 3세 레스터
피에이치디 엘리자베스 엠. 루드닉
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 KR20200049550A publication Critical patent/KR20200049550A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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
    • G06N3/065Analogue 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

입력 데이터 스트림에서 패턴을 검출, 분류 및 후-처리할 수 있는, 오디오 또는 비디오 입력 데이터를 분석하는 회로 시스템 및 방법이 개시된다. 회로 시스템은 하나 이상의 디지털 프로세서, 하나 이상의 구성 가능한 스파이킹 신경망 회로, 및 2 차원 입력 데이터의 선택을 위한 디지털 로직으로 구성될 수 있다. 상기 시스템은 패턴을 검출 및 분류하기 위한 신경망 회로, 및 입력 데이터에 대한 추가의 상세한 분석을 수행하고 분석 결과를 시스템의 출력에 시그널링하기 위한 하나 이상의 디지털 프로세서를 사용할 수 있다.

Description

인공 신경망 및 범용 프로세서 회로를 통합한 시스템온칩{SYSTEM-ON-A-CHIP INCORPORATING ARTIFICIAL NEURAL NETWORK AND GENERAL-PURPOSE PROCESSOR CIRCUITRY}
관련 출원에 대한 상호 참조
본 출원은 2018 년 10 월 25 일자로 출원된 미국 특허 출원 제 62/750,584 호의 출원일을 기초로 하며 그로부터 이익을 얻는다. 본 출원의 전체 내용은 그 전문이 본원에 참조로 포함된다.
본 명세서에 개시된 실시 예는 일반적으로 전자 회로의 기술 분야에 관한 것이다. 보다 구체적으로, 개시된 실시 예는 디지털 비디오, 무선 주파수 및 오디오 신호와 같은 입력 신호에서 특정 패턴을 검출하고 분류할 수 있는 전자 회로 시스템에 관한 것이다.
당 업계에 공지된 바와 같이, 오디오, 무선 주파수 인터셉트 시스템 및 비디오 감시 시스템은 높은 입력 활동 기간 동안 대량의 데이터를 효율적으로 처리해야 하는데, 상기 동일한 시스템은 입력 데이터가 변경되지 않거나 단지 드물게 변경되는 기간 동안 매우 적은 양의 전력을 사용하면서 작동할 필요가 있다. 이러한 시스템의 에너지 효율적인 구현은 입력에서 활동 수준을 감지하고, 적은 양의 에너지를 소비하면서 작동할 활동 수준에 맞게 계산 기능을 적절히 조정할 수 있어야 한다.
2 차원 데이터의 에너지 효율적인 패턴 매칭 처리를 수행하는데 관심이 있다. 일 예로서, 여러 시간 간격에 걸친 정적 이미지와 1 차원 데이터의 패턴 매칭이 포함된다. 1 차원 데이터의 예로서, 무선 주파수 스펙트럼 분석기 워터폴 플롯(waterfall plot)이 포함되는데, 여기서 각 라인은 시간의 함수로서 더 큰 스펙트럼에 걸쳐 연속적으로 이격된 대역 통과 필터 세트의 출력 크기를 나타낸다. 오디오 스펙트럼에서, 데이터는 시간에 따라 연속적으로 이격된 대역 통과 필터의 출력 크기일 수 있다.
이미지 검출 및 이미지 분류 작업, 예를 들어, 이미지상에서 군인, 민간인, 동물 등을 구별하기 위해, 이미지는 개별 이미지 또는 비디오 스트림으로서 컴퓨터 시스템에 로딩되며, 이는 순서대로 읽기된 다수의 이미지로 구성된다. 이미지는 종종 사각형의 픽셀 블록으로 인코딩된다. 예를 들어, RGB 이미지에서 각 픽셀은 8 비트의 "적색" 데이터, 8 비트의 "녹색" 데이터 및 8 비트의 "청색" 데이터로 구성된다. 세 가지 색상 값을 조합하면, 픽셀의 최종 색상과 밝기가 결정된다.
시간에 걸친 무선 스펙트럼 데이터는 환경에서 이미터의 유형을 식별할 수 있는 스펙트럼 지문을 제공할 수 있다. 오디오 지문은 텍스트 타입의 애플리케이션에 스피치를 수행하도록, 관심있는 음향 현상, 발언자 또는 발언된 표현을 식별할 수 있다.
소프트웨어 기반 패턴 매칭 분류 시스템에서, 알고리즘은 범용 프로세서(CPU) 코어 또는 컨볼루션(convolution)과 같은 전형적인 패턴 매칭 동작을 지원하는 특수 프로그램 가능 하드웨어에서 실행된다.
이러한 모든 시스템에는 하나의 큰 단점이 있다. 시간이 지남에 따라 이미지 또는 스펙트럼 컨텐츠의 입력 스트림이 그 속에 군인 또는 일반 사람과 같은 관심있는 임의의 컨텐츠가 있는지 여부에 관계없이, 프로세서가 지속적으로 작동해야하기 때문에, 시스템의 전력 소비가 높다. 예컨대, 밤 동안에 건물 후면 입구의 카메라를 예로 들 때: 밤 동안에 걸쳐 비디오 스트림에서 보여지는 적은 수의 사람이 있을 수 있고, 분석할 가치가 있는 것이 총 하나 또는 두 개의 이미지 스트림일 수 있는 반면, 시스템은 밤새, 예컨대 8 시간 동안 작동할 필요가 있다. 연속 작동과 비교하여 필요할 때만 시스템을 켤 수 있다면, (1-(2 분)/(8 시간))*100 % = 99.58 %의 에너지를 절약할 수 있다.
입력 데이터 스트림에서 패턴을 검출, 분류 및 후-처리할 수 있는 오디오 또는 비디오 입력 데이터를 분석하는 회로 시스템 및 방법이 본 명세서에 개시된다. 회로 시스템은 하나 이상의 디지털 프로세서, 하나 이상의 구성 가능한 스파이킹 신경망 회로 및 2 차원 입력 데이터의 선택을 위한 디지털 로직으로 구성될 수 있다. 상기 시스템은 패턴을 검출 및 분류하기 위한 신경망 회로, 및 입력 데이터에 대한 추가의 상세한 분석을 수행하고 분석 결과를 시스템의 출력에 시그널링하기 위한 하나 이상의 디지털 프로세서를 사용할 수 있다.
도 1은 여기에 개시된 예시적인 실시 예의 고수준 블록도이다.
도 2는 도 1의 예시적인 프로세서 서브-시스템의 도면이다.
도 3은 도 1의 데이터 선택 회로(20)의 예시적인 기능을 도시하는데, 이는 1:1, 2:1 및 4:1의 인자(factor)로 이미지의 다운 스케일링을 용이하게 한다.
도 4는 도 1의 예시적인 신경망(26)의 회로도이다.
도 5는 도 1의 인공 신경망(26)의 하나의 잠재적인 구현 예의 상세한 회로도인데, 이는 4 개의 N-비트 디지털-아날로그 변환기(ADC) 회로, 제1 망 레이어로서 아날로그 입력을 갖는 4 개의 스파이킹 뉴런, 중간 망 레이어로서 완전히 연결된 2 개의 스파이킹 뉴런, 망의 출력 레이어로서 완전히 연결된 하나의 스파이킹 뉴런, 및 스파이킹 신호를 하나 이상의 비트의 디지털 출력 신호로 변환하는 하나의 아날로그-디지털 변환기 회로(DAC)로 구성된다.
도 6은 도 5의 디지털-아날로그 변환기 회로(62)의 예시적인 1 비트 슬라이스(slice)의 도면이다.
도 7은 출력 노드(116)에서 출력 전류를 합산하는 다수의 예시적인 1 비트 디지털-아날로그 변환기 회로의 도면이다.
도 8은 도 7의 전류원(114)의 예시적인 회로 구현이다.
도 9는 도 5의 스파이킹 뉴런(68)의 예시적인 회로 구현이다.
도 10은 신경망 가중치(weight)를 저장하기 위한 예시적인 멤리스터 프로그래밍 및 판독 회로의 회로 구현이다.
도 11은 가중-프로그래밍 가능한 신경망 시냅스의 예시적인 회로 구현이다.
도 12는 도 11의 시냅스와 함께 사용하기 위한 4 비트 래더 회로 기반 디지털-아날로그 변환기의 예시적인 회로 구현이다.
도 13은 도 11의 4 개의 시냅스로부터 스파이크를 축적하는 4 개의 입력 회로를 갖는, 도 5의 스파이킹 뉴런(68)의 예시적인 회로 구현이다.
도 14는 도 2의 프로세서 시스템의 전력 관리 구현 예의 예시적인 전력 관리 도면이다.
이제, 도 1을 참조하면, 1 차 입력 신호 버스(10), 입력 버퍼 블록(12), 프로세서 서브-시스템(16), 프로세서 서브-시스템(16)과 실시 예의 1 차 출력에 연결된 양방향 버스(18), 데이터 선택 블록(20) 및 신경망 블록(26)이 도시되어 있다.
보다 상세하게, 여전히 도 1을 참조하면, 입력 버퍼(12)는 버스(10)상의 입력 데이터의 연속적 또는 비-연속적 스트림을 버퍼링하기 위해 사용될 수 있고, 프로세서 서브-시스템(16) 및 데이터 선택 블록(20)은 입력 버스(10)상의 데이터 속도와 상이한 속도로 이 데이터를 소비하는 것을 가능하게 할 수 있다. 입력 버퍼(12)의 출력은 버스(14)를 통해 프로세서 서브-시스템(16) 및 데이터 선택 블록(20)의 입력에 연결되고; 데이터 선택 블록(20)의 출력 버스(24)는 신경망 블록(26)에 연결되고, 신경망 블록(26)의 출력은 버스(28)를 통해 프로세서 서브-시스템에 연결된다.
여전히, 도 1을 참조하면, 프로세서 서브-시스템(16)은 버스(22)를 통해 데이터 선택 블록(20)으로 제어 신호를 전송할 수도 있다.
도 2는 도 1의 프로세서 서브-시스템(16)의 예를 도시한다. 이 프로세서 서브-시스템은 프로세서(30)와 하나 이상의 선택적 추가 프로세서(32)를 메모리 블록(36), 다른 시스템 구성 요소(38) 및 I/O 시스템 블록(40)과 연결하는 상호 연결 시스템(34)으로 구성될 수 있다.
여전히, 도 2를 참조하면, 도 1의 다른 구성 요소와의 통신은 상호 연결 시스템(34)에 연결된 입력 버스(14) 및 버스 신호(18, 22 및 28)를 통해 수행될 수 있다.
도 3은 입력 버퍼 블록(12)으로부터 데이터를 수집할 수 있는 데이터 선택 블록(20)의 기능적 묘사를 도시한다. 도 3에 도시된 실시 예는 2 개의 주요 구성 요소, 즉 컬러 이미지 픽셀 데이터와 같은 폭*깊이 데이터 유닛을 저장할 수 있는 메모리 어레이(44), 및 N*M 컬러 이미지 픽셀 데이터를 저장할 수 있는 데이터 버퍼(52)로 구성될 수 있다. 메모리 어레이(44)는 처리될 수 있는 데이터의 유형에 따라 1 차원 및 2 차원 입력 데이터를 저장하기 위해 사용될 수 있다.
여전히, 도 3을 참조하면, 데이터 선택 블록은 M 개의 시간 샘플에서 발생하는 무선 주파수 또는 오디오 데이터의 N 개의 1 차원 대역 연속 이격 통과 필터 출력 크기의 세트일 수 있으며, N*M 스펙트럼 시간 증분 버퍼(52)를 생성한다.
도 3은 또한 N*M 픽셀(46), 2N*2M 버퍼(48) 및 4N*4M 버퍼(50)의 세트를 N*M 데이터 버퍼(52)의 세트로 서브 샘플링하는 방법의 일 예를 도시한다. 데이터 버퍼(52)의 출력은 버스 신호(24)를 통해 도 1의 신경망(26)에 연결될 수 있다.
당업자는 데이터 버퍼의 서브 샘플링, 예를 들어 2N*2M 데이터를 버퍼에서 N*M 데이터로 버퍼 다운하는, 즉 2:1로 다운 샘플링하는 서브 샘플링이 2N*2M 데이터의 값을 평균화하는 것과 같은 다수의 알고리즘 선택을 통하거나 또는 버퍼 데이터의 2N*2M의 최소 또는 최대값을 선택함으로써 수행될 수 있음을 이해할 것이다.
도 1을 참조하면, 일 예에서, 프로세서 서브-시스템(16)에 의해 생성된 제어 버스 신호(22)에 의해, 도 3의 메모리 어레이(44) 내의 특정 세트의 픽셀 또는 스펙트럼 데이터 버퍼는 도 1의 데이터 선택(20)에 의해 도 3의 N*M 픽셀 버퍼(52)로 복사되도록 선택될 수 있다.
이미지 데이터의 경우, RGB 포맷으로 인코딩된 픽셀과 같은 컬러 이미지 픽셀이 하나 이상의 정보 비트로 구성됨을 당업자는 이해할 것이다. 소위 888 RGB 이미지 데이터의 경우, 단일 이미지 픽셀의 데이터는 8 비트의 적색, 8 비트의 녹색 및 8 비트의 청색 이미지 데이터로 인코딩된다. 또한, 이들 24 비트의 조합은 단일 이미지 픽셀의 색상 및 밝기를 나타낼 수 있다는 것이 당업자에게 이해된다.
이제, 도 4를 참조하면, 도 1의 신경망(26)의 예는 멀티-비트 디지털-아날로그 변환기(DAC)(54), 스파이킹 신경망(56), 및 아날로그-디지털 변환기(58)로 구성될 수 있다. 입력 신호 버스(24)는 도 1의 데이터 선택 블록(20)에 연결될 수 있고, 출력 신호 버스(28)는 도 1의 프로세서 서브-시스템(16)에 연결될 수 있다.
신호(55 및 57)는 아날로그 신호를 전달하는 버스 시스템일 수 있고, 신호(55 및 57)의 버스 폭은 서로 다를 수 있다는 것이 당업자에 의해 이해된다.
도 5는 도 1의 인공 신경망(26)의 하나의 잠재적인 구현 예의 상세한 회로도를 도시하는데, 이는 4 개의 N-비트 디지털-아날로그 변환기(ADC) 회로, 제1 망 레이어로서 아날로그 입력을 갖는 4 개의 스파이킹 뉴런, 중간 망 레이어로서 완전히 연결된 2 개의 스파이킹 뉴런, 망의 출력 레이어로서 완전히 연결된 하나의 스파이킹 뉴런, 및 스파이킹 신호를 하나 이상의 비트의 디지털 출력 신호로 변환하는 하나의 아날로그-디지털 변환기 회로(DAC)로 구성된다. 다수의 입력 데이터, 예를 들어, 각각 하나 이상의 비트로 구성된 이미지 픽셀은 멀티-레이어 신경망(66)에 연결될 수 있다. 도시된 예에서, 입력 레이어 뉴런으로서 작용할 수 있는 4 개의 스파이킹 뉴런 회로(64)가 도시되어 있고, 이는 중간 망 레이어의 하나 이상의 스파이킹 뉴런(68, 70)에 연결될 수 있다. 망 레이어들 사이의 연결부(74 및 76)는 스파이킹 뉴런(64) 및 뉴런(68 및 70)의 출력 사이의 각각의 연결에 대해 고유한 가중치를 할당하는 가중치라고 지칭되는 가중치 부여 기능을 구현할 수 있다는 것이 공지되어 있다.
뉴런(68 및 70)의 출력은 가중 연결(76)을 통해 신경망(66)의 출력 레이어 뉴런(72)에 연결될 수 있다. 스파이킹 뉴런(72)의 출력은 하나 이상의 비트의 디지털 신호(80)를 연결된 디지털 로직의 소비를 위한 출력으로 제공하는 아날로그-디지털 변환기 회로(78)에 연결될 수 있다.
DAC(62)의 임의의 수의 픽셀 입력(60)이 사용될 수 있다는 것이 당업자에게 공지되어 있다. 신경망(66)은 임의의 수의 망 레이어 및 임의의 수의 연결된 뉴런으로 구성될 수 있다는 것이 본 기술 분야에 추가로 공지되어 있다. 더 많은 수의 망 레이어, 더 많은 수의 뉴런 및 개별 뉴런 사이의 더 많은 수의 연결을 갖는 신경망은 더 큰 세트의 패턴이 저장, 검출 및 분류될 수 있게 할 수 있다는 것이 당 업계에 공지되어 있다.
연결(74 및 76)은 뉴런 사이의 시냅스 또는 시냅스 연결로 지칭된다는 것이 당업자에게 추가로 공지되어 있다.
이제, 디지털-아날로그 변환기(DAC)의 1 비트 슬라이스의 일 예인, 도 6에 도시된 회로를 참조하면, 전류원(82)은 스위치들(86, 88)를 통해 와이어(84)상의 일정한 전류를 2 개의 전도 경로에 제공할 수 있고, 상기 스위치들은 60으로부터의 단일 입력 값 "비트" 및 그 반전된 값 "비트 바"에 의해 제어될 수 있다. 스위치(86)가 활성화되면, 소스(82)로부터의 전류는 저항(90)을 통해 회로의 공통 접지 연결로 흐를 수 있다. 스위치(88)가 활성화되면, 소스(82)로부터의 전류는 대신 저항(92)을 통해 노드(94)로 흐를 수 있다. "비트 바"와 같은 반전된 신호는 예를 들어, 적어도 하나의 PMOS 트랜지스터 및 적어도 하나의 NMOS 트랜지스터로 구성된 회로로 "비트"와 같은 비-반전 신호로부터 생성될 수 있다는 것이 당업자에게 공지되어 있다.
이제, N이 정수 1 이상인 N-비트 DAC를 구현하기 위해 도 6에 도시된 다수의 회로를 나타내는 도 7을 참조한다. 반전된 입력 신호에 의해 제어될 수 있는 스위치(86)의 출력은 저항(90)을 통해 회로의 공통 접지 노드에 연결될 수 있다. "비트 0" 및 "비트 N-1"과 같은 비-반전 입력 신호에 의해 제어될 수 있는, 도 6의 스위치(88)의 출력 및 여기 도 7에 도시된 노드(94)는 네트(116)를 통해 연결될 수 있고, 도 9의 스파이킹 뉴런 회로의 입력(116)에 공급된다.
저항(90, 92)은 일정한 저항을 갖는 장치로서 작용하는 트랜지스터 게이트를 바이어싱함으로써 다수의 트랜지스터로서 대안적으로 구현될 수 있다는 것이 당업자에게 공지되어 있다.
도 7은 또한 DAC 회로의 1 비트 슬라이스의 비트 0, 1 내지 N-1에 대한 공통 전류원으로서 사용될 수 있는 전류 미러 회로의 예를 도시한다. 나노 암페어 내지 마이크로 암페어 범위의 매우 작은 정전류가 전류원(114)으로부터 끌어 올 수 있으며, 이는 트랜지스터(96 및 98)를 통해 흐를 수 있다. FET(96 및 98)와 같은 전계 효과 트랜지스터(FET)의 2 가지 주요 파라미터는 전도성 채널의 치수일 수 있다는 것이 당업자에게 공지되어 있다. 치수는 채널의 폭 "W" 및 채널의 길이 "L"에 의해 정의될 수 있다. 당업자에게 추가로 공지된 바와 같이, 채널 치수를 기재하는 일반적인 방법은 채널의 폭 대 길이의 비를 "W/L"로 정의하는 것일 수 있다. 폭의 증가는 채널 저항을 감소시킬 수 있는 반면, 채널 길이의 증가는 채널 저항을 증가시킬 수 있다.
도 7에 도시된 바와 같이, 한 쌍의 트랜지스터(96 및 98)는 트랜지스터(100 및 102)와 함께 전류 미러를 구축할 수 있다. 65nm CMOS 기술에서의 예시적인 구현 예에서, 노드(96 및 98)에 대한 트랜지스터 폭 대 길이의 비는 W/L = 1, 예를 들어 W = 60nm 및 L = 60nm일 수 있다. 트랜지스터(100 및 102)의 트랜지스터 폭 대 길이 비가 트랜지스터(96 및 98)의 트랜지스터 폭 대 길이 비(W/L = 1)와 동일하도록 선택된다면, 노드(84)를 통한 결과적인 전류는 소스(114)를 통한 전류와 동일할 수 있다는 것이 당업자에게 공지되어 있다.
도 7은 또한 트랜지스터(96 및 98)가 또한 트랜지스터(110 및 112)와 함께 전류 미러를 나타낼 수 있음을 도시한다. 예로서, "N"이 2로 선택되면, 2 비트 디지털-아날로그 변환기가 구현될 수 있다. 이 경우, 트랜지스터(110 및 112)의 폭 대 길이 비는 W/L = 2가 되도록 선택될 수 있어서, 트랜지스터(110 및 112), 비트 1의 스위치(88) 및 저항(92)를 통해 노드(116)로 흐르는 전류는 트랜지스터(100, 102), 비트 0의 스위치(88) 및 저항기(92)를 통해 흐르는 전류의 2 배의 양이다. 이 D/A 회로는 원하는 디지털 입력 비트 수에 도달할 때까지, W/L = 2, W/L = 4 등의 트랜지스터 비율을 갖는 비트 슬라이스를 추가함으로써 2 개 이상의 입력 비트로 확장될 수 있다는 것이 당업자에게 공지되어 있다. 예를 들어, 8 비트 디지털 입력 데이터를 사용하면, 트랜지스터(110 및 112)의 폭 대 길이 비는 W/L = 128 일 수 있다. 또한, 설계에서 사용된 가장 작은 폭보다 p 배 더 큰 폭 W를 갖는 임의의 트랜지스터는 각각 폭 W/p를 갖는 p 개의 트랜지스터로 대체될 수 있다는 것이 당업자에게 공지되어 있다.
N-비트 입력에 적용되는 값과 무관하게, 전류 소스(114)로부터 인출된 총 전류는 일정할 수 있다는 것이 당업자에 의해 이해된다.
여전히, 도 7의 발명을 참조하면, 트랜지스터(96, 98, 100, 102, 110 및 112)는 p-채널 금속 산화물 반도체 전계 효과 트랜지스터(P-MOSFET 또는 PMOS) 트랜지스터로서 구현될 수 있다. 스위치(86, 88)는 p-채널(PMOS) 또는 n-채널 MOSFET(NMOS) 또는 바이폴라 트랜지스터로 구현될 수 있다. 바람직한 구현 예에서,도 7에 도시된 모든 트랜지스터는 PMOS 트랜지스터로서 구현될 수 있다. 또한, 바람직한 구현 예에서, 저항 소자(90 및 92)는 NMOS 트랜지스터를 사용하여 구현될 수 있다.
여전히, 도 7을 참조하면, 전류원(114)으로부터 인출된 정전류는 노드(116)를 통한 출력 전류의 정확한 고속 조정을 가능하게 할 수 있고, 따라서 DAC로부터 노드(116)에 연결된 스파이킹 뉴런 회로로의 정확하고 고속 아날로그 시그널링을 가능하게 할 수 있다. N-비트 디지털 입력 데이터와 무관하게, 도 7의 모든 저항 소자(90 및 92) 전체를 통한 일정한 양의 전류의 드로잉은 하나 이상의 N 입력이 그 값을 변경할 때, 노드(116)를 통한 부드럽고 연속적인 전류 흐름을 가능하게 할 수 있다.
도 8은 도 7의 전류원(114)의 예시적인 회로 구현 예를 도시한다. NMOS 트랜지스터(120, 122, 124 및 126)의 조합은 저항(118)을 통한 정전류가 노드(128) 상의 출력 전류에서 "미러(mirrored)"되도록, 전류 미러를 구현할 수 있다는 것이 당업자에게 공지되어 있다. 일 실시 예에서, VDD가 1.8V로 설정될 수 있고, 저항(118)은 270MΩ의 값을 가질 수 있고, 트랜지스터의 W/L 비는 2/1(예를 들어, W = 240nm 및 L = 120nm)로 설정될 경우, 도 7에 도시된 바와 같이 사용될 때 전류원(114)의 결과적인 정전류는 대략 5nA 일 수 있다.
도 8의 저항(118)은 도 8의 회로 영역을 감소시키기 위해 PMOS 트랜지스터를 사용하여 구현될 수 있고, 이는 전류원을 칩 레이아웃의 일부로 실현하기 위해 필요할 수 있다는 것이 당업자에게 공지되어 있다.
이제, 도 9를 참조하면, DAC(54), 스파이킹 신경망(56) 및 도 4의 아날로그-디지털 변환기(ADC)(58)에서 사용될 수 있는 스파이킹 뉴런의 예시적인 회로 묘사가 제공된다. 뉴런 회로는 입력 노드(116), 전압원(154), 입력을 접지에 연결하는 커패시터(130), 출력 노드(156)를 입력 노드(116)에 연결하는 커패시터(138), 노드(116)을 접지로 방전할 수 있는 NMOS 트랜지스터(132) 및 저항(134), PMOS 트랜지스터(140 및 142), NMOS 트랜지스터(144 및 146) 및 저항기(147)로 구성된 비교기 회로, 및 2 개의 인버터 회로(150 및 152)를 포함할 수 있다.
트랜지스터(140, 142, 144, 146 및 147)로 구성된 도 9의 비교기 회로는 트랜지스터(142)의 게이트 전압(116)과 트랜지스터(146)의 게이트에서의 정전압(154)을 비교할 수 있다는 것이 당업자에게 공지되어 있다. 트랜지스터(142)의 게이트 전압이 소스(154)의 전압보다 높으면, 노드(148)상의 전압은 인버터(150)의 출력 전압이 VDD 부근에서 0 볼트 부근으로 감소할 수 있는 지점까지 증가할 수 있다. 150의 출력 전압의 변화는 인버터(152)의 출력 전압을 0 볼트 부근에서 VDD로 반전시킬 수 있고, 이는 출력 노드(156)에서의 스파이크와 유사한 출력 파형의 전반부를 생성할 수 있다.
VDD를 향한 152의 출력 전압의 증가는 커패시터(138)가 충전되게 할 수 있고, 이는 커패시터(130)의 충전을 추가로 가속시킬 수 있고, VDD를 향한 노드(116)상의 전압을 증가시킬 수 있음이 당업자에게 공지되어 있다. 노드(136)상의 전압의 증가는 트랜지스터(132)를 활성화시킬 수 있고, 트랜지스터(132) 및 저항(134)을 통해 접지를 향해 커패시터(116)를 방전하여서, 입력 노드(116)로 흐르는 전류가 스파이킹 뉴런 회로의 새로운 동작 사이클, 즉 커패시터(130)의 충전, 비교기에서의 임계치 비교, 및 스파이킹 출력 파형의 형성이 다시 시작될 수 있다는 것이 당업자에게 공지되어 있다.
여전히, 도 9를 참조하면, 하나의 예시적인 구현 예에서, 공급 전압(VDD)은 1.8V 일 수 있고, 전압원(154)의 출력 전압은 1.8V 일 수 있고, 전압원(154)의 출력 전압은 0.65V 일 수 있으며, 저항(134 및 147)은 500kΩ 일 수 있고, 커패시턴스(130)는 5fF 일 수 있고, 커패시턴스(138)는 2fF 일 수 있고, PMOS 트랜지스터(140 및 144)의 트랜지스터 폭 대 길이 비는 W/L = 2 일 수 있고, NMOS 트랜지스터(142 및 146)은 W/L = 1 일 수 있고, NMOS 트랜지스터(132)의 W/L 비는 W/L = 1 일 수 있고, 인버터(150)의 트랜지스터들의 폭 대 길이 비는 Wp/Lp = Wn/Ln = 2 일 수 있고, 인버터(152)의 트랜지스터의 폭 대 길이 비는 Wp/Lp = 1.5 및 Wn/Ln = 1 일 수 있다.
사용된 제조 기술에 따라 약 2.0 내지 2.5의 Wn/Ln으로 나눈 Wp/Lp의 폭 대 길이 비를 갖는 인버터는 대칭 스위칭 거동, 즉 인버터 출력에서의 상승 전이 파형은 출력에서의 하강 전이 파형의 반대일 수 있다는 것을 드러낼 수 있음이 당업자에게 공지되어 있다.
인버터 회로의 대칭 스위칭 거동이 디지털 로직에 대해 바람직할 수 있지만, 도 9의 회로에서의 인버터(150 및 152)는 스파이크와 더 유사한 비대칭 출력 파형을 생성하는 것이 바람직할 수 있음은 당업자에게 공지되어 있다.
도 10은 디지털 값을 스캔 체인으로 스캔하고, 저항이 스캔된 디지털 값을 나타낼 수 있도록 멤리스터를 프로그래밍하고, 멤리스터에 저장된 값을 나타내도록 디지털 저장 회로를 프로그래밍하기 위한 회로의 예를 도시한다. 회로는 "Scan-In", "CLK", "Write", "Set" 및 "Program"과 같은 디지털 입력 신호(159), 및 출력 신호 "Scan-Out"(161)으로 구성될 수 있다. "Scan-In" 및 "CLK"는 플립 플롭(160)으로 값을 스캐닝하는데 사용되고, "Scan-Out"은 도 10의 회로의 다른 인스턴스에 연결될 수 있고, "Program"은 멤리스터(158)를 프로그래밍하는데 사용될 수 있고, "Set" 및 "Write"는 멤리스터(158)에 저장된 값을 패스 트랜지스터(188 및 190)와 2 개의 인버터 회로(192 및 194)로 구성될 수 있는 저장 회로로 전송하는데 사용될 수 있다. 2 개의 인버터의 출력은 출력 신호 "bit"(193) 및 그의 역값 "bit_bar"(195)에 연결될 수 있다. 다수의 플립 플롭으로 구성될 수 있는 스캔 체인은 당업자에게 공지되어 있는데, 여기서 체인의 제 1 플립 플롭의 입력은 시스템-레벨에서 스캔-인 포트에 연결될 수 있고, 체인의 마지막 플립 플롭 출력은 시스템-레벨에서 스캔-아웃 포트에 연결될 수 있고, 다른 모든 플립 플롭은 첫 번째 플립 플롭과 마지막 플립 플롭 사이에 "체인"된다. 클록 신호 "CLK"에 의해 스캔으로 스캔된 시퀀스는 시스템 상에 또는 시스템 외부에, 예를 들어 외부 메모리에 저장될 수 있으며; 또한, 스캔 체인의 내용은 여기에서 논의된 실시 예들의 일부가 아닌 컴퓨터에서의 수동 계산 또는 기능적 시뮬레이션으로부터 도출될 수 있다는 것이 당업자에게 공지되어 있다. 예로서, 도 5의 신경망(66)은 도 11의 다수의 시냅스들(74 및 76)을 포함할 수 있으며, 이들 각각은 단일 시냅스 회로를 구성하기 위해 도 10의 회로의 4 개의 인스턴스 및 도 12의 회로의 하나의 인스턴스를 이용할 수 있다. 도 10의 각 회로의 "Scan-Out" 포트(161)는 도 10 회로의 다른 인스턴스의 하나의 "Scan-In" 포트에 연결될 수 있다. 도 10 회로의 하나의 인스턴스의 스캔 포트를 동일한 회로의 다른 인스턴스에 연결하는 순서는 임의로 선택될 수 있다. 또한, 본 명세서에 기술된 바와 같이 구축된 스캔 체인에서, 제 1 회로의 "Scan-In" 포트 및 스캔 체인의 마지막 요소의 "Scan-Out" 포트는 미리 결정된 스캔 벡터가 스캔 클록 신호 "CLK"의 도움으로 스캔 체인에 연결된 플립 플롭(160)으로 스캔될 수 있도록, 회로 계층(Hierarchy) 구조의 최상위 레벨에서 액세스 가능한 것은 당업자에게 공지되어 있다. 스캔 벡터의 길이는 적어도 스캔 체인에 연결된 플립 플롭(160)이 있는 수만큼의 비트일 수 있다는 것이 당업자에게 추가로 공지되어 있다.
여전히, 도 10의 발명을 참조하면, 멤리스터(158)는 먼저 데이터 비트를 플립 플롭(160)으로 스캔하고, 입력 "Program"을 1로 설정함으로써, 프로그래밍될 수 있다. 플립 플롭(160)의 출력 포트(Q)가 로직 1이면, AND 게이트(162)의 출력 값은 1 일 수 있고, 트랜지스터(172 및 174)의 게이트는 1 일 수 있고, 전류는 소스 전압(VPROG)으로부터 접지로 멤리스터(158)를 통해 하향으로 흐를 수 있고, 사용된 멤리스터 기술에 따라 멤리스터(158)의 저항을 낮은 값으로부터 높은 값으로 또는 그 반대로 변화시킬 수 있다. 플립 플롭(160)의 출력 포트(Q)가 로직 0이면, AND 게이트(164)의 출력 값은 1 일 수 있고, 트랜지스터(168 및 170)의 게이트는 1 일 수 있고, 전류는 소스 전압(VPROG)으로부터 접지로 멤리스터(158)를 통해 상향으로 흐를 수 있고, 사용된 멤리스터 기술에 따라 멤리스터(158)의 저항을 높은 값으로부터 낮은 값으로 또는 그 반대로 변화시킬 수 있다.
트랜지스터(168, 170, 172 및 174)는 NMOS 트랜지스터 대신 PMOS 트랜지스터로서 구현될 수 있고, 멤리스터 프로그래밍 전압(VPROG)은 공급 전압(VDD)보다 높을 수 있다는 것이 당업자에게 공지되어 있다.
여전히, 도 10을 참조하면, 높은 저항의 멤리스터(158)로 표현되는 로직 값은 입력 "Set"을 1로 설정하여, 트랜지스터(176), 멤리스터(158) 및 트랜지스터(178)를 통한 전도 경로(conducting path)를 활성화시킴으로써 해석될 수 있다. 노드(179)의 전압은 트랜지스터(180)를 통해 전송될 수 있고, 인버터 회로(184)의 입력 전압일 수 있다. 저항(182)은 "Set" 입력이 0 일 때, 인버터(184)의 입력 전압을 접지로 끌어 올 수 있다. 도 10의 회로의 Program, set 및 write 작업이 완료된 후, 인버터(184) 입력에서의 부동 전압을 피하기 위해 저항기(182)가 필요하다는 것은 당업자에게 공지되어 있다.
또한, 멤리스터(158)의 높은 저항 상태는 접지보다 VDD에 더 근접한 노드(179)에서의 전압을 초래하여, 인버터(184)의 입력에서 더 높은 전압을 야기할 수 있다는 것이 당업자에게 공지되어 있다. 또한, 멤리스터(158)의 낮은 저항 상태는 인버터(184)의 입력에서 더 낮은 전압을 야기할 수 있다는 것이 당업자에게 추가적으로 공지되어 있다. 또한 멤리스터(158)의 프로그래밍은 입력“Program”을 0으로 설정함으로써 끝난다.
추가적으로 또는 대안적으로, 인버터(184)의 출력 값은 인버터(186)의 반전된 출력 값일 수 있다.
도 10의 인버터(192 및 194)와 함께, 트랜지스터(188 및 190)는 1-비트 정적 6-트랜지스터 메모리 "6T SRAM"셀의 회로를 나타낼 수 있다는 것이 당업자에게 공지되어 있다. 또한, 한 비트의 데이터의 저장은 4-트랜지스터 2-레지스터 "4T2R" 메모리 셀 또는 동적 메모리 "DRAM"셀과 같은 다른 유형의 메모리 셀에 의해 달성될 수 있다는 것이 또한 당업자에게 공지되어 있다.
도 10의 SRAM 셀은 입력 "Write"를 1로 설정함으로써 프로그래밍될 수 있고, 이는 인버터(192 및 194)가 인버터(184)의 값 및 인버터(186) 출력에서의 반전 값을 저장하도록 강제할 수 있음이 당업자에게 공지되어 있다. 인버터(192 및 194)가 인버터(184) 보다 더 낮은 구동 강도 트랜지스터로 구성되어, 인버터(184 및 186)의 출력 값이 인버터(192 및 194)의 출력에서 논리 값을 강제할 수 있다는 것이 또한 당업자에게 공지되어 있다.
여전히, 도 10을 참조하면, 멤리스터 저항의 판독 동작 및 SRAM 셀에 대한 기록 동작은 입력 "Set" 및 "Write"를 0으로 변경함으로써 끝낼 수 있다. 인버터(192 및 194)의 출력값은 회로가 꺼지거나 새로운 기록 동작이 시작될 때까지 변하지 않을 것이라는 것이 당업자에게 공지되어 있다. 출력 신호 "bit"는 인버터(194)의 출력에 연결될 수 있고, 출력 신호 "bit_bar"는 인버터(192)의 출력에 연결될 수 있다.
도 10의 일 예시적인 구현 예에서, NMOS 트랜지스터(168, 170, 172, 174, 180, 188 및 190)의 W/L 비는 W/L = 2 일 수 있고, PMOS 트랜지스터(176)는 W/L = 2의 비를 가질 수 있고, NMOS 트랜지스터(178)는 W/L = 1의 비를 가질 수 있고, 저항(182)은 5MEGΩ 일 수 있고, 인버터(184 및 186)의 구동 강도는 SRAM 회로의 결합된 인버터들(192 및 194)이 프로그램되게 강제할 수 있도록, 인버터(192 및 194)의 구동 강도의 4 배일 수 있다.
도 11은 프로그램 가능한 전달 함수를 갖는 예시적인 트랜스-컨덕턴스 시냅스의 상세한 회로도를 도시한다. 노드 "in"에서의 입력 전압은 출력 노드 "out"을 통해 출력 전류로 변환될 수 있다. 회로의 이득은 양의 전압을 입력 노드 "V1"(220) 또는 "V2"(222)에 인가함으로써 제어될 수 있고, 따라서 회로는 흥분성 또는 억제성 거동을 나타낼 수 있다.
여전히, 도 11을 참조하면, 트랜지스터(196 및 198)는 전류 미러를 나타낼 수 있으며, 따라서 198을 통한 전류는 196 및 198의 트랜지스터 비율 W/L에 따라 196을 통해 흐르는 전류의 정의된 배수가 될 수 있다는 것이 공지되어 있다. 트랜지스터들(204 및 206)은 저항 모드에서, 즉 저항들로서 동작하고; 트랜지스터(200 및 202)는 테일 전류, 즉 200 및 202를 통한 전류의 합이 트랜지스터(210)를 통해 흐를 수 있는 차동 쌍을 나타낼 수 있다.
0 내지 수 밀리볼트의 노드(214)상의 입력 전압 "in"이 트랜지스터(208, 210 및 212)를 효과적으로 끌 수 있어서, 시냅스 회로는 입력 전압이 0에서 수 밀리볼트 사이로 유지되는 한, 어떠한 전력도 소비하지 않을 수 있음이 당업자에게 공지되어있다.
여전히, 도 11을 참조하면, 일 예시적인 구현 예에서, PMOS 트랜지스터(196 및 198)는 W/L = 4의 W/L 비를 가질 수 있고, NMOS 트랜지스터(200 및 202)의 비는 W/L = 1 일 수 있고, NMOS 트랜지스터(200 및 202)의 비는 W/L = 2의 비를 가질 수 있고, NMOS 트랜지스터(208 및 212)는 W/L = 4의 비를 가질 수 있고, NMOS 트랜지스터(210, 216 및 218)는 W/L = 1/6의 비를 가질 수 있다. 다른 폭 대 길이 비율 및 다른 트랜지스터 유형이 도 11의 트랜스-컨덕턴스 시냅스의 특성을 갖는 회로를 구현하는데 사용될 수 있다는 것이 공지되어 있다.
도 12는 다른 출력을 접지에 연결하는 동안, DAC의 출력 신호를 2 개의 출력(272, 278) 중 하나에 연결하기 위해 제 4 입력 비트를 사용하는 예시적인 래더-회로 기반 3 비트 디지털-아날로그 변환기(DAC)의 상세한 회로도를 도시한다. 도 12의 회로는 3 비트 이상의 해상도를 갖는 디지털-아날로그 변환기를 구현하도록 확장될 수 있다는 것이 당업자에게 공지되어 있다.
여전히, 도 12를 참조하면, 예를 들어, "bit3" 및 "bit3bar"의 각 쌍의 입력은 도 10의 멤리스터 기반 구성 회로의 한 인스턴스의 출력 "bit" 및 "bit_bar"에 연결된다. 당업자는 가장 높은 수, 예를 들어 "bit3"을 갖는 다중 비트 신호의 최상위 비트를 식별할 수 있고, 가장 낮은 수, 예를 들어 "bit1"을 갖는 최하위 비트를 식별할 수 있다. 다중 비트 신호의 한 비트, 예를 들어 "bit0"은 도 12의 회로에 의해 제어될 수 있는 시냅스에서 흥분성 또는 억제성 거동을 선택하기 위한 부호 비트로서 사용될 수 있다.
여전히, 도 12를 참조하면, 입력 신호 쌍은 노드 VDD 또는 접지를 "2R/R 래더 DAC"의 입력 중 하나에 연결할 수 있다. DAC의 출력은 최상위 비트(266)에 가장 가까운 노드일 수 있고, DAC에 대한 각각의 입력에 대해, 값 R 및 2*R을 갖는 한 쌍의 저항, 예를 들어 저항(254 및 256)은 저항(262 및 264) 모두에 대해 2*R의 저항 값을 이용할 수 있는 디지털 입력 신호의 최하위 비트를 제외하고, 래더에 추가될 수 있다.
여전히, 도 12를 참조하면, 입력 "bit0"(250)은 트랜지스터(270 및 274)의 게이트에 연결될 수 있고; "bit0"상의 로직 1은 노드(266)상의 전압 "VDAC"가 트랜지스터(274)를 통해 출력 "V2"(278)로 전달되게 할 수 있고; "bit0"상의 로직 0은 노드(266)상의 전압이 트랜지스터(268)를 통해 출력 "V1"(272)을 전달되게 할 수 있다. 도 12의 회로는 각각의 "bitX" 입력의 반대 논리 값을 갖기 위해 각각의 "bitXbar"입력을 요구할 수 있고, 따라서 "bit0"이 1이면, "bit0bar"는 0 일 수 있고, 트랜지스터(270)는 출력(272)을 접지에 연결할 수 있고; "bit0"이 0이면, "bit0bar"는 1 일 수 있고, 트랜지스터(276)는 출력(278)을 접지에 연결할 수 있다.
일 예시적인 구현 예에서, 도 12의 회로에서 모든 트랜지스터는 NMOS 트랜지스터로서 구현될 수 있고, 트랜지스터(232, 240 및 248)의 W/L 비는 W/L = 2 일 수 있고, 트랜지스터(234, 242, 250, 270 및 276)의 W/L 비는 0.25 일 수 있고, 트랜지스터(268 및 274)의 W/L 비는 1 일 수 있고, 저항(254, 258, 262 및 264)은 100 MEGΩ 일 수 있고, 저항(256 및 260)은 50 MEGΩ 일 수 있다. 도 12의 트랜지스터는 다른 W/L 비, PMOS 트랜지스터, 또는 PMOS 및 NMOS 트랜지스터로 대안적으로 구현될 수 있다는 것이 당업자에게 공지되어 있다. 저항(254, 256, 258, 260, 262 및 264)은 도 12의 회로의 유사한 성능 특성을 달성하면서, NMOS 또는 PMOS 트랜지스터를 사용하여 대안적으로 구현될 수 있다는 것이 당업자에게 공지되어 있다.
도 13은 뉴런 회로(288)의 입력에서 다수의 입력 신호(280)를 결합하는 회로를 도시한다. 트랜지스터(282 및 284)로 구성된 각각의 회로는 전류 미러를 구축하여, 각각의 트랜지스터(284)를 통해 네트(286)로 흐르는 전류가 입력에서 각각의 네트(280)를 통해 흐르는 전류의 배수일 수 있고; 도 13의 회로의 각각의 입력에 대한 전류의 사용이 네트(286)를 통해 축적된 전류의 일부 또는 전부가 입력(280)으로 "푸시 백(push back)"되고, 이어서 입력들(280)에 연결될 수 있는 시냅스 회로들에의 충격을 방지하는 것이 당업자에게 공지되어 있다.
여전히, 도 13을 참조하면, 네트(286)에 축적된 전류는 뉴런 회로(288)로 흐를 수 있고, 뉴런의 출력 신호는 출력(290)에 연결될 수 있다.
도 13의 뉴런(288)은 본 발명의 나머지의 사양 내에서 동작할 수 있는 임의의 스파이킹 뉴런 회로를 구현할 수 있다는 것이 당업자에게 공지되어 있다.
도 13에 도시된 실시 예의 일 예시적인 구현 예에서, 트랜지스터(282 및 284)는 PMOS 트랜지스터로서 구현될 수 있으며, 여기서 트랜지스터(282)의 W/L 비는 W/L = 1 일 수 있고, 트랜지스터(284)의 비는 1.5 일 수 있고; 뉴런 회로(288)는 도 9의 뉴런으로서 구현될 수 있다.
도 1의 프로세서 서브-시스템(16)의 다른 실시 예에서, 도 14의 회로도를 참조하면, 프로세서 서브-시스템은 전력 소비를 감소시키도록 구현될 수 있다. 컴퓨터 시스템이 수행하는 태스크들이 다른 시간에 다른 계산 성능을 요구할 수 있음은 당업자에게 공지되어 있다. 태스크를 수행하기 위해 컴퓨팅 능력의 100 % 미만이 요구되는 것으로 시스템이 결정할 때, 특정 구성 요소를 아이들링시킴으로써 시스템 전력 소비가 감소될 수 있다는 것도 당업자에게 공지되어 있다.
여전히, 도 14를 참조하면, 도 1의 프로세서 서브-시스템(16)의 전력 관리 형 버전은 상시-온 상호 연결 시스템(292), 상시-온 프로세서(294), 상시-온 입력/출력 회로(298), 상시-온 전원 관리 회로(298) 및 추가 프로세서(296), 메모리(302) 및 다른 입력/출력 회로(304)로 구성될 수 있고, 여기서 구성 요소(296, 302 및 304)는 전력 관리될 수 있는데, 즉 그러한 구성요소는 즉각적인 계산 및 통신 태스크를 위해 필요하지 않은 경우, 무 전력 또는 저 전력 상태로 설정될 수 있다. 본 명세서에서 사용되는 바와 같이, 저 전력 상태는 공칭 작동 상태에서 작동할 때 구성 요소에 대해 지정된 것보다 적은 전력을 소비하는 것을 의미한다. 본 명세서에서 사용되는 바와 같이, 공칭 작동 상태는 지정된 클록 주파수에서 동작하고, 지정된 공급 전압이 공급되고, 완전한 처리 능력을 사용하는 것(즉, 아무것도 끄지 않거나 슬립 상태가 되지 않은 상태)을 의미한다. 저 전력 상태는 구성요소 클록 주파수를 감소시키는 방법, 이들 구성요소 중 하나 이상에 대한 공급 전압을 감소시키는 방법 및/또는 이들 구성요소의 프로세싱 능력의 일부 또는 전부를 끄거나 슬립 상태로 설정하는 방법에 의해 달성될 수 있다. 구성 요소 및 이러한 방법을 적용하는 방법에 따라 절약되는 전력이 상당할 수 있다. 메모리(302)는 SRAM, DRAM, 플래시 메모리 또는 멤리스터 기반 메모리의 하나 이상의 인스턴스로 구성될 수 있다는 것이 당업자에게 공지되어 있다.
여전히, 도 14를 참조하면, 전력 관리 시스템 블록(300)은 버스(28)를 통해 신경망 블록(26)으로부터 제어 신호를 수신할 수 있고, 상시-온 I/O 시스템 블록(298)은 버스(28)를 통해 신경망 블록(26)으로부터 제어 신호를 수신할 수 있고, 버스(22)를 통해 제어 신호를 데이터 선택 블록(20)에 전송할 수 있다.
개시된 실시 예 및 원리의 장점은 시스템이 데이터 처리 작업을 수행하기 위한 가장 적은 양의 전력만을 소비하도록 작동하면서도, 오디오, 무선 주파수 및 이미지 입력 데이터 스트림을 처리하는 능력, 및 이러한 입력 데이터 내의 객체 및/또는 특징을 검출 및 분류하는 능력을, 제한없이 포함한다는 점이다. 또한, 전력 절감은 도 14의 모든 프로세서(296)에 대해 하나를 일시적으로 비활성화함으로써 달성될 수 있는 반면, 프로세서(296)의 전력 상태는 신경망 블록(26) 또는 상호 연결 시스템(292)을 통한 프로세서(294)의 출력 신호에 의해 제어될 수 있다.
또한, 전력 절감은 전력 관리 시스템(300) 또는 프로세서(294)에서 구현된 제어에 의해, 도 14의 모든 프로세서(296)에 대한 하나의 동작 주파수를 낮춤으로써 달성될 수도 있다.
개시된 실시 예들 및 원리들의 장점들을 여전히 참조하면, 상업적으로 이용 가능한 프로세서의 일례를 사용하여, 65 nm 기술로 제조된 단일 ARM Cortex-M4 프로세서는 40 μW/Mhz를 소비할 수 있고, 따라서 250Mhz 클럭 주파수에서 작동할 때 약 10mW를 소비한다. 예를 들어, 프로세서(282)와 동일한 3 개의 프로세서(284)의 전원을 끄는 것은 도 14의 프로세서의 전력 소비를 75 %, 예를 들어 4*10mW 내지 10mW로 감소시킬 수 있다는 것이 당업자에게 공지되어 있다. .
다른 실시 예에서, 도 1의 신경망(26)은 디지털 로직을 사용하여 구현될 수 있다. 결과적으로, 디지털-아날로그 변환기(54) 및 아날로그-디지털 변환기(58)는 버스(24 및 28)를 통해 신경망(26)을 도 1에 도시된 회로와 연결하는데 필요하지 않을 수 있다. 회로의 이러한 변형은 신경망(26)의 전력 소비에 영향을 미칠 수 있다는 것이 당업자에게 공지되어 있다.
또 다른 실시 예에서, 도 1의 프로세서 서브-시스템(16)은 도 2의 단일 프로세서 코어(30)로 구현될 수 있다. 단일 프로세서를 사용하는 것은 도 2에 도시된 프로세서 서브-시스템의 계산 능력을 낮출 수 있다는 것이 당업자에게 공지되어 있다.
또 다른 실시 예에서, 다수의 신경망(26) 인스턴스가 사용될 수 있다. 신경망(26)의 다수의 인스턴스는 이미지 프레임 또는 다른 데이터 엔티티를 처리하는데 필요한 시간을 감소시킬 수 있고, I/O 시스템(40) 또는 상시-온 I/O 시스템(298)의 로직의 변경 뿐만 아니라, 데이터 선택 블록(20)의 데이터 버퍼(52)에 대한 변경을 요구할 수 있다는 것이 당업자에게 공지되어 있다.
전술한 바와 같이, 개시된 원리 중 하나 이상은 다음을 포함한다:
하나 이상의 아날로그 신경망 회로를 단일 칩상에서 하나 이상의 프로세서 어레이와 결합하는 단계;
디지털 비디오, 무선 스펙트럼 또는 오디오 데이터를 아날로그 신호로 변환하고, 이러한 자극을 아날로그 신경망에 제공하는 단계;
프로세서 어레이가 활성이거나 신경망으로부터의 출력 신호에 의해 활성화될 때, 조건부 처리를 위해 디지털 비디오, 무선 스펙트럼 또는 오디오 데이터를 프로세서 어레이에 직접 제공하는 단계;
신경망의 하나 이상의 아날로그 출력을 디지털 신호로 변환하고, 이들 신호를 프로세서 어레이로 전송하는 단계;
프로세서 어레이의 하나의 프로세서가 신경망에 제공된 데이터가 프로세서 어레이에 의해 처리되어야 하는지의 여부를 결정하게 하는 단계; 및
신경망이 관심있는 패턴을 감지하지 않는 한, 프로세서 어레이의 하나 이상의 프로세서를 더 낮은 전력 소비 상태로 만드는 단계.
전술한 설명은 통상의 기술자가 현재 최선의 실시 예로 간주되는 것을 만들고 사용할 수 있게 하지만, 당업자는 여기에 개시된 특정 실시 예, 방법 및 예들의 변형, 조합 및 등가물의 존재를 이해하고 인식할 것이다. 따라서, 청구된 발명은 전술한 실시 예, 방법 및 예들에 의해 제한되지 않고, 청구된 발명의 범위 및 사상 내의 모든 실시 예 및 방법에 의해 제한되어질 것이다.

Claims (23)

  1. 데이터 처리 방법으로서,
    적어도 하나의 신경망 회로를 구비하며, 저 전력 또는 무 전력 상태에서 적어도 하나의 프로세서 회로의 적어도 일부로 데이터의 적어도 하나의 특성을 검출하는 검출 단계로서, 상기 저 전력 상태는 공칭 동작 상태에 대해 지정된 것보다 더 적은 전력이 상기 적어도 하나의 프로세서 회로의 적어도 하나의 일부에 의해 소비되는 상태에 대응하고; 및
    상기 검출에 응답하여, 상기 적어도 하나의 프로세서 회로에 전력을 공급하여 데이터 처리를 수행하는 처리 단계;
    를 포함하는 방법.
  2. 제 1 항에 있어서, 상기 검출 단계는 2 차원 패턴 매칭을 포함하는 방법.
  3. 제 1 항에 있어서, 상기 처리 단계는 이미지 검출 및 이미지 분류를 포함하는 방법.
  4. 제 1 항에 있어서, 상기 처리 단계는 이미터를 식별하기 위한 스펙트럼 분석을 포함하는 방법.
  5. 제 1 항에 있어서, 상기 처리 단계는 컨볼루션 처리를 포함하는 방법.
  6. 제 1 항에 있어서, 상기 처리 단계는 스피킹 또는 말해진 음운을 식별하는 단계를 포함하는 방법.
  7. 제 1 항에 있어서, 상기 처리 단계는 물리적 현상의 음향 특성을 식별하는 단계를 포함하는 방법.
  8. 제 2 항에 있어서, 검출될 패턴 세트를 결정하기 위해 상기 적어도 하나의 신경망 회로에서 가중치를 프로그래밍하는 단계를 더 포함하는 방법.
  9. 제 2 항에 있어서, 상기 검출 단계는 상기 데이터를 다수의 이미지 및/또는 패턴 클래스로 분류하는 단계를 포함하는 방법.
  10. 제 1 항에 있어서, 상기 데이터를 아날로그 신호로 변환하고 상기 아날로그 신호를 상기 적어도 하나의 신경망 회로에 적용하는 단계를 더 포함하는 방법.
  11. 제 1 항에 있어서, 상기 적어도 하나의 신경망 회로의 아날로그 출력을 디지털 신호로 변환하고 상기 디지털 신호를 상기 적어도 하나의 프로세서 회로에 적용하는 단계를 더 포함하는 방법.
  12. 제 1 항에 있어서, 상기 검출 단계는 관심있는 적어도 하나의 객체 또는 적어도 하나의 특징 또는 둘 모두를 찾기 위해 데이터를 평가하는 단계를 포함하는 방법.
  13. 제 1 항에 있어서, 상기 처리 단계는 관심있는 적어도 하나의 객체 또는 적어도 하나의 특징 또는 둘 모두를 검출 및 분류하는 단계를 포함하는 방법.
  14. 제 1 항에 있어서, 상기 적어도 하나의 신경망 회로 및 상기 적어도 하나의 프로세서 회로는 저 전력 또는 무 전력 상태에서 1mW 미만을 소비하는 방법.
  15. 제 1 항에 있어서, 프로그램 가능한 저장 요소를 사용하여 상기 적어도 하나의 신경망 회로의 기능을 프로그래밍하는 단계를 더 포함하는 방법.
  16. 제 15 항에 있어서, 외부 컴퓨팅 장비에서 가중치 세트를 계산하고 상기 가중치 세트를 상기 프로그램 가능한 저장 요소로 프로그래밍하는 단계를 더 포함하는 방법.
  17. 데이터 처리 시스템으로서,
    데이터를 수신하고 데이터의 적어도 하나의 특성을 검출하도록, 구성 및 배열된 적어도 하나의 신경망 회로; 및
    상기 적어도 하나의 신경망 회로가 상기 적어도 하나의 특성을 검출한 다음, 데이터에 대한 처리를 수행하기 위해 전력 공급된 상태로 적응될 때까지, 저 전력 또는 무 전력 상태로 구성 및 적응된 적어도 하나의 프로세서 회로로서, 상기 저 전력 상태는 공칭 동작 상태에 대해 지정된 것보다 더 적은 전력이 상기 적어도 하나의 프로세서 회로에 의해 소비되는 상태에 대응하고;
    를 포함하는 데이터 처리 시스템.
  18. 제 17 항에 있어서, 상기 적어도 하나의 신경망 회로 및 상기 적어도 하나의 프로세서 회로는 단일 칩 상에 있는 시스템.
  19. 제 17 항에 있어서, 상기 데이터를 수신하고 상기 데이터를 상기 적어도 하나의 신경망 회로 및 상기 적어도 하나의 프로세서 회로에 출력하도록, 구성 및 배열된 버퍼 회로를 더 포함하는 시스템.
  20. 제 17 항에 있어서, 상기 데이터를 수신하고 상기 데이터의 일부를 적어도 하나의 수치 제어 회로에 제공하도록, 구성 및 배열된 데이터 선택 회로를 더 포함하는 시스템.
  21. 제 20 항에 있어서, 상기 적어도 하나의 프로세서는 상기 데이터 선택 회로를 제어하는 시스템.
  22. 제 17 항에 있어서, 상기 데이터를 아날로그 데이터로 변환하고 상기 아날로그 데이터를 상기 적어도 하나의 신경망 회로에 적용하도록, 구성 및 배열된 디지털-아날로그 회로를 더 포함하는 시스템.
  23. 제 17 항에 있어서, 상기 적어도 하나의 수치 제어 회로의 아날로그 출력을 디지털 신호로 변환하고 상기 디지털 신호를 상기 적어도 하나의 프로세서 회로에 적용하도록, 구성 및 적응된 아날로그-디지털 회로를 더 포함하는 시스템.


KR1020190130530A 2018-10-25 2019-10-21 인공 신경망 및 범용 프로세서 회로를 통합한 시스템온칩 KR20200049550A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862750584P 2018-10-25 2018-10-25
US62/750,584 2018-10-25

Publications (1)

Publication Number Publication Date
KR20200049550A true KR20200049550A (ko) 2020-05-08

Family

ID=70327285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190130530A KR20200049550A (ko) 2018-10-25 2019-10-21 인공 신경망 및 범용 프로세서 회로를 통합한 시스템온칩

Country Status (3)

Country Link
US (1) US11580355B2 (ko)
KR (1) KR20200049550A (ko)
TW (1) TWI810387B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10879308B1 (en) * 2019-09-19 2020-12-29 International Business Machines Corporation Stacked nanosheet 4T2R unit cell for neuromorphic computing
US11721992B2 (en) * 2020-07-23 2023-08-08 Motorola Solutions, Inc. System and method for supplying power from a multi-cell battery to a single-cell power management system
KR102515089B1 (ko) 2020-10-22 2023-03-27 경북대학교 산학협력단 초저전력 소비를 위한 스파이킹 뉴럴 네트워크(snn) 하드웨어의 동작 방법, 이를 수행하기 위한 회로
CN113469334B (zh) * 2021-06-29 2022-09-13 中国地质大学(武汉) 一种忆阻递归神经网络电路
US11756565B2 (en) * 2022-01-25 2023-09-12 Blumind Inc. Analog systems and methods for audio feature extraction and natural language processing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2331911C2 (ru) * 2003-07-04 2008-08-20 Мицубиси Денки Кабусики Кайся Способ автоматического программирования и устройство автоматического программирования
US7030761B2 (en) * 2004-03-16 2006-04-18 Symbol Technologies Multi-resolution object location system and method
AU2012253292B2 (en) * 2011-05-12 2015-10-29 Apple Inc. Presence sensing
US9256269B2 (en) * 2013-02-20 2016-02-09 Sony Computer Entertainment Inc. Speech recognition system for performing analysis to a non-tactile inputs and generating confidence scores and based on the confidence scores transitioning the system from a first power state to a second power state
US10299149B2 (en) * 2013-03-15 2019-05-21 DGS Global Systems, Inc. Systems, methods, and devices for electronic spectrum management
JP6940414B2 (ja) 2015-04-20 2021-09-29 レスメッド センサー テクノロジーズ リミテッド 特性信号から人間の検出及び識別
WO2016179533A1 (en) * 2015-05-06 2016-11-10 Indiana University Research And Technology Corporation Sensor signal processing using an analog neural network
US20170041540A1 (en) * 2015-08-04 2017-02-09 Ronald B Foster Energy-efficient secure vision processing applying object detection algorithms
CN105591469B (zh) * 2015-08-18 2019-03-19 济南大陆机电股份有限公司 一种社区微网分布式控制系统
WO2017105517A1 (en) * 2015-12-18 2017-06-22 Hewlett Packard Enterprise Development Lp Memristor crossbar arrays to activate processors
US10559200B1 (en) * 2018-05-01 2020-02-11 Flock Group Inc. Method and system for capturing and storing significant surveillance images
CN110591469A (zh) 2019-09-23 2019-12-20 成都彭州立源高分子材料有限公司 一种水性高温烤漆pvdf氟碳漆及其制备方法

Also Published As

Publication number Publication date
US20200134416A1 (en) 2020-04-30
TWI810387B (zh) 2023-08-01
US11580355B2 (en) 2023-02-14
TW202105257A (zh) 2021-02-01

Similar Documents

Publication Publication Date Title
KR20200049550A (ko) 인공 신경망 및 범용 프로세서 회로를 통합한 시스템온칩
US10476487B2 (en) Electronic comparison systems
US11501829B2 (en) Resistive random-access memory for embedded computation
Choi et al. A high-precision VLSI winner-take-all circuit for self-organizing neural networks
Sharad et al. Ultra low power associative computing with spin neurons and resistive crossbar memory
US11640524B1 (en) General purpose neural processor
US11290110B2 (en) Method and system for providing a variation resistant magnetic junction-based XNOR cell usable in neuromorphic computing
CN110991629B (zh) 一种基于忆阻器的神经元电路
US20200210818A1 (en) Array device including neuromorphic element and neural network system
Sharad et al. Ultra low energy analog image processing using spin based neurons
Bose et al. A 75kb SRAM in 65nm CMOS for in-memory computing based neuromorphic image denoising
US20170243124A1 (en) Machine-learning classifier based on comparators for direct inference on analog sensor data
Yang et al. Matching in memristor based auto-associative memory with application to pattern recognition
Lou et al. TFET-based operational transconductance amplifier design for CNN systems
Sharad et al. Ultra-low power neuromorphic computing with spin-torque devices
Yıldız et al. A flexible current‐mode classifier circuit and its applications
KR102215067B1 (ko) Stdp 학습 하드웨어
Krestinskaya et al. Approximate probabilistic neural networks with gated threshold logic
TW202036389A (zh) 用於執行反互斥或運算的計算胞元、神經網路及用於執行數位反互斥或運算的方法
Palit et al. Cellular neural networks for image analysis using steep slope devices
Hasan et al. Memristor crossbar based unsupervised training
JPH076192A (ja) 信号統合回路
US20220383446A1 (en) Memory graphics processing unit
Zanotti et al. Performances and trade-offs of low-bit precision neural networks based on resistive memories
US11837281B2 (en) Integrated circuit, interface circuit and method