For the 2022 Deep Learning Indabatwitter.com (held in Tunis), I contributed a practical entitled “Array Algebra”. The goal was to equip students with a better understanding of multidimensional arrays of various order, since array manipulation is the bread and butter of programming deep learning architectures.
I used 2D and 3D illustrations of the fundamental operations of slicing, aggregation, and transposition, with a particular focus on manipulating image arrays as these illustrate the different roles (spatial, color channel) played by axes in 3-arrays.
A wide variety of concrete exercises were included to give students practice in these manipulations. The entire tutorial is available as a non-interactive website at arrayalgebra.infoarrayalgebra.info. The interactive Jupyter notebook is available on Google Colabcolab.research.google.com.
Unfortunately time constraints prevented me from including one of my favorite visualizations, which shows how matrix multiplication corresponds to a natural 3D construction in which the input matrices and output matrix are 3 faces of a cube, which explains why the shapes of inputs and outputs have their particular relationships: