logo
Strefa architekta - logowanie
EN
ZAWóD:ARCHITEKT
19.12.2023

Edukacja architektoniczna wobec rozwoju AI

Szybkie tempo przemian wzmaga obawy, że bez ciągłego doszkalania i korekty przyzwyczajeń można nie wytrzymać konkurencji, a niepokój ten jest tym większy, im szybciej ogłaszane są nowe odkrycia i standardy. Konieczne stało się rozbudowywanie i tak przeładowanego już programu studiów o kolejne warsztaty komputerowe.

Za sprawą cyfryzacji do podstawowych kompetencji architekta, czyli np. umiejętności projektowania i przygotowywania dokumentacji z wykorzystaniem rysunków, doszła biegłość w posługiwaniu się oprogramowaniem CAD, a następnie BIM1. Od poprzedniego dziesięciolecia dużą popularnością cieszy się tzw. projektowanie parametryczne, a od około roku – wykorzystywanie algorytmów uczenia maszynowego do generowania projektów. Rozwój sztucznej inteligencji jest dziś na ustach wszystkich.

W nowej rzeczywistości należy zająć określone stanowisko. Jednak aby podjąć sensowną polemikę i mieć faktyczny udział w „cyfrowej rewolucji”, konieczne są podstawy nie tylko etyczne czy filozoficzne, ale też techniczne. Jest to główne uzasadnienie wprowadzenia programowania do edukacji architektonicznej. Trudno o wypracowanie przekonujących argumentów bez poznania podstaw wspomagania projektowania algorytmami i wyczucia jego możliwości, a także ograniczeń.

Jak zatem uczelnie mogą odpowiedzieć na postępującą cyfryzację zawodu i potrzebę opanowania przez studentów programowania oraz wykorzystywania sztucznej inteligencji?

COMPUTATIONAL DESIGN

Projektowanie z wykorzystaniem metod obliczeniowych wywodzi się z szerszego nurtu, który można nazwać „tradycją logiki”. Działali w nim tacy projektanci, jak Buckminster Fuller, Felix Candela, Maciej Nowicki, Pier Luigi Nervi, Frei Otto czy Christopher Alexander2. W dużym uproszczeniu należy powiedzieć, że koncepcje pokrewne, rozwijane m.in. przez wymienionych architektów, znalazły katalizator w postaci maszyny obliczeniowej, czyli komputera3. Następnie eksploracje wykorzystujące autorskie algorytmy wyodrębniły się i otrzymały miano architektury parametrycznej, która w pierwszej kolejności kojarzy się z pseudoorganicznymi formami, fraktalnymi wzorami czy geometrycznymi teselacjami, jednak jej istota leży nie w wymiarze stylistycznym, lecz w praktycznym.

Wykorzystanie komputerów do tworzenia cyfrowej dokumentacji jest powszechnym sposobem radzenia sobie ze złożonością zadań, ale tworzenie algorytmów wspomagających projektowanie pozostaje częściowo w sferze badań i eksperymentów. Aby zrozumieć różnicę, można wyobrazić sobie tradycyjne wykorzystanie komputera jako zaawansowanej cyfrowej deski kreślarskiej do zapisu pomysłów. Wprowadzenie algorytmów ma natomiast na celu ingerencję w to, co i w jaki sposób jest projektowane. Do ich najpopularniejszych zastosowań należą częściowa automatyzacja modelowania, przeprowadzanie symulacji energetycznych i środowiskowych, optymalizacja funkcjonalna i generowanie wstępnych koncepcji. Przekłada się to na oszczędność czasu, lepszą analizę projektu przed realizacją i większą kreatywność.

Wdrożenie wymienionych metod wiąże się ze specjalnością computational design (architektura informacyjna), której uprawianie wymaga połączenia kompetencji architektonicznych z programistycznymi4. Od strony warsztatowej jej oś stanowi przygotowywanie autorskich algorytmów (skryptów, programów) rozwiązujących konkretne problemy projektowe.

