Amanuensis: The Programmer's Apprentice
arXiv:1807.00082
Abstract
This document provides an overview of the material covered in a course taught at Stanford in the spring quarter of 2018. The course draws upon insight from cognitive and systems neuroscience to implement hybrid connectionist and symbolic reasoning systems that leverage and extend the state of the art in machine learning by integrating human and machine intelligence. As a concrete example we focus on digital assistants that learn from continuous dialog with an expert software engineer while providing initial value as powerful analytical, computational and mathematical savants. Over time these savants learn cognitive strategies (domain-relevant problem solving skills) and develop intuitions (heuristics and the experience necessary for applying them) by learning from their expert associates. By doing so these savants elevate their innate analytical skills allowing them to partner on an equal footing as versatile collaborators - effectively serving as cognitive extensions and digital prostheses, thereby amplifying and emulating their human partner's conceptually-flexible thinking patterns and enabling improved access to and control over powerful computing resources.
References in corpus (27)
- Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
- Playing Atari with Deep Reinforcement Learning
- A Neural Conversational Model
- Interaction Networks for Learning about Objects, Relations and Physics
- Pointer Sentinel Mixture Models
- Learning Deep Generative Models of Graphs
- Machine Comprehension Using Match-LSTM and Answer Pointer
- Massively Parallel Methods for Deep Reinforcement Learning
- Generative Adversarial Imitation Learning
- Deep Variational Information Bottleneck
- Learning by Playing - Solving Sparse Reward Tasks from Scratch
- Neural Programmer-Interpreters
- Using Fast Weights to Attend to the Recent Past
- The Predictron: End-To-End Learning and Planning
- Unsupervised Predictive Memory in a Goal-Directed Agent
- A Syntactic Neural Model for General-Purpose Code Generation
- The Consciousness Prior
- Making Neural Programming Architectures Generalize via Recursion
- Tree-to-tree Neural Networks for Program Translation
- Learning model-based planning from scratch
- Learning Python Code Suggestion with a Sparse Pointer Network
- Machine Theory of Mind
- Dynamic Neural Program Embedding for Program Repair
- Metacontrol for Adaptive Imagination-Based Optimization
- Semantic Code Repair using Neuro-Symbolic Transformation Networks
- Neural Program Synthesis with Priority Queue Training
- Learning to Search with MCTSnets