Abgeschlossene studentische Arbeiten

Abteilung Anwendersoftware

Studentische Arbeiten in deutschsprachigen Studiengängen

Abgeschlossene Bachelorarbeiten

Motivation

Daten sind heutzutage die Grundlage vieler Prozesse in Industrie und Forschung. Durch technologische Entwicklungen, wie z. B. IoT oder Industrie 4.0, ist ein steigendes Wachstum an Datenmengen zu beobachten. Um aus den gespeicherten Daten Wissen zu generieren, existieren diverse Analysealgorithmen, wie z. B. Verfahren zur Klassifikation oder zum Clustering.

Da diese Analysealgorithmen eine hohe Komplexität aufweisen, werden insbesondere auf großen Datensätzen lange Laufzeiten beobachtet. Um diese Laufzeiten bei möglichst gleichbleibender Qualität des Resultates zu reduzieren, werden häufig Datenreduktionsmaßnahmen vor dem Ausführen der Analysealgorithmen durchgeführt. Durch diese Datenreduktionsmaßnahmen werden entweder die Anzahl der Entitäten (Sampling) [1] oder auch die Anzahl an Dimensionen (Dimensionsreduktion) [2] reduziert.

Bisherige Arbeiten fokussieren sich zumeist auf das Sampling, da hier die Anzahl an Entitäten in einem Datensatz reduziert wird. Jedoch erfahren besonders bei Big-Data-Problemen auch die große Anzahl an Dimensionen besondere Beobachtung, da ggf. nicht jede Dimension notwendig ist, um eine belastbare Analyse durchzuführen.

Ziele

Im Rahmen dieser Arbeit soll untersucht werden, inwiefern Autoencoder verwendet werden können, um eine kompakte Repräsentation der Datensätze zu erstellen und inwiefern sich diese Repräsentation der Daten auf anschließende Analysealgorithmen auswirkt.

Autoencoder entstammen dem Bereich des Deep Learnings und können als Dimensionsreduktionsverfahren verwendet werden [3]. Dabei werden neuronale Netze mit diversen Neuronen auf mehreren Schichten verwendet, um eine kompakte Repräsentation (= Encoding) des Datensatzes zu erlernen. Anschließend kann dieses Encoding anstatt des gesamten Datensatzes für weitere Analyseschritte, wie die oben genannten Analysealgorithmen, verwendet werden.

Folglich soll in dieser Arbeit zunächst die Funktionsweise von Autoencodern genauer untersucht werden. Anschließend sollen ausgewählte Architekturen von Autoencodern identifiziert und auf geeigneten Ausführungsumgebungen umgesetzt werden. Letztlich soll untersucht werden, inwiefern das Encoding der Autoencoder hinsichtlich der Laufzeit und der resultierenden Genauigkeit der Analysealgorithmen im Rahmen eines Datenanalyseprozesses verwendet werden können.

Die Arbeit umfasst dazu folgende Aufgaben:

  • Literaturstudium zu Autoencodern
  • Identifizierung von geeigneten Architekturen für Autoencoder
  • Identifizierung von geeigneten Ausführungsumgebungen
  • Prototypische Implementierung
  • Evaluation hinsichtlich Performanz und Laufzeit
  • Präsentation der Zwischenergebnisse in einem Vortrag
  • Präsentation der Ergebnisse in einem Vortrag
Voraussetzungen
  • Erste Erfahrungen mit Data-Mining-Algorithmen
  • Solide Programmierkenntnisse in Python
  • Starkes Interesse an Data Science
Literatur

[1] O. Bachem, M. Lucic, and S. Lattanzi, “One-Shot Coresets: The Case of k-Clustering,” in International Conference on Artificial Intelligence and Statistics (AISTATS), 2018.
[2] S. Wold, K. Esbensen, and P. Geladi, “Principal component analysis,” Chemometrics and intelligent laboratory systems, vol. 2, no. 1-3, pp. 37–52, 1987.
[3] G. E. Hinton and R. R. Salakhutdinov, “Reducing the dimensionality of data with neural networks.” Science, vol. 313 5786, pp. 504–7, 2006.

Hintergrund

Im Moment werden Modelle des maschinellen Lernens auf Basis ihrer Metriken miteinander verglichen, um herauszufinden, welches Modell die genauesten Ergebnisse für Prognosen liefert. Metriken sind z.B. Classification Accuracy, Logarithmic Loss, Confusion Matrix, Area under Curve, F1 Score, Mean Absolute Error und Mean Squared Error. Nachdem ein Modell mit der gewünschten Prognosegüte gefunden ist, kann dieses in Betrieb genommen werden und z.B. mittels eines Webservice für Applikationen zur Verfügung gestellt werden. Mit der Zeit werden neue Daten erzeugt, die neue als auch geänderte Muster aufweisen, wodurch die Modelle angepasst werden müssen. Dabei entsteht mit jedem erneuten Trainieren eine neue Modellversion. Auch wenn die Metrik besser ist als bei der letzten Version kann diese z.B. durch eine unausgewogene Klassenverteilung verfälscht sein. Wenn dann falsche Vorhersagen gemacht werden, müssen tiefergehende Vergleiche zwischen einzelnen Modellversionen durchgeführt werden. So müssen z.B. Änderungen in der Struktur der Modelle identifiziert werden, die zu möglichen falschen Vorhersagen führen. Dieser Vergleich kann in Einzelfällen händisch durchgeführt werden. Wenn Modelle jedoch häufig auf neue Modellversionen aktualisiert werden, kann diese Aufgabe ohne entsprechendes Werkzeug schwierig werden.

Ziele und Aufgabenstellung

In dieser Arbeit soll ein Software-Framework entwickelt werden, das es ermöglicht, Modelle aus dem Repository einer Modellverwaltungsplattform automatisiert miteinander zu vergleichen. Dazu sollen verschiedene Methoden von [WMR+03,Boe11,DB13] erprobt und dann in das Software-Framework integriert werden. Da das Software-Framework Vergleiche zwischen Modellen des maschinellen Lernens auf Basis des standardisierte Datenformat PMML ermöglichen soll, müssen verschiedene Daten aus PMML-Dateien mittels eines XML-Parsers extrahiert werden. Da verschiedene Ansätze für Vergleiche implementiert werden sollen, ist eine geeignete Software-Architektur zu verwenden (z.B. eine Microservice-Architektur). Diese soll es erlauben, die verschiedenen Ansätze flexibel zu einer übergeordneten Vergleichsfunktion zu kombinieren. Für die spätere Evaluierung sollen beispielhaft verschiedene Vergleichsfunktionen erstellt werden.

Konkrete Aufgaben:
  • Erarbeitung der Grundlagen, Stand der Wissenschaft und Technik, z.B. aus den Bereichen Change Mining [WMR+03] und Contrast Data Mining [Boe11, DB13]
  • Erstellung von Use Cases, die einen Vergleich von ML-Modellen erforderlich machen
  • Implementierung der bestehenden Methoden und Integration des Software-Frameworks in die Modellverwaltungsplattform
  • Evaluierung des Prototyps anhand der Use Cases
Anforderungen
  • Studiengang Informatik, Softwaretechnik
  • Grundkenntnisse aus diesen Vorlesungen sind von Vorteil:
    • Architektur von Anwendungssystemen
    • Introduction to Machine Learning
Literatur

[WMR+03]

Wang, K., Zhou, S., Fu, C.A., Yu, J.X.: Mining Changes of Classification by Correspondence Tracing. In: Proceedings of the 2003 SIAM International Conference on Data Mining (2003)

[Boe11]

Boettcher, M.: Contrast and change mining. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery 1(3), 215–230 (2011)

[DB13]

Dong, G., Bailey, J.: Contrast data mining. Concepts, algorithms, and applications. CRC Press, Boca Raton (2013)

Abgeschlossene Masterarbeiten

Motivation

