Machine-learning-based self-adaptation of component ensembles
Adaptace komponent a jejich kooperace na základě strojového učení
rigorózní práce (UZNÁNO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/191997Identifikátory
SIS: 271280
Kolekce
- Kvalifikační práce [11237]
Autor
Vedoucí práce
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Umělá inteligence
Katedra / ústav / klinika
Katedra teoretické informatiky a matematické logiky
Datum obhajoby
8. 7. 2024
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Uznáno
Klíčová slova (česky)
adaptace|strojové učení|komponenty|kooperaceKlíčová slova (anglicky)
self-adaptive|machine learning|components|ensemblesStrojové učení se úspěšně používá pro dílčí úlohy v oblasti distribuovaných adaptivních systémů (například internet věcí a tzv. cyber-physical systémy). Mezi nejčastější použití patří predikce budoucího stavu komponent systému (například kolik energie bude zbý- vat v baterii dané komponenty za určitý čas) a prořezávání prostoru možných adaptací systému. Většina dosavadního výzkumu se soustředila především na použití algoritmů strojového učení pro konkrétní úlohy, nicméně zatím nebylo věnováno příliš pozornosti systematickému zapojení strojového učení přímo do architektury systémů. V této práci představujeme ML-DEECo - komponentový model specificky navržený pro snadné použití strojového učení v adaptivní komponentové architektuře systému. ML-DEECo je založen na konceptech komponent a jejich kooperace z komponentového modelu DEECo a rozšiřuje DEECo o abstrakce pro specifikaci predikcí přímo v architek- tuře systému. Architekt softwarového systému se tak může soustředit pouze na logiku systému a vše potřebné pro získání predikcí (například trénink modelu pomocí algoritmů strojového učení) zajišťuje náš framework. Součástí práce je implementace ML-DEECo frameworku v Pythonu a ukázka jeho použití na příkladech adaptivních systémů z oblastí chytrého farmaření a Průmyslu 4.0.
In the area of distributed self-adaptive smart systems (such as applications of Internet of Things and Cyber-Physical Systems), machine learning has been successfully used in several applications including the prediction of metrics regarding the components in the system (e.g., battery consumption), and pruning of the space of possible adaptations. It is clear that machine learning can be a useful tool in self-adaptive systems. Most of the research works focus on using the machine learning algorithms for a specific task, yet they are (at least partially) lacking in providing a systematic approach to the introduction of machine learning into the architecture of the system. In this thesis, we propose ML-DEECo - a machine-learning-enabled component model for adaptive component architectures. It is based on the concepts of autonomous com- ponents and their ensembles (coalitions) from the DEECo component model. We enrich DEECo with abstractions for specifying machine-learning-based estimates directly in the architecture of the system. The architect can thus focus on the business logic of the application while all the tasks necessary to provide the estimates (such as collecting the data and training the model) are provided by our runtime framework. We provide an implementation of the ML-DEECo runtime in Python and...