Book Image

Hands-On Neural Network Programming with C#

By : Matt Cole
Book Image

Hands-On Neural Network Programming with C#

By: Matt Cole

Overview of this book

Neural networks have made a surprise comeback in the last few years and have brought tremendous innovation in the world of artificial intelligence. The goal of this book is to provide C# programmers with practical guidance in solving complex computational challenges using neural networks and C# libraries such as CNTK, and TensorFlowSharp. This book will take you on a step-by-step practical journey, covering everything from the mathematical and theoretical aspects of neural networks, to building your own deep neural networks into your applications with the C# and .NET frameworks. This book begins by giving you a quick refresher of neural networks. You will learn how to build a neural network from scratch using packages such as Encog, Aforge, and Accord. You will learn about various concepts and techniques, such as deep networks, perceptrons, optimization algorithms, convolutional networks, and autoencoders. You will learn ways to add intelligent features to your .NET apps, such as facial and motion detection, object detection and labeling, language understanding, knowledge, and intelligent search. Throughout this book, you will be working on interesting demonstrations that will make it easier to implement complex neural networks in your enterprise applications.
Table of Contents (16 chapters)
13
Activation Function Timings

What this book covers

Chapter 1, A Quick Refresher, give you a basic refresher on neural networks.

Chapter 2, Building our First Neural Network Together, shows what activations are, what their purpose is, and how they appear visually. We will also present a small C# application to visualize each using open source packages such as Encog, Aforge, and Accord.

Chapter 3, Decision Trees and Random Forests, helps you to understand what decision trees and random forests are and how they can be used.

Chapter 4, Face and Motion Detection, will have you use the Accord.Net machine learning framework to connect to your local video recording device and capture real-time images of whatever is within the camera's field of view. Any face in the field of view will be then tracked.

Chapter 5, Training CNNs Using ConvNetSharp, will focus on how to train CNNs with the open source package ConvNetSharp. Examples will be used to illustrate the concepts for the user.

Chapter 6, Training Autoencoders Using RNNSharp, will have you use the autoencoders of the open source package RNNSharp to parse and handle various corpuses of text.

Chapter 7, Replacing Back Propagation with PSO, presents how particle swarm optimization can replace neural network training methods such as back propagation for training a neural network.

Chapter 8, Function Optimizations: How and Why, introduces you to function optimization, which is an integral part of every neural network.

Chapter 9, Finding Optimal Parameters, will show you how to easily find the most optimal parameters for your neural network functions using Numeric and Heuristic Optimization techniques.

Chapter 10, Object Detection with TensorFlowSharp, will expose the reader to the open source package TensorFlowSharp.

Chapter 11, Time Series Prediction and LSTM Using CNTK, will see you using the Microsoft Cognitive Toolkit, formerly known as CNTK, as well as long short-term memory (LSTM), to accomplish time series prediction.

Chapter 12, GRUs Compared to LSTMs, RNNs, and Feedforward Networks, deals with Gated Recurrent Units (GRUs), including how they compare to other types of neural network.

Appendix A, Activation Function Timings, shows different activation functions and their respective plots.

Appendix B, Function Optimization Reference, includes different optimization functions.