CN107578014B - 信息处理装置及方法 - Google Patents

信息处理装置及方法 Download PDF

Info

Publication number
CN107578014B
CN107578014B CN201710793531.4A CN201710793531A CN107578014B CN 107578014 B CN107578014 B CN 107578014B CN 201710793531 A CN201710793531 A CN 201710793531A CN 107578014 B CN107578014 B CN 107578014B
Authority
CN
China
Prior art keywords
data
unit
vector
information processing
emotion
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201710793531.4A
Other languages
English (en)
Other versions
CN107578014A (zh
Inventor
陈天石
何皓源
胡帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
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 Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201710793531.4A priority Critical patent/CN107578014B/zh
Publication of CN107578014A publication Critical patent/CN107578014A/zh
Priority to PCT/CN2018/094710 priority patent/WO2019007406A1/zh
Priority to CN201880001841.0A priority patent/CN109478144B/zh
Priority to EP19217773.1A priority patent/EP3660739A1/en
Priority to EP18828801.3A priority patent/EP3637258A4/en
Priority to EP19218378.8A priority patent/EP3660629B1/en
Priority to CN202010617408.9A priority patent/CN111553473B/zh
Priority to US16/698,992 priority patent/US11307864B2/en
Priority to US16/698,997 priority patent/US11307865B2/en
Priority to US16/698,996 priority patent/US20200110635A1/en
Priority to US16/698,993 priority patent/US11086634B2/en
Application granted granted Critical
Publication of CN107578014B publication Critical patent/CN107578014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/186Passive fault masking when reading multiple copies of the same data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/011Emotion or mood input determined on the basis of sensed human body parameters such as pulse, heart rate or beat, temperature of skin, facial expressions, iris, voice pitch, brain activity patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/047Probabilistic or stochastic networks
    • 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

Abstract

本公开提供了一种信息处理装置,包括:存储单元,用于接收并存储数据及指令;以及数据处理单元,与所述存储单元连接,用于接收所述存储单元发送的数据及指令,对所述数据中包含的关键特征进行提取和运算处理,并根据运算处理结果生成多维向量。本公开还提供了一种信息处理方法。本公开信息处理装置及方法,实现了对人脸的精确,快速识别;支持离线运行神经网络,在没有云端服务器协助计算的情况下用户终端/前端离线即可实现人脸识别和相应控制的工作;具有很好的移植性,能够用于各种应用场景和设备,大大节省了设计成本。

Description

信息处理装置及方法
技术领域
本公开涉及信息处理技术领域,尤其涉及一种处理图像的装置和方法。
背景技术
现有使用通用的图像识别装置来识别人脸图像。图像识别装置包括表情采集单元,表情识别单元。表情采集单元采集用户的表情并形成模拟信号发送给表情识别单元,表情识别单元将模拟信号转换为数字信号,再经过数据处理模块产生输出,最终做出实现预期功能的响应。
然而,现有的识别人脸图像的装置及方法,其存在以下缺陷:信号的精度差,对人脸识别不精准,可移植性不够好,功能不具备好的拓展性,设计上通常针对一种或一类特定设备,不能通过机器学习等方法提高识别精度。
发明内容
(一)要解决的技术问题
为了解决或者至少部分缓解上述技术问题,本公开提供一种信息处理装置及方法,实现了对人脸的更精确,快速识别;支持离线运行神经网络,在没有云端服务器协助计算的情况下用户终端/前端离线即可实现人脸识别和相应控制的工作;具有很好的移植性,能够用于各种应用场景和设备,大大节省了设计成本。
(二)技术方案
根据本公开的一个方面,提供了一种信息处理装置,包括:存储单元,用于接收并存储数据及指令;以及数据处理单元,与所述存储单元连接,用于接收所述存储单元发送的数据及指令,对所述数据中包含的关键特征进行提取和运算处理,并根据运算处理结果生成多维向量。
在本公开一些实施例中,所述关键特征包括人脸的动作、表情及其对应的位置。
在本公开一些实施例中,所述输入数据包括一个或多个图像,所述数据处理单元根据运算处理结果为每一图像生成一多维向量。
在本公开一些实施例中,所述图像包括静态图片、组成视频的图片或视频;所述静态图片、组成视频的图片或视频包括人脸的一个或者多个部位的图像。
在本公开一些实施例中,所述人脸的一个或者多个部位为人脸面部肌肉,嘴唇,眼部,眉毛,鼻子,额头,耳朵及其组合。
在本公开一些实施例中,所述多维向量为情绪向量,其包括的每个元素表示人脸的一种情绪,该情绪包括愤怒,高兴,痛苦,沮丧,困倦或疑惑。
在本公开一些实施例中,所述情绪向量的每个元素的值为0和1之间的数,数值大小表示这一元素对应的情绪出现的概率;或所述情绪向量的每个元素的值为任意大于等于0的数,数值大小表示这一元素对应的情绪的强度;或所述情绪向量的一元素值为1,其余元素的值为0,这一情绪向量表示最显著的一情绪。
在本公开一些实施例中,所述的信息处理装置,还包括:转换模块,用于将多维向量转换为输出;该输出包括控制指令,数据,标签,或图片。
在本公开一些实施例中,所述控制指令包括鼠标单击/双击拖动、触摸屏的单点/多点/滑动、开关的开/关、快捷键。
在本公开一些实施例中,所述存储单元用于输入n个图像,每个图像对应一个真实情绪向量;n为大于等于1的正整数;所述数据处理单元用于接收所述n个图像,计算出与输入相同格式的输出情绪向量,即预测情绪向量,并根据预测情绪向量与真实情绪向量的对比结果更新所述信息处理装置的参数。
在本公开一些实施例中,所述数据处理单元采用欧式距离或内积的绝对值法对所述预测情绪向量与真实情绪向量进行对比。
在本公开一些实施例中,所述信息处理装置为人工神经网络芯片。
在本公开一些实施例中,所述数据处理单元包括:运算单元,用于根据所述存储单元中存储的指令对所述数据执行相应的运算;所述运算单元为标量计算单元,向量计算单元和/或混合计算单元,包括:乘法器,用于将输入其中的数据相乘得到相乘之后的输出;和/或一个或多个加法器,用于将输入其中的数据相加得到输出数据,所述多个加法器构成加法树,用于进行加法树运算,即将输入其中的数据逐级相加得到输出数据;激活函数单元,用于通过激活函数运算得到激活输出数据,该激活函数包括sigmoid、tanh、relu或softmax;以及池化单元,用于将输入数据(in)通过池化运算得到池化操作之后的输出数据(out),即out=pool(in),其中pool为池化操作,池化操作包括平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
在本公开一些实施例中,所述存储单元用于存储数据及指令,该数据包括神经元,权值,图像,及向量;所述信息处理装置还包括:预处理单元,用于对原始输入数据,即一个或多个图像,进行预处理,得到符合人工神经网络预设参数和数据格式的图像数据,所述预处理包括:切分、高斯滤波、二值化、正则化及归一化;指令缓存单元,用于缓存指令;权值缓存单元,用于缓存权值数据;输入神经元缓存单元,用于缓存输入到运算单元的输入神经元;输出神经元缓存单元,用于缓存运算单元输出的输出神经元;控制单元,用于从所述指令缓存单元中读取指令,并将其译码成运算单元指令并输入至运算单元;DMA(DirectMemory Access,直接内存存取),用于在所述存储单元、指令缓存单元、权值缓存单元、输入神经元缓存单元和输出神经元缓存单元中进行数据或者指令读写。
在本公开一些实施例中,所述运算单元包括:短位浮点数模块,用于进行正向计算;该短位浮点数模块包括:浮点数据统计模块,用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位的长度EL;短位浮点数据转换单元,用于根据所述浮点数据统计模块得到的指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;以及短位浮点数据运算模块,用于在所述浮点数据转换单元将所有所述人工神经网络正向运算中所需的输入、权值和/或偏置数据均采用短位数浮点数据类型表示之后,对所述短位数浮点数据进行人工神经网络正向运算。
在本公开一些实施例中,所述浮点数据统计模块还用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位偏移量offset;所述短位浮点数据转换单元还用于根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换。
在本公开一些实施例中,所述短位浮点数据转换单元包括:运算缓存单元,用于存储所述正向运算的中间结果;数据转换单元,用于将所述运算缓存单元中的数据转换为短位数浮点数据;以及舍入单元,用于对超出短位浮点精度范围的数据进行舍入操作。
在本公开一些实施例中,所述舍入单元包括随机舍入单元、四舍五入单元、向上舍入单元、向下舍入单元以及截断舍入单元。
在本公开一些实施例中,所述随机舍入单元执行如下操作:
Figure BDA0001399802830000041
式中,y表示随机舍入后的短位浮点数据,x表示随机舍入前的32位浮点数据,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
Figure BDA0001399802830000049
表示对原数据x直接截得短位数浮点数据所得的数,w.p.表示概率,即随机舍入获得的数据y为
Figure BDA0001399802830000042
的概率为
Figure BDA0001399802830000043
Figure BDA0001399802830000044
的概率为
Figure BDA0001399802830000045
所述四舍五入单元执行如下操作:
Figure BDA0001399802830000046
式中,y表示四舍五入后的短位浮点数据,x表示四舍五入前的长位浮点数据,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
Figure BDA0001399802830000047
为ε的整数倍,其值为小于或等于x的最大数;
所述向上舍入单元执行如下操作:
Figure BDA0001399802830000048
式中,y表示向上舍入后的短位浮点数据,x表示向上舍入前的长位浮点数据,
Figure BDA0001399802830000051
为ε的整数倍,其值为大于或等于x的最小数,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
所述向下舍入单元执行如下操作:
Figure BDA0001399802830000052
式中,y表示向上舍入后的短位浮点数据,x表示向上舍入前的长位浮点数据,
Figure BDA0001399802830000053
为ε的整数倍,其值为小于或等于x的最大数,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
所述截断舍入单元执行如下操作:
y=[x];
式中,y表示截断舍入后的短位浮点数据,x表示截断舍入前的长位浮点数据,[x]表示对原数据x直接截得短位数浮点数据所得的数。
根据本公开的另一个方面,还提供了一种终端,包括所述的信息处理装置,还包括图像采集装置;所述终端包括台式电脑,智能家居,交通工具或便携式电子设备。
根据本公开的另一个方面,还提供了一种云服务器,包括所述的信息处理装置。
根据本公开的另一个方面,还提供了一种信息处理方法,包括:存储单元接收并存储数据及指令;以及数据处理单元接收所述存储单元发送的数据及指令,对所述数据中包含的关键特征进行提取和运算处理,并根据运算处理结果生成多维向量。
在本公开一些实施例中,所述关键特征包括人脸的动作、表情及其对应的位置。
在本公开一些实施例中,所述输入数据包括一个或多个图像,所述数据处理单元根据运算处理结果为每一图像生成一多维向量。
在本公开一些实施例中,所述图像包括静态图片、组成视频的图片或视频;所述静态图片、组成视频的图片或视频包括人脸的一个或者多个部位的图像。
在本公开一些实施例中,所述人脸的一个或者多个部位为人脸面部肌肉,嘴唇,眼部,眉毛,鼻子,额头,耳朵及其组合。
在本公开一些实施例中,所述多维向量为情绪向量,其包括的每个元素表示人脸的一个情绪,该情绪包括愤怒,高兴,痛苦,沮丧,困倦或疑惑。
在本公开一些实施例中,所述情绪向量的每个元素的值为0和1之间的数,该值表示这一元素对应的情绪出现的概率;或所述情绪向量的每个元素的值为任意大于等于0的数,该值表示这一元素对应的情绪的强度;或所述情绪向量的一元素值为1,其余元素的值为0,这一情绪向量表示最显著的一情绪。
在本公开一些实施例中,所述的信息处理方法,还包括:转换模块将所述多维向量转换为输出;该输出包括控制指令,数据,标签,或图片。
在本公开一些实施例中,所述控制指令包括鼠标单击/双击拖动、触摸屏的单点/多点/滑动、开关的开/关、快捷键。
在本公开一些实施例中,将n个图像输入存储单元,每个图像对应一个真实情绪向量;n为大于等于1的正整数;数据处理单元接收存储单元发送的所述n个图像,计算出与输入相同格式的输出情绪向量,即预测情绪向量,并将所述预测情绪向量与真实情绪向量对比,根据对比结果更新所述信息处理方法的参数。
在本公开一些实施例中,所述数据处理单元采用欧式距离或内积的绝对值法对所述预测情绪向量与真实情绪向量进行对比。
在本公开一些实施例中,数据处理单元的运算单元根据所述存储单元中存储的指令对所述数据执行相应的运算:执行乘法运算,将输入神经元和权值数据相乘;执行加法运算,将所述乘法运算结果通过加法树逐级相加,得到加权和,选择性的对加权和加偏置;执行激活函数运算,得到输出神经元,所述激活函数为sigmoid函数、tanh函数、ReLU函数或softmax函数;执行池化运算,out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
在本公开一些实施例中,所述的信息处理方法还包括:预处理单元对原始输入数据,即一个或多个图像,进行预处理,得到与芯片所使用的人工神经网络的位于最底层的输入层规模相契合的图像数据,其中,所述预处理包括:切分、高斯滤波、二值化、正则化、归一化;输入数据经预处理单元传入存储单元或直接传入存储单元,指令传入存储单元,其中,所述该数据包括神经元,权值,图像,及向量;DMA接收所述存储单元发送的数据,将其分批传入相应的指令缓存单元,输入神经元缓存单元及权值缓存单元;控制单元从所述指令缓存单元中读取指令并进行译码;运算单元接收译码后的指令并根据指令执行相应的运算;运算单元执行神经网络运算至所有数据运算完毕,得到最终运算结果;该最终运算结果由神经网络最后一层的输出神经元得到,神经网络的最终输出层每个神经元对应所述情绪向量的一个元素;将所述最终运算结果传入输出神经元缓存单元中;输出神经元缓存单元将最终运算结果传入DMA,经DMA返回存储单元。
在本公开一些实施例中,运算单元采用短位浮点数模块进行正向计算。
在本公开一些实施例中,所述运算单元采用短位浮点数模块进行正向计算包括:浮点数据统计模块对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位的长度EL;短位浮点数据转换单元根据所述浮点数据统计模块得到的指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;以及短位浮点数据运算模块在所述浮点数据转换单元将所有所述人工神经网络正向运算中所需的输入、权值和/或偏置数据均采用短位数浮点数据类型表示之后,对所述短位数浮点数据进行人工神经网络正向运算。
在本公开一些实施例中,浮点数据统计模块对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位偏移量offset;短位浮点数据转换单元根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL实现长位数浮点数据类型向短位数浮点数据类型的转换。
在本公开一些实施例中,所述短位浮点数据转换单元根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL实现长位数浮点数据类型向短位数浮点数据类型的转换的步骤包括:运算缓存单元存储正向运算的中间结果;数据转换单元将运算缓存单元中的数据转换为短位数浮点数据;以及舍入单元完成对超出短位浮点精度范围的数据进行舍入操作。
在本公开一些实施例中,所述舍入单元包括随机舍入单元、四舍五入单元、向上舍入单元、向下舍入单元以及截断舍入单元。
在本公开一些实施例中,所述随机舍入单元执行如下操作:
Figure BDA0001399802830000081
式中,y表示随机舍入后的短位浮点数据,x表示随机舍入前的32位浮点数据,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL),
Figure BDA0001399802830000082
表示对原数据x直接截得短位数浮点数据所得的数,w.p.表示概率,即随机舍入获得的数据y为
Figure BDA0001399802830000083
的概率为
Figure BDA0001399802830000084
Figure BDA0001399802830000085
的概率为
Figure BDA0001399802830000086
所述四舍五入单元执行如下操作:
Figure BDA0001399802830000087
式中,y表示四舍五入后的短位浮点数据,x表示四舍五入前的长位浮点数据,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
Figure BDA0001399802830000088
为ε的整数倍,其值为小于或等于x的最大数;
所述向上舍入单元执行如下操作:
Figure BDA0001399802830000089
式中,y表示向上舍入后的短位浮点数据,x表示向上舍入前的长位浮点数据,
Figure BDA0001399802830000091
为ε的整数倍,其值为大于或等于x的最小数,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
所述向下舍入单元执行如下操作:
Figure BDA0001399802830000092
式中,y表示向上舍入后的短位浮点数据,x表示向上舍入前的长位浮点数据,
Figure BDA0001399802830000093
为ε的整数倍,其值为小于或等于x的最大数,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
所述截断舍入单元执行如下操作:
y=[x];
式中,y表示截断舍入后的短位浮点数据,x表示截断舍入前的长位浮点数据,[x]表示对原数据x直接截得短位数浮点数据所得的数。
(三)有益效果
从上述技术方案可以看出,本公开信息处理装置及方法至少具有以下有益效果其中之一:
(1)本公开信息处理装置,利用数据处理单元对数据中包含的关键特征进行提取和运算处理,并根据运算处理结果生成多维向量,实现了对人脸的精确,快速识别。
(2)信息处理装置采用人工神经网络芯片,对人脸的识别更精确,快速。
(3)人工神经网络芯片计算能力强大,支持离线运行神经网络,在没有云端服务器协助计算的情况下用户终端/前端离线即可实现人脸识别和相应控制的工作。当芯片联网,获得云端服务器协助计算的时候,芯片计算能力更加强大。
(4)通过对神经网络输入层和最终输出层的设计,实现了对人脸情绪的识别。设计允许整个装置功能可拓展,即通过改变输入输出层的结构或定义来配置具体的功能,使得装置和方法具有很好的移植性,能够用于各种应用场景和设备,大大节省了设计成本。
(5)芯片的自适应性训练使得芯片具有较高的初始精度,同时积累用户的数据自我学习,会逐渐适应用户的脸部特征,不断提高准确率。
(6)人工神经网络芯片中,采用专用的片上缓存(即指令缓存、输入神经元缓存、输出神经元缓存和权值缓存)和专用的人工神经网络运算、访存指令能有效提高运算、访存效率。
(7)人工神经网络芯片中,运算单元采用的加法树运算能对多组权值和输入神经元并行处理,有效提高运算效率。
(8)采用预处理单元,能使输入数据更适于人工神经网络处理,去除输入数据中的噪声和冗余,提高分类、识别精度等。
(9)采用短位浮点数运算单元能够有效减少计算开销,节省运算时间和功耗。
附图说明
图1为根据本公开实施例信息处理装置的第一功能模块示意图。
图2为根据本公开实施例信息处理装置的第二功能模块示意图。
图3为依据本公开实施例信息处理装置的第三功能模块示意图。
图4为依据本公开实施例信息处理装置的第四功能模块示意图。
图5为依据本公开实施例信息处理装置的第五功能模块示意图。
图6为依据本公开实施例信息处理装置的第六功能模块示意图。
图7为依据本公开实施例短位浮点数据转换单元的功能模块示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开作进一步的详细说明。
需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。此外,以下实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本公开。
本公开提供了一种信息处理装置。图1为根据本公开实施例信息处理装置的功能模块示意图,如图1所示,所述信息处理装置,包括:存储单元以及数据处理单元;其中,所述存储单元用于接收并存储输入数据、指令和输出数据,其中输入数据包括一个或多个图像;所述数据处理单元对输入数据中包含的关键特征进行提取和运算处理,并根据运算处理结果给每个图像生成一个多维向量。
其中,所述关键特征包括图像中人脸的动作、表情、关键点位置等,具体形式为神经网络当中的特征图(feature maps)。所述图像包括静态图片、组成视频的图片、或视频等。该静态图片、组成视频的图片、或视频包括人脸的一个或者多个部位的图像。所述人脸的一个或者多个部位为人脸面部肌肉,嘴唇,眼部,眉毛,鼻子,额头,耳朵以及它们的组合等。
所述向量的每个元素代表人脸的一个情绪,例如愤怒,高兴,痛苦,沮丧,困倦,疑惑。所述存储单元还用于在标注n维向量后输出n维向量,即输出计算得到的n维向量。
优选的,所述信息处理装置还包括:转换模块,用于将n维向量转换为相应的输出,输出可以是控制指令,数据(0,1输出),标签(开心,沮丧,等等);图片输出。
其中,所述控制指令可以是鼠标单击双击拖动;触摸屏的单点,多点,滑动;开关的开和关;快捷键。
优选的,所述信息处理装置用于进行自适应性训练,相应的,
存储单元用于输入n个图像,每个图像包括一个标签,每个图像对应一个向量(真实情绪向量);n为大于等于1等正整数;
数据处理单元以这些标定好的数据作为输入,计算出与输入相同格式的输出情绪向量,即预测情绪向量,并与真实情绪向量对比,根据对比结果更新装置的参数。
情绪向量包括n个元素。所述情绪向量的每个元素的取值可以包括以下几种情况:
(1)情绪向量的每个元素的值可以为0和1之间的数(代表某一情绪出现的概率);
(2)情绪向量的每个元素的值也可以是任何大于等于0的数(代表某一情绪的强度);
(3)情绪向量也可以是只有一个元素的值为1,其余元素为的值为0的。这种情况,一个情绪向量就只能代表最显著一种情绪。
具体的,所述预测情绪向量与真实情绪向量对比的方式可以有:求二者欧式距离、内积的绝对值。例如n为3,预测情绪向量为[a1,a2,a3],真实情绪向量为[b1,b2,b3]。二者欧式距离为[(a1-b1)2+(a2-b2)2+(a3-b2)2]1/2。二者内积的绝对值为|a1*b1+a2*b2+a3*b3|。本领域技术人员可以理解的是,此处对比方式并不限于欧式距离及内积的绝对值,也可以采用其他方法。
在本公开的一具体实施例中,如图2所示,所述信息处理装置为人工神经网络芯片。更新装置的参数包括自适应地更新神经网络的参数(权值、偏置等)
其中,人工神经网络芯片的存储单元,用于存储数据和指令,其中所述数据包括输入神经元,输出神经元,权值,图像,向量等等;人工神经网络芯片的数据处理单元包括:运算单元,用于根据所述存储单元中存储的指令对所述数据执行相应的运算;所述运算单元可以为标量计算单元,用于完成标量乘法、标量加法或标量乘加操作;或向量计算单元,用于完成向量乘法、向量加法或向量内积操作;或混合计算单元,用于完成矩阵乘法加法操作、向量内积计算和非线性计算、或卷积计算。所述运算单元执行运算包括神经网络计算。
在一个实施例里,计算单元包括但不仅限于:第一部分乘法器;第二部分一个或者多个加法器(更具体的,第二个部分的加法器组成加法树);第三部分为激活函数单元;和/或第四部分向量处理单元。更具体的,向量处理单元可以处理向量运算和/或池化运算。第一部分将输入数据1(in1)和输入数据2(in2)相乘得到相乘之后的输出(out),过程为:out=in1*in2;第二部分将输入数据in1通过加法器相加得到输出数据(out)。更具体的,第二部分为加法树时,将输入数据in1通过加法树逐级相加得到输出数据(out),其中in1是一个长度为N的向量,N大于1,过程为:out=in1[1]+in1[2]+...+in1[N],和/或将输入数据(in1)通过加法数累加之后和输入数据(in2)相加得到输出数据(out),过程为:out=in1[1]+in1[2]+...+in1[N]+in2,或者将输入数据(in1)和输入数据(in2)相加得到输出数据(out),过程为:out=in1+in2;第三部分将输入数据(in)通过激活函数(active)运算得到激活输出数据(out),过程为:out=active(in),激活函数active可以是sigmoid、tanh、relu、softmax等,除了做激活操作,第三部分可以实现其他的非线性函数,可将将输入数据(in)通过运算(f)得到输出数据(out),过程为:out=f(in)。向量处理单元将输入数据(in)通过池化运算得到池化操作之后的输出数据(out),过程为out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
所述运算单元执行运算包括第一部分是将所述输入数据1和输入数据2相乘,得到相乘之后的数据;和/或第二部分执行加法运算(更具体的,为加法树运算,用于将输入数据1通过加法树逐级相加),或者将所述输入数据1通过和输入数据2相加得到输出数据;和/或第三部分执行激活函数运算,对输入数据通过激活函数(active)运算得到输出数据;和/或第四部分执行池化运算,out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。以上几个部分的运算可以自由选择一个多个部分进行不同顺序的组合,从而实现各种不同功能的运算。
在本公开的一具体实施例中,进一步参照图2所示,所述人工神经网络芯片还可以包括:
控制单元,用于从所述指令缓存中读取指令,并将其译码成运算单元指令并输入至运算单元;
指令缓存单元,用于存储指令;
权值缓存单元,用于缓存权值数据;
输入神经元缓存单元,用于缓存输入到运算单元的输入神经元;
输出神经元缓存单元,用于缓存运算单元输出的输出神经元;
DMA(Direct Memory Access,直接内存存取),用于在所述存储单元、指令缓存、权值缓存、输入神经元缓存和输出神经元缓存中进行数据或者指令读写。
在本公开的一具体实施例中,如图3所示,所述人工神经网络芯片还可以包括:转换单元,与存储单元连接,用于接收第一输出数据(最终输出神经元的数据)并转换成第二输出数据。
由于神经网络对输入图片的格式有要求,例如长、宽、色彩通道等,优选的,在本公开的一具体实施例中,如图4、5所示,人工神经网络芯片还包括:预处理单元,用于对原始输入数据,即一个或多个图像,进行预处理,得到与芯片所使用的人工神经网络的位于最底层的输入层规模相契合的图像数据,以满足神经网络预设参数和数据格式的要求。其中,所述预处理包括:切分、高斯滤波、二值化、正则化、归一化等。
其中,该预处理单元可独立于芯片存在,即一信息处理装置,包括预处理单元和芯片;该预处理单元和芯片如上所述。
在本公开的一具体实施例中,如图6所示,芯片的运算单元可以采用短位浮点数模块进行正向计算,包括浮点数据统计模块、短位浮点数据转换单元和短位浮点数据运算模块。其中
所述浮点数据统计模块用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位的长度EL(exponential length);
所述短位浮点数据转换单元用于根据所述浮点数据统计模块得到的指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;
所述短位浮点数据运算模块用于在所述浮点数据转换单元将所有所述人工神经网络正向运算中所需的输入、权值和/或偏置数据均采用短位数浮点数据类型表示之后,对所述短位数浮点数据进行人工神经网络正向运算。
优选的,所述浮点数据统计模块还用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位偏移量offset;所述短位浮点数据转换单元用于根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换。通过指数位偏移量offset及指数位长度(EL)的设定使得尽可能的扩大可表示的数据范围,由此可以包含输入神经元和权值的所有数据。
更具体的,如图7所示,所述短位浮点数据转换单元包括运算缓存单元31、数据转换单元32、舍入单元33。
其中:运算缓存单元用精度较高的数据类型存储正向运算的中间结果,这是由于在正向运算时,加法或者乘法运算可能会导致数据范围扩大;运算结束后,对超出短位数浮点精度范围的数据,进行舍入操作,接着通过数据转换单元32将缓存区的数据转换为短位数浮点数据。
舍入单元33可以完成对超出短位浮点精度范围的数据进行舍入操作,该单元可以为随机舍入单元、四舍五入单元、向上舍入单元、向下舍入单元、截断舍入单元等,通过不同的舍入单元可以实现对超出短位数浮点精度范围数据进行不同的舍入操作。
随机舍入单元执行如下操作:
Figure BDA0001399802830000151
其中,y表示随机舍入后的短位浮点数据,x表示随机舍入前的32位浮点数据,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
Figure BDA0001399802830000152
表示对原数据x直接截得短位数浮点数据所得的数(类似于对小数做向下取整操作),w.p.表示概率,即随机舍入获得的数据y为
Figure BDA0001399802830000153
的概率为
Figure BDA0001399802830000154
Figure BDA0001399802830000155
的概率为
Figure BDA0001399802830000156
四舍五入单元执行如下操作:
Figure BDA0001399802830000157
其中,y表示四舍五入后的短位浮点数据,x表示四舍五入前的长位浮点数据,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
Figure BDA0001399802830000158
为ε的整数倍,其值为小于或等于x的最大数。
向上舍入单元执行如下操作:
Figure BDA0001399802830000164
其中,y表示向上舍入后的短位浮点数据,x表示向上舍入前的长位浮点数据,
Figure BDA0001399802830000161
为ε的整数倍,其值为大于或等于x的最小数,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
向下舍入单元执行如下操作:
Figure BDA0001399802830000162
其中,y表示向上舍入后的短位浮点数据,x表示向上舍入前的长位浮点数据,
Figure BDA0001399802830000163
为ε的整数倍,其值为小于或等于x的最大数,ε为当前短位数浮点数据表示格式所能表示的最小正整数,即2offset-(X-1-EL)
截断舍入单元执行如下操作:
y=[x];
其中,y表示截断舍入后的短位浮点数据,x表示截断舍入前的长位浮点数据,[x]表示对原数据x直接截得短位数浮点数据所得的数。
另外,所述人工神经网络芯片可用于一终端。该终端除包括人工神经网络芯片之外,还可包括图像采集装置,该图像采集装置可以是摄像头,照相机。该终端可为台式电脑,智能家居,交通工具,便携式电子设备。便携式电子设备为摄像头,手机,笔记本,平板电脑,可穿戴设备等。可穿戴设备包括智能手表,智能手环,智能衣服等。所述人工神经网络芯片也可以用于云端(服务器),这样用户的设备上用到的就只是一个APP,设备将采集到的图像上传,通过本公开信息处理装置计算出输出,再通过用户终端做出响应。
另外,本公开还提供了一种信息处理方法,包括:
存储单元接收输入数据;该输入数据包括一个或多个图像;
数据处理单元对输入数据中包含的关键特征进行提取和处理,并根据处理结果给每个图像生成一个多维向量。
其中,所述关键特征包括图像中人脸的动作、表情、关键点位置等,具体形式为神经网络当中的特征图(feature maps)。所述图像包括静态图片、组成视频的图片、或视频等。该静态图片、组成视频的图片、或视频包括人脸的一个或者多个部位的图像。所述人脸的一个或者多个部位为人脸面部肌肉,嘴唇,眼部,眉毛,鼻子,额头,耳朵以及它们的组合等。
所述多维向量的每个元素代表人脸的一种情绪,例如愤怒,高兴,痛苦,沮丧,困倦,疑惑。进一步的,所述信息处理方法还包括:学习标注数据(已有对应多维向量的图像),以及在学习标注数据后输出多维向量并更新数据处理单元的参数。
更进一步的,所述信息处理方法还包括:将多维向量转换为转换相应的输出;输出可以是控制指令,数据(0,1输出),标签(开心,沮丧等);图片输出。
所述控制指令可以是鼠标单击双击拖动;触摸屏的单点,多点,滑动;开关的开和关;快捷键等。
优选的,所述信息处理方法还包括:进行自适应性训练,具体流程如下:
对存储单元输入n个图像,每个图像包括一个标签,每个图像对应一个向量(真实情绪向量);其中,n为大于等于1等正整数。
数据处理单元以这些标定好的数据作为输入,计算出与输入相同格式的输出情绪向量,即预测情绪向量,并与真实情绪向量对比,根据对比结果更新装置的参数。
其中,所述情绪向量包括n个元素。情绪向量的每个元素的取值可以是以下几种情况:
(1)情绪向量的每个元素的值可以为0-1的自然数(代表某一情绪出现的概率);
(2)情绪向量的每个元素的值也可以是任何大于等于0的数(代表某一情绪的强度);例如,预设表情为[高兴,难过,惊恐],一个勉强的笑脸图像对应的向量可以是[0.5,0.2,0]。
(3)情绪向量也可以是只有一个元素的值为1,其余元素为的值为0的。这种情况,一个情绪向量就只能代表最显著一种情绪。例如,预设表情为[高兴,难过,惊恐],一个明显的笑脸图像对应的向量可以是[1,0,0]。
所述预测情绪向量与真实情绪向量对比的方式可以为:求二者欧式距离、内积的绝对值等。例如:n为3,预测情绪向量为[a1,a2,a3],真实情绪向量为[b1,b2,b3];二者欧式距离为[(a1-b1)2+(a2-b2)2+(a3-b2)2]1/2;二者内积的绝对值为|a1*b1+a2*b2+a3*b3|。本领域技术人员可以理解的是,此处对比方式并不限于欧式距离及内积的绝对值,也可以采用其他方法。
优选的,信息处理装置为人工神经网络芯片。情绪向量的每个元素的值可以为0和1之间的数(代表某一情绪出现的概率),由于人的情绪可以是叠加的,所以在这种情绪向量中可以有多个不为0的数,以表达复杂的情绪。
在本公开的一具体实施例中,人工神经网络芯片得到情绪向量的方法包括:神经网络的最终输出层每个神经元对应情绪向量的一个元素,输出的神经元值为0和1之间的数,作为该种情绪的出现概率。计算出上述情绪向量的过程整体如下:
步骤S1,输入数据经预处理单元传入存储单元或直接传入存储单元;
步骤S2,DMA将其分批传入相应的片上缓存(即指令缓存,输入神经元缓存,权值缓存)中;
步骤S3,控制单元从指令缓存中读取指令,将其译码后传入运算单元;
步骤S4,根据指令,运算单元执行相应的运算:在神经网络的各个层中,运算主要分为三步:子步骤S41,将对应的输入神经元和权值相乘;子步骤S42,执行加法树运算,即将子步骤S41的结果通过加法树逐级相加,得到加权和,根据需要对加权和加偏置或不做处理;子步骤S43,对子步骤S42得到的结果执行激活函数运算,得到输出神经元,并将其传入输出神经元缓存中;
步骤S5,重复步骤S2到步骤S4,直到所有数据运算完毕,即得到功能需求的最终结果。其中所述最终结果由神经网络最后一层的输出神经元得到,神经网络的最终输出层每个神经元对应情绪向量的一个元素,输出的神经元值为0和1之间的数,作为该种情绪的出现概率。最终结果从运算单元输出到输出神经元缓存中,然后经DMA返回存储单元。
根据所述功能需求:需要在自适应训练阶段预设情绪向量大小(即表情种类,也是人工神经网络最终输出层的神经元个数)、与训练数据的真实情绪向量的对比形式(欧式距离、内积等)和网络参数更新方式(随机梯度下降、Adam算法等)。
情绪向量也可以只有一个元素的值为1,其余元素为的值为0。这种情况,一个情绪向量就只能代表最显著的一种情绪。
在本公开的一具体实施例中,人工神经网络芯片得到情绪向量的方法包括:神经网络的最终输出层每个神经元对应情绪向量的一个元素,但只有一个神经元输出为1,其余神经元输出为0。计算出上述情绪向量的整体过程为:
步骤S1,输入数据经预处理单元传入存储单元或直接传入存储单元;
步骤S2,DMA(Direct Memory Access,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;
步骤S3,控制单元从指令缓存中读取指令,将其译码后传入运算单元;
步骤S4,根据指令,运算单元执行相应的运算:在神经网络的各个层中,运算主要分为三步:子步骤S41,将对应的输入神经元和权值相乘;子步骤S42,执行加法树运算,即将子步骤S41的结果通过加法树逐级相加,得到加权和,根据需要对加权和加偏置或不做处理;子步骤S43,对子步骤S42得到的结果执行激活函数运算,得到输出神经元,并将其传入输出神经元缓存中。
步骤S5,重复步骤S2到步骤S4,直到所有数据运算完毕,即得到功能需求的最终结果。其中所述最终结果由神经网络最后一层的输出神经元得到,神经网络的最终输出层每个神经元对应情绪向量的一个元素,但只有一个神经元输出为1,其余神经元输出为0。最终结果从运算单元输出到输出神经元缓存中,然后经DMA返回存储单元。
根据所述功能需求:需要在自适应训练阶段预设情绪向量大小(即表情种类,也是人工神经网络最终输出层的神经元个数)、与训练数据的真实情绪向量的对比形式(欧式距离、内积等)和网络参数更新方式(随机梯度下降、Adam算法等);此外该例的训练用到的真实情绪向量与例1不同,应当也是[1,0,0,0…]这样的“指示”向量。
本公开中,各功能单元/模块都是硬件,比如该硬件可以是电路,包括数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器等等。所述计算装置中的计算模块可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如RRAM,DRAM,SRAM,EDRAM,HBM,HMC等等。
另外,本公开神经网络可以是卷积神经网络,还可以是全连接神经网络、RBM神经网络、及循环神经网络(RNN,Recurrent Neural Networks)等。在另外一些实施例中,针对的计算可以是卷积计算之外的其他神经网络中的操作,如全连接等。
以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (32)

1.一种信息处理装置,包括:
存储单元,用于接收并存储数据及指令;以及
数据处理单元,与所述存储单元连接,所述数据处理单元包括运算单元,用于接收所述存储单元发送的数据及指令,对所述数据中包含的关键特征进行提取和运算处理,并根据运算处理结果生成多维向量;
其中,所述运算单元为标量计算单元或向量计算单元或混合计算单元,所述标量计算单元用于完成标量乘法、或标量加法、或标量乘加操作;所述向量计算单元用于完成向量乘法、或向量加法、或向量内积操作;所述混合计算单元用于完成矩阵乘法加法操作、或向量内积计算、或非线性计算、或卷积计算;
所述运算单元包括:
浮点数据统计模块,用于对人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位的长度EL;
短位浮点数据转换单元,用于根据所述浮点数据统计模块得到的指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;
其中,所述多维向量为情绪向量,其包括多个元素,每个元素表示人脸的一种情绪;所述情绪向量的每个元素的值表征这一元素对应的情绪出现的概率或强度;所述多维向量表征人脸的多个情绪的叠加。
2.根据权利要求1所述的信息处理装置,其中,所述关键特征包括人脸的动作、表情及其对应的位置。
3.根据权利要求1或2所述的信息处理装置,其中,所述存储单元接收并存储的数据包括输入数据,所述输入数据包括一个或多个图像,所述数据处理单元根据运算处理结果为每一图像生成一多维向量。
4.根据权利要求3所述的信息处理装置,其中,所述图像包括静态图片、组成视频的图片或视频;所述静态图片、组成视频的图片或视频包括人脸的一个或者多个部位的图像。
5.根据权利要求3所述的信息处理装置,其中,所述人脸的一个或者多个部位为人脸面部肌肉,嘴唇,眼部,眉毛,鼻子,额头,耳朵或其组合。
6.根据权利要求1至2或4至5中任一项所述的信息处理装置,其中,所述情绪包括愤怒,高兴,痛苦,沮丧,困倦或疑惑。
7.根据权利要求6所述的信息处理装置,其中,所述情绪向量的每个元素的值为0和1之间的数,数值大小表示这一元素对应的情绪出现的概率;或所述情绪向量的每个元素的值为任意大于等于0的数,数值大小表示这一元素对应的情绪的强度;或所述情绪向量的一元素值为1,其余元素的值为0,这一情绪向量表示最显著的一情绪。
8.根据权利要求1至2或4至5中任一项所述的信息处理装置,还包括:
转换模块,用于将多维向量转换为输出;该输出包括控制指令,数据,标签,或图片。
9.根据权利要求8所述的信息处理装置,其中,所述控制指令包括鼠标单击/双击拖动、触摸屏的单点/多点/滑动、开关的开/关、快捷键、或上述一个或者多个的组合。
10.根据权利要求1所述的信息处理装置,其中,
所述存储单元用于输入n个图像,每个图像对应一个真实情绪向量;n为大于等于1的正整数;
所述数据处理单元用于接收所述n个图像,计算出与输入相同格式的输出情绪向量,即预测情绪向量,并根据预测情绪向量与真实情绪向量的对比结果更新所述信息处理装置的参数。
11.根据权利要求10所述的信息处理装置,其中,所述数据处理单元采用欧式距离或内积的绝对值法对所述预测情绪向量与真实情绪向量进行对比。
12.根据权利要求1所述的信息处理装置,其中,所述信息处理装置为人工神经网络芯片。
13.根据权利要求12所述的信息处理装置,其中,
所述运算单元还包括:
乘法器,用于将输入其中的数据相乘得到相乘之后的输出;和/或
一个或多个加法器,用于将输入其中的数据相加得到输出数据,所述多个加法器构成加法树,用于进行加法树运算,即将输入其中的数据逐级相加得到输出数据;
激活函数单元,用于通过激活函数运算得到激活输出数据,该激活函数包括sigmoid、tanh、relu或softmax。
14.根据权利要求13所述的信息处理装置,其中,所述存储单元用于存储数据及指令,该数据包括神经元,权值,图像,及向量;所述信息处理装置还包括:
预处理单元,用于对原始输入数据,即一个或多个图像,进行预处理,得到符合人工神经网络预设参数和数据格式的图像数据,所述预处理包括:切分、高斯滤波、二值化、正则化及归一化;
指令缓存单元,用于缓存指令;
权值缓存单元,用于缓存权值数据;
输入神经元缓存单元,用于缓存输入到运算单元的输入神经元;
输出神经元缓存单元,用于缓存运算单元输出的输出神经元;
控制单元,用于从所述指令缓存单元中读取指令,并将其译码成运算单元指令并输入至运算单元;
DMA,用于在所述存储单元、指令缓存单元、权值缓存单元、输入神经元缓存单元和输出神经元缓存单元中进行数据或者指令读写。
15.根据权利要求1所述的信息处理装置,其中,所述浮点数据统计模块还用于对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位偏移量offset;所述短位浮点数据转换单元还用于根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换。
16.根据权利要求1或15所述的信息处理装置,其中,所述短位浮点数据转换单元包括:
运算缓存单元,用于存储所述正向运算的中间结果;
数据转换单元,用于将所述运算缓存单元中的数据转换为短位数浮点数据;
以及舍入单元,用于对超出短位浮点精度范围的数据进行舍入操作。
17.一种电子设备,包括如权利要求12至16中任一项所述的信息处理装置,所述电子设备包括终端或云服务器,所述终端包括台式电脑,智能家居,交通工具或便携式电子设备。
18.一种信息处理方法,包括:
存储单元接收并存储数据及指令;以及
数据处理单元接收所述存储单元发送的数据及指令,对所述数据中包含的关键特征进行提取和运算处理,并根据运算处理结果生成多维向量;
其中,所述运算处理为标量计算或向量计算或混合计算,所述标量计算包括标量乘法、或标量加法、或标量乘加操作;所述向量计算包括向量乘法、或向量加法、或向量内积操作;所述混合计算包括矩阵乘法加法操作、或向量内积计算、或非线性计算、或卷积计算;
所述运算处理包括正向计算,所述正向计算包括:浮点数据统计模块对人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位的长度EL;短位浮点数据转换单元根据所述浮点数据统计模块得到的指数位的长度EL来实现长位数浮点数据类型向短位数浮点数据类型的转换;
其中,所述多维向量为情绪向量,其包括多个元素,每个元素表示人脸的一种情绪;所述情绪向量的每个元素的值表征这一元素对应的情绪出现的概率或强度;所述多维向量表征人脸的多个情绪的叠加。
19.根据权利要求18所述的信息处理方法,其中,所述关键特征包括人脸的动作、表情及其对应的位置。
20.根据权利要求18或19所述的信息处理方法,其中,所述存储单元接收并存储的数据包括输入数据,所述输入数据包括一个或多个图像,所述数据处理单元根据运算处理结果为每一图像生成一多维向量。
21.根据权利要求20所述的信息处理方法,其中,所述图像包括静态图片、组成视频的图片或视频;所述静态图片、组成视频的图片或视频包括人脸的一个或者多个部位的图像。
22.根据权利要求21所述的信息处理方法,其中,所述人脸的一个或者多个部位为人脸面部肌肉,嘴唇,眼部,眉毛,鼻子,额头,耳朵及其组合。
23.根据权利要求21或22所述的信息处理方法,其中,所述情绪包括愤怒,高兴,痛苦,沮丧,困倦或疑惑。
24.根据权利要求23所述的信息处理方法,其中,所述情绪向量的每个元素的值为0和1之间的数,该值表示这一元素对应的情绪出现的概率;或所述情绪向量的每个元素的值为任意大于等于0的数,该值表示这一元素对应的情绪的强度;或所述情绪向量的一元素值为1,其余元素的值为0,这一情绪向量表示最显著的一情绪。
25.根据权利要求18所述的信息处理方法,还包括:
转换模块将所述多维向量转换为输出;该输出包括控制指令,数据,标签,或图片。
26.根据权利要求25所述的信息处理方法,其中,所述控制指令包括鼠标单击/双击拖动、触摸屏的单点/多点/滑动、开关的开/关、快捷键、或其组合。
27.根据权利要求18所述的信息处理方法,其中,
将n个图像输入存储单元,每个图像对应一个真实情绪向量;n为大于等于1的正整数;
数据处理单元接收存储单元发送的所述n个图像,计算出与输入相同格式的输出情绪向量,即预测情绪向量,并将所述预测情绪向量与真实情绪向量对比,根据对比结果更新所述信息处理方法的参数。
28.根据权利要求27所述的信息处理方法,其中,所述数据处理单元采用欧式距离或内积的绝对值法对所述预测情绪向量与真实情绪向量进行对比。
29.根据权利要求18所述的信息处理方法,其中,
数据处理单元的运算单元根据所述存储单元中存储的指令对所述数据执行相应的运算:
执行乘法运算,将输入神经元和权值数据相乘;
执行加法运算,将所述乘法运算结果通过加法树逐级相加,得到加权和,选择性的对加权和加偏置;及
执行激活函数运算,得到输出神经元,所述激活函数为sigmoid函数、tanh函数、ReLU函数或softmax函数。
30.根据权利要求29所述的信息处理方法,还包括:
预处理单元对原始输入数据,即一个或多个图像,进行预处理,得到与芯片所使用的人工神经网络的位于最底层的输入层规模相契合的图像数据,其中,所述预处理包括:切分、高斯滤波、二值化、正则化、归一化;
输入数据经预处理单元传入存储单元或直接传入存储单元,指令传入存储单元,其中,所述输入数据包括神经元,权值,图像,及向量;
DMA接收所述存储单元发送的数据,将其分批传入相应的指令缓存单元,输入神经元缓存单元及权值缓存单元;
控制单元从所述指令缓存单元中读取指令并进行译码;
运算单元接收译码后的指令并根据指令执行相应的运算;
运算单元执行神经网络运算至所有数据运算完毕,得到最终运算结果;该最终运算结果由神经网络最后一层的输出神经元得到,神经网络的最终输出层每个神经元对应所述情绪向量的一个元素;
将所述最终运算结果传入输出神经元缓存单元中;
输出神经元缓存单元将最终运算结果传入DMA,经DMA返回存储单元。
31.根据权利要求18所述的信息处理方法,其中,
浮点数据统计模块对所述人工神经网络正向运算所需的各个类型的数据进行统计分析,得到指数位偏移量offset;
短位浮点数据转换单元根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL实现长位数浮点数据类型向短位数浮点数据类型的转换。
32.根据权利要求31所述的信息处理方法,其中,
所述短位浮点数据转换单元根据所述浮点数据统计模块得到的所述指数位偏移量offset及指数位的长度EL实现长位数浮点数据类型向短位数浮点数据类型的转换的步骤包括:
运算缓存单元存储正向运算的中间结果;
数据转换单元将运算缓存单元中的数据转换为短位数浮点数据;
以及舍入单元完成对超出短位浮点精度范围的数据进行舍入操作。
CN201710793531.4A 2017-07-05 2017-09-06 信息处理装置及方法 Active CN107578014B (zh)

Priority Applications (11)

Application Number Priority Date Filing Date Title
CN201710793531.4A CN107578014B (zh) 2017-09-06 2017-09-06 信息处理装置及方法
CN202010617408.9A CN111553473B (zh) 2017-07-05 2018-07-05 数据冗余方法及执行数据冗余方法的神经网络处理器
CN201880001841.0A CN109478144B (zh) 2017-07-05 2018-07-05 一种数据处理装置和方法
EP19217773.1A EP3660739A1 (en) 2017-07-05 2018-07-05 Data processing apparatus and method
EP18828801.3A EP3637258A4 (en) 2017-07-05 2018-07-05 DATA PROCESSING APPARATUS AND METHOD
EP19218378.8A EP3660629B1 (en) 2017-07-05 2018-07-05 Data processing apparatus and method
PCT/CN2018/094710 WO2019007406A1 (zh) 2017-07-05 2018-07-05 一种数据处理装置和方法
US16/698,997 US11307865B2 (en) 2017-09-06 2019-11-28 Data processing apparatus and method
US16/698,992 US11307864B2 (en) 2017-07-05 2019-11-28 Data processing apparatus and method
US16/698,996 US20200110635A1 (en) 2017-07-05 2019-11-28 Data processing apparatus and method
US16/698,993 US11086634B2 (en) 2017-07-05 2019-11-28 Data processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710793531.4A CN107578014B (zh) 2017-09-06 2017-09-06 信息处理装置及方法

Publications (2)

Publication Number Publication Date
CN107578014A CN107578014A (zh) 2018-01-12
CN107578014B true CN107578014B (zh) 2020-11-03

Family

ID=61029956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710793531.4A Active CN107578014B (zh) 2017-07-05 2017-09-06 信息处理装置及方法

Country Status (2)

Country Link
US (1) US11307865B2 (zh)
CN (1) CN107578014B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885314B2 (en) * 2018-01-22 2021-01-05 Kneron Inc. Face identification system and face identification method with high security level and low power consumption
CN111626413A (zh) * 2018-03-14 2020-09-04 上海寒武纪信息科技有限公司 一种计算装置及方法
CN109063826B (zh) * 2018-03-19 2019-05-31 重庆大学 一种基于忆阻器的卷积神经网络实现方法
CN109508727B (zh) * 2018-04-23 2021-07-16 北京航空航天大学 一种基于加权欧氏距离的度量功能间相似性的方法
CN108639882B (zh) * 2018-05-03 2020-02-04 中国科学院计算技术研究所 基于lstm网络模型的处理芯片与包含其的运算装置
US11663461B2 (en) * 2018-07-05 2023-05-30 International Business Machines Corporation Instruction distribution in an array of neural network cores
CN109117741A (zh) * 2018-07-20 2019-01-01 苏州中德宏泰电子科技股份有限公司 离线待检测对象识别方法与装置
CN109165728B (zh) * 2018-08-06 2020-12-18 浪潮集团有限公司 一种卷积神经网络的基本计算单元及计算方法
CN111209245B (zh) * 2018-11-21 2021-11-16 上海寒武纪信息科技有限公司 数据处理装置、方法及相关产品
CN109359734B (zh) * 2018-10-24 2021-10-26 电子科技大学 一种基于忆阻器单元的神经网络突触结构及其调节方法
CN109697500B (zh) * 2018-12-29 2020-06-09 中科寒武纪科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN111831543A (zh) * 2019-04-18 2020-10-27 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
CN110135563B (zh) * 2019-05-13 2022-07-26 北京航空航天大学 一种卷积神经网络二值化方法及运算电路
CN110364232B (zh) * 2019-07-08 2021-06-11 河海大学 一种基于忆阻器-梯度下降法神经网络的高性能混凝土强度预测方法
US11592984B2 (en) * 2020-09-11 2023-02-28 Seagate Technology Llc Onboard machine learning for storage device
US11748251B2 (en) * 2021-01-08 2023-09-05 Microsoft Technology Licensing, Llc Storing tensors in memory based on depth
US20230385624A1 (en) * 2022-05-27 2023-11-30 Arizona Board Of Regents On Behalf Of Arizona State University Computing in memory with artificial neurons

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175535A (ja) * 1997-12-08 1999-07-02 Hitachi Ltd 画像検索方法およびその装置およびこれを利用した検索サービス
CN106372622A (zh) * 2016-09-30 2017-02-01 北京奇虎科技有限公司 一种人脸表情分类方法及装置
CN106649890A (zh) * 2017-02-07 2017-05-10 税云网络科技服务有限公司 数据存储方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016884B2 (en) * 2002-06-27 2006-03-21 Microsoft Corporation Probability estimate for K-nearest neighbor
JP4845755B2 (ja) 2007-01-30 2011-12-28 キヤノン株式会社 画像処理装置、画像処理方法、プログラム及び記憶媒体
US8219438B1 (en) * 2008-06-30 2012-07-10 Videomining Corporation Method and system for measuring shopper response to products based on behavior and facial expression
US8656145B2 (en) 2008-09-19 2014-02-18 Qualcomm Incorporated Methods and systems for allocating interrupts in a multithreaded processor
CN101547144B (zh) 2008-12-29 2011-11-23 华为技术有限公司 一种提高数据传输质量的方法和装置
US8255774B2 (en) 2009-02-17 2012-08-28 Seagate Technology Data storage system with non-volatile memory for error correction
CN102314213B (zh) 2010-07-09 2016-03-30 精英电脑股份有限公司 动态调整工作频率的计算机系统
US9082235B2 (en) * 2011-07-12 2015-07-14 Microsoft Technology Licensing, Llc Using facial data for device authentication or subject identification
CN103258204B (zh) * 2012-02-21 2016-12-14 中国科学院心理研究所 一种基于Gabor和EOH特征的自动微表情识别方法
US20140089699A1 (en) 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US8861270B2 (en) 2013-03-11 2014-10-14 Microsoft Corporation Approximate multi-level cell memory operations
US9104907B2 (en) * 2013-07-17 2015-08-11 Emotient, Inc. Head-pose invariant recognition of facial expressions
US9443167B2 (en) * 2013-08-02 2016-09-13 Emotient, Inc. Filter and shutter based on image emotion content
US9684559B1 (en) 2014-04-25 2017-06-20 Altera Corporation Methods and apparatus for storing error correction information on a memory controller circuit
GB2529670A (en) 2014-08-28 2016-03-02 Ibm Storage system
US9552510B2 (en) 2015-03-18 2017-01-24 Adobe Systems Incorporated Facial expression capture for character animation
US9600715B2 (en) 2015-06-26 2017-03-21 Intel Corporation Emotion detection system
CN106991477B (zh) * 2016-01-20 2020-08-14 中科寒武纪科技股份有限公司 一种人工神经网络压缩编码装置和方法
CN111353588B (zh) 2016-01-20 2024-03-05 中科寒武纪科技股份有限公司 用于执行人工神经网络反向训练的装置和方法
CN107704433A (zh) 2016-01-20 2018-02-16 南京艾溪信息科技有限公司 一种矩阵运算指令及其方法
CN106201651A (zh) 2016-06-27 2016-12-07 鄞州浙江清华长三角研究院创新中心 神经形态芯片的模拟器
CN106775977B (zh) 2016-12-09 2020-06-02 北京小米移动软件有限公司 任务调度方法、装置及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175535A (ja) * 1997-12-08 1999-07-02 Hitachi Ltd 画像検索方法およびその装置およびこれを利用した検索サービス
CN106372622A (zh) * 2016-09-30 2017-02-01 北京奇虎科技有限公司 一种人脸表情分类方法及装置
CN106649890A (zh) * 2017-02-07 2017-05-10 税云网络科技服务有限公司 数据存储方法和装置

Also Published As

Publication number Publication date
US11307865B2 (en) 2022-04-19
US20200104573A1 (en) 2020-04-02
CN107578014A (zh) 2018-01-12

Similar Documents

Publication Publication Date Title
CN107578014B (zh) 信息处理装置及方法
CN109478144B (zh) 一种数据处理装置和方法
Mungra et al. PRATIT: a CNN-based emotion recognition system using histogram equalization and data augmentation
CN109559300A (zh) 图像处理方法、电子设备及计算机可读存储介质
JP7224447B2 (ja) 符号化方法、装置、機器およびプログラム
CN111105017B (zh) 神经网络量化方法、装置及电子设备
CN112613581A (zh) 一种图像识别方法、系统、计算机设备和存储介质
CN108073851B (zh) 一种抓取手势识别的方法、装置及电子设备
Santhalingam et al. Sign language recognition analysis using multimodal data
CN113449573A (zh) 一种动态手势识别方法及设备
CN114581502A (zh) 基于单目图像的三维人体模型联合重建方法、电子设备及存储介质
CN110121719A (zh) 用于深度学习的装置、方法和计算机程序产品
CN114925320B (zh) 一种数据处理方法及相关装置
Cao et al. A dual attention model based on probabilistically mask for 3D human motion prediction
CN114612681A (zh) 基于gcn的多标签图像分类方法、模型构建方法及装置
Aksoy et al. Detection of Turkish sign language using deep learning and image processing methods
CN112668543B (zh) 一种手模型感知的孤立词手语识别方法
Tian et al. Gesture image recognition method based on DC-Res2Net and a feature fusion attention module
CN116246110A (zh) 基于改进胶囊网络的图像分类方法
CN113420783B (zh) 一种基于图文匹配的智能人机交互方法及装置
CN110826726B (zh) 目标处理方法、目标处理装置、目标处理设备及介质
CN113887501A (zh) 行为识别方法、装置、存储介质及电子设备
CN112801283A (zh) 一种神经网络模型、动作识别方法、装置及存储介质
CN111931841A (zh) 基于深度学习的树状处理方法、终端、芯片及存储介质
CN111611852A (zh) 一种表情识别模型的训练方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant