Επιτομή:
Στην παρούσα πτυχιακή εργασία θα γίνει αναφορά σε γενικά καλές πρακτικές
δημιουργίας ενός βασικού μοντέλου (Base Model) μηχανικής μάθησης (Machine Learning).
Ο τομέας που ασχολείται με την μηχανική μάθηση είναι αυτός της Επιστήμης Δεδομένων
(Data Science) και η παρούσα πτυχιακή εργασία θα επεκταθεί στην υπό-κατηγορία της
Μηχανικής Μάθησης: Τα νευρωνικά Δίκτυα (Neural Networks). Όπως θα δούμε παρακάτω,
η εκπαίδευση των νευρωνικών δικτύων ανήκει στον τομέα της Μηχανικής Όρασης
(Computer Vision).
Οι συγκεκριμένοι τομείς επιλέχθηκαν διότι υπάρχουν κάποιες προ εργασίες στην
προετοιμασία των δεδομένων που είναι αναγκαίες και ευρέως επιλέξιμες στον επιστημονικό
κλάδο που ασχολείται με την Μηχανική Όραση, έτσι ώστε να επιτευχθεί η δημιουργία ενός
μοντέλου με σχετικά καλές επιδόσεις. Προφανώς θα εξηγήσουμε, τι εννοούμε καλές
επιδόσεις, τι εννοούμε προ-εργασία δεδομένων και στο τέλος θα εκπαιδεύσουμε ένα
νευρωνικό συνελικτικό μοντέλο μηχανικής όρασης με γνώμονα τις μετρικές αξιολόγησης των
μοντέλων που υπάρχουν.
Είναι σημαντικό να αναφέρουμε, πως μία κατανόηση της θεωρίας στο τομέα της
επιστήμης δεδομένων είναι αναγκαία, έστω εισαγωγικά, επομένως η παρούσα πτυχιακή
εργασία θα καλύψει όλο το θεωρητικό υπόβαθρο αναγκαίο για την κατανόηση της
εκπαίδευσης του νευρωνικού συνελικτικού μοντέλου που θα εισάγουμε στο τέλος.
Η γλώσσα προγραμματισμού που θα γραφτεί ο κώδικας θα είναι η Python, με την
βιβλιοθήκη TensorFlow της Google. Ο λόγος επιλογής αυτών είναι το εύκολο συντακτικό της
Python και η καλή υποστήριξη της TensorFlow στο Google Colab, που θα είναι η πλατφόρμα
εφαρμογής του κώδικα και εκπαίδευσης των νευρωνικών δικτύων. Στο τέλος της πτυχιακής
εργασίας θα δοθεί όλος ο κώδικας που γράφτηκε κατά την διάρκεια της εκπόνησής της.
ii
Summary
In this thesis we will refer to general good practices for creating a Base Model for
Machine Learning. The field that deals with machine learning is that of Data Science and this
thesis will expand on the sub-category of Machine Learning: Neural Networks. As we will see
below, the training of neural networks belongs to the field of Computer Vision.
These domains were chosen because there are some pre-tasks in data preparation that
are necessary and widely selectable in the discipline dealing with Machine Vision, in order to
achieve a model with relatively good performance. Obviously, we will explain, what we mean
by good performance, what we mean by data pre-task and at the end we will train a neural
convolutional machine vision model based on the evaluation metrics of existing models.
It is important to mention, that an understanding of theory in the field of data science
is necessary, even at an introductory level, therefore this thesis will cover all the theoretical
background necessary to understand the training of the neural convolutional model that we
will introduce at the end.
The programming language that the code will be written in will be Python, with
Google's TensorFlow library. The reason for choosing these is the easy syntax of Python and
the good support of TensorFlow in Google Colab, which will be the platform for
implementing the code and training the neural networks. At the end of the thesis all the code
written during the thesis will be given