/machineintelligence

An Introduction to Machine Intelligence for Architects and other Nonengineers

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

An Introduction to Machine Intelligence for Architects and other Nonengineers

ETH Zurich, Chair for CAAD, Autumn semester 2019

Course Tutor: Nikola Marinčić

#052-0627-19L

State of the art machine intelligence today is usually provided as libraries of code, written by large-scale influential companies, (for example Google’s TensorFlow or Facebook’s Pytorch) structured by professional engineers such that the involved architectonics and procedures conform and reinforce the engineering problem-solving mindset. Anyone not able or willing to adhere to this mode of operation—for example architecture, which is neither a discipline, nor it is strictly about problem solving—is kept at a safe distance, and offered tools and tutorials. The knowledge about a computational concept, for example a much-hyped GAN, is offered to the peers as a complex technical paper, and to the rest, simply as a library of code to be played with. If an architect, willing to reinvent her field in today’s novel and significant technological context wishes to acquire the necessary literacy to navigate the space where the knowledge is created and negotiated, she faces considerable difficulties. Prerequisites to enter the field are the same as for future engineers, along with pedagogic principles. If, on the other hand, we are unwilling to pursue this literacy, we are once again in a situation to simply accept the tools and let them write our legacy. However, this time, the shortcut that we would be taking might have far greater consequences than before. It could, in fact, do a great honour to computer science by allowing it to turn a three-thousand-year-old legacy of architecture into one of its particular specialisations.

This course aims to make you computationally literate in terms of machine intelligence. It is suitable for architects and those without the engineering background, but with some knowledge of writing code. Its goal is to teach you exactly and in full detail how some of the most prominent machine learning algorithms work. (deep neural networks, self-organising maps,etc.) To achieve this, we will introduce the mathematical concepts necessary for understanding the topic and illustrate them by implementing the machine learning algorithms from scratch in python progamming language. Being an expert programmer is not a prerequisite for this course, it is your interest and curiosity to plunge into something new and challenging.