Neural networks

Neural networks (NNs), or more precisely artificial neural networks (ANNs), are computing systems vaguely inspired by the biological neural networks of brains.

This is a list of APL resources relating to neural networks:


 * U-net CNN in APL is a paper written by Aaron Hsu and Rodrigo Girão Serrão that shows the implementation of a U-net Convolutional Neural Network in APL - specifically the subset compilable by co-dfns. It was presented at the 2022 Dyalog User Meeting by Rodrigo Girão Serrão.


 * Rodrigo Girão Serrão is prepared to hold a workshop in English or Portuguese called Learn APL with neural networks/Aprende APL com redes neuronais and is publishing an English-language a video series with the same content, designed so those with APL or NN knowledge can skip the parts that teach the basics of these.


 * Convolutional neural networks in APL is a paper that shows how a Convolutional Neural Network (CNN) can be implemented in APL. The code is available in a GitHub repository. A video of the presentation of this conference paper is available here.


 * Mike Powell's [[Media:3_Machine_Learning.pdf|Machine Learning]] is a tutorial that explores pattern recognition for handwritten digits. It focuses on deriving the analytic gradients and establishing them as part of the back propagation algorithm.


 * Mike Powell's [[Media: 4_The_Handwritten_Digits_Model.pdf|The Handwritten Digits Model]] tutorial explores how to estimate the parameters of the handwritten digits model using an interactive session, with the objective to explore how to conduct an estimation rather than to find the absolute best search algorithm.


 * ANNSER ― A Neural Network Simulator for Education and Research


 * MENACE Revisited ― Reinforcement Learning From The Ground Up (implements Donald Michie’s Matchbox Educable Noughts and Crosses Engine using Dyalog APL)