Designing Architectures for Human-Level Intelligence