# Awesome AI books

Some awesome AI related books and pdfs for downloading and learning.

## Preface

This repo only used for learning, do not use in business.

Welcome for providing great books in this repo or tell me which great book you need and I will try to append it in this repo, any idea you can create issue or PR here.

Due to github Large file storage limition, all books pdf stored in Yandex.Disk.

Some often used Mathematic Symbols can refer this page

## Content

- Organization with papers/researchs
- Training ground
- Books
  - Introductory theory and get start
  - Mathematics
  - Data mining
  - Deep Learning
  - Philosophy
- Quantum with AI
  - Quantum Basic
  - Quantum AI
  - Quantum Related Framework
- Libs With Online Books
  - Reinforcement Learning
  - Feature Selection
  - Machine Learning
  - Deep Learning
  - NLP
  - CV
  - Meta Learning
  - Transfer Learning
  - Auto ML
  - Dimensionality Reduction
- Distributed training

## Organization with papers/researchs

- arxiv.org
- Science
- Nature
- DeepMind Publications
- OpenAI Research

## Training ground

- OpenAI Gym: A toolkit for developing and comparing reinforcement learning algorithms. (Can play with Atari, Box2d, MuJoCo etc…)
- malmo: Project Malmö is a platform for Artificial Intelligence experimentation and research built on top of Minecraft.
- DeepMind Pysc2: StarCraft II Learning Environment.
- Procgen: Procgen Benchmark: Procedurally-Generated Game-Like Gym-Environments.
- TorchCraftAI: A bot platform for machine learning research on StarCraft®: Brood War®
- Valve Dota2: Dota2 game acessing api. (CN doc)
- Mario AI Framework: A Mario AI framework for using AI methods.
- Google Dopamine: Dopamine is a research framework for fast prototyping of reinforcement learning algorithms
- TextWorld: Microsoft - A learning environment sandbox for training and testing reinforcement learning (RL) agents on text-based games.
- Mini Grid: Minimalistic gridworld environment for OpenAI Gym
- MAgent: A Platform for Many-agent Reinforcement Learning
- XWorld: A C++/Python simulator package for reinforcement learning
- Neural MMO: A Massively Multiagent Game Environment
- MinAtar: MinAtar is a testbed for AI agents which implements miniaturized version of several Atari 2600 games.
- craft-env: CraftEnv is a 2D crafting environment
- gym-sokoban: Sokoban is Japanese for warehouse keeper and a traditional video game
- Pommerman Playground hosts Pommerman, a clone of Bomberman built for AI research.
- gym-miniworld MiniWorld is a minimalistic 3D interior environment simulator for reinforcement learning & robotics research
- vizdoomgym OpenAI Gym wrapper for ViZDoom (A Doom-based AI Research Platform for Reinforcement Learning from Raw Visual Information) enviroments.
- ddz-ai 以孤立语假设和宽度优先搜索为基础，构建了一种多通道堆叠注意力Transformer结构的斗地主ai

## Books

### Introductory theory and get start

- Artificial Intelligence-A Modern Approach (3rd Edition) - Stuart Russell & peter Norvig
- COMMERCIAL Grokking Artificial Intelligence Algorithms - Rishal Hurbans

### Mathematics

- A First Course in ProbabilityA First Course in Probability (8th) - Sheldon M Ross
- Convex Optimization - Stephen Boyd
- Elements of Information Theory Elements - Thomas Cover & Jay A Thomas
- Discrete Mathematics and Its Applications 7th - Kenneth H. Rosen
- Introduction to Linear Algebra (5th) - Gilbert Strang
- Linear Algebra and Its Applications (5th) - David C Lay
- Probability Theory The Logic of Science - Edwin Thompson Jaynes
- Probability and Statistics 4th - Morris H. DeGroot
- Statistical Inference (2nd) - Roger Casella
- 信息论基础 (原书Elements of Information Theory Elements第2版) - Thomas Cover & Jay A Thomas
- 凸优化 (原书Convex Optimization) - Stephen Boyd
- 数理统计学教程 - 陈希儒
- 数学之美 2th - 吴军
- 概率论基础教程 (原书A First Course in ProbabilityA First Course in Probability第9版) - Sheldon M Ross
- 线性代数及其应用 (原书Linear Algebra and Its Applications第3版) - David C Lay
- 统计推断 (原书Statistical Inference第二版) - Roger Casella
- 离散数学及其应用 (原书Discrete Mathematics and Its Applications第7版) - Kenneth H.Rosen

