This course assumes that you already have a good background on neural networks and a familiarity with using logic to write formal statements. Moreover, it assumes a degree of independence which should translate to your ability to read research papers, synthesize a clear explanation of the key similarities and differences among research approaches, and present that explanation to the class.
We will read a few survey works, e.g., Aws Albargouthi's Book, and work through a list of papers that constitute the state-of-the-art in the area.
There are many tools that implement algorithms for neural network verification, including some developed by David Shriver here at UVA. You will be using these tools to explore the concepts that are introduced in the readings.
Your primary work will involve reading papers, engaging in discussions of the papers, synthesizing explanations of the key concepts in the papers, writing those up in paper form, and presenting selected concepts to the class.
You will engage in a course project that will involve neural network verification. There are a variety of possibilities, but we expect most will involve applying, evaluating, or extending existing neural network verification tools.