RES.9-003 | Summer 2015 | Graduate

Brains, Minds and Machines Summer Course

Tutorials

Tutorial Overview

Diagram of human brain with two arrows emerging from  the rear (occipital lobe). The ventral stream goes to the side, along the temporal lobe, and the dorsal stream goes toward the top of the brain. The two-streams hypothesis distinguishes two processing pathways in the brain: The ventral stream (also known as the “what pathway”) shown in purple and the dorsal stream (also known as the “where” pathway") shown in green. (Image © Wikipedia user Selket. License CC BY-SA. This content is excluded from our Creative Commons license. For more information, see https://ocw.mit.edu/help/faq-fair-use/)

This tutorial first introduces basic neuroscience concepts, including the structure of neurons and how they communicate information, brain anatomy and the dorsal / ventral visual pathways, and methods for probing the behavior of neural circuits. It then explores the nature of processing along the ventral pathway that is involved in visual recognition.

Unit Activities

Useful Background

  • No background is needed for this tutorial

Videos and Slides

Further Study

Basic neuroscience concepts and methods are introduced in several courses published on MIT OpenCourseWare, including 9.00SC Introduction to Psychology taught by John Gabrieli, 9.01 Introduction to Neuroscience taught by Mark Bear and Sebastian Seung, 9.04 Sensory Systems taught by Peter Schiller and Christian Brown, and 9.10 Cognitive Neuroscience taught by Suzanne Corkin.

An online search for any of the topics covered in this tutorial will yield many pointers to useful background material. The Society for Neuroscience hosts an Education Resources in Neuroscience portal that contains extensive online resources for teaching and learning neuroscience. Educational resources can also be found on this Neuroscience Resource Guide page at Psychology Degree Guide website.

Tutorial Overview

Sequence of four images of a coin, with progressively less detail and resolution. One MATLAB® tutorial exercise explores how the retinal image (upper left) is processed by neurons in the early stages of the visual pathway. This processing can be modeled as convolution with spatial filters that incorporate Gaussian smoothing (upper right). The result of retinal processing can be described as convolution with the difference of two Gaussians that form a center-surround spatial structure (lower left). The spatial receptive fields of neurons in visual cortex can be described as an oriented Gabor filter, producing results such as that shown for an oblique orientation in the lower right.

MATLAB is a powerful technical computing environment that is used extensively in the research described in this course. MATLAB programs are used, for example, to conduct experiments and gather data, analyze and visualize data, and implement computational models. This tutorial is intended for students who already have computer programming background and want to learn some of the basic elements of the MATLAB language and how it can be applied to sample problems in computational neuroscience.

Unit Activities

NOTE: There are no videos for this tutorial.

Useful Background

  • Introduction to computer programming, linear algebra
  • The MATLAB technical computing environment can be purchased from MathWorks, Inc.
  • The free GNU Octave Scientific Programming Language is largely compatible with MATLAB and can be used to run the MATLAB examples in this tutorial.

MATLAB Introduction

  • The tutorial document below, which was originally prepared by Mark Goldman (UC Davis) and extended by Daniel Zysman (MIT), provides an introduction to aspects of MATLAB that are used in the programming exercises provided in this tutorial.

MATLAB: Goldman / Zysman Introductory Tutorial (PDF) Code + data files for these tutorial examples (ZIP) (This ZIP file contains: 8 .m files and 1 .mat file)

Some additional resources for learning MATLAB are listed in the section on Future Study. You can also view a 5-minute video introduction to MATLAB by entering the following expression in the MATLAB Command window:

playbackdemo('GettingStartedwithMATLAB', 'toolbox/matlab/demos/html')

MATLAB Programming Exercises

The table below provides descriptions of programming exercises, supporting code and data files, and solution code. They were prepared by Daniel Zysman and Ellen Hildreth, based on some material from the 2014 summer course originally developed by Emily Mackevicius.

EXERCISES SOLUTIONS 
Feedforward neural networks for digital character recognition (ZIP - 2.3MB) (This ZIP file contains: 1 .doc file and 1 .mat file) Solutions (ZIP) (This ZIP file contains: 2 .m files)
Spatial processing in the visual pathway (PDF) Solutions (ZIP) (This ZIP file contains: 4 .m files)
Integrate and fire model of neural activation (PDF) Solutions (ZIP) (This ZIP file contains: 6 .m files)
Spike-triggered averaging of neural responses: Handout and data (ZIP - 2.1MB) (This ZIP file contains: 1 .doc file and 1 .mat file) Solutions (ZIP - 1.9MB) (This ZIP file contains: 2 .m files and 1 .mat file)

Further Study

Attaway, S. MATLAB: A Practical Introduction to Programming and Problem Solving. Butterworth-Heinemann, 2013. ISBN: 9780124058767. [Preview with Google Books]

Buy at MIT Press Cohen, M. X. MATLAB for Brain and Cognitive Scientists. MIT Press, 2017. ISBN: 9780262035828.

Gilat, A. MATLAB: An Introduction with Applications, Fifth Edition. Wiley, 2014. ISBN: 9781118629864.

Goldman, M. Tutorials in Computational Neuroscience.

Gore, J., P. Blainey, E. S. Lander, E. Fraenkel, M. E. Wiltrout, N. Schafheimer. Quantitative Biology Workshop. Self-paced online course from MITx on edX.

Hanselman, D. C., and B. L. Littlefield. Mastering MATLAB. Pearson, 2012. ISBN: 9780136013303.

Mathworks, Inc. MATLAB tutorials, including MATLAB Onramp, and MATLAB documentation, including a MATLAB Primer (PDF - 2.4MB).

Šćepanović, Danilo. 6.094 Introduction to MATLAB, January 2010. MIT OpenCourseWare.

Science Education Resource Center, Carleton College. Teaching Computation in the Sciences.

Springer, M., and R. Born. Boot Camp in Quantitative Methods, based on the course Neurobiology 306qc: Quantitative Methods for Biologists taught at Harvard University.

Wallisch, P., M. Lusignan, et al. MATLAB for Neuroscientists: An Introduction to Scientific Computing in MATLAB_, Second Edition_. Academic Press, 2008. ISBN: 9780123745514.

Tutorial Overview

An array of handwritten digits accompanied by a 3-D scatter plot. Visualization of the results of principal components analysis applied to high-dimensional data capturing visual properties of handwritten digits. The data was reduced to three dimensions that capture most of the variation in the original data, roughly segregating the data into the corresponding digits, as portrayed by the different colors of the data points. (Image courtesy of Lorenzo Rosasco, used with permission.)

A key aspect of intelligent systems is their ability to learn from data or past experience. Modern methods for data analysis also draw heavily on techniques for learning patterns in data. This tutorial introduces many common methods for machine learning that are used in the fields of intelligence science and data science. The video lectures explore some of the basic concepts and theory underlying the behavior of various learning methods and their application to different kinds of problems. This theory is complemented by hands-on computer labs in the MATLAB® computing environment, to explore the behavior of machine learning methods in practice.

Unit Activities

Useful Background

  • Introductions to calculus, linear algebra, probability and statistics
  • Introduction to computer programming and MATLAB (see our MATLAB Tutorial)

Videos and Slides

Machine Learning Lab Exercises

This website for the Machine Learning Day was prepared by Lorenzo Rosasco and Georgios Evangelopoulos for the 2016 Brains, Minds, and Machines summer course. It contains descriptions of lab activities related to the machine learning methods presented in the above tutorial videos, with supporting MATLAB code and data files that can be downloaded from the website.

Further Study

This tutorial is based in part on the MIT course 9.520 Statistical Learning Theory and Applications. Materials from the MIT course 6.867 Machine Learning, taught by Tommi Jaakkola, are available on MIT OpenCourseWare. Free online courses on machine learning are also available through edX (search for “machine learning”).

Bishop, C. M. Pattern Recognition and Machine Learning. Springer, 2007. ISBN: 9780387310732.

Rosasco, L. “Introductory Machine Learning Notes.” (PDF) (2016).

Hastle, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, 2nd Edition (Springer Series in Statistics). Springer, 2009. ISBN: 9780387848570. [Preview with Google Books]

Tutorial Overview

Plot of true classes vs. predicted classes, with a  band of highest value proceeding from upper left to lower right. In experiments by Zhang et al. (2011), monkeys viewed images depicting different classes of objects while researchers measured the neural signals generated for each image in an area of the brain known as IT cortex. These signals were later decoded to determine the particular object class that was viewed. This figure shows a confusion matrix that captures how well the class predicted by the decoding model matches the true object class that was viewed. (Image courtesy of Ethan Myers, used with permission.)

What information is contained in the neural signals generated in a region of the brain, and how is this information encoded? Is it possible to decode the neural signals to determine what information they represent? In this tutorial you will learn about population decoding, a powerful method to analyze neural data in order to understand the information contained in the data and how it is encoded. The method is demonstrated through experiments that probe the neural representations underlying visual object recognition in primate visual cortex. The Neural Decoding Toolbox, implemented in MATLAB®, enables researchers to apply this analysis to many sources of neural data such as single cell recordings, fMRI, MEG and EEG.

Unit Activities

Useful Background

  • Introduction to neuroscience
  • Introduction to machine learning, including simple pattern classification methods

Videos and Slides

Further Study

Meyers, E. “The Neural Decoding Toolbox.” Frontiers in Neuroinformatics 7, no. 8 (2013).

Also see the website for the Neural Decoding Toolbox.

Meyers, E., M. Borzello, et al. “Intelligent Information Loss: The Coding of Facial Identity, Head Pose, and Non-Face Information in the Macaque Face Patch System.” (PDF) The Journal of Neuroscience 35, no. 18 (2015): 7069–81.

Zhang, Y., E. M. Meyers, et al. “Object Decoding with Attention in Inferior Temporal Cortex.” (PDF) Proceedings of the National Academy of Sciences 108, no. 21 (2011): 8850–55.

Tutorial Overview

Diagram with photos of three types of stacked objects—dishes in a sink, stable tower of blocks and collapsing unstable tower of blocks. Josh Tenenbaum and colleagues propose that our intuitions about properties like the stability of a stack of blocks, may derive from “probabilistic programs” that can simulate, with some uncertainty, the physics that governs how objects behave in space and time. Such programs can be implemented and tested using probabilistic programming languages such as the Church language. (Image courtesy of Josh Tenenbaum, used with permission.)

The unit on modeling human cognition introduced a framework based on the creation of generative models of the physical and social worlds that enable probabilistic inference about objects, agents, and events. The Church programming language was designed to facilitate the implementation and testing of such models. In this tutorial, you will first learn the syntax and some basic primitives of the Church language, and how to define functions that implement simple probabilistic models and inference methods. The concepts are then explored through examples such as hypothesis testing in the domain of coin-flipping, and reasoning about the goals and beliefs of an agent.

Unit Activities

Useful Background

  • Introductions to probability and probabilistic approaches to modeling behavior
  • Video lectures on computational models of cognition by Josh Tenenbaum
  • Introduction to computer programming

Videos and Slides

Code

Church_examples (RTF) contains the code examples described in the two-part tutorial video. These examples can be executed by copying the code into one of the following Church programming environments. Code can also be written from scratch and modified in these environments:

  1. First edition of the Probabilistic Models of Cognition electronic text, cited in the section below on Future Study, which includes a separate Play space where code can be copied, modified, and executed
  2. webchurch engine that runs Church code in a web browser, which is available on GitHub for download onto your local computer

Further Study

Goodman, N. D., and J. B. Tenenbaum. Probabilistic Models of Cognition, First Edition (electronic).

  • This interactive text introduces many probabilistic modeling techniques and contains an embedded Church programming environment with coding examples throughout the text that can be modified and executed in place. The text also includes a separate Play space and Church language reference.

Goodman, N. D, and J. B. Tenenbaum. Probabilistic Models of Cognition, Second Edition (electronic). With programming exercises written in the web-based probabilistic programming language, WebPPL.

Goodman, N. D., and A. Stuhlmüller. The Design and Implementation of Probabilistic Programming Languages. (electronic)

  • This online text describes how probablistic programming languages (PPLs) can be embedded in other languages, and introduces the WebPPL language, a web-based PPL embedded in JavaScript.

forestdb.org: A repository of probabilistic models implemented in the Church language

The Church language is one of several probabilistic programming languages. Learn more about such languages at the Probabilistic-Programming wiki.

Tutorial Overview

Graphic of three people's heads in different colors. Amazon Mechanical Turk (MTurk) is an online crowdsourcing platform that enables researchers to conduct large-scale experiments on the Internet. Many experiments described in this course were conducted on MTurk. (Image ® Amazon.com. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/help/faq-fair-use/)

How can Amazon Mechanical Turk (MTurk) enable you to conduct large-scale experiments on how people perform simple tasks involving perception, learning, or decision making? Or enable you to create a large database of labeled images or videos? In this introduction to MTurk, you will learn about the kinds of tasks for which MTurk is well suited, how to get started on setting up an experiment, the advantages and concerns of conducting experiments on MTurk, some tips for using this tool effectively, and additional resources for learning more about MTurk.

Unit Activities

Useful Background

  • No background is needed for this tutorial.

Videos and Slides

Further Study

Gureckis, T. M., J. Martin, et al. “psiTurk: An Open-Source Framework for Conducting Replicable Behavioral Experiments Online.” Behavioral Research Methods 48, no. 3 (2015): 829–42.

Litman, L., J. Robinson, and T. Abberbock. “TurkPrime.com: A Versatile Crowdsourcing Data Acquisition Platform for the Behavioral Sciences.” Behavioral Research Methods (2016): 1–10.

Also see other online forums for the use of Amazon Mechanical Turk, including Turker Nation, Mturkgrind, and additional tools such as Turkopticon.

Course Info

As Taught In
Summer 2015
Level
Learning Resource Types
Other Video
Lecture Videos
Lecture Notes
Projects
Instructor Insights