An algorithmic module is a reusable computational component for discrete capabilities such as formal reasoning, search, memory, planning, and abstraction. It complements geometric deep-learning modules, which provide pattern recognition and intuition. section 19.4.7 section 19.5
Hybrid AI systems combine both kinds of modules rather than relying exclusively on an end-to-end neural network or handcrafted software. Existing systems often hardcode the algorithmic parts, while future systems may learn them and recombine them automatically. section 19.4.5 section 20.3
Algorithmic modules support:
- Formal reasoning, symbolic manipulation, planning, and causal understanding. section 19.4.7 section 20.3
- Search over possible programs or combinations of reusable subroutines. section 19.4.7
- Generalization through reusable components that can be assembled for new tasks. section 20.3 section 19.5
Hybrid systems
AlphaGo combines human-designed Monte Carlo tree search with learned value and policy networks. A self-driving system can combine a hardcoded three-dimensional world model with deep-learning perception modules that update it from the surrounding environment. section 19.4.5
Figure 19.15 A learned program relying on both geometric primitives (pattern recognition, intuition) and algorithmic primitives (reasoning, search, memory)
Use the figure to compare geometric primitives for pattern recognition and intuition with algorithmic primitives for reasoning, search, and memory. section 19.4.5
