Site icon PAT RESEARCH: B2B Reviews, Buying Guides & Best Practices

LambdaNet

LambdaNet is an artificial neural network library written in Haskell that abstracts network creation, training, and use as higher order functions. The benefit of this approach is that it provides a framework in which users can: quickly iterate through network designs by using different functional components as well as experiment by writing small functional components to extend the library.

It comes with a pre-defined set of functions that can be composed in many ways to operate on real-world data. LambdaNet can be installed through Cabal and using it to rapidly prototype networks using built-in functions requires only a minimal level of Haskell knowledge (although getting the data into the right form may be more difficult).

However, extending the library may require a more in-depth knowledge of Haskell and functional programming techniques.

Currently, the library only provides connectFully, a function which creates a fully connected feed-forward network. Simply, the connectivity function takes in the number of neurons in layer l and the number of neurons in layer l + 1, and returns a boolean matrix of integers (0/1) that represents the connectivity graph of the layers -- a 0 means two neurons are not connected and a 1 means they are.

It also defines two distributions : uniforms - A trivial function that returns a stream of uniformly distributed random numbers and normals - A slightly less-trivial function that uses the Box-Muller transform to create a stream of numbers ~ N(0, 1). Work is being done to offer a student t-distribution, which would require support for a chi-squared distribution transformation.

Exit mobile version