- All File Systems are Not Created Equal: On the Complexity of Crafting Crash Consistent Applications (Paper a Day) — an important subject for me. BOB, the Block Order Breaker, is used to find out what behaviours are exhibited by a number of modern file systems that are relevant to building crash consistent applications. ALICE, the Application Level Intelligent Crash Explorer, is then used to explore the crash recovery behaviour of a number of applications on top of these file systems.
- BinaryNet: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1 (Arxiv) — instead of complex positive/negative floating-point weights, this uses +1 and -1 (which I can’t help but think of as “thumbs up”, “thumbs down”) to get nearly state-of-the-art results because a run-time, BinaryNet drastically reduces memory usage and replaces most multiplications by 1-bit exclusive-not-or (XNOR) operations, which might have a big impact on both general-purpose and dedicated Deep Learning hardware. GPLv2 code available.
- Microsoft Speeds Up Homomorphic Encryption (The Register) — homomorphic encryption lets databases crunch data without needing keys to decode it.
- Nerdy Valentine Cards (Evil Mad Scientist) — for a nerd in your life. (via Cory Doctorow)
"machine learning" entries
The O'Reilly Radar Podcast: Evolutionary computation, its applications in deep learning, and how it's inspired by biology.
In this week’s episode, David Beyer, principal at Amplify Partners, co-founder of Chart.io, and part of the founding team at Patients Know Best, chats with Risto Miikkulainen, professor of computer science and neuroscience at the University of Texas at Austin. They chat about evolutionary computation, its applications in deep learning, and how it’s inspired by biology.
Finding optimal solutions
We talk about evolutionary computation as a way of solving problems, discovering solutions that are optimal or as good as possible. In these complex domains like, maybe, simulated multi-legged robots that are walking in challenging conditions—a slippery slope or a field with obstacles—there are probably many different solutions that will work. If you run the evolution multiple times, you probably will discover some different solutions. There are many paths of constructing that same solution. You have a population and you have some solution components discovered here and there, so there are many different ways for evolution to run and discover roughly the same kind of a walk, where you may be using three legs to move forward and one to push you up the slope if it’s a slippery slope.
You do (relatively) reliably discover the same solutions, but also, if you run it multiple times, you will discover others. This is also a new direction or recent direction in evolutionary computation—that the standard formulation is that you are running a single run of evolution and you try to, in the end, get the optimum. Everything in the population supports finding that optimum.