In einem dynamischen Umfeld wie dem Internet der Dinge oder der Industrie 4.0 werden Sensordaten produziert, aus denen Situationen mithilfe von Situationstemplates abgeleitet werden können. Ein Situationstemplate enthält Bedingungen an die Sensordaten, die erfüllt werden müssen, damit eine Situation abgeleitet werden kann. Im weiteren Verlauf können die abgeleiteten Situationen mit anderen Teilnehmern aus dem dynamischen Umfeld ausgetauscht werden, die dann wiederum ihre Prozesse an die neuen Gegebenheiten anpassen [1–3]. Die seit einigen Jahren bestehende Blockchain-Technologie bietet neben den Eigenschaften wie Konsistenz, Sicherheit und Unveränderbarkeit auch die Unterstützung von Smart Contracts an. Smart Contracts sind Programme, die Bedingungen enthalten und auf dieser Basis Entscheidungen treffen.

Aufgabenstellung

In dieser Arbeit soll untersucht werden, inwieweit Smart Contracts für die verteilte Erkennung von Situationen verwendet werden können. Hierfür sollen Konzepte entwickelt und implementiert werden sowie ihre Funktionsfähigkeit an beispielhaften Anwendungsszenarien demonstriert werden.

Daher umfasst die Arbeit folgende Aufgaben:

  • Einarbeitung in die Blockchain-Technologie, insbesondere in die Hyperledger Fabric [4] Blockchain-Plattform und deren Unterstützung von Smart Contracts
  • Konzeptionierung und Implementierung von Smart Contracts für die Erkennung von Situationen auf der Hyperledger Fabric Blockchain-Plattform
  • Konzeptionierung und Implementierung einer webbasierten Lösung zur Visualisierung der erkannten Situationen. Hierbei sollen die Situationen direkt aus der Blockchain gelesen werden
  • Demonstration der Funktionsfähigkeit der in Punkt zwei entwickelten Lösungen an beispielhaften Anwendungsszenarien
  • Vergleich der verteilten Situationserkennung zwischen Smart Contracts und Complex Event Processing [5, 6], beispielsweise anhand von Chancen und Risiken

Die Ergebnisse müssen in einem Zwischen- und Abschlussvortrag präsentiert werden. Es wird erwartet, dass die Arbeitsergebnisse mit einer uneingeschränkten Nutzungslizenz zur Verfügung gestellt werden.

Voraussetzungen
  • Gute bis sehr gute Programmierkenntnisse
Literatur

[1] M. Wieland, H. Schwarz, U. Breitenbücher, and F. Leymann, “Towards situation-aware adaptive workflows: Sitopt — a general purpose situation-aware workflow management system,” in 2015 IEEE International Conference on Pervasive Computing and Communication Workshops (PerCom Workshops), March 2015, pp. 32–37.

[2] P. Hirmer, M. Wieland, H. Schwarz, B. Mitschang, U. Breitenbücher, and F. Leymann, “SitRS – A Situation Recognition Service based on Modeling and Executing Situation Templates,” in Proceedings of the 9th symposium and summer school on service-oriented computing, 2015, pp. 113–127.

[3] P. Hirmer, M. Wieland, H. Schwarz, B. Mitschang, U. Breitenbücher, S. G. Sáez, and F. Leymann, “Situation recognition and handling based on executing situation templates and situation-aware workflows,” Computing, vol. 99, no. 2, pp. 163–181, Feb 2017. [Online]. Available: https://doi.org/10.1007/s00607-016-0522-9

[4] E. Androulaki et al., “Hyperledger fabric: A distributed operating system for permissioned blockchains,” in Proceedings of the Thirteenth EuroSys Conference, ser. EuroSys ’18. New York, NY, USA: ACM, 2018, pp. 30:1–30:15. [Online]. Available: http://doi.acm.org/10.1145/3190508.3190538

[5] A. C. F. da Silva, “Situation Recognition Based on Complex Event Processing,” Master’s thesis, Universität Stuttgart, 2015.

[6] A. C. F. da Silva, P. Hirmer, M. Wieland, and B. Mitschang, “SitRS XT – Towards Near Real Time Situation Recognition,” JIDM, vol. 7, no. 1, pp. 4–17, 2016.

Motivation

Daten sind heutzutage die Grundlage vieler Prozesse in Industrie und Forschung. Durch technologische Entwicklungen, wie z. B. IoT oder Industrie 4.0, ist ein steigendes Wachstum an Datenmengen zu beobachten. Um aus den gespeicherten Daten Wissen zu generieren, existieren diverse Analysealgorithmen, wie z. B. Algorithmen zur Klassifikation oder zum Clustering.

Um belastbare Ergebnissen zu erzielen, werden verschiedene Algorithmen und dazugehörige Parameter ausgeführt. Jedoch weisen Analysealgorithmen typischerweise eine hohe Komplexität auf, was insbesondere in Kombination mit großen Datenmengen zu langen Laufzeiten führt. Somit wird die Exploration nach belastbaren Ergebnissen erschwert.

Im Bereich der überwachten Lernverfahren, zu dem auch die Klassifikation angehört, existieren bereits einige Verfahren, die die Exploration von belastbaren Ergebnissen automatisiert durchführen können [1–3]. Diese automatisierten Explorationsverfahren gehören zum Forschungsbereich um AutoML. Bei AutoML werden erfolgsversprechende Algorithmen und Parameter ausgewählt, welche anschließend ausgeführt und evaluiert werden. Dazu wird vor der Ausführung von AutoML die Qualität von Analysealgorithmen auf verschiedenen Datensätzen gespeichert. Anschließend werden diese Metadaten herangezogen, um eine Lernkurve aufzubauen, welche schrittweise zu belastbaren Ergebnissen für neue Datensätze führen soll.

Insbesondere bei überwachten Lernverfahren kann die Evaluation einfach durchgeführt werden, da die erwarteten Klassen bereits in den Trainings- und Testdatensätzen enthalten sind. Bei unüberwachten Lernverfahren fehlen jedoch diese Informationen, weshalb AutoML nicht ohne Weiteres für unüberwachte Lernverfahren angewandt werden kann.

Ziele

Im Rahmen dieser Arbeit soll untersucht werden, inwiefern Konzepte von AutoML auf unüberwachte Lernverfahren übertragen werden können. Da Clustering ein häufig verwendetes unüberwachtes Lernverfahren ist, steht dies im Fokus dieser Arbeit.

Dazu soll zunächst der allgemeine Ablauf von AutoML-Konzepten untersucht werden. Anschließend soll dargestellt werden, welche Aspekte von AutoML für das Clustering angepasst werden können. Eine anschließende Evaluation soll aufzeigen, welche Ergebnisse und Zeiteinsparungen mit den übertragenen AutoML-Konzepten zur Exploration von belastbaren Clustering-Resultaten zu erzielen sind.

Die Arbeit umfasst dazu folgende Aufgaben:

  • Literaturstudium zu AutoML-Konzepten
  • Identifizierung von relevanten Aspekten für das Clustering
  • Entwicklung des Konzeptes für das Clustering
  • Prototypische Implementierung
  • Evaluation des Konzeptes
  • Präsentation der Zwischenergebnisse in einem Vortrag
  • Präsentation der Ergebnisse in einem Vortrag

Voraussetzungen

  • Erfahrungen mit Data-Mining-Algorithmen, insbesondere mit Clustering- und Klassifikationsalgorithmen
  • Programmierkenntnisse in Python
  • Starkes Interesse an Data Science

Literatur

[1] M. Feurer, A. Klein, K. Eggensperger, J. Springenberg, M. Blum, and F. Hutter, “Efficient and Robust Automated Machine Learning,” Advances in Neural Information Processing Systems 28, pp. 2944–2952, 2015.
[2] L. Kotthoff, C. Thornton, H. H. Hoos, F. Hutter, and K. Leyton-Brown, “Auto-WEKA 2.0: Automatic model selection and hyperparameter optimization in WEKA,” Journal of Machine Learning Research, vol. 17, pp. 1–5, 2016.
[3] F. Hutter, H. H. Hoos, and K. Leyton-Brown, “Sequential model-based optimization for general algorithm configuration,” in Proceedings of the 5th International Conference on Learning and Intelligent Optimization - LION’11, 2011, pp. 507–523.

Motivation & Hintergrund

