Programming Machine Learning
Paolo Perrotta Programming Machine Learning
Hands on introduction to machine learning with focus on supervised learning and the deep learning “explosion” after 2012
- CNN - Convolutional Neural Network (2012) - perfect for image recognition
- GAN - Generative Adversarial Network (2014)- for image creation
- RNN - Recurrent Neural Network - perfect for processing of language and sentences where “context” / “memory” is required
OpenAI / ChatGPT / Transformers
- ChatGPT is everywhere. Here’s where it came from
- traditionally language models have been using RNN (recurrent neural networks)
- in 2017 a group of Google researchers invented transformers - described in Attention Is All You Need
- How ChatGPT actually works
- How does ChatGPT work? Tracing the evolution of AIGC
Software
- Jupyter - machine learning notebooks with a mix of text, live code, visualizations, etc.
- Keras simple API on top of Tensorflow
- Tensorflow - machine learning library developed by Google
- PyTorch - machine learning library developed by Facebook
- Teachable Machine - can be used for quick’n’dirty online training of a model that can be exported to TensorFlow
- scikit-learn - an alternative open source ML library. The documentation about Choosing the right estimator contains a very informative interactive “cheat-sheet”
Hardware
- Coral - Google’s offering of small IoT components with AI support out-of-the box.
Setup using Miniconda
- install Miniconda, a minimal Conda distribution
- create an environment
conda create --name=machinelearning python=3
- install packages
conda install numpy=1.15.2 conda install matplotlib=3.1.2 conda install seaborn=0.9.0 conda install scikit-learn=0.22.1 conda install keras=2.2.4 conda install jupyter==1.0.0
Activate Environment
conda update -n base -c defaults conda
conda activate machinelearning
Start jupyter Notebook
jupyter notebook