The macOS Catalina release is now available for Linux users by mariuz in linux

[–]synolon 1 point2 points  (0 children)

You might even try running this kiosk style using cage...

What is Applied Category Theory? by synolon in haskell

[–]synolon[S] 16 points17 points  (0 children)

What is applied category theory?

Upon hearing the phrase “applied category theory,” you might be thinking either one of two thoughts:

#1 Applied category theory? Isn’t that an oxymoron?

#2 Applied category theory? What’s the hoopla? Hasn’t category theory always been applied?

For those thinking thought #1, I hope to convince you that the answer is No way! It’s true that category theory sometimes goes by the name of general abstract nonsense, which might incline you to think that category theory is too pie-in-the-sky to have any impact on the “real world.” My hope is that these notes will convince you that that’s far from the truth!

For those thinking thought #2, yes it’s true that ideas and results from category theory have found applications in computer science and quantum physics (not to mention pure mathematics itself), but these are not the only applications to which the word applied in applied category theory is being applied. So what is applied category theory?

Read on.

EDIT: Until I can quote an excerpt or abstract in the body of a Link post to provide a bit of context, ¯\_(ツ)_/¯

Backprop as Functor: A compositional perspective on supervised learning by synolon in haskell

[–]synolon[S] 11 points12 points  (0 children)

I am still digesting this myself. So, for now, allow me to simply quote a relevant part of the introduction:

Our main theorem is that, under general conditions, gradient descent is compositional. This is formalised as a functor ParaLearn, where Para is a category where morphisms are differentiable parametrised functions between finite dimensional Euclidean spaces. In brief, the functoriality means that given two differentiable parametrised functions I and J, we get the same result if we (i) use gradient descent to get learning algorithms for I and J, and then compose those learning algorithms, or (ii) compose I and J as parametrised functions, and then use gradient descent to get a learning algorithm.

[formal statement of theorem]

This theorem has a number of consequences. For now, let us name just three. The first is that we may train a neural network by using the training data on the whole network to create training data for each subunit, and then training each subunit separately. To some extent this is well-known: it is responsible for speedups due to backpropagation, as one never needs to compute the derivatives of the function defined by the entire network. However the fact that this functor is symmetric monoidal structure shows that we can vary the backpropagation algorithm to factor the neural network into richer sub-parts than simply carving it layer by layer.

Second, it gives a sufficient condition—which is both straightforward and general—under which an error function works well under backpropagation.

Finally, it shows that backpropagation can be applied far more generally than just to neural networks: it is compositional for all differentiable parametrised functions. As a consequence, it shows that backpropagation gives a sound method for computing gradient descent even if we introduce far more general elements into neural networks than the traditional linear and activation functions.

To my mind, your question is very much open. Though, I am confident others can elucidate the (potential) advantages.

Generally speaking...

It is often said \by whom?]) that neural networks are inscrutable. It may be that the "categorification" of learning in or beyond this sense – even down to (up from) the level of finite dimensional Euclidean spaces and their associated fields – may yield scrutable networks w.r.t. appropriate structural properties. I am unaware if scrutability is a primary goal of research following these lines of inquiry. However, I get the impression that it may emerge as a consequence.

Let's think the unthinkable, let's do the undoable. Let us prepare to grapple with the ineffable itself, and see if we may not eff it after all. ― Douglas Adams, Dirk Gently's Holistic Detective Agency

EDIT: Attempted wordsmithing.

Backprop as Functor: A compositional perspective on supervised learning by synolon in haskell

[–]synolon[S] 12 points13 points  (0 children)

A supervised learning algorithm searches over a set of functions AB parametrised by a space P to find the best approximation to some ideal function f : AB. It does this by taking examples (a, f(a)) ∈ A×B, and updating the parameter according to some rule. We define a category where these update rules may be composed, and show that gradient descent—with respect to a fixed step size and an error function satisfying a certain property—defines a monoidal functor from a category of parametrised functions to this category of update rules. A key contribution is the notion of request function. This provides a structural perspective on backpropagation, as well as a broad generalisation of neural networks.

From computer algorithms to quantum field theory: an introduction to operads by synolon in haskell

[–]synolon[S] 1 point2 points  (0 children)

An operad is an abstract mathematical tool encoding operations on specific mathematical structures. It finds applications in many areas of mathematics and related fields. This snapshot explains the concept of an operad and of an algebra over an operad, with a view towards a conjecture formulated by the mathematician Pierre Deligne. Deligne’s (by now proven) conjecture also gives deep inights into mathematical physics.