Bio-Inspired Artificial Intelligence

Sarah Lawrence College
Spring 2023


Course Description

The field of artificial intelligence (AI) is concerned with reproducing the abilities of human intelligence in computers. In recent years, exciting new approaches to AI have been developed, inspired by a wide range of biological processes and structures that are capable of self-organization, adaptation, and learning. These sources of inspiration include biological evolution, neurophysiology, and animal behavior. This course is an in-depth introduction to the algorithms and methodologies of biologically-inspired AI, and is intended for students with prior programming experience. We will focus primarily on machine-learning techniques such as evolutionary computation and genetic algorithms, reinforcement learning, artificial neural networks, and deep learning, from both a theoretical and practical perspective. Throughout the course, we will use the Python programming language to implement and experiment with these techniques in detail. Students will have many opportunities for extended exploration through open-ended, hands-on lab exercises and conference work.

Prerequisite: at least one semester of experience programming in a high-level object-oriented language such as Python, Java, or C++.

Instructor

Prof. Jim Marshall
Office: Ilchman Science Center 100
Phone: 2673 (from off campus: 914-395-2673)
Email: j + my last name + @sarahlawrence.edu

Class Meeting Times

Textbook and Readings

Deep Learning with Python, 2nd Edition
by François Chollet

An electronic version of the book will be available through MySLC at no charge. However, I would strongly encourage you to purchase a print version as well. Studies have shown that reading on paper can often lead to better comprehension and retention of information compared to reading on electronic screens. In addition, I will assign several other supplementary readings as we go, which will be provided in class.

Course Work

Homework will be assigned regularly. The homework assignments will introduce you to a variety of biologically-inspired AI algorithms and concepts, and will require a substantial amount of coding in Python. For each assignment, you will write programs to implement algorithms and run various types of experiments. You will also be required to write a short report (a few pages in length) explaining in detail the experiments you performed and the results you obtained. Your assignment will be evaluated based on the quality of your code and experimental results, and the clarity and thoroughness of your written report. There will be no exams. If you don't know Python or need a refresher, a good place to start is Think Python, by Allen Downey.

Your conference project may focus on evolutionary computation, neural networks, reinforcement learning, other types of machine learning algorithms, some combination thereof, or even non-biologically-inspired AI algorithms. Because much work in AI tends to be collaborative in nature, you are permitted — and even encouraged — to work with a partner on your project if you wish (but talk to me about this option first). If you work together, you and your partner will be expected to contribute equally to the design and implementation of your project. During the last two weeks of the semester, all students will be required to give a formal project presentation to the class, and to write a short paper describing their project. The paper and all project code will be due by Sunday, April 30 for seniors, or by Wednesday, May 10 for non-seniors.

Email

I will often send out announcements to the class through email, so you are required to check your Sarah Lawrence email account at least once per day. I will use your @gm.slc.edu address because it is reliable and easy to remember. You should also check the course web pages frequently for code examples discussed in class, and for the homework assignments.

Getting Help

You are strongly encouraged to get in touch with me whenever you are having difficulty with the material. If you are confused about something, don't stay that way! Staying confused will only make things worse later. Talk to me as soon as possible so that we can clear up the problem. I'll be happy to answer your questions by email or to schedule a separate appointment with you on Zoom.

Reasonable Accommodations

If you have a disability that may interfere with your ability to participate in the activities, coursework, or assessment of the objectives of this course, or any of your other courses, you may be entitled to reasonable accommodations. Please contact Daniel Chan, Director of Access and Disability Services at 914-395-2235 or by emailing dchan at sarahlawrence.edu. Under the Americans with Disabilities Act and Section 504 of the Vocational Rehabilitation Act of 1973, all students, with or without disabilities, are entitled to equal access to the programs and activities of Sarah Lawrence College and the College will make reasonable accommodations when appropriate and necessary.

Collaboration Policy

The highest level of academic integrity is expected of every student. You are strongly encouraged to discuss ideas and approaches to solving problems on a general level with your fellow classmates, but you are not allowed to share your program files, code, or solutions with others. I can almost always tell when two different programs derive from the same original source code, even if cosmetic changes have been made to it. The code you hand in must have been written by you from scratch, with the following permitted exceptions: code provided in class by me, code from the textbook, or code developed together with a partner if you are collaborating on a lab or project. In this case, you and your partner may freely exchange code developed as a team, and are jointly responsible for the work submitted. Under no circumstances may you hand in work done by someone other than yourself or your partner under your own name. Effective learning is compromised when this is not the case.

In all cases, if you make use of any code that was written by someone else in your assignment, including your partner, you must clearly acknowledge this in your code. This also goes for any help obtained via the Internet. When in doubt, credit the people or sources from whom you got help. If you are ever unsure about what constitutes acceptable collaboration, just ask. You are also responsible for carefully reading the College's official Policy on Academic Integrity in your SLC Student Handbook. Failure to abide by these rules is considered plagiarism, and will result in severe penalties, including possible failure in the course. Please do not put me, yourself, or anyone else in this unpleasant situation!