06 - AI, Machine Learning & LLM
Foundations of AI & Machine Learning
- 2. Data Preparation & Utilization > 2.1 Strategic Utilization of Data and AI > Understanding and Utilization of Data and AI
- AI Paradigms
- Symbolic AI - The collection of all methods in artificial intelligence research that are based on high-level symbolic (human-readable) representations of problems, logic and search
- Neuro-symbolic AI - A subfield of artificial intelligence that integrates neural methods with symbolic methods to combine the strengths of both approaches, resulting in AI systems that can be trained from raw data while preserving explainability and explicit reasoning
- AlphaGeometry - A neuro-symbolic system made up of a neural language model and a symbolic deduction engine, which work together to find proofs for complex geometry theorems
- Generative AI - A subset of artificial intelligence that uses generative models to produce text, images, videos, or other forms of data
- Causal AI - A technique in artificial intelligence that builds a causal model and can thereby make inferences using causality rather than just correlation
- Connectionism - An approach to the study of human mental processes and cognition that utilizes mathematical models known as connectionist networks or artificial neural networks
- Expert system - A computer system emulating the decision-making ability of a human expert
- Artificial general intelligence - A hypothetical type of artificial intelligence that matches or surpasses human capabilities across virtually all cognitive tasks
- Core Concepts
- Embedding - A representation learning technique that maps complex, high-dimensional data into a lower-dimensional vector space of numerical vectors
- Transfer learning - A machine learning technique where knowledge gained from one task is reapplied to improve performance on a different but related task
- Mathematical model - An abstract description of a concrete system using mathematical concepts and language
- Mathematical optimization - The selection of a best element, with regard to some criteria, from some set of available alternatives
- Gradient descent - A first-order iterative algorithm for minimizing a differentiable multivariate function
- Loss function - A function that maps an event or values of one or more variables onto a real number intuitively representing some cost associated with the event
- Pattern recognition - The task of assigning a class to an observation based on patterns extracted from data
- Feature engineering - A preprocessing step in supervised machine learning and statistical modeling which transforms raw data into a more effective set of inputs
- Overfitting - The production of an analysis that corresponds too closely to a particular set of data, and may therefore fail to fit additional data or predict future observations reliably
- Bias–variance tradeoff - The relationship between a model's complexity, the accuracy of its predictions, and how well it can make predictions on previously unseen data
- Inductive bias - The set of assumptions that the learner uses to predict outputs of given inputs that it has not encountered
- Curse of dimensionality - The phenomena that arise when analyzing and organizing data in high-dimensional spaces that do not occur in low-dimensional settings
Machine Learning
- 2. Data Preparation & Utilization > 2.2 AI and Data Science > Machine Learning and Deep Learning
Learning Paradigms
- Supervised learning - A paradigm in machine learning where algorithms learn from labeled data
- Classification - The problem of identifying which of a set of categories (sub-populations) a new observation belongs to, on the basis of a training set of data containing observations
- Logistic regression - A statistical model that models the probability of an event taking place by having the log-odds for the event be a linear combination of one or more independent variables
- Support vector machine - A set of supervised learning models with associated learning algorithms that analyze data for classification and regression analysis
- Naive Bayes classifier - A family of simple probabilistic classifiers based on applying Bayes' theorem with strong (naive) independence assumptions between the features
- Decision tree learning - A method using a decision tree as a predictive model to go from observations about an item to conclusions about its target value
- Ensemble learning - A method using multiple learning algorithms to obtain better predictive performance than could be obtained from any of the constituent learning algorithms alone
- Random forest - An ensemble learning method for classification, regression and other tasks that operates by constructing a multitude of decision trees at training time
- ROC curve - A graphical plot that illustrates the diagnostic ability of a binary classifier system as its discrimination threshold is varied
- Regression - A set of statistical processes for estimating the relationships between a dependent variable and one or more independent variables
- Ordinary least squares - A type of linear least squares method for choosing the unknown parameters in a linear regression model
- Generalized linear model - A flexible generalization of ordinary least squares regression
- ARIMA model - A generalization of an autoregressive moving average (ARMA) model, fitted to time series data either to better understand the data or to predict future points in the series
- Classification - The problem of identifying which of a set of categories (sub-populations) a new observation belongs to, on the basis of a training set of data containing observations
- Unsupervised learning - A type of machine learning in which models are trained using unlabeled dataset and are allowed to act on that data without previous training
- Principal component analysis - A linear dimensionality reduction technique with applications in exploratory data analysis, visualization and data preprocessing
- K-means clustering - A method of vector quantization that aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean
- Reinforcement learning - An area of machine learning concerned with how intelligent agents ought to take actions in an environment in order to maximize the notion of cumulative reward
- Markov chain - A stochastic process that describes a sequence of events where the probability of each event depends only on the state attained in the previous event
- Markov decision process - A mathematical framework for modeling decision making in situations where outcomes are partly random and partly under the control of a decision maker
- Hidden Markov model - A statistical Markov model where the system being modeled is assumed to be a Markov process with unobserved (hidden) states
- Multi-armed bandit - A problem in which a fixed limited set of resources must be allocated between competing (alternative) choices in a way that maximizes their expected gain
- Value function - A function used in mathematical optimization and reinforcement learning that assigns a measure of desirability to states or actions
- ML Concepts & Techniques
- Hyperparameter - A parameter whose value is used to control the learning process
- Hyperparameter optimization - The problem of choosing a set of optimal hyperparameters for a learning algorithm
- Early stopping - A form of regularization used to avoid overfitting when training a learner with an iterative method, such as gradient descent
- Cross-validation - Any of various similar model validation techniques for assessing how the results of a statistical analysis will generalize to an independent data set
- Anomaly detection - The identification of rare items, events or observations which raise suspicions by differing significantly from the majority of the data
- One-class classification - The technique trying to identify objects of a specific class amongst all objects, by primarily learning from a training set containing only the objects of that class
- Recommender system - An information filtering system that seeks to predict the 'rating' or 'preference' a user would give to an item
- ML Frameworks & Platforms
- scikit-learn - A free software machine learning library for the Python programming language
- libsvm - A Library for Support Vector Machines
- ML.NET - An open-source, cross-platform machine learning framework for .NET developers
- Crab - A Python library for building recommender systems
- mlxtend - A Python library of useful tools for the day-to-day data science tasks
- Prophet - A forecasting procedure for time series data that is fast and provides completely automated forecasts
- Azure Machine Learning - An enterprise-grade machine learning service to build and deploy models faster
- Amazon SageMaker - The service to build, train, and deploy machine learning (ML) models for any use case with fully managed infrastructure, tools, and workflows
- Gradio - The fastest way to demo your machine learning model with a friendly web interface so that anyone can use it, anywhere
- scikit-learn - A free software machine learning library for the Python programming language
Neural Networks and Deep Learning
- 2. Data Preparation & Utilization > 2.2 AI and Data Science > Machine Learning and Deep Learning
- Neural Network Fundamentals
- Neural network - The computational models used in machine learning for finding patterns in data
- Tensor - The mathematical objects represented as multidimensional arrays used in machine learning
- Activation Functions
- Sigmoid function - A mathematical function having a characteristic 'S'-shaped curve or sigmoid curve
- Softmax function - A function that converts a vector of K real numbers into a probability distribution of K possible outcomes
- Backpropagation - A widely used algorithm for training feedforward neural networks
- Autoencoder - A type of artificial neural network used to learn efficient codings of unlabeled data (unsupervised learning)
- Vanishing gradient problem - The difficulty encountered when training artificial neural networks with gradient-based learning methods and backpropagation, where gradients shrink as they back-propagate
- Deep Learning Concepts & Training
- Deep Learning - A part of a broader family of machine learning methods based on artificial neural networks with representation learning
- Stochastic gradient descent - An iterative method for optimizing an objective function with suitable smoothness properties
- Fine tuning - An approach to transfer learning in which the weights of a pre-trained model are trained on new data
- LoRA (machine learning) - A parameter-efficient fine-tuning technique for adapting pre-trained models to specific tasks with significantly fewer computational resources
Architectures
- Recurrent neural network - A class of artificial neural networks where connections between nodes can create cycles, allowing output from some nodes to affect subsequent input to the same nodes
- LSTM - An artificial neural network used in the fields of artificial intelligence and deep learning, distinguished by feedback connections
- Convolutional neural network (CNN) - A class of artificial neural network, most commonly applied to analyze visual imagery
- Attention - A technique in the context of neural networks that mimics cognitive attention, enhancing the important parts of the input data and fading out the rest
- FlashAttention - A fast and memory-efficient exact attention mechanism
- Transformer - A deep learning architecture based on the multi-head attention mechanism
- DL Frameworks & Visualization
- TensorFlow - An end-to-end open source platform for machine learning
- PyTorch - An open source machine learning framework that accelerates the path from research prototyping to production deployment
- ONNX Runtime - A cross-platform, high-performance inference engine for machine learning models that accelerates both training and inference across diverse hardware and platforms
- Windows ML - A unified, high-performance local AI inference framework for Windows powered by ONNX Runtime, enabling on-device model execution with hardware acceleration across NPUs, GPUs, and CPUs
- WinML CLI - A command-line tool that converts and optimizes AI models for Windows ML, enabling hardware-optimized deployment across diverse Windows devices
- AttentionViz - A Global View of Transformer Attention
- BertViz - A tool for visualizing Attention in NLP Models
- Reference Books
- Neural Networks and Deep Learning - A free online book explaining the core ideas behind neural networks and deep learning
- Deep Learning, MIT Press - The textbook intended to help students and practitioners enter the field of machine learning in general and deep learning in particular
Natural Language Processing (NLP)
- 2. Data Preparation & Utilization > 2.2 AI and Data Science > Machine Learning and Deep Learning
- Linguistics Foundations
- Computational linguistics - An interdisciplinary field concerned with the computational modelling of natural language, as well as the study of appropriate computational approaches to linguistic questions
- Morphology - The study of words, how they are formed, and their relationship to other words in the same language
- Syntax - A linguistic field that is the study of how words and morphemes combine to form larger units like phrases and sentences
- Semantics - The study of linguistic meaning, examining how words acquire meaning and how complex expressions derive meaning from their constituent parts
- Distributional semantics - A research area that develops and studies theories and methods for quantifying and categorizing semantic similarities between linguistic items based on their distributional properties in large samples of language data
- Symbol grounding problem - The challenge of connecting abstract symbols to the real-world objects or concepts they represent
Concepts & Vector Representations
-
Okapi BM25 - A ranking function used by search engines to estimate the relevance of documents to a given search query based on a probabilistic retrieval framework
-
Levenshtein distance - A string metric for measuring the difference between two sequences by counting the minimum number of single-character edits required to change one into the other
-
n-gram - A sequence of n adjacent symbols in a particular order, used in fields like natural language processing and computational biology
-
tf-idf (term frequency-inverse document frequency) - A statistical measure used in information retrieval to evaluate the importance of a word in a document relative to a collection or corpus, accounting for its general frequency
-
Word embedding - A representation of a word in natural language processing, typically a real-valued vector that encodes its meaning such that words closer in vector space are expected to be similar in meaning
-
Sentence embedding - A numerical vector representation of a sentence that encodes its meaningful semantic information
-
NLP Libraries
- Natural Language Toolkit - A leading platform for building Python programs to work with human language data
- Gensim - A free open-source Python library for representing documents as semantic vectors
- Kuromoji - An open source Japanese morphological analyzer written in Java
- Kagome - An open source Japanese morphological analyzer written in pure golang
- mecab-python3 - A Python wrapper for the MeCab morphological analyzer for Japanese text
- jieba - A Python module for Chinese text segmentation
Computer Vision
- 2. Data Preparation & Utilization > 2.2 AI and Data Science > Machine Learning and Deep Learning
Image Processing & Fundamentals
- OpenCV - An open source computer vision and machine learning software library
- GoCV - A package for the Go programming language with bindings for OpenCV 4
- Pillow - A Python Imaging Library adding image processing capabilities
- scikit-image - A collection of algorithms for image processing in Python
- ImageMagick - A tool to create, edit, compose, or convert digital images
3D Vision & Geometry
- Open3D - An open-source library that supports rapid development of software that deals with 3D data
- Point Cloud Library (PCL) - A standalone, large scale, open source project for 2D/3D image and point cloud processing
Object Detection & Recognition
- YOLO (You Only Look Once) - An end-to-end object detection model designed for real-time detection
- Detectron2 - Facebook's next generation library that provides state-of-the-art detection and segmentation algorithms
- Mask R-CNN - An extension of Faster R-CNN that adds a branch for predicting object masks in parallel with bounding boxes
Pose & Body Estimation
- MediaPipe - A framework for building multimodal ML pipelines for perception tasks like pose estimation, hand tracking, and face detection
- OpenPose - A library capable of real-time multi-person key point detection
Face & Biometric Recognition
- face_recognition - A Python library that recognizes and manipulates faces from Python or from the command line
OCR & Text Recognition
- Tesseract OCR - An open source text recognition (OCR) Engine
- gosseract OCR - A Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
- EasyOCR - A ready-to-use OCR with 80+ supported languages and all popular writing scripts
- OCRmyPDF - A tool to add a searchable OCR text layer to PDF files
- Open Models
- LLaVA - A novel end-to-end trained large multimodal model that combines a vision encoder and Vicuna for general-purpose visual and language understanding, achieving impressive chat capabilities mimicking spirits of the multimodal GPT-4 and setting a new state-of-the-art accuracy on Science QA