Artificial Intelligence and Machine Learning (IT102)

Program code:

IT102

ECTS:

6

Teaching language:

English
Download course syllabus

Course goals

Whether you are speaking to government officials or corporate managers, startup founders, investors or employees, seasoned researchers or industry data scientists you’re likely to hear a range of claims about what AI/ML can/will do. These discussions are frequently motivated by reciting recent breakthroughs in predictive modeling. From seminal work in applying deep convolutional neural networks to image classification (see Krizhevsky et al. (2012)). Leading to an industry wide AI revolution among big tech companies (see The Secret Auction That Set Off the Race for AI Supremacy). To breakthroughs in protein structure prediction (see Jumper et al. (2021)). Empowering researchers that seek cures for diseases and pursue solutions to other big problems facing humankind – such as antibiotic resistance, or microplastic pollution (see Putting the power of AlphaFold into the world’s hands). To large language and image generation models, inspiring writers, artists and designers (see Deep Learning for Art, Aesthetics, and Creativity, COSMOPOLITAN).

Yet, despite all the progress, what these systems cannot do? Or should not do?

The goal of this course is to provide you with the necessary technical expertise to critically reflect on the problems that AI systems are meant to be solving, to identify the strengths and weaknesses of existing AI systems, and to build impactful AI systems yourself. Specifically, the course covers three broad topics: (1) Linear and shallow models to develop enough philosophy and critical thinking about practical problem formulation skills, complex modeling objectives and computational frameworks; (2) Expanding these to deep and non-linear models such as convolutional neural networks, and transformers; (3) Deep understanding of latest iteration of transformer based models such as ChatGPT, Claude, Bard, Lamma. All three topics will be heavily relying on writing code, as well as critically reviewing various literature sources from industry and academia.

 

The course heavily focuses on using Python and Github. Foundational knowledge in statistics, mathematical analysis, and Python programming and Version Control is assumed.

Course results

  • Using linear models develop intuition on generative thinking and Direct Acyclic Graphs (DAGs) for problem formulation and its implication on model construction and objective metrics. Develop critical thinking towards formulating problems from unstructured domain knowledge. Develop critical thinking towards scientific literature.
  • Write clear, reproducible, and well-documented code in Python and the associated machine learning packages, such as, jax, pytorch, botorch, weights and biases.
  • Learn how to systematically and reproducibly produce AI modeling results, collaborate on AI model building in teams, and communicate AI systems capabilities and limitations.
  • Develop intuition on theory and gain practical experience with deep and non-linear models. Revisit classical statistical assumptions about bias-variance tradeoff.
  • Develop intuition on theory, and gain practical experience with gradient boosted trees, and their utility as a general baseline.
  • Develop intuition on theory, and gain practical experience with transfer learning using deep neural networks architectures such as convolutional neural networks, transformers, and their generalizations.
  • Develop intuition on theory, and gain practical experience with Causal Diagrams and explore-exploit problems.
  • Develop intuition on theory, and gain practical experience with ethics concerning AI systems and their implications on society.