Getting Random... With Slime Mold?!
Created with Midjourney

Getting Random... With Slime Mold?!

This week:

  • Reservoir Computing
  • Retrieval augmented generation fun
  • Newsletter Recommendation: The Sequence

Reservoir Computing

Busy times, so I missed a week. But hopefully this makes up for it. I took the time to do a deep dive into reservoir computing, a machine learning technique. Writing that piece took a while, so apologies for the delays! A much shorter version is included below, so have a read and if it grabs your interest, check out the essay.

I ran into the concept of reservoir computing a while ago and it blew my mind. Exploiting randomness to process signals for predictions just sounds like it should not work. But it does. And where do we go for sources of randomness, you ask? Slime mold! Obvs.

Retrieval Augmented Generation

LlamaIndex seems to be everywhere right now, the same way LangChain was a couple months ago (not that it's gone anywhere!). It is a framework for creating retrieval augmented generation applications, basically making your LLM apps hallucinate less and giving them access to new information without fine-tuning. I am just starting to hack on LlamaIndex, and it seems really good at first blush. But more important than the specific framework is that solid machine learning frameworks keep emerging. Getting battle-tested frameworks and patterns will make implementation easier for everyone.

The Sequence

If you want to keep up on what is happening in AI, I recommend The Sequence newsletter. The free version is good, the paid version is better, and the content is helpful (I have no affiliation with these folks, I just like their work).

What is Reservoir Computing?

Reservoir computing uses randomly generated recurrent neural networks called reservoirs to process sequential data. Inputs are projected into a high dimensional space that stores temporal information. This leverages the power of recurrent networks for modeling time series.

Only a simple linear readout layer is trained on the reservoir states. By keeping the reservoir fixed, it avoids issues training recurrent networks like vanishing gradients. The reservoir provides the temporal processing, the readout interprets the states.

Why Use Reservoir Computing?

Reservoirs act as short-term memory, extracting meaningful features from streams of data over time. They have been applied to diverse tasks like predicting chaotic systems, forecasting weather, robotic control, and speech recognition.

Reservoir computing matches or exceeds state-of-the-art techniques but needs far less training data and time. It provides a simple yet powerful solution for working with temporal data.

Unique Implementations

Reservoir computing has been implemented in software toolboxes for flexibility and hardware like IBM's TrueNorth neuromorphic chip for acceleration.

Some unique reservoirs leverage physical phenomena - reservoirs have been built using water ripples and even slime mold! This demonstrates the broad potential of reservoir computing and the masterful ability of some researchers to convince their departments to fund anything. ??

What's Next for Reservoir Computing?

Ongoing advances promise to expand reservoir computing capabilities. Simpler models without explicit neural network reservoirs may enable faster training. Extensions like hierarchical reservoirs and new training techniques are enhancing performance.

要查看或添加评论,请登录

Brad Edwards的更多文章

  • Agent Exploit

    Agent Exploit

    In LLM Agents can Autonomously Exploit One-day Vulnerabilities Richard Fang, Rohan Bindu, Akul Gupta, and Daniel Kang…

  • KAN Do

    KAN Do

    When KAN: Kolmogorov-Arnold Networks by Ziming Liu, Yixuan Wang, Sachin Vaidya, Fabian Ruehle, James Halverson, Marin…

    1 条评论
  • Word2Vec: The Basics

    Word2Vec: The Basics

    Word2Vec is a two-layer neural network that processes text by “vectorizing” words for use in several NLP tasks. Its…

  • Convolutional Neural Networks - Part 5 - Training and Evaluation

    Convolutional Neural Networks - Part 5 - Training and Evaluation

    Well, we’ve made it to the end. This is the last article of this series learning about CNNs from the ground up.

  • Convolutional Neural Networks - Part 4 - ReLU and Softmax

    Convolutional Neural Networks - Part 4 - ReLU and Softmax

    We made it to part four of our walk-through a scratch-built CNN implementation. You can find the complete code here.

  • Convolutional Neural Networks - Part 3 - Fully Connected Layer

    Convolutional Neural Networks - Part 3 - Fully Connected Layer

    Welcome to the next part of our series looking at CNNs. We're still working through the CNN implementation I wrote from…

  • Convolutional Neural Nets - Part 2 - Max Pooling

    Convolutional Neural Nets - Part 2 - Max Pooling

    Welcome to part two of walking through a toy example of a convolutional neural network. You can find the complete code…

  • Convolutional Neural Networks (CNN)s - Part 1

    Convolutional Neural Networks (CNN)s - Part 1

    In this series of articles, I will walk through the implementation of a convolutional neural network (CNN) from…

  • Test it. Test it Real Good.

    Test it. Test it Real Good.

    What have I been doing for the last month, you ask? A lot of DevOps and data engineering on AtomikLabs (and studying)…

  • CALM: Putting it Together

    CALM: Putting it Together

    The paper "LLM Augmented LLMs: Expanding Capabilities Through Composition" by Rachit Bansal, Bidisha Samanta, Siddharth…

社区洞察

其他会员也浏览了