Quick Links

'Animated graphical representation of artificial neural networks during learning' - COMP 396 Undergraduate Research Project Application Form

INSTRUCTIONS - PROFESSORS: Please print and review this form. Complete or correct the sections, as applicable, from "Supervisor's Name" to "Ethics, safety, and training". Please sign and date near the bottom ("Supervisor's signature").

INSTRUCTIONS - STUDENTS: You may receive this form by email, or you may download it after it has been posted here. Either way, print and review this form. Complete or correct the sections, from "Student's Name" to "Student's Level", and sign ("Student signature"). Ask your supervisor to sign her/his section near the bottom. Take it to the department* corresponding to the course number in Section A; this may or may not be your own department. (* EXCEPTIONS: For NSCI 396 and COGS 396, please bring it to the Interdisciplinary Programs Adviser in Dawson Hall.) Do not register for a '396' course on Minerva until you receive departmental permission. Have a discussion with your supervisor about time/work expectations, keeping in mind that this is a 3-credit course (roughly, 10 hours per week for 12 weeks). Remember that a '396' course is an elective.

INSTRUCTIONS - DEPARTMENTS: After the unit chair/director/designate approves (or not) this project, please notify student. If approved, please give student permission to register on Minerva, and send a copy of this form (with signatures) to the Office for Undergraduate Research in Science (either fax, or internal mail to Dawson Hall 408-A, or PDF scan + email).

QUESTIONS OR FEEDBACK? Contact the Office for Undergraduate Research in Science.

Supervisor's Name: Thomas Shultz, Dr.

Supervisor's Email: thomas [dot] shultz [at] mcgill [dot] ca

Supervisor's Phone: (514) 398-6139

Supervisor's Website: www.tomshultz.net

Supervisor's department: Psychology

Course number: COMP 396 (Computer Science)

Term: Winter 2012-2013

Project start date: Monday, January 7, 2013

Project end date: Tuesday, April 16, 2013

Project title: Animated graphical representation of artificial neural networks during learning.

Project description: The goal of this research project is to write software to generate animated graphical representations of learning solutions in artificial neural networks. Such networks have shown impressive ability to simulate human cognition and its development, but the particular form of the knowledge representations are often difficult to understand because of network complexity and the fact that knowledge is distributed across many units and connections. The research will expand upon similar work the student originally did in PSYC 315 Computational Psychology, but whereas that work employed commercial software and was tailored to one specific neural network simulation, in this project, the student will attempt to use only free, open-source, and custom-built software to create a general-purpose application that can generate animated graphs of a variety of neural network simulations. In addition to representing changing network topology and connection weights, as was done in 315, this application will visualize the recruitment/input phase of cascade correlation networks, possibly as well as activation patterns. The resulting animations will be either in the form or rendered image sequences (subsequently converted into movie files), or real-time gpu-driven graphics, or both. The student hopes to undertake this research in collaboration with the Laboratory for Natural and Simulated Cognition, applying his visualization tools to the research currently being pursued there. The strong advantage of using animation is the ability to see clearly how knowledge representations emerge over time, thus providing additional insights into how these models work and how closely they model human performance.

The main technical tasks of this project will include:

  • Extracting the data necessary for graphing from neural network simulations.
  • Using python to re-implement and expand the graphical representations done in PSYC 315.
  • Rendering these graphics in real-time using the gpu via openGL.
  • Rendering these graphics as image sequences and movie files using an open-source, renderman-complient renderer (probably Aqasis or jrMan).
  • Providing a robust user interface to control playback and various parameters of the graphics.

Prerequisite: 1 term completed at McGill + CGPA of 3.0 or higher; or permission of instructor.

Grading scheme (The final report must be worth at least 50% of final grade): 50% for the final software application, 50% for an accompanying paper and documentation.

Project status: This project is open to applicant.

How students can apply: Bring a printed copy of this application form and your advising transcript to me during office hours.

Ethics, safety, and training: Supervisors are responsible for the ethics and safety compliance of undergraduate students. This project involves NEITHER animal subjects, nor human subjects, nor biohazardous substances, nor radioactive materials, nor handling chemicals, nor using lasers.

Student's Name:

Student's McGill ID:

Student's McGill Email:

Student's Phone:

Student's Program:

Student's Level (U0 / U1 / U2 / U3):

Student's signature - I certify that this course is with a different supervisor and on a different topic than any previous '396' course I have taken. I have not applied for another '396' course in this term:

Supervisor's signature - I give my permission for the student identified above to register for this project under my supervision:


Unit chair/director/designate's name:

Unit chair/director/designate's signature - I certify that this project conforms to departmental requirements for 396 courses: