• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • Automotive
    • Connectivity
    • Consumer Electronics
    • Industrial
    • Medical
    • Security
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Videos
    • TI Microcontroller Videos
  • EE Resources
    • DesignFast
    • eBooks / Tech Tips
    • FAQs
    • LEAP Awards
    • Podcasts
    • Webinars
    • White Papers
  • EE Learning Center
    • Design Guides
      • WiFi & the IOT Design Guide
      • Microcontrollers Design Guide
      • State of the Art Inductors Design Guide

Microcontrollers with Neural Networks: What are they?

November 4, 2016 By Scott Thornton

Artificial neural networks (ANNs) are silicon-based processor architectures inspired by, and very simply patterned after, the human brain, which learns by example and “prunes” connections that don’t get used anymore. What exactly is an artificial neural network? Dr. Robert Hecht-Nielson, Adjunct Professor of Electrical and Computer Engineering at USCD, was paraphrased by Maureen Caudill as saying that artificial neural networks are “…a computing system made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs.”[i]

Neural networks have been implemented on 8-bit microcontrollers.[ii] However, the Arduino 101 is a more recent example of a development board that includes an engine with a neural network. The Arduino 101 uses the Curie Module, which in turn has an Intel® Quark™ SE engine. The Intel® Quark™ SE is an Intel® microcontroller (MCU) with a neural network subsystem of 128 neurons. The CurieLibrary accesses the neural network, but neural networks are not programmed in the traditional sense. There is no code created for use with ANNs, which learn by example (from examining data solution sets). ANNs provide a type of decision-making ability that is very much outside the typical experience of traditional architectures.

Neural networks are not programmed like traditional architectures, rather, they “learn.” Sample data sets are fed to the ANN, which learns based on that known good information, rather than being programmed in the traditional sense. Neural networks are especially good at examining a solution set, learning from it, and applying that learning to similar problems. ANNs do not have central processors, but are made up of anywhere from hundreds to millions of neurons in a parallel architecture. Neurons have no central supervising entity, but work collaboratively to arrive at a decision or solution. Individual neurons are like simple “processors” or memory units that remember data and make fundamental decisions based on what they know or have learned. Pattern matching is a common area where ANNs are applied, but so far ANNs have been successfully applied to sensor fusion, machine vision, tracking, surveillance, and adaptive control. ANNs have the benefit of excellent scalability and require little power to operate.

10232016-ann-mcu-fig-1
Figure 1: Initially, neurons are empty and Ready to Learn (RTL). The neural network is composed of N neurons: M neurons are committed and holding a reference pattern and a category value; one neuron is RTL, and N-(M-1) neurons are idle. Source: General Vision. iii

Neural networks are created with layers of neurons, starting with input neurons. Weighed connections between layers of neurons exist, for which “learning” rules adjust connections based on solution sets. The Intel® Quark™ SE has capacity for 128 neurons and each neuron is 128 bytes. The Quark™ SE’s neural network is set up for pattern matching, and thus includes a recognition status of identified, uncertain, or unknown.[iii] The scope of this article is limited to high-level descriptions.

Artificial neural networks are just one part of the field of cognitive computing. ANNs provide a large number of dynamically changing elements (neurons) involved in a complex structure, such that theoretical physicists and mathematicians have found themselves challenged to create new math models to describe the behavior of ANNs.

figure-2-neural-networks
Figure 2: The attributes of the Intel® Curie Module’s neurons. Source: General Vison. iii

Full access to the neural network using an Arduino 101 is available with the purchase of a low-cost CurieNeurons PRO library from General Vision, but a free CurieNeurons library is also available for download at http://www.general-vision.com/products/curieneurons.

[i] Caudill, M. (1991). Naturally intelligent systems. AI Expert, 6, 56 – 61.

[ii] Yang, Yueh-Ru. “A Neural Network Controller for Maximum Power Point Tracking with 8-bit Microcontroller.” 2011 6th IEEE Conference on Industrial Electronics and Applications (2011): n. pag.

[iii] “Presentation of the CurieNeurons on Arduino/Genuino101.” Documentation. General Vision, 6 June 2016. Web. 23 Oct. 2016. https://www.general-vision.com/publications/PR_CurieNeuronsPresentation.pdf

 

You may also like:

  • AIfES (Artificial Intelligence for Embedded Systems)
    Framework allows even Arduino Uno to implement artificial neural networks

  • What’s the future for RISC-V in 5G?
  • artificial intelligence
    Artificial Intelligence, Machine Learning, Deep Learning, and Cognitive Computing
  • FPGA cores
    FPGA cores target deep learning, neural network processing tasks

Filed Under: FAQ, Featured Tagged With: basics, FAQ

Primary Sidebar

DesignFast

Design Fast Logo
Component Selection Made Simple.

Try it Today
design fast globle

EE Training Center Classrooms

EE Classrooms

CURRENT DIGITAL ISSUE

A frequency you can count on There are few constants in life, but what few there are might include death, taxes, and a U.S. grid frequency that doesn’t vary by more than ±0.5 Hz. However, the certainty of the grid frequency is coming into question, thanks to the rising percentage of renewable energy sources that…

Digital Edition Back Issues

Subscribe to our Newsletter

Subscribe to weekly industry news, new product innovations and more.

Subscribe today

RSS Current EDABoard.com discussions

  • DC Motor Speed Control
  • D Flip Flop frequency divider
  • FPGA LVDS with separate clock
  • How do you find the angle made by two isosceles triangles in a kite?
  • Limits of duty cycle for ICM7555 IC?

RSS Current Electro-Tech-Online.com Discussions

  • RF modules which can handle high number of bytes per second
  • we are facing an issue with one-wire communication by using DS2485
  • Are Cross-wind compensation and Road crown compensation functions inputs to LKA function?
  • Component identification.
  • Flickering (candle) LED to trigger 555

Footer

Microcontroller Tips

EE World Online Network

  • DesignFast
  • EE World Online
  • EDA Board Forums
  • Electro Tech Online Forums
  • Connector Tips
  • Analog IC Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • Wire and Cable Tips
  • 5G Technology World

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us
Follow us on Twitter Add us on Facebook Follow us on YouTube  Follow us on Instagram

Copyright © 2022 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy