Step by step thinking to design Memory in sequential Neural Networks (RNN) — Part 1

· Source: Deep Learning on Medium · Field: Technology & Digital — Artificial Intelligence & Machine Learning · Depth: Intermediate, medium

Summary

Designing memory for sequential Neural Networks (RNNs) is crucial for processing inputs like sentences, where word order and relationships matter. Traditional NNs lack inherent memory, treating inputs independently and struggling with variable sequence lengths. This article outlines four key principles for effective sequence encoding: fixed-size numeric vectors, order preservation, non-collision between sequences, and learned meaning. Initial attempts, such as representing sequences as graphs via adjacency matrices, proved insufficient. A more promising approach uses one-hot encoding for individual words, avoiding "accidental geometry." While simple addition of one-hot vectors fails to preserve order, a weighted accumulation method, new_memory = w · old_memory + current_word, successfully encodes order by decaying older words' influence. This addresses the first three principles but reveals the limitation of tracking words in vocabulary space, not learned concepts, motivating future work on embeddings and matrix-based updates.

Key takeaway

For Machine Learning Engineers designing sequential models, understanding memory encoding is fundamental. You should prioritize methods that preserve input order and allow the network to learn meaning, rather than injecting arbitrary relationships. While simple one-hot addition is insufficient, implementing a weighted accumulation approach like new_memory = w · old_memory + current_word offers a robust initial step for fixed-size, order-preserving memory. Be aware this approach still operates in vocabulary space, indicating a need for more advanced techniques like embeddings for true conceptual learning.

Key insights

Effective sequential memory in NNs requires fixed-size, order-preserving encoding that learns meaning without pre-injected relationships.

Principles

Method

Iteratively update memory by scaling old memory with a weight w and adding the current word's one-hot vector: new_memory = w · old_memory + current_word.

In practice

Topics

Best for: AI Scientist, Machine Learning Engineer, AI Student

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by Deep Learning on Medium.