Od kilku lat temat sztucznej inteligencji nieustannie zdobywa pierwsze strony gazet. Jedni widzą w tej technologii nadzieję na znalezienie odpowiedzi na wielkie pytanie dotyczące życia, wszechświata i całej reszty. Inni, na myśli o postępującym rozwoju tej technologii, przytaczają wizje mianem z filmów akcji gdzie buntujące się maszyny próbują przejąć kontrolę nad światem. W rozmowie o sztucznej inteligencji warto jednak mieć na uwadze, że technologia ta rozwijała się w różnym tempie przez ostatnie 70 lat. Ja postaram się przedstawić ten temat od budowlanej kuchni. Ruszajmy!

Sztuczna inteligencja dla architektów i inżynierów budownictwa

Początki mechaniki budowli można przypisywać Galileuszowi i jego teorii największego naprężenia rozciągającego. Dyscyplina ta rozwijała się przez ponad trzy stulecia. Dodatkowo pojawienie się komputerów i metod obliczeniowych takich jak MES tylko przyspieszyło ten rozwój. To wszystko sprawia, że modelowanie konstrukcji jest niebagatelnym zadaniem wymagającym zarówno inżynierskiego zmysłu jak i doświadczenia. Do tego im bardziej wizjonerski pomysł architekta tym ważniejsze by od samego początku projekt był konsultowany z konstruktorem. W tym miejscu tworzy się przestrzeń dla wirtualnego asystenta, który w czasie rzeczywistym mógłby wspomagać proces projektowania.

Spoglądając na to samo zagadnienie z innej perspektywy można zauważyć, że sprawdzone rozwiązania konstrukcyjne górują nad tymi nowatorskimi. Naturalnie, jest to związane z ograniczonym budżetem oraz liniowym charakterem procesów budowlanych, gdzie każda iteracja projektowa zajmuje niemalże, tyle samo czasu co poprzednia. Wierzę, że sytuacja ta może ulec zmianie pod warunkiem, że dostarczymy narzędzi, które pozwolą na szybkie, ale także umiarkowanie dokładne przewidywanie wyników analiz wytrzymałościowych.  Ponownie, zadanie dla sztucznej inteligencji!

Takie narzędzia mają już swoje nazwy i nie są niczym nowym. Mowa tutaj o tak zwanych Reduced Order Models czy krócej Metamodels, które w rzeczy samej są niczym innym jak uproszczeniem dokładnego i skomplikowanego modelu wzorcowego. Z reguły, metamodele wymagają mniejszej liczby parametrów i dostarczają rozsądnych wyników niemalże błyskawicznie. Tylko to sobie wyobraź: jako architekt tworzysz pierwszy szkic budynku a wirtualny asystent podpowiada Ci co należy pogrubić lub podeprzeć, jako konstruktor zaczynasz pracę od modelu gdzie wszystko ma sens i wymaga tylko minimalnych poprawek i potwierdzenia dokładnymi obliczeniami. Bez wątpienia takie narzędzia są nam potrzebne. Choć to tylko wizja przyszłości, już dzisiaj narzędzia tej klasy są w zasięgu ręki.

Sztuczne sieci neuronowe

Najważniejszym elementem każdego systemu opartego na metodach sztucznej inteligencji są dane wykorzystywane w procesie uczenia. Dane muszą zawierać przykładowe pary parametrów wejściowych (X) do modelu i prawidłowe rozwiązania (Y). Pewnie już słyszałeś, im więcej danych tym lepiej. Dane można zbierać lub generować. Ważne aby dane były reprezentatywne dla danego problemu.

Doświadczanie pokazuje, że spośród wielu modeli, sztuczne sieci neuronowe (z angielskiego: Artificial Neural Networks, ANN) są bezkonkurencyjne. Sztucznym sieciom neuronowym powszechnie przypisuje się analogie ze świata przyrody, jednak to nic innego jak matematyczny model, który można przedstawić za pomocą jednego równania lub grafu:

http://scikit-learn.org/stable/_images/multilayerperceptron_network.png
Rys. 1 Sztuczne sieci neuronowe

Patrząc na wzór powyżej, tak zwane uczenie maszynowe (z angielskiego: Machine Learning) polega na dopasowaniu niewiadomych W tak aby powstawał możliwie najmniejszy błąd pomiędzy prawdziwym rozwiązaniem Y a tym otrzymanym po przez podstawienie odpowiedniego X do modelu. Prawda, że proste?!

Struktura taka idealnie nadaje się do upraszczania skomplikowanych modeli. Dlatego sztuczne sieci neuronowe często określane są mianem generalnych aproksymatorów.  

Praktyczne zastosowanie sztucznej inteligencji w budownictwie

Do tej pory budownictwo widziało jedynie metamodele tworzone na potrzeby pojedynczego zadania. Tak zwane ekskluzywne modele. Umiarkowanie praktyczne i całkowicie bezużyteczne dla nawet odrobine odmiennych problemów.

Pomysł budowy uogólnionych metamodeli został zaproponowany dopiero niedawno w pracy doktorskiej autorstwa Mehdi Nourbakhsha. Taki uogólniony model będzie tak samo przydatny dla architekta w Polsce jak i gdziekolwiek indziej na świecie. Potencjał takiego rozwiązania jest niesamowity.

Jednak nikt w branży budowlanej nie pozwoli na korzystanie z narzędzi działających na zasadzie czarnej skrzynki. Powstaje potrzeba rozeznania terenu, to idealny moment by zrobić coś samemu na tym polu.

Dynamo – most pomiędzy budownictwem a światem technologii.

