PHY2895.02 - Machine Learning and Neural Networks
This course presents an overview of current machine learning techniques and applications, with particular attention to neural network models. Topics include: supervised, unsupervised and reinforcement learning approaches; classification & regression tasks; Deep Learning architectures; recommendation, natural language processing, computer vision and audio recognition applications. We will also give attention to issues of ethics and society, including bias, transparency and accountability. Suitable for students in many fields, including but not limited to: Computer Science, Business, Physics, Neuroscience, Audio Engineering, and Sociology.
Prerequisite: Pre-calculus or permission of instructor
Credit: 3 Hours. Approved for BELLCore general education science credit or Physics (PHY) major/minor credit. Does not count for Computer Science (CSC) major/minor credit.
NOTE: Most of the course materials are on Blackboard, which requires a Belmont login to access.
The following are just some excerpts to illustrate this
unique "general education" course where "ethics and society", "math", and "computer code" are integrated.
I. Excerpts from Syllabus:
Hello World: How to be Human in an Age of Algorithms
by Hannah Fry, W. W. Norton & Company (2018). Hannah Fry's book is an excellent, accessible and entertaining
overview of ethical issues relating to justice, politics, medicine and more, as they are impacted by algorithmic
decision-making in general and machine learning in particular.
(Plug for another book: Grokking Deep Learing by Belmont alumnus, Oxford Ph.D. student and DeepMind researcher Andrew Trask. Not required.)
Students will be able to discuss, present, answer questions about, write at length about, execute and/or
implement concepts and ideas in the three major areas of Context, Theory, and Execution:
- Context (History, Ethics & Society)
- a basic understanding of the history of development of artificial intelligence (AI), machine
learning (ML) and artificial neural networks (NN)
- awareness of current conversations regarding the ethical implications of the deployment of machine learning and AI applications in society
- familiarity with the extents to which artificial neural networks are similar to and different from biological neural networks
- Theory (Methods & Math):
- an understanding of the major mathematical underpinnings of machine learning and neural
networks (e.g., gradient descent)
- the ability to perform simple operations such as multiplication of small matrices.
- the ability to roughly describe major neural network architecture concepts such as convolutional neural networks
- Execution (Coding and Implementation):
- the ability to read, run and modify existing Python code for the execution of ML&NN
- the ability to obtain and edit datasets
- the ability to use tools and run experiments created by others, and modify these for students’ own interest.
Assessments and Grading
During this course, you will be asked to:
- Read sections of our book, or articles or watch videos within a certain time frame.
- Participate in class discussions, as you might in a Humanities (e.g., Philosophy) course.
- This implies that you are prepared for class by having done the reading or viewing for that
- To help you stay current in your class preparation, there will be online “Homework Quizzes”
about the reading/video materials, due prior to class.
- Give a short oral presentation to the class, e.g. a demo of a machine learning tool, or a paper on a
current topic, as assigned by the instructor
- Write a paper on a topic of either historical, ethical or technical interest.
- Modify and execute existing computer code (Python) to suit a new problem. (You will not be asked to write code from scratch.)
- Develop a new ML/NN application as a small group project (e.g. by adapting an existing code to a new dataset.)
- Perform simple mathematical operations relevant for the topics of ML&NN.
- Take tests where you answer questions on course topics and perform simple operations
II. Learning Modules (adding as we go)
We'll be following a "flipped" or "hybrid" course model. The following are to be completed individually outside of class, prior to class. Class time will be spent discussing these,
and adding new material as notes on the board or computer demonstrations and exercises.
ML Orientation (before Day 2)
ML Overview (before Day 3)
History of NN (before Day 4)
...more will be added as we progress through the course, e.g. from AI Ethics Resources
- Watch video: Paul Werbos at NIPS 2016 (20 minutes). Paul Werbos gives an overview of the history of NN and recent developments, and some context in neuroscience. Werbos is often credited as first applying an idea called "backpropagation" to neural networks, which we will cover later in the course. For now, ignore anything too technical you can't understand (e.g. backprop and/or recurrent networks) and/or Werbos' self-promotion (esp. towards the end) -- we just want the general context!
Extra: Werbos' talk immediately follows a talk by Jürgen Schmidhuber, who begins with a funny joke!
- Read article: Deep Learning 10 - Part 1: History and Background. This survey by Harvard biomedical informaticist Andrew Beam covers major developments and persons, as well as some tips on who to follow and how to stay current in the field.
Instructions: Skip down to the "Introduction" heading to start.
- Watch video: Yann LeCun CNN Demo (1 minute). 1 minute demo of Yann LeCun -- then at Bell Labs, now head of Facebook AI Research.
Instructions: In addition to watching it, read the text accompanying this video. Don't worry about what "convolutional" means right now, we'll cover that later.
- Assessment: Quiz: Answer 10 multiple choice questions on Blackboard.
Sponsored by a grant given by Bridging the Two Cultures of Science and the Humanities II,
a project run by Scholarship and Christianity in Oxford, the UK subsidiary of the Council
for Christian Colleges and Universities, with funding by Templeton Religion Trust and The