### Data mining

- Introduction to Data Mining - Pang-Ning Tan
- Programming Collective Intelligence - Toby Segaran
- Feature Engineering for Machine Learning - Amanda Casari, Alice Zheng
- 集体智慧编程 - Toby Segaran

### Machine Learning

- Information Theory, Inference and Learning Algorithms - David J C MacKay
- Machine Learning - Tom M. Mitchell
- Pattern Recognition and Machine Learning - Christopher Bishop
- The Elements of Statistical Learning - Trevor Hastie
- Machine Learning for OpenCV - Michael Beyeler (Source code here)
- 机器学习 - 周志华
- 机器学习 (原书Machine Learning) - Tom M. Mitchell
- 统计学习方法 - 李航

### Deep Learning

- Online Quick learning
  - Dive into Deep Learning - (Using MXNet)An interactive deep learning book with code, math, and discussions.
  - d2l-pytorch - (Dive into Deep Learning) pytorch version.
  - 动手学深度学习 - (Dive into Deep Learning) for chinese.
- Deep Learning - Ian Goodfellow & Yoshua Bengio & Aaron Courville
- Deep Learning Methods and Applications - Li Deng & Dong Yu
- Learning Deep Architectures for AI - Yoshua Bengio
- Machine Learning An Algorithmic Perspective (2nd) - Stephen Marsland
- Neural Network Design (2nd) - Martin Hagan
- Neural Networks and Learning Machines (3rd) - Simon Haykin
- Neural Networks for Applied Sciences and Engineering - Sandhya Samarasinghe
- 深度学习 (原书Deep Learning) - Ian Goodfellow & Yoshua Bengio & Aaron Courville
- 神经网络与机器学习 (原书Neural Networks and Learning Machines) - Simon Haykin
- 神经网络设计 (原书Neural Network Design) - Martin Hagan
- COMMERCIAL Interpretable AI - Ajay Thampi
- COMMERCIAL Conversational AI - Andrew R. Freed

### Philosophy

- COMMERCIAL Human Compatible: Artificial Intelligence and the Problem of Control - Stuart Russell
- COMMERCIAL Life 3.0: Being Human in the Age of Artificial Intelligence - Max Tegmark
- COMMERCIAL Superintelligence: Paths, Dangers, Strategies - Nick Bostrom

## Quantum with AI

- #### Quantum Basic

  - Quantum Computing Primer - D-Wave quantum computing primer
  - Quantum computing 101 - Quantum computing 101, from University of Waterloo
  - pdf Quantum Computation and Quantum Information - Nielsen
  - pdf 量子计算和量子信息（量子计算部分）- Nielsen

- #### Quantum AI

  - Quantum neural networks
  - An Artificial Neuron Implemented on an Actual Quantum Processor
  - Classification with Quantum Neural Networks on Near Term Processors
  - Black Holes as Brains: Neural Networks with Area Law Entropy

- #### Quantum Related Framework

  - ProjectQ - ProjectQ is an open source effort for quantum computing.

## Libs With Online Books

- #### GC (Generative Content)

  - Stable Diffusion - [Paper] A latent text-to-image diffusion model
  - Stable Diffusion V2 - High-Resolution Image Synthesis with Latent Diffusion Models
  - GFPGAN - [Paper] GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration.
  - ESRGAN - [Paper] ECCV18 Workshops - Enhanced SRGAN. Champion PIRM Challenge on Perceptual Super-Resolution. The training codes are in BasicSR.
  - CodeFormer - [Paper] - [NeurIPS 2022] Towards Robust Blind Face Restoration with Codebook Lookup Transformer
  - UniPC - [Paper] UniPC: A Unified Predictor-Corrector Framework for Fast Sampling of Diffusion Models

- #### Reinforcement Learning

  - A3C - Google DeepMind Asynchronous Advantage Actor-Critic algorithm
  - Q-Learning SARSA DQN DDQN - Q-Learning is a value-based Reinforcement Learning algorithm
  - DDPG - Deep Deterministic Policy Gradient,
  - Large-Scale Curiosity - Large-Scale Study of Curiosity-Driven Learning
  - PPO - OpenAI Proximal Policy Optimization Algorithms
  - RND - OpenAI Random Network Distillation, an exploration bonus for deep reinforcement learning method.
  - VIME - OpenAI Variational Information Maximizing Exploration
  - DQV - Deep Quality-Value (DQV) Learning
  - ERL - Evolution-Guided Policy Gradient in Reinforcement Learning
  - MF Multi-Agent RL - Mean Field Multi-Agent Reinforcement Learning. (this paper include MF-Q and MF-AC)
  - MAAC - Actor-Attention-Critic for Multi-Agent Reinforcement Learning