Brak publicznie dostępnych danych oznaczał konieczność ich wygenerowania. Manualne tworzenie bazy danych do tego celu zajęłoby wieczność. Tu przychodzi z pomocą Dynamo, które umożliwia wygenerowanie takich danych w ciągu jednej nocy, automatycznie.

Wykorzystane programy oraz przepływ danych pomiędzy poszczególnymi elementami składowymi całej układanki zobaczysz poniżej. Należy wskazać na dowolność w wyborze programów czy języków programowania. Większość programów obliczeniowych posiada interfejsy (Application Programing Interface, API) pozwalające na obsługę programu z poziomu konsoli. Daje dużą swobodę w doborze elementów składowych takiego środowiska pracy.

Rys. 2. Schemat pracy między programami

W ramach procesu generowania danych wykorzystano geometrię 12 różnych konstrukcji. Modele tych konstrukcji zostały sparametryzowane, kolejny element automatyzacji. Wśród modeli były obecne zarówno trójwymiarowe ramy jak i kratownice. Przegląd wszystkich konstrukcji podsumowuje poniższa grafika. Liczba przy nazwie modelu wskazuje na sumaryczną ilość elementów w danym modelu.

Rys. 3. Podsumowanie przeanalizowanych konstrukcji

Aby zapewnić różnorodność danych, każdemu elementowi przypisywano losowy przekrój. Mając to na uwadze liczbę elementów w konstrukcji oraz losowy wybór przekroju staje się oczywiste, że każdy model był unikalny.

Kilka statystyk zanim przejdziemy dalej. Liczba pojedynczych elementów konstrukcyjnych w modelach wahała się od 250 do 1600 elementów. W sumie zostało stworzonych i przeanalizowanych ponad 3 miliony elementów konstrukcyjnych.

Przygotowanie danych do uczenia maszynowego

Wygenerowane dane zostały zapisane w plikach .csv a każdy element został opisany za pomocą 25 parametrów wejściowych, wśród których znajdowały się informację takie jak:

  • lokalizacja elementu w konstrukcji
  • warunki obciążenia
  • warunki podparcia
  • charakterystyki przekroju
  • zsumowana sztywność sąsiadujących elementów

Dla każdego zestawu parametrów wejściowych wyznaczono dodatkowo maksymalne naprężenia zredukowane. Zestaw danych dla 3 milionów elementów ważył około 500MB.

Ciąg dalszy projektu był kontynuowany z wykorzystaniem Python’a i dostępnych bibliotek. W pierwszym kroku zdecydowanie należy zbudować sobie intuicję na temat danych. Obserwować ich rozkład, czy są widoczne jakieś zależności, czy przypadkiem do zbioru danych nie wkradł się błąd.

W celu budowy metamodelu bazującego na sztucznej sieci neuronowej należy postępować zgodnie z czterema krokami:

  1. dostępne dane należy podzielić na dwa podzbiory, zestaw uczący i testowy
  2. zdefiniować model sztucznej sieci neuronowej
  3. dopasować model do danych z zestawu uczącego
  4. przetestować model na danych z zestawu testowego

O szczegółach technicznych można by tu pisać wiele. Jest to temat na osobny wpis lub całą serię.

Projektowanie z wykorzystaniem sztucznej inteligencji

Przygotowano i przetestowano kilka różnych sieci neuronowych. W jednym z przeprowadzonych testów udało się wykazać, że metamodele mogą z powodzeniem służyć do prognozowania naprężeń w konstrukcjach podobnej klasy. Tak na przykład, metamodel może posłużyć w projektowaniu ram przestrzennych czy kratownic dachowych. Średnio, przewidywane naprężenia w elementach różniły się o 10% do 20% od wartości rzeczywistych obliczonych za pomocą programu MES. To doskonała dokładność na etapie koncepcji!

Inny test pokazał jak ważna jest ilość danych uczących. Dla przypadku gdzie wykorzystano tylko kilka kompletnych konstrukcji do wygenerowania danych uczących jakość wyników była niedostateczna. Podobnie w teście gdzie metamodel miał odwzorować zachowanie się dowolnej konstrukcji.

Słowem podsumowania

Wniosek jest prosty. Metamodele do generalnego użytku będą wymagały użycia zestawu danych znacznie większych rozmiarów niż te dostępne dla pojedynczej osoby czy nawet firmy. Tylko wspólnym wysiłkiem ogromnej grupy projektantów uda się przygotować odpowiedni zbiór danych.

Zastosowanie sztucznej inteligencji w budownictwie daje tyle samo możliwości co przeszkód. Odpowiedzialność projektantów za budynki wymaga dokładności znacznie większej niż ta oferowana przez metamodele. Trudno więc mówić o zagrożeniu dla miejsc pracy inżynierów i architektów ze strony inteligentnych robotów. Jednocześnie, wyniki przewidywane przez niektóre metamodele zapewniają dostateczną dokładność by podejmować decyzje we wczesnym etapie projektu. To pokazuje potencjał dla nowej generacji narzędzi projektowych. Nowe, inteligentne narzędzia pomogą przekierować uwagę inżynierów z powtarzalnych czynności na te wymagające kreatywności i pomysłowości. Zwiększając efektywność zyskamy cenny czas by kształtować horyzonty miast jak nigdy dotąd.

Dajcie znać w komentarzach czy chcecie abyśmy opisali inne ciekawe technologie. Możemy również stworzyć artykuł wyjaśniający jak korzystać i programować z Dynamo. A może jesteście zainteresowani szybkim kursem, na którym wspólnie opracujemy przykładowy projekt? Czekamy na podpowiedzi. Do usłyszenia!

2 KOMENTARZE

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię