Tutorials¶
A general intro to machine learning¶
getting the basics down -> Making your first neural network
Looking at your problem as a shape¶
quickly turning your problem into a model
We've come across a variety of people who have a problem they would like to solve that they think AI can help with.
A couple examples of this are:
- estimating the weight of a fish based off of a screenshot
- optimizing a power grid to predict what areas will need more power in the next few hours
- attempting to solve 2d puzzles or other arcade games
Most people come in with the assumption that they will need a completely custom neural network and a lot of knowledge to make the smallest of demos, but in reality, most problems can fit within the scope of common model types.
Start with representing the problem¶
Think of how you can represent your data, what shapes seem the most natural or obvious, then consult the table below
model type | what the input looks like | how you usually prepare the data |
---|---|---|
cnn | a grid/array of values (like a table or an image) | arrange data into rows/columns, add depth if needed |
mlp | a simple list of numbers, or a spreadsheet | put everything into a list, scale values |
rnn/lstm/gru | a sequence of steps (like words in a sentence, or time series) | make all sequences the same length, turn words/items into numbers |
transformer | a sequence with positions (like a sentence where order matters) | same as above, but also give the model info about position/order |
autoencoder | anything, but input and output have the same shape | clean/normalize data so it can be reconstructed |
gnn (graph) | a set of points with connections (a network/graph) | describe which points are linked and what each point's values are |
Links to each NN:
- cnn tutorial
- mlp tutorial
- rnn tutorial (WIP)
- transformer tutorial (WIP)
- autoencoder tutorial (WIP)
- gnn tutorial (WIP)
Other Approaches¶
If you are currently unsure about the shape method above, and want something simpler, use the examples below, but we do recommend the shape method as its more flexible and leads you to to try new things
if none of these sound similar to your usecase, bring it up during one of our meetings or email me
- CNNs - Image classification, basically anything you can turn into an image (fraud heatmaps, audio spectograms)
- MLPs - Classifying off of tables, regression
- RNN/lstm/gru - Basically any time related predictions (t1->t2->t3), or basic language modelling (small sentences, words, verbs, etc)
- Transformer - can basically model any n -> {all previous Ns} sets, but mostly used for language modelling and anything to do with language
- Autoencoders - compression, anomaly detection (if it can't reconstruct the signal, the signal is outside the usual bounds)
- GNNs - can model anything representable as a graph or connected points (social networks, databases, 3d models, atoms/molecules)