Amfiteatr grecki, ichnografia z Dziesięciu ksiąg Witruwiusza. „Parametryczny” projekt amfiteatru – przykład „myślenia komputacyjnego”, czyli rozwiązania klasy problemów za pomocą algorytmu – bez komputera. Źródło: oprac. własne na podstawie ilustracji Cesare Cesarino.
Amfiteatr grecki, ichnografia z Dziesięciu ksiąg Witruwiusza. „Parametryczny” projekt amfiteatru – przykład „myślenia komputacyjnego”, czyli rozwiązania klasy problemów za pomocą algorytmu – bez komputera. Źródło: oprac. własne na podstawie ilustracji Cesare Cesarino.

NAUKA PROGRAMOWANIA DLA ARCHITEKTÓW

Program studiów na Wydziale Architektury Politechniki Warszawskiej przewiduje kilkadziesiąt godzin na naukę programowania wizualnego. Studenci poznają nie tylko podstawy dotyczące narzędzi, ale też reguły tzw. computational thinking (myślenia komputacyjnego), czyli kreatywności opartej na informacjach, logice i wnioskowaniu5. Programowanie wizualne jest uproszczoną metodą implementowania algorytmów, polegającą na budowaniu ich z predefiniowanych bloków w programie do modelowania. Do najpopularniejszych rozwiązań należą Dynamo dla Revit (2012) i Grasshopper dla Rhino (2007). Na ostatnich dwóch latach studiów istnieje możliwość wybrania specjalizacji architektura informacyjna (polskojęzycznej) lub Architecture for the Society of Knowledge (anglojęzycznej), gdzie odbywa się już nauka „tradycyjnego” programowania w języku C#.

Niewiele osób jest w stanie tworzyć użyteczne w projektowaniu architektury skrypty po kilkudziesięciogodzinnym kursie, jednak samo zetknięcie się z metodą tworzenia za pomocą algorytmów jest już przydatne. Po osiągnięciu biegłości w programowaniu wizualnym można twórczo korzystać z szerokiego spektrum narzędzi, pozwalających oszczędzać czas lub generować projekty wyższej jakości.

