Curious Inspiration

A technical blog about artificial intelligence and machine learning

Using Mini Batches During Training

How to see more data at once, and improve our neural networks even further.


Improving Our Neural Network Outputs With Softmax Classification

How to predict probabilities from a linear layer, to achieve higher accuracy on the MNIST dataset.


Evaluating Mnist Accuracy On The Test Set

How to quantitatively know how well your neural network is generalizing.


Optimizing Our Neural Network With Blas And Openmp

How to speed up our neural network with paralellization and open source libraries.


Classifying Handwriting Digits With A Feed Forward Neural Network

How to write a data loader for the MNIST data set and classify using a neural network


Tensors, The Building Block For Deep Learning

Designing a tensor class in C++ that can be used for a deep neural network library.


Designing A Modular Neural Network Library

PyTorch inspired API, but using C++


Writing The Code For A Feedforward Neural Network

The art of modular back propagation in C++


Combining Individual Neurons Into A Feedforward Neural Network

How to implement a modular feedforward neural network and let it learn with back propagation


Writing The Code For Linear Regression With A Single Neuron

A C++ implementation of learning a linear model given a simple dataset


Linear Regression Using A Single Neuron Continued, The Learning Process

Using Gradient Descent To Minimize Error Function


An Intro To Linear Regression Using A Single Neuron

How one neuron can learn and adapt to data


What Is A Neural Network?

A high level overview of the inspiration behind neural networks and how they work.


Why Machine Learning And Neural Networks Matter

A high level overview of why it is hard for computers to do the simplest things.


Organizing A C++ Project Using Cmake And Gtest

Simple and effective project structure using cmake for the build system and gtest for testing


Evaluation Pt 2: Precision And Recall Curves

Gaining a better understanding of how well our network is performing