Deep Learning for Computer Vision with SAS: An Introduction
()
About this ebook
Deep Learning for Computer Vision with SAS®: An Introduction introduces the pivotal components of deep learning. Readers will gain an in-depth understanding of how to build deep feedforward and convolutional neural networks, as well as variants of denoising autoencoders. Transfer learning is covered to help readers learn about this emerging field. Containing a mix of theory and application, this book will also briefly cover methods for customizing deep learning models to solve novel business problems or answer research questions. SAS programs and data are included to reinforce key concepts and allow readers to follow along with included demonstrations.
Readers will learn how to:
- Define and understand deep learning
- Build models using deep learning techniques and SAS Viya
- Apply models to score (inference) new data
- Modify data for better analysis results
- Search the hyperparameter space of a deep learning model
- Leverage transfer learning using supervised and unsupervised methods
Robert Blanchard
I was born January 26th 1969, Geneva Switzerland. I always say my parents hit the perfect trifecta. I am an Aquarian, born not only in the year and age of Aquarius, but in the country that stands for peace! This mix in turn created my wonderful and adventurous life. My father is American as American can get, minus the French last name. He was born In D.C. Joined the Army after high school and eventually entered the Special Forces. where he did two tours in Vietnam. His father (unfortunately we never met) was Colonel in the Marines. Graduated Annapolis, 1923, Navy cross recipient and fought in both the European and Pacific theaters during WWII. My beautiful mother was born in Venezuela and went to high school in New Jersey where they met and eventually got married and had my much taller brother and I. After a small stint in Florence Italy then Puerto Rico, I ended up in Caracas, Venezuela. I studied at the British School until 5th grade, then was sent to San Antonio military academy in Texas. After three years, I did one year at the Oxford academy in Oxford Connecticut and finished high school in North Miami, Florida. I ended up at Regis College (now University) in Denver Colorado and did my Masters in Architecture at C.U. (University of Colorado). So how did I get into writing. Well, it is in my blood! My mother was a closet writer and my brother started off with poetry until publishing his self help book 'You Have Chosen To Remember'. So naturally, brothers being brothers, I had to one up him and publish my own book... I always have people ask me how I came to write this novel. And to tell the truth I have been writing it all my life. I was always somewhere else in my mind. In my kindergarden report card it stated that I am a day dreamer and I needed to focus. Who knew I was slowly building the foundation that eventually led here! The turning point for me was one summer as I took a creative writing class in the university, the assignment was to use sexual metaphor in a story, I wrote about my first time flying. That Friday as we all left the class room, the teacher (she was only a few years older) held me back and praised my short story, then asked me out on a date. Writing is a powerful tool! Phoenix project came from countless short story ideas. I have always been a big fan of the movies. Raiders Of The Lost Ark is my all time favorite movie. Along with Star Wars (episodes 4, and 5) Diehard, opened my eyes ...
Related to Deep Learning for Computer Vision with SAS
Related ebooks
Beginning with Deep Learning Using TensorFlow: A Beginners Guide to TensorFlow and Keras for Practicing Deep Learning Principles and Applications Rating: 0 out of 5 stars0 ratingsIntroduction to Statistical and Machine Learning Methods for Data Science Rating: 0 out of 5 stars0 ratingsHands-On Machine Learning Recommender Systems with Apache Spark Rating: 0 out of 5 stars0 ratingsPractical Full Stack Machine Learning: A Guide to Build Reliable, Reusable, and Production-Ready Full Stack ML Solutions Rating: 0 out of 5 stars0 ratingsApache Spark Graph Processing Rating: 0 out of 5 stars0 ratingsData Engineering with dbt: A practical guide to building a cloud-based, pragmatic, and dependable data platform with SQL Rating: 0 out of 5 stars0 ratingsSemantic Knowledge Graphing Third Edition Rating: 0 out of 5 stars0 ratingsLarge Language Models An Introduction: Understanding the Fundamentals and Applications of Generative AI Rating: 0 out of 5 stars0 ratingsDeep Learning for Data Architects: Unleash the power of Python's deep learning algorithms (English Edition) Rating: 0 out of 5 stars0 ratingsData Engineering with Databricks Cookbook: Build effective data and AI solutions using Apache Spark, Databricks, and Delta Lake Rating: 0 out of 5 stars0 ratingsAzure Data Factory Cookbook: A data engineer's guide to building and managing ETL and ELT pipelines with data integration Rating: 0 out of 5 stars0 ratingsUltimate Neural Network Programming with Python Rating: 0 out of 5 stars0 ratings(Excerpts From) Investigating Performance: Design and Outcomes With Xapi Rating: 0 out of 5 stars0 ratingsMachine Learning with Python: Design and Develop Machine Learning and Deep Learning Technique using real world code examples Rating: 0 out of 5 stars0 ratingsHands-on Supervised Learning with Python Rating: 0 out of 5 stars0 ratingsData Mesh: Building Scalable, Resilient, and Decentralized Data Infrastructure for the Enterprise Part 1 Rating: 0 out of 5 stars0 ratingsSql Mastery: The Masterclass Guide to Become an SQL Expert Rating: 0 out of 5 stars0 ratingsEffective Amazon Machine Learning Rating: 0 out of 5 stars0 ratingsThe Lindahl Letter: 3 Years of AI/ML Research Notes Rating: 0 out of 5 stars0 ratingsMathematics for Machine Learning: A Deep Dive into Algorithms Rating: 0 out of 5 stars0 ratingsData Science Fundamentals and Practical Approaches: Understand Why Data Science Is the Next (English Edition) Rating: 0 out of 5 stars0 ratingsDATA MINING and MACHINE LEARNING: CLUSTER ANALYSIS and kNN CLASSIFIERS. Examples with MATLAB Rating: 0 out of 5 stars0 ratingsMachine Learning - A Comprehensive, Step-by-Step Guide to Intermediate Concepts and Techniques in Machine Learning: 2 Rating: 0 out of 5 stars0 ratingsSmarter Data Science: Succeeding with Enterprise-Grade Data and AI Projects Rating: 0 out of 5 stars0 ratings
Intelligence (AI) & Semantics For You
Artificial Intelligence: A Guide for Thinking Humans Rating: 4 out of 5 stars4/5Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 4 out of 5 stars4/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5The Alignment Problem: How Can Machines Learn Human Values? Rating: 4 out of 5 stars4/5Deep Utopia: Life and Meaning in a Solved World Rating: 0 out of 5 stars0 ratingsAlgorithms to Live By: The Computer Science of Human Decisions Rating: 4 out of 5 stars4/5The Secrets of ChatGPT Prompt Engineering for Non-Developers Rating: 5 out of 5 stars5/5Midjourney Mastery - The Ultimate Handbook of Prompts Rating: 5 out of 5 stars5/52084: Artificial Intelligence and the Future of Humanity Rating: 4 out of 5 stars4/5How To Become A Data Scientist With ChatGPT: A Beginner's Guide to ChatGPT-Assisted Programming Rating: 4 out of 5 stars4/5The ChatGPT Revolution: How to Simplify Your Work and Life Admin with AI Rating: 0 out of 5 stars0 ratingsChatGPT For Dummies Rating: 4 out of 5 stars4/5Summary of Super-Intelligence From Nick Bostrom Rating: 4 out of 5 stars4/5ChatGPT Rating: 3 out of 5 stars3/5Impromptu: Amplifying Our Humanity Through AI Rating: 5 out of 5 stars5/5The Business Case for AI: A Leader's Guide to AI Strategies, Best Practices & Real-World Applications Rating: 0 out of 5 stars0 ratingsOur Final Invention: Artificial Intelligence and the End of the Human Era Rating: 4 out of 5 stars4/5Thinking in Algorithms: Strategic Thinking Skills, #2 Rating: 4 out of 5 stars4/5101 Midjourney Prompt Secrets Rating: 3 out of 5 stars3/5Prompt Engineering ; The Future Of Language Generation Rating: 3 out of 5 stars3/5The Roadmap to AI Mastery: A Guide to Building and Scaling Projects Rating: 3 out of 5 stars3/5Writing AI Prompts For Dummies Rating: 0 out of 5 stars0 ratingsAdvances in Financial Machine Learning Rating: 5 out of 5 stars5/5
Reviews for Deep Learning for Computer Vision with SAS
0 ratings0 reviews
Book preview
Deep Learning for Computer Vision with SAS - Robert Blanchard
Chapter 1: Introduction to Deep Learning
Introduction to Neural Networks
Biological Neurons
Mathematical Neurons
Deep Learning
Batch Gradient Descent
Stochastic Gradient Descent
Introduction to ADAM Optimization
Weight Initialization
Regularization
Batch Normalization
Batch Normalization with Mini-Batches
Traditional Neural Networks versus Deep Learning
Deep Learning Actions
Building a Deep Neural Network
Training a Deep Learning CAS Action Model
Demonstration 1: Loading and Modeling Data with Traditional Neural Network Methods
Demonstration 2: Building and Training Deep Learning Neural Networks Using CASL Code
Introduction to Neural Networks
Artificial neural networks mimic key aspects of the brain, in particular, the brain’s ability to learn from experience. In order to understand artificial neural networks, we first must understand some key concepts of biological neural networks, in other words, our own biological brains.
A biological brain has many features that would be desirable in artificial systems, such as the ability to learn or adapt easily to new environments. For example, imagine you arrive at a city in a country that you have never visited. You don’t know the culture or the language. Given enough time, you will learn the culture and familiarize yourself with the language. You will know the location of streets, restaurants, and museums.
The brain is also highly parallel and therefore very fast. It is not equivalent to one processor, but instead it is equivalent to a multitude of millions of processors, all running in parallel. Biological brains can also deal with information that is fuzzy, probabilistic, noisy, or inconsistent, all while being robust, fault tolerant, and relatively small. Although inspired by cognitive science (in particular, neurophysiology), neural networks largely draw their methods from statistical physics (Hertz et al. 1991). There are dozens, if not hundreds, of neural network algorithms.
Biological Neurons
In order to imitate neurons in artificial systems, first their mechanisms needed to be understood. There is still much to be learned, but the key functional aspects of neurons, and even small systems (networks) of neurons, are now known.
Neurons are the fundamental units of cognition, and they are responsible for sending information from the brain to the rest of the body. Neurons have three parts: a cell body, dendrites, and axons. Inputs arrive in the dendrites (short branched structures) and are transmitted to the next neuron in the chain via the axons (a long, thin fiber). Neurons do not actually touch each other but communicate across the gap (called a synaptic gap) using neurotransmitters. These chemicals either excite the receiving neuron, making it more likely to fire,
or they inhibit the neuron, making it less likely to become active. The amount of neurotransmitter released across the gap determines the relative strength of each dendrite’s connection to the receiving neuron. In essence, each synapse weights
the relative strength of its arriving input. The synaptically weighted inputs are summed. If the sum exceeds an adaptable threshold (or bias) value, the neuron sends a pulse down its axon to the other neurons in the network to which it connects.
A key discovery of modern neurophysiology is that synaptic connections are adaptable; they change with experience. The more active the synapse, the stronger the connection becomes. Conversely, synapses with little or no activity fade and, eventually, die off (atrophy). This is thought to be the basis of learning. For example, a study from the University of Wisconsin in 2015 showed that people could begin to see
with their tongue. Attached to the electric grid was a camera that was fastened to the subject’s forehead. The subject was blindfolded. However, within 30 minutes, as their neurons adapted, subjects began to see
with their tongue. Amazing!
Although there are branches of neural network research that attempt to mimic the underlying biological processes in detail, most neural networks do not try to be biologically realistic.
Mathematical Neurons
In a seminal paper with the rather understated title A logical calculus of the ideas immanent in nervous activity,
McCulloch and Pitts (1943) gave birth to the field of artificial neural networks. The fundamental element of a McCulloch-Pitts network is called, unsurprisingly, a McCulloch-Pitts neuron. As in real neurons, each input (xi) is first weighted (wi) and then summed. To mimic a neuron’s threshold functionality, a bias value (w0) is added to the weighted sum, predisposing the neuron to either a positive or negative output value. The result is known as the neuron’s net input:
Notice that this is the classic linear regression equation, where the bias term is the y-intercept and the weight associated with each input is the input’s slope parameter.
The original McCulloch-Pitts neuron’s final output was determined by passing its net input value through a step function (a function that converts a continuous value into a binary output 0 or 1, or a bipolar output -1 or 1), turning each neuron into a linear classifier/discriminator. Modern neurons replace the discontinuous step function used in the McCulloch-Pitts neuron with a continuous function. The continuous nature permits the use of derivatives to explore the parameter space.
The mathematical neuron is considered the cornerstone of a neural network. There are three layers in the basic multilayer perceptron (MLP) neural network:
1. An input layer containing a neuron/unit for each input variable. The input layer neurons have no adjustable parameters (weights). They simply pass the positive or negative input to the next layer.
2. A hidden layer with hidden units (mathematical neurons) that perform a nonlinear transformation of the weighted and summed input activations.
3. An output layer that shapes and combines the nonlinear hidden layer activation values.
A single hidden-layer multilayer perceptron constructs a limited extent region, or bump, of large values surrounded by smaller values (Principe et al. 2000). The intersection of the hyper-planes created by a hidden layer consisting of three hidden units, for example, forms a triangle-shaped bump.
The hidden and output layers must not be connected by a strictly linear function in order to act as separate layers. Otherwise, the multilayer perceptron collapses into a linear perceptron. More formally, if matrix A is the set of weights that transforms input matrix X into the hidden layer output values, and matrix B is the set of weights that transforms the hidden unit output into the final estimates Y, then the linearly connected multilayer network can be represented as Y=B[A(X)]. However, if a single-layer weight matrix C=BA is created, exactly the same output can be obtained from the single-layer network—that is, Y=C(X).
In a two-layer perceptron with k inputs, h1 hidden units in the first hidden layer, and h2 hidden units in the second hidden layer, the number of parameters to be learned is .
The number 1 represents the biased weight W0 in the combination function of each neuron.
Figure 1.1: Multilayer Perceptron
Note: The number of parameters
equations in this book assume that the inputs are interval or ratio level. Each nominal or ordinal input increases k by the number of classes in the variable, minus 1.
Deep Learning
The term deep learning refers to the numerous hidden layers used in a neural network. However, the true essence of deep learning is the methods that enable the increased extraction of information derived from a neural network with more than one hidden layer. Adding more hidden layers to a neural network provides little benefit without deep learning methods that underpin the efficient extraction of information. For example, SAS software has had the capability to build neural networks with many hidden layers using the NEURAL procedure for several decades. However, a case can be made to suggest that SAS has not had deep learning because the key elements that enable learning to persist in the presence of many hidden layers had not been discovered. These elements include the use of the following:
● activation functions that are more resistant to saturation than conventional activation functions
● fast moving gradient-based optimizations such as Stochastic Gradient Descent and ADAM
● weight initializations that consider the amount of incoming information
● new regularization techniques such as dropout and batch normalization
● innovations in distributed computing.
The elements outlined above are included in today’s SAS software and are described below. Needless to say, deep learning has shown impressive promise in solving problems that were previously considered infeasible to solve.
The process of deep learning is to formulate an outcome from engineering new glimpses of the input space, and then reengineering these engineered projections with the next hidden layer. This process is repeated for each hidden layer until the output layers are reached. The output layers reconcile the final layer of incoming hidden unit information to produce a set of outputs. The classic example of this process is facial recognition. The first hidden layer captures shades of the image. The next hidden layer combines the shades to formulate edges. The next hidden layer combines these edges to create projections of ears, mouths, noses, and other distinct aspects that define a human face. The next layer combines these distinct formulations to create a projection of a more complete human face. And so on. A brief comparison of traditional neural networks and deep learning is shown in Table 1.1.
Table 1.1: Traditional Neural Networks versus Deep Learning
Deep learning incorporates activation functions that are more resistant to neuron saturation than conventional activation functions. One of the classic characteristics of traditional neural networks was the infamous use of sigmoidal transformations in hidden units. Sigmoidal transformations are problematic for gradient-based learning because the sigmoid has two asymptotic regions that can saturate (that is, gradient of the output is near zero). The red or deeper shaded