Przejście z poziomu programowania wizualnego (np. Grasshopper) na programowanie „tradycyjne” (np. w języku C# lub Python) jest trudniejsze, ponieważ w przypadku tego drugiego zapis algorytmów przyjmuje formę kodu pisanego „od zera”, a nie układu predefiniowanych modułów w środowisku graficznym. Kilkunastogodzinny kurs w ramach studiów obejmuje podstawy, które dają zrozumienie, w jaki sposób tworzy się oprogramowanie. Celem zajęć jest przede wszystkim pokonanie tzw. progu wejścia i uznanie komputera za narzędzie programowalne.

Mimo że tylko nieliczni studenci kontynuują naukę we własnym zakresie, szerokie budowanie świadomości na temat możliwości programowania komputerów stanowi dobre przygotowanie do funkcjonowania w świecie zdominowanym przez technologię cyfrową. Opanowanie terminologii i zasad myślenia komputacyjnego pozwala na racjonalne dyskusje o przyszłości zawodu w kontekście rozwoju sztucznej inteligencji. Ważne, by uświadomić sobie, że komputer służy jedynie do wzmacniania kreatywności i zdolności projektowych oraz że nie potrafi więcej, niż sami go nauczymy.

Fragment skryptu w programie Grasshopper. Przykład programowania wizualnego. Źródło: mat. własne autora.
Fragment skryptu w programie Grasshopper. Przykład programowania wizualnego. Źródło: mat. własne autora.

SZTUCZNA INTELIGENCJA I PROGRAMOWANIE DLA WSZYSTKICH

Wspomaganie projektowania algorytmami, w tym sztuczną inteligencją, w innowacyjnych biurach projektowych ma miejsce już od wielu lat. Polega jednak na cichym udoskonalaniu własnej praktyki. Tylko większe pracownie mogą sobie pozwolić na stałe oddelegowanie pracowników do zadań związanych z rozwojem własnego oprogramowania, traktowanych jako intelektualny kapitał firmy, a co za tym idzie – pilnie strzeżonych. Unikalne rozwiązania, przygotowane przez doświadczonych projektantów i asystentów potrafiących programować, z oczywistych powodów nie są upubliczniane.

Zamieszanie wprowadziła popularyzacja serwisu ChatGPT oraz generatywnych sieci neuronowych tworzących obrazy. Wynika ono po pierwsze z tego, że narzędzia stworzone wyłącznie przez inżynierów oprogramowania są w stanie wykonywać zadania zarezerwowane do tej pory dla innych branż. Po drugie – do korzystania z nich nie jest potrzebne żadne przygotowanie, wystarczy poprosić. Doprowadziło to do niepokojów w wielu środowiskach: od dziennikarzy i pisarzy przez artystów po programistów. Czy skoro od teraz wszyscy mogą pisać artykuły, scenariusze, przemówienia i programy komputerowe (GPT potrafi generować działający kod) albo tworzyć cyfrowe ilustracje, zdjęcia, projekty domów, to wiele profesji straci rację bytu? Postanowiliśmy umożliwić krytyczne korzystanie z ww. serwisów przy wykonywaniu zadań na niektórych zajęciach, żeby ocenić ich przydatność i podjąć dyskusję.

Fragment programu w języku generującym geometrię, wykonanego w ramach zajęć na WA PW. Źródło: mat. własne autora.
Fragment programu w języku generującym geometrię, wykonanego w ramach zajęć na WA PW. Źródło: mat. własne autora.

GPT

ChatGPT, czyli chat-bot opracowany przez OpenAI, zdominował dyskusje na temat sztucznej inteligencji. Jest to rodzaj dużego modelu językowego, który potrafi tworzyć tekstowe odpowiedzi na pytania użytkownika. GPT rozwiązuje zagadki logiczne, zadania matematyczne, a nawet generuje działający kod programów komputerowych.

Tekst nie jest podstawowym medium w opracowywaniu i komunikowaniu projektów architektonicznych, więc przydatność takiego narzędzia wydaje się ograniczona. W minionym semestrze obserwowałem trzy sposoby jego wykorzystania – jako: źródła ogólnej wiedzy, wspomagania nauki obsługi oprogramowania i pomocy przy programowaniu.

Przy pierwszym sposobie wyłoniły się dwa problemy. Generowane treści opierały się na wiedzy ogólnej i trudno było uzyskać szczegółowe albo kontekstowe informacje. Jeszcze większą przeszkodę stanowiły tzw. halucynacje sztucznej inteligencji, czyli nieprawdziwe albo nietrafne wyniki podane w przekonującej formie, których wykrycie wymaga ekspertyzy branżowej lub solidnej weryfikacji zgodności z rzetelnymi źródłami.

Wspomaganie nauki obsługi oprogramowania wydaje się najbardziej obiecującym zastosowaniem ChatuGPT. Na pytania o metody wykonania określonych zadań w dowolnym programie otrzymywaliśmy w większości prawidłowe, przydatne odpowiedzi. Korzyścią jest tu oszczędność czasu, którego nie trzeba poświęcać na samodzielne przeszukiwanie forów internetowych czy plików pomocy.

W trzecim zastosowaniu ChatGPT posłużył jako pomoc przy programowaniu w języku C# i układaniu algorytmów z zakresu geometrii obliczeniowej. Jak już wspomniałem, model GPT jest w stanie generować działający kod programów, np. do tworzenia makr w Excelu czy prostych stron internetowych. Wraz ze studentami odkryliśmy jednak dwie przeszkody.

Po pierwsze, podawane przez ChatGPT kody wyglądają na poprawne i najczęściej nie zawierają błędów składniowych, więc programy się uruchamiają. Niestety, dość często zdarzają się błędy logiczne, które są znacznie trudniejsze do wychwycenia. Mimo że program działa, to jego działanie odbiega od założeń, a żeby to zweryfikować, wymagana jest umiejętność samodzielnego rozwiązania zadania. Problem ten został szybko zauważony np. na popularnym forum programistycznym Stack Overflow, gdzie zakazano korzystania z GPT do generowania odpowiedzi ze względu na wysoki stopień ich niepoprawności i przerzucenie obowiązku weryfikacji na ludzkich ekspertów6. Podobnie może być w przypadku architektury – do oceny i poprawy rezultatu działania sztucznej inteligencji i tak potrzebny jest człowiek z odpowiednią wiedzą, czyli architekt.

Po drugie, przeszkodę dla stosowania wyników działania ChatuGPT przy projektowaniu stanowi fakt, że wiele problemów geometrycznych (przestrzennych) trudno opisać wyłącznie słowami, a ich charakter jest unikalny i specyficzny dla danego projektu. Wszyscy znamy rolę rysunku podczas omawiania koncepcji architektonicznych. Podobnie jest z definiowaniem zadań. Problemy geometryczne rozwiązywane podczas zajęć były na tyle złożone, że nie dało się ich opisać z wykorzystaniem jedynie słów. Ponadto model uczenia maszynowego bazuje na ogólnodostępnych treściach, co oznacza, że w praktyce nie jest kreatywny. ChatGPT potrafi wykonać proste zadania programistyczne, a nawet wygenerować kod tworzący określoną geometrię, ale nie zaprojektuje autorskiego algorytmu ani nie wymyśli rozwiązania przestrzennego lub funkcjonalnego tak, jak zrobi to człowiek.

SIECI NEURONOWE GENERUJĄCE OBRAZY I RYSUNKI

Drugą powszechną kategorią narzędzi opartych na sztucznej inteligencji są sieci neuronowe generujące obrazy na podstawie tekstu (tzw. promptu), takie jak Dall-E, Stable Diffusion czy Midjourney. Przez pewien czas zainteresowanie nimi w środowisku architektów było dość duże, a w sieciach społecznościowych pojawiały się dziesiątki dobrze wyglądających wizualizacji budynków, oznaczonych informacją, że zostały wygenerowane w zaledwie kilkanaście minut.

Prawdą jest, że dostępne sieci neuronowe pozwalają tworzyć kreatywne interpretacje zadanych tematów w krótkim czasie. Podczas ćwiczeń wykorzystywaliśmy je na wstępnym etapie projektowania, równolegle z odręcznymi szkicami. Służyły za przegląd rozwiązań do dalszego rozwinięcia lub za szybkie wizualizacje prezentowanych koncepcji.

Jednak modele uczenia maszynowego „wiedzą” tylko tyle, ile przedstawiono im na etapie treningu. Wyniki tworzą tylko pewne wrażenie i są odbiciem najpowszechniejszych gustów. Budynki, detale architektoniczne i rzuty stworzone przez sztuczną inteligencję okazały się więc ogólne i mało przydatne.

Kolejnym problemem jest to, że nawet jeśli wygenerowany efekt nam się spodoba, to zyskujemy tylko widok z jednej strony. Nie można poprosić o wizualizację tego samego budynku z innej perspektywy. Obiekt jest bowiem cyfrowym wyobrażeniem, nie istnieje jako taki. Zdefiniowanie nawet podstawowych parametrów, takich jak liczba pięter lub rodzaj okien, jest trudne i wymaga eksperymentowania z promptami, a ostateczne przygotowanie rysunków lub modelu trójwymiarowego i tak pozostaje po stronie projektanta.

EDUKACJA UKIERUNKOWANA NA WYKORZYSTANIE SIECI NEURONOWYCH

Problematyka wykorzystania serwisów opartych na AI jest bardzo rozległa. Istnieją już profesjonalne kursy i poradniki, które szczegółowo omawiają temat. Są one często adresowane do programistów albo osób o przynajmniej podstawowej wiedzy informatycznej. Zaawansowane scenariusze wymagają ogólnej wiedzy z zakresu uczenia maszynowego i znajomości któregoś języka programowania. Do samodzielnych modyfikacji i pracy z własnymi danymi potrzebna jest duża swoboda w korzystaniu z komputera. Można np. połączyć generatywną sieć neuronową z modelem parametrycznym, aby lepiej kontrolować otrzymywane wyniki7. W programie studiów architektonicznych nie ma miejsca na takie treści, ale wstęp do programowania stanowi dobrą bazę do dalszych indywidualnych poszukiwań.

Projektowanie i trenowanie sieci neuronowych jest na zupełnie innym poziomie i prawdopodobnie nie ma sensu, żeby architekt sam kształcił się w zakresie uczenia maszynowego. Jednak aby uczestniczyć w pracach zespołu interdyscyplinarnego, konieczne wydaje się dobre opanowanie przynajmniej podstawowych zagadnień z zakresu inżynierii oprogramowania.

Rezultaty działania generatywnej sieci neuronowej Dall-E na podstawie zapytań o domy jednorodzinne, rzuty i detale architektoniczne. Źródło: mat. własne autora (8).
Rezultaty działania generatywnej sieci neuronowej Dall-E na podstawie zapytań o domy jednorodzinne, rzuty i detale architektoniczne. Źródło: mat. własne autora (8).

PODSUMOWANIE

Rozwój sztucznej inteligencji jest faktem i nic nie wskazuje na to, żeby ten trend miał się odwrócić. Do zadań uczelni należy natomiast przygotować przyszłych architektów do wywierania wpływu na kierunek zmian.

Pocieszające jest, że wykształcenie, doświadczenie i ekspertyza nie są dewaluowane z powodu upowszechnienia się algorytmów AI. Wręcz przeciwnie – wzrasta rola świadomego moderatora, który potrafi oddzielić przydatne i sensowne treści od zbędnego szumu informacyjnego. Sztuczna inteligencja przeznaczona dla dużego grona użytkowników póki co nie zagraża ekspertom. Co więcej, istnieją opracowania, według których tylko ułamek zadań wykonywanych przez architekta ma potencjał automatyzacji, a i tak potrzebny jest do niej kreatywny człowiek8.

Każda przełomowa innowacja w dziedzinie metod pracy rodzi zrozumiałą obawę przed utratą zatrudnienia. Historia pokazuje jednak, że takie odkrycia nie skutkowały kryzysem bezrobocia, tylko podnosiły jakość pracy i wysokość zarobków oraz zapewniały więcej wolnego czasu. Powielanie postawy luddystów, którzy na początku XIX w. niszczyli automatyczne krosna tkackie, protestując przeciw automatyzacji, jest równie błędne jak ignorowanie tradycji i kultury w imię abstrakcyjnego postępu. Ważne, aby śledzić trendy, poznawać nowe możliwości i wykorzystywać je tam, gdzie faktycznie mogą się przydać. Jednak zawsze z dozą sceptycyzmu i uzasadnionej wiary we własną, ludzką inteligencję. ■


KRZYSZTOF NAZAR

asystent badawczo-dydaktyczny na Wydziale Architektury Politechniki Warszawskiej; computational designer w Designbotic; prowadzi zajęcia z projektowania generatywnego i programowania dla architektów; bada wykorzystanie algorytmów przy projektowaniu architektury mieszkaniowej


1 P.G. Bernstein, Architecture Design Data: Practice Competency in the Era of Computation, Birkhäuser Verlag, Bazylea 2018.

2 M.W. Steenson, Architectural Intelligence: How Designers and Architects Created the Digital Landscape, MIT Press, Cambridge, Massachusetts 2017.

3 J. Słyk, Źródła architektury informacyjnej, Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2012.

4 N. Leach, P.F. Yuan, Computational Design, Tongji University Press, Szanghaj 2017.

5 P.J. Denning, M. Tedre, Computational Thinking, MIT Press, Cambridge, Massachusetts 2019.

6 Stack Overflow, Temporary policy: Generative AI (e.g., ChatGPT) is banned, https://meta.stackoverflow.com/questions/421831/temporary-policy-generative-ai-e-g- -chatgpt-is-banned (data dostępu: październik 2023).

7 N. Ömer, Why to Pay an Architect? (99.7% AI-Designed Project), https://designinputstudio.com/why-to-pay-an-architect-99- -7-ai-designed-project (data dostępu: październik 2023).

8 D. Trabucco, Will artificial intelligence kill architects? An insight on the architect job in the AI future, „TECHNE Special Series”, 2021, t. 2, s. 128–132.

rozumiem
Używamy plików cookies w celu realizacji usług i zgodnie z polityką plików cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce. Korzystając z tej strony wyrażasz na to zgodę.