Decentralized Machine Learning for Autonomous Ships in Distributed Cloud Environment
Reijonen, Joel (2018)
Kuvaus
Opinnäytetyö kokotekstinä PDF-muodossa.
Tiivistelmä
Machine learning is a concept where a computing machine is capable to improve its own performance through experience or training. Machine learning has been adopted as an optimization solution in broad field of information technology (IT) industry. In addition, the availability of data has become more and more easier since the effective data storage and telecommunication technologies such as new generation cloud computing are developing. Cloud computing refers to a network-centric paradigm which provides additional computational resources and a scalable data storage. Even though the utilization of cloud computing enables improved performance of machine learning, cloud computing increases the overall complexity of the system as well.
In this thesis, we develop a machine learning agent which is an independent software application that is responsible for the implementation and integration of decentralized machine learning in a distributed cloud environment. Decentralization of machine learning enables parallel machine learning between multiple machine learning agents that are deployed in multiple clouds. In addition to the development of machine learning agent, we develop a data preparation module which ensures that the data is clean and complete.
We develop the machine learning agent and the data preparation module to support container implementation by taking advantage in Docker container platform. Containerization of the applications facilitates portability in multi-cloud deployments and enables efficient orchestration by utilizing Kubernetes. In this thesis, we do not utilize existing machine learning frameworks but rather we implement machine learning by applying known mathematical methods.
We have divided the development of the software applications in three phases: requirement specification, design and implementation. In requirement specification, we describe the essential features that are required to be included. Based on the requirements, we design the applications to fulfill expectations and respectively we utilize the design to guide the implementation. In the final chapter of this thesis, we evaluate functionality, ability to emhance performance and virtualized implementation of the applications.
In this thesis, we develop a machine learning agent which is an independent software application that is responsible for the implementation and integration of decentralized machine learning in a distributed cloud environment. Decentralization of machine learning enables parallel machine learning between multiple machine learning agents that are deployed in multiple clouds. In addition to the development of machine learning agent, we develop a data preparation module which ensures that the data is clean and complete.
We develop the machine learning agent and the data preparation module to support container implementation by taking advantage in Docker container platform. Containerization of the applications facilitates portability in multi-cloud deployments and enables efficient orchestration by utilizing Kubernetes. In this thesis, we do not utilize existing machine learning frameworks but rather we implement machine learning by applying known mathematical methods.
We have divided the development of the software applications in three phases: requirement specification, design and implementation. In requirement specification, we describe the essential features that are required to be included. Based on the requirements, we design the applications to fulfill expectations and respectively we utilize the design to guide the implementation. In the final chapter of this thesis, we evaluate functionality, ability to emhance performance and virtualized implementation of the applications.