Modelle des maschinellen Lernens (ML-Modelle) müssen über Ihren kompletten Lebenszyklus hinweg unterstützt werden. Der Lebenszyklus eines ML-Modells besteht aus den Phasen Plan Model, Build & Test Model, Deploy Model, Use Model, Monitor Model, und Retire Model [WHRS19]. Bedingt durch eine Veränderung in den Daten verschlechtern sich mithilfe eines bereits deployten ML-Modells getroffene Schlussfolgerungen und Vorhersagen. Dadurch muss ein ML-Modell regelmäßig durch Wartungsmaßnahmen aktualisiert oder sogar neu entwickelt werden. Dies führt nach der Deployment-Phase zu Rücksprüngen in vorherige Phasen, wodurch viele Phasen mehrfach durchlaufen werden, bis das ML-Modell final außer Betrieb genommen wird. Dies stellt eine Herausforderung dar, da die Metadaten in den verschiedenen Phasen durch verschiedene Tools und Frameworks erzeugt werden. Für die Speicherung von Metadaten zu allen Phasen des Lebenszyklus werden Model-Management-Systeme [VM18] (MMS) verwendet. Existierende MMS wie z.B. ModelDB[1] und mlFlow[2] fokussieren auf die Phase Build Model. In Zukunft müssen jedoch alle Phasen des Lebenszyklus von MMS unterstützt werden. Deswegen wurde am IPVS in einem studentischen Projekt ein MMS entwickelt, das den kompletten Lebenszyklus von ML-Modellen unterstützen soll. Der momentane Prototyp des MMS enthält ein Repository, um Modelle strukturiert und versioniert abzulegen und mit entsprechenden Metadaten zu beschreiben. Das Training und die operative Ausführung der ML-Modelle sind nicht Teil des MMS und werden durch verteilte Ausführungsplattformen zur parallelen Datenverarbeitung wie z.B. Apache Spark geleistet. Der Prototyp besitzt also einen ähnlichen Funktionsumfang wie bestehende MMS und soll nun um Funktionalitäten zur Unterstützung der restlichen Prozessschritte im Lebenszyklus erweitert werden. Dies betrifft im Besonderen die operative Phase des Modells. Hier ist es wichtig, bereits zur Verfügung stehende Metadaten zu speichern und zusätzliche Metadaten zu erzeugen. Die Verknüpfung der Metadaten aus dem operativen Betrieb mit Metadaten zur Erzeugung des Modells ermöglicht dann neue Szenarien, wie z.B. die Nachvollziehbarkeit von bereits durchlaufenen Prozessschritten im Lebenszyklus. Dadurch können die komplette Prozesshistorie abgebildet und die erzeugten Metadaten pro Prozessschritt erfasst werden.

Aufgaben

Ziel dieser Arbeit ist die Entwicklung eines Konzepts, das es ermöglicht, Metadaten während des operativen Betriebs zu erzeugen, strukturiert zu speichern und mit Metadaten aus der experimentellen Phase zu verknüpfen. Das Konzept soll das bestehende Metamodell des am IPVS entstandenen MMS erweitern, damit neue Szenarien möglich werden, die lebenszyklusübergreifend sind. Als Beispielsszenario dient die Nachvollziehbarkeit der Prozesshistorie mit sämtlichen erzeugten Metadaten eines Modells. Das Konzept soll durch einen Software-Prototyp evaluiert werden. Dazu muss die Funktionalität des MMS mit neuen Modulen und Schnittstellen erweitert werden.

Die Aufgaben beinhalten

  • Erarbeitung der Grundlagen, Stand der Wissenschaft und Technik, z.B. aus den Bereichen Model Management [VM18], AI-Ops [HMR+19], Workflowsysteme und Provenance [HDB17]
  • Erstellung und Kategorisierung von Use Cases, die eine umfassende Unterstützung des Lebenszyklus von Machine-Learning-Modellen erforderlich machen.
  • Auswahl geeigneter Use Cases und Ableitung von Anforderungen.
  • Erstellung des Konzepts für das Deployment der Modelle und Integration der entsprechenden Metadaten in die Model-Management-Plattform.
  • Implementierung des Konzepts als Erweiterung des MMS und Evaluierung
Literatur

[HDB17]

Herschel, M., Diestelkämper, R., Ben Lahmar, H.: A survey on provenance. What for? What form? What from? The VLDB Journal (2017).

