The world is ever changing. As a result, many of the systems and phenomena we are interested in evolve over time resulting in time evolving datasets. Timeseries often display any interesting properties and levels of correlation. In this tutorial we will introduce the students to the use of Recurrent Neural Networks and LSTMs to model and forecast different kinds of timeseries.
GitHub: https://github.com/DataForScience/RNN
This is the slide that Terry. T. Um gave a presentation at Kookmin University in 22 June, 2014. Feel free to share it and please let me know if there is some misconception or something.
(http://t-robotics.blogspot.com)
(http://terryum.io)
Genetic Algorithm (GA) is a search-based optimization technique based on the principles of Genetics and Natural Selection. It is frequently used to find optimal or near-optimal solutions to difficult problems which otherwise would take a lifetime to solve. It is frequently used to solve optimization problems, in research, and in machine learning.
Artificial Intelligence (AI), specifically deep learning, is revolutionizing industries, products, and core capabilities by delivering dramatically enhanced experiences. However, the deep neural networks of today use too much memory, compute, and energy. Plus, to make AI truly ubiquitous, networks need to run on the end device within a tight power and thermal budget. One approach to help address these issues is quantization, which attempts to reduce the number of bits used for weight parameters and activation calculations without sacrificing model accuracy. This presentation covers: why quantization is important, existing quantization challenges, Qualcomm AI Research's existing quantization research, and how developers and researchers can take advantage of quantization on Qualcomm Snapdragon.
Knowledge representation and Predicate logicAmey Kerkar
This presentation is specifically designed for the in depth coverage of predicate logic and the inference mechanism :resolution algorithm.
feel free to write to me at : amecop47@gmail.com
This is the slide that Terry. T. Um gave a presentation at Kookmin University in 22 June, 2014. Feel free to share it and please let me know if there is some misconception or something.
(http://t-robotics.blogspot.com)
(http://terryum.io)
Genetic Algorithm (GA) is a search-based optimization technique based on the principles of Genetics and Natural Selection. It is frequently used to find optimal or near-optimal solutions to difficult problems which otherwise would take a lifetime to solve. It is frequently used to solve optimization problems, in research, and in machine learning.
Artificial Intelligence (AI), specifically deep learning, is revolutionizing industries, products, and core capabilities by delivering dramatically enhanced experiences. However, the deep neural networks of today use too much memory, compute, and energy. Plus, to make AI truly ubiquitous, networks need to run on the end device within a tight power and thermal budget. One approach to help address these issues is quantization, which attempts to reduce the number of bits used for weight parameters and activation calculations without sacrificing model accuracy. This presentation covers: why quantization is important, existing quantization challenges, Qualcomm AI Research's existing quantization research, and how developers and researchers can take advantage of quantization on Qualcomm Snapdragon.
Knowledge representation and Predicate logicAmey Kerkar
This presentation is specifically designed for the in depth coverage of predicate logic and the inference mechanism :resolution algorithm.
feel free to write to me at : amecop47@gmail.com
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...Simplilearn
This presentation about backpropagation and gradient descent will cover the basics of how backpropagation and gradient descent plays a role in training neural networks - using an example on how to recognize the handwritten digits using a neural network. After predicting the results, you will see how to train the network using backpropagation to obtain the results with high accuracy. Backpropagation is the process of updating the parameters of a network to reduce the error in prediction. You will also understand how to calculate the loss function to measure the error in the model. Finally, you will see with the help of a graph, how to find the minimum of a function using gradient descent. Now, let’s get started with learning backpropagation and gradient descent in neural networks.
Why Deep Learning?
It is one of the most popular software platforms used for deep learning and contains powerful tools to help you build and implement artificial neural networks.
Advancements in deep learning are being seen in smartphone applications, creating efficiencies in the power grid, driving advancements in healthcare, improving agricultural yields, and helping us find solutions to climate change. With this Tensorflow course, you’ll build expertise in deep learning models, learn to operate TensorFlow to manage neural networks and interpret the results.
And according to payscale.com, the median salary for engineers with deep learning skills tops $120,000 per year.
You can gain in-depth knowledge of Deep Learning by taking our Deep Learning certification training course. With Simplilearn’s Deep Learning course, you will prepare for a career as a Deep Learning engineer as you master concepts and techniques including supervised and unsupervised learning, mathematical and heuristic aspects, and hands-on modeling to develop algorithms. Those who complete the course will be able to:
1. Understand the concepts of TensorFlow, its main functions, operations and the execution pipeline
2. Implement deep learning algorithms, understand neural networks and traverse the layers of data abstraction which will empower you to understand data like never before
3. Master and comprehend advanced topics such as convolutional neural networks, recurrent neural networks, training deep networks and high-level interfaces
4. Build deep learning models in TensorFlow and interpret the results
5. Understand the language and fundamental concepts of artificial neural networks
6. Troubleshoot and improve deep learning models
7. Build your own deep learning project
8. Differentiate between machine learning, deep learning, and artificial intelligence
Learn more at https://www.simplilearn.com/deep-learning-course-with-tensorflow-training
This presentation on Recurrent Neural Network will help you understand what is a neural network, what are the popular neural networks, why we need recurrent neural network, what is a recurrent neural network, how does a RNN work, what is vanishing and exploding gradient problem, what is LSTM and you will also see a use case implementation of LSTM (Long short term memory). Neural networks used in Deep Learning consists of different layers connected to each other and work on the structure and functions of the human brain. It learns from huge volumes of data and used complex algorithms to train a neural net. The recurrent neural network works on the principle of saving the output of a layer and feeding this back to the input in order to predict the output of the layer. Now lets deep dive into this presentation and understand what is RNN and how does it actually work.
Below topics are explained in this recurrent neural networks tutorial:
1. What is a neural network?
2. Popular neural networks?
3. Why recurrent neural network?
4. What is a recurrent neural network?
5. How does an RNN work?
6. Vanishing and exploding gradient problem
7. Long short term memory (LSTM)
8. Use case implementation of LSTM
Simplilearn’s Deep Learning course will transform you into an expert in deep learning techniques using TensorFlow, the open-source software library designed to conduct machine learning & deep neural network research. With our deep learning course, you'll master deep learning and TensorFlow concepts, learn to implement algorithms, build artificial neural networks and traverse layers of data abstraction to understand the power of data and prepare you for your new role as deep learning scientist.
Why Deep Learning?
It is one of the most popular software platforms used for deep learning and contains powerful tools to help you build and implement artificial neural networks.
Advancements in deep learning are being seen in smartphone applications, creating efficiencies in the power grid, driving advancements in healthcare, improving agricultural yields, and helping us find solutions to climate change. With this Tensorflow course, you’ll build expertise in deep learning models, learn to operate TensorFlow to manage neural networks and interpret the results.
And according to payscale.com, the median salary for engineers with deep learning skills tops $120,000 per year.
You can gain in-depth knowledge of Deep Learning by taking our Deep Learning certification training course. With Simplilearn’s Deep Learning course, you will prepare for a career as a Deep Learning engineer as you master concepts and techniques including supervised and unsupervised learning, mathematical and heuristic aspects, and hands-on modeling to develop algorithms. Those who complete the course will be able to:
Learn more at: https://www.simplilearn.com/
Slides for paper reading in VietNam AI Community in Japan
Explanation on MobileNet V2: Inverted Residuals and Linear Bottlenecks, a paper in CVPR 23018
https://github.com/telecombcn-dl/lectures-all/
These slides review techniques for interpreting the behavior of deep neural networks. The talk reviews basic techniques such as the display of filters and tensors, as well as more advanced ones that try to interpret which part of the input data is responsible for the predictions, or generate data that maximizes the activation of certain neurons.
PDF version of slides explains the various optimization algorithms used in deep learning and a comparison between them. It also has a brief about the ICML papers "Descending through a Crowded Valley — Benchmarking Deep Learning Optimizers" and "Optimizer Benchmarking Needs to Account for Hyperparameter Tuning."
If you have any queries, you can reach out to me at @RakshithSathish on Twitter or rakshith-sathish on LinkedIn.
The data deluge we currently witnessing presents both opportunities and challenges. Never before have so many aspects of our world been so thoroughly quantified as now and never before has data been so plentiful. One of the main beneficiaries of the current data glut have been data intensive approaches such as Neural Networks in general and Deep Learning in particular, with many important new practical applications arising in the last couple of years.
In this tutorial we provide a practical introduction to the most important concepts of Neural Networks as we gradually implement simple neural networks from scratch to perform simple tasks such as character recognition. Our emphasis will be on understanding the architecture, training, advantages and pitfalls of practical neural networks.
Participants are expected to have a basic familiarity with calculus and linear algebra as well as working proficiency with the Python programming language.
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...Simplilearn
This presentation about backpropagation and gradient descent will cover the basics of how backpropagation and gradient descent plays a role in training neural networks - using an example on how to recognize the handwritten digits using a neural network. After predicting the results, you will see how to train the network using backpropagation to obtain the results with high accuracy. Backpropagation is the process of updating the parameters of a network to reduce the error in prediction. You will also understand how to calculate the loss function to measure the error in the model. Finally, you will see with the help of a graph, how to find the minimum of a function using gradient descent. Now, let’s get started with learning backpropagation and gradient descent in neural networks.
Why Deep Learning?
It is one of the most popular software platforms used for deep learning and contains powerful tools to help you build and implement artificial neural networks.
Advancements in deep learning are being seen in smartphone applications, creating efficiencies in the power grid, driving advancements in healthcare, improving agricultural yields, and helping us find solutions to climate change. With this Tensorflow course, you’ll build expertise in deep learning models, learn to operate TensorFlow to manage neural networks and interpret the results.
And according to payscale.com, the median salary for engineers with deep learning skills tops $120,000 per year.
You can gain in-depth knowledge of Deep Learning by taking our Deep Learning certification training course. With Simplilearn’s Deep Learning course, you will prepare for a career as a Deep Learning engineer as you master concepts and techniques including supervised and unsupervised learning, mathematical and heuristic aspects, and hands-on modeling to develop algorithms. Those who complete the course will be able to:
1. Understand the concepts of TensorFlow, its main functions, operations and the execution pipeline
2. Implement deep learning algorithms, understand neural networks and traverse the layers of data abstraction which will empower you to understand data like never before
3. Master and comprehend advanced topics such as convolutional neural networks, recurrent neural networks, training deep networks and high-level interfaces
4. Build deep learning models in TensorFlow and interpret the results
5. Understand the language and fundamental concepts of artificial neural networks
6. Troubleshoot and improve deep learning models
7. Build your own deep learning project
8. Differentiate between machine learning, deep learning, and artificial intelligence
Learn more at https://www.simplilearn.com/deep-learning-course-with-tensorflow-training
This presentation on Recurrent Neural Network will help you understand what is a neural network, what are the popular neural networks, why we need recurrent neural network, what is a recurrent neural network, how does a RNN work, what is vanishing and exploding gradient problem, what is LSTM and you will also see a use case implementation of LSTM (Long short term memory). Neural networks used in Deep Learning consists of different layers connected to each other and work on the structure and functions of the human brain. It learns from huge volumes of data and used complex algorithms to train a neural net. The recurrent neural network works on the principle of saving the output of a layer and feeding this back to the input in order to predict the output of the layer. Now lets deep dive into this presentation and understand what is RNN and how does it actually work.
Below topics are explained in this recurrent neural networks tutorial:
1. What is a neural network?
2. Popular neural networks?
3. Why recurrent neural network?
4. What is a recurrent neural network?
5. How does an RNN work?
6. Vanishing and exploding gradient problem
7. Long short term memory (LSTM)
8. Use case implementation of LSTM
Simplilearn’s Deep Learning course will transform you into an expert in deep learning techniques using TensorFlow, the open-source software library designed to conduct machine learning & deep neural network research. With our deep learning course, you'll master deep learning and TensorFlow concepts, learn to implement algorithms, build artificial neural networks and traverse layers of data abstraction to understand the power of data and prepare you for your new role as deep learning scientist.
Why Deep Learning?
It is one of the most popular software platforms used for deep learning and contains powerful tools to help you build and implement artificial neural networks.
Advancements in deep learning are being seen in smartphone applications, creating efficiencies in the power grid, driving advancements in healthcare, improving agricultural yields, and helping us find solutions to climate change. With this Tensorflow course, you’ll build expertise in deep learning models, learn to operate TensorFlow to manage neural networks and interpret the results.
And according to payscale.com, the median salary for engineers with deep learning skills tops $120,000 per year.
You can gain in-depth knowledge of Deep Learning by taking our Deep Learning certification training course. With Simplilearn’s Deep Learning course, you will prepare for a career as a Deep Learning engineer as you master concepts and techniques including supervised and unsupervised learning, mathematical and heuristic aspects, and hands-on modeling to develop algorithms. Those who complete the course will be able to:
Learn more at: https://www.simplilearn.com/
Slides for paper reading in VietNam AI Community in Japan
Explanation on MobileNet V2: Inverted Residuals and Linear Bottlenecks, a paper in CVPR 23018
https://github.com/telecombcn-dl/lectures-all/
These slides review techniques for interpreting the behavior of deep neural networks. The talk reviews basic techniques such as the display of filters and tensors, as well as more advanced ones that try to interpret which part of the input data is responsible for the predictions, or generate data that maximizes the activation of certain neurons.
PDF version of slides explains the various optimization algorithms used in deep learning and a comparison between them. It also has a brief about the ICML papers "Descending through a Crowded Valley — Benchmarking Deep Learning Optimizers" and "Optimizer Benchmarking Needs to Account for Hyperparameter Tuning."
If you have any queries, you can reach out to me at @RakshithSathish on Twitter or rakshith-sathish on LinkedIn.
The data deluge we currently witnessing presents both opportunities and challenges. Never before have so many aspects of our world been so thoroughly quantified as now and never before has data been so plentiful. One of the main beneficiaries of the current data glut have been data intensive approaches such as Neural Networks in general and Deep Learning in particular, with many important new practical applications arising in the last couple of years.
In this tutorial we provide a practical introduction to the most important concepts of Neural Networks as we gradually implement simple neural networks from scratch to perform simple tasks such as character recognition. Our emphasis will be on understanding the architecture, training, advantages and pitfalls of practical neural networks.
Participants are expected to have a basic familiarity with calculus and linear algebra as well as working proficiency with the Python programming language.
Neural networks for word embeddings have received a lot of attention since some Googlers published word2vec in 2013. They showed that the internal state (embeddings) that the neural network learned by "reading" a large corpus of text preserved semantic relations between words.
As a result, this type of embedding started being studied in more detail and applied to more serious Natural Language Processing + NLP and IR tasks such as summarization, query expansion, etc...
In this talk we will cover the intuitions and algorithms underlying word2vec family of algorithms. On the second half of the presentation we will quickly review than basics of tensorflow and analyze in detail the tensorflow reference implementation of word2vec
a paper review. This presentation introduces Abductive Commonsense Reasoning which is the published paper in ICLR 2020. In this paper, the authors use commonsense to generate plausible hypotheses. They generate new data set 'ART' and propose new models for 'aNLI', 'aNLG' using BERT, and GPT.
This was a presentation done for the Techspace of IoT Asia 2017 oon 30th March 2017. This is an introductory session to introduce the concept of Long Short-Term Memory (LSTMs) for the prediction in Time Series. I also shared the Keras code to work out a simple Sin Wave example and a Household power consumption data to use for the predictions. The links for the code can be found in the presentation.
This presentation focuses on Deep Learning (DL) concepts, such as neural networks, backprop, activation functions, and Convolutional Neural Networks, followed by a TypeScript-based code sample that replicates the Tensorflow playground. Basic knowledge of matrices is helpful for this session.
Bitcoin has brought about a true revolution in how we think about money. In one fell stroke it solved the main problems that afflicted previous attempts at a truly digital currency: distributed consensus, double spending, and external attacks. Perhaps more importantly, it provided the first working version of a blockchain or distributed ledger. However, despite their relative simplicity, the underlying concepts on which these technologies are built are not well known and often obscured by hype and technical jargon.
Since the days of Bitcoin’s founding, many other crypto-currencies have been proposed and released. This tutorial will introduce these technologies in an intuitive way for data scientists, explaining their driving algorithms, motivations, and data structures.
As David McCandless famously said “Information Visualization is a form of knowledge compression”. In particular, it is a way of compressing information in a visual way that can be easily and correctly interpreted by the visual system in our brains.
In this tutorial we will discuss the way in which our eyes and visual cortex process colors and shapes and how we may use it to our advantage. Ideas and concepts will be presented in an intuitive and practical way while providing references for the more technical descriptions and explanations available in the relevant scientific literature.
Matplotlib is the workhorse of visualization in Python and underlies all other major Python visualization packages and it it particularly well integrated into the Jupyter ecosystem. Mastering it is a fundamental requirement to be proficient in python data visualization. Seaborn, on the other hand, is a more recent package that builds on top of matplotlib and simplifies it for some of the most common use cases, making it more productive. We will cover both tools through practical examples and highlight the main differences and advantages of each one.
Code and slides available here: https://bmtgoncalves.github.io/DataVisualization/
The advent of large scale online social services coupled with the dissemination of affordable GPS enabled smartphones resulted in the accumulation of massive amounts of data documenting our individual and social behavior. Using large data sets from source such as Twitter, Wikipedia, Google Books and others we will present several recent results on how languages are used across both time and space.
In particular, we will analyze the role of multilinguals in Social Networks and how language dialects can be defined empirically based on the way a language is used in the real world. Finally, we will also analyze how Chinese and English usage changes from place to place and over time and how languages can be used to identify communities within the urban environment.
Word embeddings have received a lot of attention since some Tomas Mikolov published word2vec in 2013 and showed that the embeddings that the neural network learned by “reading” a large corpus of text preserved semantic relations between words. As a result, this type of embedding started being studied in more detail and applied to more serious NLP and IR tasks such as summarization, query expansion, etc… More recently, researchers and practitioners alike have come to appreciate the power of this type of approach and have started a cottage industry of modifying Mikolov’s original approach to many different areas.
In this talk we will cover the implementation and mathematical details underlying tools like word2vec and some of the applications word embeddings have found in various areas. Starting from an intuitive overview of the main concepts and algorithms underlying the neural network architecture used in word2vec we will proceed to discussing the implementation details of the word2vec reference implementation in tensorflow. Finally, we will provide a birds eye view of the emerging field of “2vec" (dna2vec, node2vec, etc...) methods that use variations of the word2vec neural network architecture.
This (long) version of the Tutorial was presented at #O'Reilly AI 2017 in San Francisco. See https://bmtgoncalves.github.io/word2vec-and-friends/ for further details.
Word embeddings have received a lot of attention since some Tomas Mikolov published word2vec in 2013 and showed that the embeddings that the neural network learned by “reading” a large corpus of text preserved semantic relations between words. As a result, this type of embedding started being studied in more detail and applied to more serious NLP and IR tasks such as summarization, query expansion, etc… More recently, researchers and practitioners alike have come to appreciate the power of this type of approach and have started a cottage industry of modifying Mikolov’s original approach to many different areas.
In this talk we will cover the implementation and mathematical details underlying tools like word2vec and some of the applications word embeddings have found in various areas. Starting from an intuitive overview of the main concepts and algorithms underlying the neural network architecture used in word2vec we will proceed to discussing the implementation details of the word2vec reference implementation in tensorflow. Finally, we will provide a birds eye view of the emerging field of “2vec" (dna2vec, node2vec, etc...) methods that use variations of the word2vec neural network architecture.
This (short) version of the Tutorial was presented at #AIWTB https://ai.withthebest.com/. See https://bmtgoncalves.github.io/word2vec-and-friends/ for further details on future (and longer) editions and sign up to http://tinyletter.com/dataforscience for related news and updates.
A practical Introduction to Machine(s) LearningBruno Gonçalves
The data deluge we currently witnessing presents both opportunities and challenges. Never before have so many aspects of our world been so thoroughly quantified as now and never before has data been so plentiful. On the other hand, the complexity of the analyses required to extract useful information from these piles of data is also rapidly increasing rendering more traditional and simpler approaches simply unfeasible or unable to provide new insights.
In this tutorial we provide a practical introduction to some of the most important algorithms of machine learning that are relevant to the field of Complex Networks in general, with a particular emphasis on the analysis and modeling of empirical data. The goal is to provide the fundamental concepts necessary to make sense of the more sophisticated data analysis approaches that are currently appearing in the literature and to provide a field guide to the advantages an disadvantages of each algorithm.
In particular, we will cover unsupervised learning algorithms such as K-means, Expectation-Maximization, and supervised ones like Support Vector Machines, Neural Networks and Deep Learning. Participants are expected to have a basic understanding of calculus and linear algebra as well as working proficiency with the Python programming language.
The increasing availability of huge amounts of data on every aspect of societal and individual behavior has created unprecedented opportunities but it also created new challenges. On one hand, it is now much easier to acquire detailed datasets no practically anything while on the other it is much harder to make sure that our observations and conclusions are well justified and robust. In this short 3h tutorial we will briefly introduce some of the fundamental principles and algorithms of Machine Learning in an intuitive and practical way. Mathematical requirements will be kept to a minimum and short snippets of Python code will be presented to illustrate the application of each algorithm.
We start by very briefly introducing the Twitter platform and detailing the demographics of the users and the biases they introduce. The relationship between geography, mobility and social network properties will be described using the Twitter service as a case study. Finally, tutorial attendees will get the chance to review the most seminal works in the area where spatial and geographic perspectives are highlighted.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
Quantitative Data AnalysisReliability Analysis (Cronbach Alpha) Common Method...2023240532
Quantitative data Analysis
Overview
Reliability Analysis (Cronbach Alpha)
Common Method Bias (Harman Single Factor Test)
Frequency Analysis (Demographic)
Descriptive Analysis
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Round table discussion of vector databases, unstructured data, ai, big data, real-time, robots and Milvus.
A lively discussion with NJ Gen AI Meetup Lead, Prasad and Procure.FYI's Co-Found
Adjusting OpenMP PageRank : SHORT REPORT / NOTESSubhajit Sahu
For massive graphs that fit in RAM, but not in GPU memory, it is possible to take
advantage of a shared memory system with multiple CPUs, each with multiple cores, to
accelerate pagerank computation. If the NUMA architecture of the system is properly taken
into account with good vertex partitioning, the speedup can be significant. To take steps in
this direction, experiments are conducted to implement pagerank in OpenMP using two
different approaches, uniform and hybrid. The uniform approach runs all primitives required
for pagerank in OpenMP mode (with multiple threads). On the other hand, the hybrid
approach runs certain primitives in sequential mode (i.e., sumAt, multiply).
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
Adjusting primitives for graph : SHORT REPORT / NOTESSubhajit Sahu
Graph algorithms, like PageRank Compressed Sparse Row (CSR) is an adjacency-list based graph representation that is
Multiply with different modes (map)
1. Performance of sequential execution based vs OpenMP based vector multiply.
2. Comparing various launch configs for CUDA based vector multiply.
Sum with different storage types (reduce)
1. Performance of vector element sum using float vs bfloat16 as the storage type.
Sum with different modes (reduce)
1. Performance of sequential execution based vs OpenMP based vector element sum.
2. Performance of memcpy vs in-place based CUDA based vector element sum.
3. Comparing various launch configs for CUDA based vector element sum (memcpy).
4. Comparing various launch configs for CUDA based vector element sum (in-place).
Sum with in-place strategies of CUDA mode (reduce)
1. Comparing various launch configs for CUDA based vector element sum (in-place).
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Discussion on Vector Databases, Unstructured Data and AI
https://www.meetup.com/unstructured-data-meetup-new-york/
This meetup is for people working in unstructured data. Speakers will come present about related topics such as vector databases, LLMs, and managing data at scale. The intended audience of this group includes roles like machine learning engineers, data scientists, data engineers, software engineers, and PMs.This meetup was formerly Milvus Meetup, and is sponsored by Zilliz maintainers of Milvus.
2. www.data4sci.com@bgoncalves
The views and opinions expressed in this tutorial are
those of the authors and do not necessarily reflect the
official policy or position of my employer. The
examples provided with this tutorial were chosen for
their didactic value and are not mean to be
representative of my day to day work.
Disclaimer
5. www.data4sci.com@bgoncalves
How the Brain “Works” (Cartoon version)
• Each neuron receives input from other neurons
• 1011 neurons, each with with 104 weights
• Weights can be positive or negative
• Weights adapt during the learning process
• “neurons that fire together wire together” (Hebb)
• Different areas perform different functions using same structure
(Modularity)
7. www.data4sci.com@bgoncalves
Optimization Problem
• (Machine) Learning can be thought of as an optimization
problem.
• Optimization Problems have 3 distinct pieces:
• The constraints
• The function to optimize
• The optimization algorithm.
Neural Network
Prediction Error
Gradient Descent
9. www.data4sci.com@bgoncalves
Activation Function - Sigmoid
(z) =
1
1 + e z
• Non-Linear function
• Differentiable
• non-decreasing
• Compute new sets of features
• Each layer builds up a more abstract
representation of the data
• Perhaps the most common
http://github.com/bmtgoncalves/Neural-Networks
10. www.data4sci.com@bgoncalves
Activation Function - tanh
(z) =
ez
e z
ez + e z
• Non-Linear function
• Differentiable
• non-decreasing
• Compute new sets of features
• Each layer builds up a more abstract
representation of the data
http://github.com/bmtgoncalves/Neural-Networks
11. www.data4sci.com@bgoncalves
Forward Propagation
• The output of a perceptron is determined by a sequence of steps:
• obtain the inputs
• multiply the inputs by the respective weights
• calculate output using the activation function
• To create a multi-layer perceptron, you can simply use the output of
one layer as the input to the next one.
x1
x2
x3
xN
w
1j
w2j
w3j
wN
j
aj
w
0j
1
wT
x
1
w
0k
w
1k
w2k
w3k
wNk
ak
wT
a
a1
a2
aN
12. www.data4sci.com@bgoncalves
Backward Propagation of Errors (BackProp)
• BackProp operates in two phases:
• Forward propagate the inputs and calculate the deltas
• Update the weights
• The error at the output is a weighted average difference between
predicted output and the observed one.
• For inner layers there is no “real output”!
13. www.data4sci.com@bgoncalves
The Cross Entropy is complementary to sigmoid
activation in the output layer and improves its stability.
Loss Functions
• For learning to occur, we must quantify how far off we are from the
desired output. There are two common ways of doing this:
• Quadratic error function:
• Cross Entropy
E =
1
N
X
n
|yn an|
2
J =
1
N
X
n
h
yT
n log an + (1 yn)
T
log (1 an)
i
14. www.data4sci.com@bgoncalves
Gradient Descent
• Find the gradient for each training
batch
• Take a step downhill along the
direction of the gradient
• where is the step size.
• Repeat until “convergence”.
H
✓mn ✓mn ↵
@H
@✓mn
@H
@✓mn
↵
18. www.data4sci.com@bgoncalves
h t = f (xt, h t−1)
Recurrent Neural Network (RNN)
h t Output
h t
Output
Previous
Output
Information
Flow
h t−1
h t = f (xt)
xt Input
19. www.data4sci.com@bgoncalves
Recurrent Neural Network (RNN)
xt
h t
h t−1 h t
xt+ 1
h t+ 1
h t+ 1
xt−1
h t−1
h t−2
• Each output depends (implicitly) on all previous outputs.
• Input sequences generate output sequences (seq2seq)
21. www.data4sci.com@bgoncalves
Timeseries
• Temporal sequence of data points
• Consecutive points are strongly correlated
• Common in statistics, signal processing, econometrics,
mathematical finance, earthquake prediction, etc
• Numeric (real or discrete) or symbolic data
• Supervised Learning problem:
Xt = f (Xt−1, ⋯, Xt−n )
23. www.data4sci.com@bgoncalves
Long-Short Term Memory (LSTM)
xt
h t
ct−1 ct
xt+ 1
h t+ 1
ct+ 1
xt−1
h t−1
ct−2
• What if we want to keep explicit information about previous states
(memory)?
• How much information is kept, can be controlled through gates.
h t−2 h t−1 h t h t+ 1
• LSTMs were first introduced in 1997 by Hochreiter and Schmidhuber
24. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
tanh
25. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
Forget gate:
How much of
the previous
state should
be kept?
tanh
26. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
Input gate:
How much of
the previous
output
should be
remembered? tanh
27. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
Output gate:
How much of
the previous
output
should
contribute?
All gates use
the same
inputs and
activation
functions,
but different
weights
tanh
28. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
Output gate:
How much of
the previous
output
should
contribute? tanh
29. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
State:
Update the
current state
tanh
30. www.data4sci.com@bgoncalves
σ σ
f
g
×
σ
×i o
Long-Short Term Memory (LSTM)
h t
h t
h t−1
xt
ct−1 ct
g = tanh (Wg h t−1 + Ug xt)
ct = (ct−1 ⊗ f) + (g ⊗ i)
h t = tanh (ct) ⊗ o
+×
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
tanh
i = σ (Wih t−1 + Uixt)
f = σ (Wf h t−1 + Uf xt)
o = σ (Wo h t−1 + Uo xt)
Output:
Combine all
available
information.
tanh
36. www.data4sci.com@bgoncalves
Keras
• Open Source neural network library written in Python
• TensorFlow, Microsoft Cognitive Toolkit or Theano backends
• Enables fast experimentation
• Created and maintained by François Chollet, a Google engineer.
• Implements Layers, Objective/Loss functions, Activation
functions, Optimizers, etc…
https://keras.io
37. www.data4sci.com@bgoncalves
Keras
• keras.models.Sequential(layers=None, name=None)- is the
workhorse. You use it to build a model layer by layer. Returns the
object that we will use to build the model
• keras.layers
• Dense(units, activation=None, use_bias=True) - None
means linear activation. Other options are, ’tanh’, ’sigmoid’,
’softmax’, ’relu’, etc.
• Dropout(rate, seed=None)
• Activation(activation) - Same as the activation option to Dense,
can also be used to pass TensorFlow or Theano operations
directly.
• SimpleRNN(units, input_shape, activation='tanh',
use_bias=True, dropout=0.0, return_sequences=False)
• GRU(units, input_shape, activation='tanh', use_bias=True,
dropout=0.0, return_sequences=False)
https://keras.io
38. www.data4sci.com@bgoncalves
Keras
• model = Sequential()
• model.add(layer) - Add a layer to the top of the model
• model.compile(optimizer, loss) - We have to compile the model
before we can use it
• optimizer - ‘adam’, ‘sgd’, ‘rmsprop’, etc…
• loss - ‘mean_squared_error’, ‘categorical_crossentropy’,
‘kullback_leibler_divergence’, etc…
• model.fit(x=None, y=None, batch_size=None, epochs=1,
verbose=1, validation_split=0.0, validation_data=None,
shuffle=True)
• model.predict(x, batch_size=32, verbose=0) - fit/predict interface
https://keras.io
39. www.data4sci.com@bgoncalves
Gated Recurrent Unit (GRU)
• Introduced in 2014 by K. Cho
• Meant to solve the Vanishing Gradient Problem
• Can be considered as a simplification of LSTMs
• Similar performance to LSTM in some applications, better
performance for smaller datasets.
40. www.data4sci.com@bgoncalves
σ tanh
×
σ
×
r
cz
Gated Recurrent Unit (GRU)
h t
h t
h t−1
xt
+×
z = σ (Wzh t−1 + Uzxt)
r = σ (Wrh t−1 + Urxt)
c = tanh (Wc (h t−1 ⊗ r) + Ucxt)
h t = (z ⊗ c) + ((1 − z) ⊗ h t−1)
1−
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
41. www.data4sci.com@bgoncalves
σ tanh
×
σ
×
r
cz
Gated Recurrent Unit (GRU)
h t
h t
h t−1
xt
+×
z = σ (Wzh t−1 + Uzxt)
r = σ (Wrh t−1 + Urxt)
c = tanh (Wc (h t−1 ⊗ r) + Ucxt)
h t = (z ⊗ c) + ((1 − z) ⊗ h t−1)
1−
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
Update gate:
How much of
the previous
state should
be kept?
42. www.data4sci.com@bgoncalves
σ tanh
×
σ
×
r
cz
Gated Recurrent Unit (GRU)
h t
h t
h t−1
xt
+×
z = σ (Wzh t−1 + Uzxt)
r = σ (Wrh t−1 + Urxt)
c = tanh (Wc (h t−1 ⊗ r) + Ucxt)
h t = (z ⊗ c) + ((1 − z) ⊗ h t−1)
1−
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
Reset gate:
How much of
the previous
output should
be removed?
43. www.data4sci.com@bgoncalves
σ tanh
×
σ
×
r
cz
Gated Recurrent Unit (GRU)
h t
h t
h t−1
xt
+×
z = σ (Wzh t−1 + Uzxt)
r = σ (Wrh t−1 + Urxt)
c = tanh (Wc (h t−1 ⊗ r) + Ucxt)
h t = (z ⊗ c) + ((1 − z) ⊗ h t−1)
1−
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
Current
memory:
What
information do
we remember
right now?
44. www.data4sci.com@bgoncalves
σ tanh
×
σ
×
r
cz
Gated Recurrent Unit (GRU)
h t
h t
h t−1
xt
+×
z = σ (Wzh t−1 + Uzxt)
r = σ (Wrh t−1 + Urxt)
c = tanh (Wc (h t−1 ⊗ r) + Ucxt)
h t = (z ⊗ c) + ((1 − z) ⊗ h t−1)
1−
×
+
1−
Element wise addition
Element wise multiplication
1 minus the input
Output:
Combine all
available
information.