- #### Feature Selection

  - scikit-feature - A collection of feature selection algorithms, available on Github

- #### Machine Learning

  - Scikit learn (Python) - Machine Learning in Python.
  - Linfa (Rust) - spirit of `scikit learn`, a rust ML lib.
  - Xgboost (Python, R, JVM, Julia, CLI) - Xgboost lib’s document.
  - LightGBM (Python, R, CLI) - Microsoft lightGBM lib’s features document.
  - CatBoost (Python, R, CLI) - Yandex Catboost lib’s key algorithm pdf papper.
  - StackNet (Java, CLI) - Some model stacking algorithms implemented in this lib.
  - RGF - Learning Nonlinear Functions Using `Regularized Greedy Forest` (multi-core implementation FastRGF)
  - FM, FastFM, FFM, XDeepFM - Factorization Machines and some extended Algorithms

- #### Deep Learning

  - GNN Papers - Must-read papers on graph neural networks (GNN)
  - EfficientNet - Rethinking Model Scaling for Convolutional Neural Networks
  - DenseNet - Densely Connected Convolutional Networks

- #### NLP

  - XLNet - repo XLNet: Generalized Autoregressive Pretraining for Language Understanding
  - BERT - Pre-training of Deep Bidirectional Transformers for Language Understanding
  - GPT-3 - Language Models are Few-Shot Learners

- #### CV

  - Fast R-CNN - Fast Region-based Convolutional Network method (Fast R-CNN) for object detection
  - Mask R-CNN - Mask R-CNN, extends Faster R-CNN by adding a branch for predicting an object mask in parallel with the existing branch for bounding box recognition.
  - GQN - DeepMind Generative Query Network, Neural scene representation and rendering

- #### Meta Learning

  - MAML - Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks

- #### Transfer Learning

  - GCN - Zero-shot Recognition via Semantic Embeddings and Knowledge Graphs

- #### Auto ML

  - Model Search (Python) - Google Model search (MS) is a framework that implements AutoML algorithms for model architecture search at scale.
  - TPOT (Python) - TPOT is a lib for AutoML.
  - Auto-sklearn (Python) - auto-sklearn is an automated machine learning toolkit and a drop-in replacement for a scikit-learn estimator
  - Auto-Keras (Python) - Auto-Keras is an open source software library for automated machine learning (AutoML). It is developed by DATA Lab
  - TransmogrifAI (JVM) - TransmogrifAI (pronounced trăns-mŏgˈrə-fī) is an AutoML library written in Scala that runs on top of Spark
  - Auto-WEKAA - Provides automatic selection of models and hyperparameters for WEKA.
  - MLBox (Python) - MLBox is a powerful Automated Machine Learning python library

- #### Pipeline Training

  - ZenML (Python) - ZenML is built for ML practitioners who are ramping up their ML workflows towards production

- #### Dimensionality Reduction

  - t-SNE (Non-linear/Non-params) - T-distributed Stochastic Neighbor Embedding (t-SNE) is a machine learning algorithm for visualization
  - PCA (Linear) - Principal component analysis
  - LDA (Linear) - Linear Discriminant Analysis
  - LLE (Non-linear) - Locally linear embedding
  - Laplacian Eigenmaps - Laplacian Eigenmaps for Dimensionality Reduction and Data Representation
  - Sammon Mapping (Non-linear) - Sammon mapping is designed to minimise the differences between corresponding inter-point distances in the two spaces

- #### Data Processing

  - Pandas (Python) - Flexible and powerful data analysis / manipulation library for Python.
  - Polars (Rust, Python) - Lightning-fast DataFrame library for Rust and Python.

## Distributed training

- Horovod - Horovod is a distributed training framework for TensorFlow, Keras, PyTorch, and MXNet. The goal of Horovod is to make distributed Deep Learning fast and easy to use.
- Acme - A Research Framework for (Distributed) Reinforcement Learning.
- bagua - Bagua is a flexible and performant distributed training algorithm development framework.

## Support this project

## Contributors

### Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

### Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

#### Individuals

#### Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

AIbooks.md Github