[HMR+19]

 

Hummer, W., Muthusamy, V., Rausch, T., Dube, P., El Maghraoui, K.: ModelOps: Cloud-based Lifecycle Management for Reliable and Trusted AI. 2019 IEEE International Conference on Cloud Engineering (IC2E) (2019)

[VM18]

Vartak, M., Madden, S.: MODELDB: Opportunities and Challenges in Managing Machine Learning Models. IEEE Data Eng. Bull. 41, 16–25 (2018)

[WHRS19]

Weber, C., Hirmer, P., Reimann, P., Schwarz, H.: A New Process Model for the Comprehensive Management of Machine Learning Models. Proceedings of the 21st International Conference on Enterprise Information Systems (ICEIS 2019) - Volume 1, 415–422 (2019)

Abstract
Since the late 1980s, Enterprise Content Management Systems (ECM systems) have
been used to store, manage, distribute all kinds of documents, media content, and
information in enterprises. ECM systems also enable enterprises to integrate their
business processes with contents, employing corporate information lifecycle and
governance as well as automation of contents processing. The ever-changing business
models and increasing demands have pushed ECM systems to evolve into a very
active content repository with expectations such as high availability, high scalability,
high customizability. These expectations soon became a costly financial burden for
enterprises. The on-going hype around cloud computing has raised attention with its
claims on improved manageability, less maintenance, and cost-effectiveness.
Embracing the cloud might be a good solution for the next high-performance ECM
system at an affordable price. To achieve such a goal, the designs of ECM systems must
be changed before deployment into the cloud. Thus, this thesis aims to analyze the
architecture design of legacy ECM systems, determine its shortcomings, and propose
design changes required for embracing cloud technologies. The main proposal to
design changes are i) decomposing an ECM system to its constituent components, ii)
containerizing those components and create standard images, iii) decoupling the
physical link between the data storage device from the applications container by
utilizing docker volumes in dedicated persistent data containers instead, iv) utilizing
software-defined network infrastructure where possible. These design changes then
were tested with a proof-of-concept prototype, where an ECM product was
successfully deployed and tested using Docker in a cloud environment backed by
OpenStack.

Abstract
Due to the mass adaption of the paperless office and mobile devices organizations have to deal with a growing amount of information. Additionally the continuous advancements of virtualization technologies and network bandwidth allowed numerous vendors to offer Enterprise Content Management applications on Cloud infrastructures. Those offerings enabled enterprises to exploit the potential of structured, semi-structured and unstructured information without maintaining the required infrastructure and staff. The following thesis aims to further improve the utilization of shared computing resources by integrating containerized ECM components into a Kubernetes cluster. The proposed system topology is then implemented prototypically to verify the introduced concept. The major challenge encountered during this thesis is the management of stateful database applications within a Kubernetes cluster.

Abstract
The transition to cloud-based ECM solutions requires adaptation and enhancements for dynamic cloud environment. Cloud computing and containerization offer key concepts to create solutions for this task. They also open new opportunities to benefit from cloud usage by leveraging the pay-asyou- go model. Cloud users and providers both benefit from the increased efficiency of dynamic applications. But legacy applications are not yet able to leverage the benefits provided by cloud orchestration. This thesis, therefore researches the feasibility of a dynamic load balancing approach applied to an ECM application deployed into a cloud environment. To evaluate the approach, a prototype using open-source software is created on a Kubernetes orchestrated cluster. Previous work included the port of the containerized ECM application into the Kubernetes environment. The present prototype builds up on this approach by enhancing the ECM application components with metrics export capabilities. A monitoring system based on Prometheus is introduced to gather these metrics from the ECM application and other system components. Information provided by these metrics are used to add elasticity to application components. The prototype proves that dynamic load balancing of the ECM application in the cloud is feasible. Two major challenges for an efficient deployment of the application were identified, (1) the generation of useful metrics and (2) removing  dependencies from individual components. Further research into optimizations of stateful service components is required. This further ensures an efficient usage in cloud based elastic topologies, especially considering stateful database applications.

Abgeschlossene sonstige studentische Arbeiten

Zum Seitenanfang