Machine Learning and Artificial Intelligence rocketed from the realm of science fiction becoming the most talked about topics in the tech and business world. Machine Learning (ML) is a subset of the computer science discipline of Artificial Intelligence (AI). Artificial Intelligence refers to the intelligence exhibited by machines capable of carrying out tasks that usually require human intelligence. Machine Learning uses algorithms to learn from data, find patterns in data, and make predictions about future events or outcomes. AI can be applied to many things like chatbots, virtual assistants, autonomous cars and so on. It can also be used for predictive analytics and other business purposes. Or even write the above description of the webinar.
In this webinar Jim McKeeth and Yılmaz Yörü introduce you to the how and why of getting started with machine learning and potentially using machine learning models. Learn the latest industry news, understand the technology, and discover examples and applications that can help your business right away.
Scroll down for useful links, slides, and the replay.
Table of Contents
Areas of Discussion
- General Discussion of Ideas and Principles
- Libraries and resources
- Current state of the art
- Business Impact
- What’s coming in the future?
- Ethics and safety considerations
blogs.embarcadero.com/?p=137201
Yılmaz Yörü
- Mechanical Engineer (MS BS PhD)
- Founder, CEO of Esenja Company
- Developer from 1988 ( C++ Builder, GNU C/C++, and 30+)
- Embarcadero MVP, C++ Builder Developer
- Author and presenter of posts on C++ at LearnCPlusPlus.org
- Developing AGI based ABRAINA AI Project
- Teaching innovations to kids, students and young people
- yyoru.com, esenja.com, abraina.com
Jim McKeeth
- Chief Developer Advocate & Engineer for Embarcadero
- Long time software developer
- Invented and patented pattern and swipe to unlock
- Built thought controlled drone with Google Glass and wireless EEG headset
- Contributor to Internet of Things and Data Analytics Handbook
AI Makes Writing Coding Easier
- There are a lot of opportunities for AI to make coding easier
- Specs will always change
- Even today there is a role for working between programmers and users!
- All professions will eventually be replaced by AI
commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/
Asimov’s Three Laws of Robotics
- Zeroth Law: A robot may not harm humanity, or, by inaction, allow humanity to come to harm.
- First Law: A robot may not injure a human being or, through inaction, allow a human being to come to harm.
- Second Law: A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.
- Third Law: A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
- Introduced in 1942 and later published in 1960’s I, Robot by Isaac Asimov.
- The first concept of AI and Robot safety and ethics. The book explores how these laws fail in practice.
- wikipedia.org/wiki/Three_Laws_of_Robotics
Hype Cycle for Artificial Intelligence, 2020 by Gartner
AI , ML, DL
- Artificial Intelligence (AI) refers to the intelligence exhibited by machines capable of carrying out tasks that usually require human intelligence.
- Machine Learning (ML) uses algorithms to learn from data, find patterns in data, and make predictions about future events or outcomes.
- Deep learning (DL) is a neural network with layers and filters, attempts to simulate the behavior of the human brain allowing it to learn from large amounts of data.
- DL is a subset of ML. ML is a subset of AI. AI is a subset of CompSci.
More Vocab
- ANN – Artificial Neural Network – made up of neurons, modeled on biological brains. This was the original idea for AI, but hardware at the time was too slow, but thanks to advances in computing power today, especially GPUs, it is not very popular.
- GAN – Generative Adversarial Network – Two neural networks compete with each other in the form of a zero-sum game, where one agent’s gain is another agent’s loss. They train each other. A self driving car might use this method.
- SL – Supervised Learning – ML task of learning a function that maps an input to an output based on example input-output pairs. Can also be known as supervised machine learning.
- GPT – Generative Pre-Training – Language model by Alec Radford and used by OpenAI. Shows how a generative model of language acquires world knowledge from pre-training on a diverse corpus with long stretches of contiguous text. Utilizes training data.
- NLP – Natural Language Programming – concerned with the interactions between computers and human language, in particular how to program computers to process and analyze large amounts of natural language data.
- Data scientist – An analytical data expert who explores and solves complex problems using math, computer science, and trends in the real world. They can be AI experts and conduct AI research.
Artificial General Intelligence
Theory of AI, also AGI and an AGI System
Artificial General Intelligence
Artificial Intelligence (AI) refers to the simulation of human intelligence in machines that are programmed to think like humans and mimic their actions. The term may also be applied to any machine that exhibits traits associated with a human mind such as learning and problem-solving. (ref: Investopedia).
Artificial General Intelligence (AGI) also called as Strong AI, is AGI is a subset or core kernel of AI. It is adaptive able to develop skills. There is also Artificial Biological Intelligence (ABI) term that attempts to emulate ‘natural’ intelligence.
“There is No AI yet, we have AI Technologies now” Joshua Tennenbaum
“There is No AGI”, this is the hard part
The nearest AGI examples AlphaGo Zero, IBM Watson, GPT-3
Simple ANN
Regressions & AI
Which Programming Language is Good for AI?
AI Frameworks, SDKs, Libs
Tensorflow (Python) Scalable ML Framework, Computation using data flow graphs
Microsoft CNTK (C++) Cognitive Tool Kit – Open source-deep learning toolkit
Caffe (C++, PyTorch) Fast, open framework for deep learning
Keras (Python) Open-source neural network library
Torch (Python) Open-source ML library
Accord.NET (C#) .NET machine learning framework for audio and image processing
Spark MLib (Scala) A scalable machine learning library
ML Pack (C++) Scalable ML Framework, Computation using data flow graphs
FANN (C & C++, C++Builder) Free Fast ANN Library
Theon (Python) Numerical computation library
Leading Names in AI
Turing Award (2019)
- From left, Yann LeCun, Geoffrey Hinton and Yoshua Bengio.
- The researchers worked on key developments for neural networks, which are reshaping how computer systems are built.
- nytimes.com/2019/03/27/technology/turing-award-ai.html
AI & ML in Practice
- TensorFlow
- A free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.
- Developed by the Google Brain team for internal Google use in research and production.
Tensorflow.org
Tensorflow.org/lite
github.com/tensorflow/tensorflow
en.wikipedia.org/wiki/TensorFlow
TensorFlow Lite & Delphi
- tensorflow.org/lite
- Designed for low power devices
- github.com/Embarcadero/TensorFlow-Lite-Delphi
- Examples include:
- Object Detection (Banana, Horse, etc.)
- Face Detection
- Digit Recognition
- tensorflow.org/lite/guide/build_cmake
OpenCV
OpenCV is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez. The library is cross-platform and free for use under the open-source Apache 2 License. Starting with 2011, OpenCV features GPU acceleration for real-time operations.
- opencv.org
- en.wikipedia.org/wiki/OpenCV
- github.com/Laex/Delphi-OpenCV ← Also includes FFMPEG
Mitov Software Intelligence Lab
Build AI and classifier applications fast!
- Neural Networks
- Self-Organizing Map
- Naive Bayes
- K Nearest Neighbor
- Back Propagation
- Data Preparation
mitov.com/products/intelligencelab
Connect AI APIs With The REST and Restful Systems
REST (Representational State Transfer) is a connectivity method that allows to get and post data to create interactive applications that use Web Services. REST uses a subset of HTTP.
A Web service that uses this REST data transfer architecture is called a RESTful.
Connect to many AI API’s:
- GPT-3
- APILayer
- AWS (aka via Appercept)
- IBM Watson
Software 2.0 (AI Driven Development)
- Written in much more abstract
- Human unfriendly language such as the weights of a neural network
- No human is involved in writing codes
- A lot of weights
- Coding directly in weights is kind of hard
- Software 1.0: 0%-80% data | Software 2.0: 99% data
- databricks.com/session/keynote-from-tesla
DATA! DATA! DATA!
AI Ethics (Algorithms, DataMining…)
Algorithms, Datamining, …
Potential Harms Caused by AI Systems
- Bias and discrimination
- Denial of individual autonomy, recourse, and rights
- Non-transparent, unexplainable, or unjustifiable outcomes
- Invasions of privacy
- Isolation and disintegration of social connection
- Unreliable, unsafe, or poor-quality outcomes
Applied Ethics for the AI Systems
Singularity & AI (Singularity: A unique event with profound consequences)
AI Movies, Series
More Videos
- OpenAI’s Multi-Agent Hide and Seek – youtube.com/watch?v=kopoLzvh5jY
- Jeff Dean: AI isn’t as smart as you think — but it could be | TED – youtube.com/watch?v=J-FzHIQ7SOs
Useful Links
- Embarcadero AI & ML playlist
- GPT-3 Playlist
- 3Blue1Brown (YouTube)
- Two Minute Papers (YouTube)
- Coded Bias
- Should Computers Run the World?
- Humans Need Not Apply
- An Interview with GPT-3
- Mitov VisionLab & IntelligenceLab
- LearnCPlusPlus.org
- Great AI Podcasts
- ArXiv Open Papers
- AlphaGO
C++ & C++ Builder AI Examples
Introduction
Introduction to Artificial Intelligence in C++
A Simple Artificial Neuron Model in C++
How To Make Artificial Neuron Models in C++
Neuron Models
Very Simple Artificial Neural Network Example in C++
Structure Based Simple Artificial Neuron Model in C++
Array Based Simple Artificial Neuron Model in C++
Class Based Artificial Neuron Model in C++
Vector-Based Simple Artificial Neuron Model
Activation Functions
Identity Activation Function in Neural Networks
Sigmoid Functions In Neural Nets
Binary/Heaviside Step Functions In C++
Gaussian Error Linear Units in C++
Rectified Linear Unit Activation ANN Function
Hyperbolic Tangent Activation ANN Function
SELU Activation Function Works In A C++ App
Sigmoid Linear Unit (SiLU) In A Neural Network C++ App
Gaussian Activation Function In A Neural Network
ELU Artificial Neural Net Functions
Self Regularized Non-Monotonic (Mish) Activation Function
Basic AI Examples in C++
How To Import FANN Library For C++ Builder Windows Projects (This FANN is very friendly and good open library for beginner applications on engineering researches and data analyses)
A Simple But Powerful Chat Bot In C++
Brute Force Methods in C++
Minimum Edit Distance Method in Unicode Strings in C++
The SoftMax Function in Neural Networks
REST Examples to Connect AI APIs
What Is The C++ Builder REST Debugger And How Do We Use It?
How To Make A Simple REST Client In C++ And More
MORE ?
FORTHCOMING MORE AI EXAMPLES IN LEARNCPLUSPLUS.ORG
Two Main MIT Videos about DL, ML & AI Introduction
Deep Learning Basics: Introduction and Overview
MIT AGI: Artificial General Intelligence