The
Opening the Black Box of Deep Neural Networks via Information uses the diffusion process and heat equation as intuition for gradient flow between the layers of the deep network. I needed a refresher on the underlying math. Found some very good sources:
In "What is Laplacian" and subsequent video you get a great insightful introduction of Laplacian, heat and wave equations.
In the applied math section which continues to "Fourier and Laplace Transformation" section of the differential equation lecture series, there is also a shorter explanation of diffusion.
There is also stochastic nature to the whole thing that is nicely covered in the Stochastic process, Ito calculus , and stochastic differential equation section of the Topics in Mathematics with Applications in Finance lectures with Notes and Vidoes.
Monday, August 13, 2018
Wednesday, July 18, 2018
From General Solution to Specific
One of the most important skills in mathematical problem solving is the ability to generalize. A given problem, such as the integral we just computed, may appear to be intractable on its own. However, by stepping back and considering the problem not in isolation but as an individual member of an entire class of related problems, we can discern facts that were previously hidden from us. Trying to compute the integral for the particular value a = 1 was too difficult, so instead we calculated the value of the integral for every possibly value of a. Paradoxically, there are many situations where it is actually easier to solve a general problem than it is to solve a specific.Richard Feynman’s integral trick
Communication and Learning
The fundamental problem of communication is that of reproducing at one point either exactly or approximately a message selected at another point. Frequently the messages have meaning; that is they refer to or are correlated according to some system with certain physical or conceptual entities. These semantic aspects of communication are irrelevant to the engineering problem. The significant aspect is that the actual message is one selected from a set of possible messages. The system must be designed to operate for each possible selection, not just the one which will actually be chosen since this is unknown at the time of design.A Mathematical Theory of Communication
Thursday, July 5, 2018
Hamming on Learning, Information Theory....
An interesting set of lectures by Hamming of Hamming code fame
Sunday, May 13, 2018
Bottleneck, Deep learning and ML theory.
The Anatomize deep learning with information theory is a nice summary of the bottleneck theory and deep learning talk by Professor Tishby. The blog also has a nice reference to a two part write up on traditional learning theory that doesn't actually explain the success the deep learning: Tutorial on ML theory, part1and part 2.
Update: A really interesting article on To Remember, the Brain Must Actively Forget This is very similar to the idea of the bottleneck theory and deep learning models.
Update: A really interesting article on To Remember, the Brain Must Actively Forget This is very similar to the idea of the bottleneck theory and deep learning models.
Monday, March 19, 2018
Polymorphism and Design Pattern Haskell Style
The following short demonstration does a nice job capturing parametric polymorphism and design patterns in Haskell.
Domain Modelling with Haskell: Generalizing with Foldable and Traversable
It is easy to see polymorphism in a list. You can have a list of people, and you map a function over them to get their names. Now you have a list of strings, or Maybe Strings for the names of each person on the list. So the list went from List of People to List of Maybe Strings.
This a bit more challenging to see in your own data types. In the video above the data type for Project is modified to use a polymorphic parameter "a" instead of fixed project id. This allows for the project to maintain its structure (the constructors) as functions are applied to the subelements of the structure. This is just like what happens in the list but it is a bit harder to see if you are accustomed to generics in the OO sense.
The notion of design pattern is also interesting in this lecture. There are two main issues with the traditional GOF design pattern. First, is that if there is a pattern why isn't it implemented in code once and reused everywhere. Second, patterns are not in the design but in forms of computation. In this video, you can see the computational patterns Functor, Foldable and Traversable are used in the computation. More importantly, as they are patterns it can be automatically derived.
Domain Modelling with Haskell: Generalizing with Foldable and Traversable
It is easy to see polymorphism in a list. You can have a list of people, and you map a function over them to get their names. Now you have a list of strings, or Maybe Strings for the names of each person on the list. So the list went from List of People to List of Maybe Strings.
This a bit more challenging to see in your own data types. In the video above the data type for Project is modified to use a polymorphic parameter "a" instead of fixed project id. This allows for the project to maintain its structure (the constructors) as functions are applied to the subelements of the structure. This is just like what happens in the list but it is a bit harder to see if you are accustomed to generics in the OO sense.
The notion of design pattern is also interesting in this lecture. There are two main issues with the traditional GOF design pattern. First, is that if there is a pattern why isn't it implemented in code once and reused everywhere. Second, patterns are not in the design but in forms of computation. In this video, you can see the computational patterns Functor, Foldable and Traversable are used in the computation. More importantly, as they are patterns it can be automatically derived.
Wednesday, February 28, 2018
Subscribe to:
Posts (Atom)