Μια βασική εισαγωγή στο Tensorflow στη βαθιά μάθηση

Μια βασική εισαγωγή στο Tensorflow στη βαθιά μάθηση

Oktober 1, 2022 0 Von admin

Αυτό το άρθρο δημοσιεύτηκε ως μέρος του Data Science Blogathon.

Εισαγωγή

Το πλαίσιο Tensorflow είναι μια ανοιχτή πλατφόρμα μηχανικής εκμάθησης από άκρο σε άκρο. Είναι μια συμβολική εργαλειοθήκη μαθηματικών που ενσωματώνει τη ροή δεδομένων και τον διαφοροποιήσιμο προγραμματισμό για να χειριστεί διάφορες εργασίες που σχετίζονται με την εκπαίδευση σε βαθιά νευρωνικά δίκτυα και την εξαγωγή συμπερασμάτων. Επιτρέπει στους προγραμματιστές να σχεδιάζουν εφαρμογές μηχανικής εκμάθησης χρησιμοποιώντας πολλαπλά εργαλεία, βιβλιοθήκες και πόρους ανοιχτού κώδικα.

Το TensorFlow δημιουργήθηκε με γνώμονα εκτεταμένους αριθμητικούς υπολογισμούς, όχι με γνώμονα τη βαθιά μάθηση. Ωστόσο, αποδείχθηκε πολύτιμο για την ανάπτυξη βαθιάς μάθησης, επομένως η Google το έκανε ανοιχτού κώδικα.

Tensorflow στη βαθιά μάθηση
Πηγή: Medium.com

Το TensorFlow λαμβάνει δεδομένα σε τανυστές, πολυδιάστατους πίνακες με πιο εξαιρετικές διαστάσεις. Όταν ασχολείστε με τεράστιες ποσότητες δεδομένων, οι πολυδιάστατοι πίνακες βοηθούν. Ο κώδικας TensorFlow είναι πολύ πιο εύκολο να εκτελεστεί με κατανεμημένο τρόπο σε ένα σύμπλεγμα υπολογιστών όταν χρησιμοποιούνται GPU επειδή ο μηχανισμός εκτέλεσης έχει τη μορφή γραφημάτων.

Πίνακας περιεχομένων

  • Η ιστορία του TensorFlow
  • Στοιχεία του TensorFlow
  • Ο σχεδιασμός του TensorFlow και πώς λειτουργεί
  • Αλγόριθμοι για το TensorFlow
  • TensorFlow εναντίον του υπόλοιπου πεδίου
  • Τι συμβαίνει με το TensorFlow;
  • Κάποια βασική εφαρμογή Python με το Tensorflow
  • συμπέρασμα

Η ιστορία του TensorFlow

Όταν δόθηκε μεγάλος όγκος δεδομένων, η βαθιά εκμάθηση ξεπέρασε όλους τους άλλους αλγόριθμους μηχανικής μάθησης πριν από μερικά χρόνια. Η Google συνειδητοποίησε ότι θα μπορούσε να βελτιώσει τις υπηρεσίες της χρησιμοποιώντας βαθιά νευρωνικά δίκτυα:

• Μηχανή αναζήτησης Google

• Gmail

• Φωτογραφία

Δημιούργησαν το πλαίσιο Tensorflow για να επιτρέψουν σε ερευνητές και προγραμματιστές να συνεργαστούν σε μοντέλα AI. Πολλά άτομα μπορούν να το χρησιμοποιήσουν αφού κατασκευαστεί και κλιμακωθεί.

Κυκλοφόρησε για πρώτη φορά στα τέλη του 2015, με την πρώτη σταθερή έκδοση να ακολουθεί το 2017. Είναι δωρεάν και ανοιχτού κώδικα, χάρη στην άδεια χρήσης ανοιχτού κώδικα Apache. Χωρίς να πληρώσετε τίποτα στην Google, μπορείτε να το χρησιμοποιήσετε, να το τροποποιήσετε και να αναδιανείμετε την ενημερωμένη έκδοση έναντι χρέωσης.

Στοιχεία του TensorFlow

Το Tensorflow πήρε το όνομά του από το πλαίσιο Tensor στο οποίο είναι χτισμένο. Οι τανυστές χρησιμοποιούνται σε κάθε υπολογισμό Tensorflow. Οποιαδήποτε δεδομένα μπορούν να αναπαρασταθούν από έναν τανυστή, ένα ν-διάστατο διάνυσμα ή μήτρα. Οι τιμές τανυστή είναι όλες των ίδιων τύπων δεδομένων και έχουν ένα γνωστό (ή μερικώς γνωστό) σχήμα. Το σχήμα των δεδομένων καθορίζεται από τις διαστάσεις του πίνακα ή του πίνακα.

Ένας τανυστής μπορεί να προκύψει είτε από τα δεδομένα εισόδου ή εξόδου ενός υπολογισμού. Το TensorFlow εκτελεί όλες τις ενέργειές του μέσα σε ένα γράφημα. Το γράφημα αποτελείται από μια ακολουθία διαδοχικών υπολογισμών και κάθε λειτουργία ονομάζεται κόμβος op και είναι όλοι διασυνδεδεμένοι.

Συστατικά του Tensorflow

Πηγή: Towardsdatascience

Οι ενέργειες και οι σχέσεις μεταξύ των κόμβων απεικονίζονται στο γράφημα.

Οι τιμές, από την άλλη πλευρά, δεν εμφανίζονται. Η άκρη των κόμβων στον τανυστή είναι ένα μέσο συμπλήρωσης της λειτουργίας με δεδομένα.

Γραφικές παραστάσεις

Το TensorFlow βασίζεται σε μια αρχιτεκτονική που βασίζεται σε γραφήματα. Αυτό το γράφημα συλλέγει όλους τους υπολογισμούς της σειράς εκπαίδευσης που συλλέγονται και εξηγούνται σε αυτό το γράφημα. Το διάγραμμα έχει πολλά πλεονεκτήματα:

• Η φορητότητα του γραφήματος επιτρέπει την αποθήκευση υπολογισμών για άμεση ή μεταγενέστερη χρήση και σχεδιάστηκε για να εκτελείται σε πολλές CPU ή GPU και φορητές συσκευές.

Γράφημα Tensorflow

Πηγή: Towardsdatascience.com

• Οι υπολογισμοί του γραφήματος γίνονται εξ ολοκλήρου με τη σύνδεση τανυστών μεταξύ τους. Έτσι, μπορεί να αποθηκευτεί και να εκτελεστεί αργότερα.

Ο σχεδιασμός του TensorFlow και η λειτουργία του

Το TensorFlow σάς επιτρέπει να σχεδιάζετε γραφήματα και δομές ροής δεδομένων για να καθορίσετε τον τρόπο ροής δεδομένων μέσω ενός γραφήματος λαμβάνοντας εισόδους ως πολυδιάστατο πίνακα που ονομάζεται Tensor. Σας δίνει τη δυνατότητα να δημιουργήσετε ένα διάγραμμα ροής λειτουργιών που μπορούν να γίνουν σε αυτές τις εισερχόμενες και εξερχόμενες εισόδους.

Αυτό είναι διαθέσιμο στους προγραμματιστές χάρη στο TensorFlow, το οποίο είναι γραμμένο σε Python. Η Python είναι εύκολη στην εκμάθηση και στη χρήση, και παρέχει απλές μεθόδους για τον καθορισμό του τρόπου σύνδεσης των αφαιρέσεων υψηλού επιπέδου. Οι κόμβοι και οι τανυστές TensorFlow είναι αντικείμενα Python, όπως και οι εφαρμογές TensorFlow.

Η Python, από την άλλη, δεν κάνει μαθηματικές πράξεις. Το TensorFlow περιλαμβάνει βιβλιοθήκες μετασχηματισμού γραμμένες ως δυαδικά C++ υψηλής απόδοσης και Python συνδέει τα στοιχεία δρομολογώντας δεδομένα μεταξύ τους και παρέχοντας αφαιρέσεις προγραμματισμού υψηλού επιπέδου.

Η αρχιτεκτονική του TensorFlow χωρίζεται σε τρία μέρη:

• Προετοιμασία των δεδομένων

• Δημιουργία του μοντέλου

• Προετοιμάστε το μοντέλο εκπαιδεύοντάς το και εκτιμώντας το.

Αρχιτεκτονική |  Tensorflow στη βαθιά μάθηση

Πηγή: Googledevelopersblog

Το Tensorflow αντλεί το όνομά του από τη βασική έννοια της λήψης εισόδου σε έναν πολυδιάστατο πίνακα, κοινώς γνωστό ως τανυστές. Μπορείτε να δημιουργήσετε ένα διάγραμμα ροής (που ονομάζεται Γράφημα) των διεργασιών που θέλετε να εκτελέσετε σε αυτήν την είσοδο και τα δεδομένα εισάγονται στο ένα άκρο και εξάγονται στο άλλο.

Αλγόριθμοι για το TensorFlow

Το TensorFlow υποστηρίζει τους ακόλουθους αλγόριθμους:

Το TensorFlow 1.10 περιλαμβάνει ένα ενσωματωμένο API για:

• τφ. εκτιμητής για γραμμική παλινδρόμηση, Γραμμική παλινδρόμηση

• Ταξινόμηση:tf.estimator,LinearClassifier

• τφ. εκτιμητής.DNNClassifier για ταξινόμηση βαθιάς μάθησης

• Wipe and deep learning: tf. εκτιμητής

DNNLinearCombinedClassifier

• τφ. Εκτιμητής (αναμνηστική παλινδρόμηση δέντρου).

BoostedTreesRegressor

TensorFlow εναντίον του υπόλοιπου πεδίου

Το TensorFlow μπορεί να θεωρηθεί ως ένα πλαίσιο μηχανικής μάθησης που επίσης ανταγωνίζεται με άλλους. Τρία εξέχοντα πλαίσια, τα PyTorch, CNTK και MXNet, εξυπηρετούν πολλούς από τους ίδιους στόχους και Έχω επισημάνει πού ξεχωρίζουν και υστερούν έναντι του TensorFlow στον παρακάτω πίνακα.

Το PyTorch είναι συγκρίσιμο με το TensorFlow με πολλούς τρόπους, εκτός από το ότι είναι γραμμένο σε Python: Πολλά βασικά στοιχεία περιλαμβάνονται ήδη, καθώς και στοιχεία επιτάχυνσης υλικού κάτω από την κουκούλαένα άκρως διαδραστικό μοντέλο ανάπτυξης που επιτρέπει τη σχεδίαση κατά τη διάρκεια της εργασίας και ένα εξαιρετικά διαδραστικό μοντέλο ανάπτυξης που προβλέπει τη σχεδίαση κατά τη διάρκεια της εργασίας.

Tensorflow στη βαθιά μάθηση

Πηγή: Pytorh.org

Το CNTK, ή το Microsoft Cognitive Toolkit, χρησιμοποιεί μια δομή γραφήματος για την αναπαράσταση της ροής δεδομένων, παρόμοια με το TensorFlow, αλλά εστιάζει στα νευρωνικά δίκτυα βαθιάς μάθησης. Πολλές εργασίες νευρωνικών δικτύων αντιμετωπίζονται πιο γρήγορα χρησιμοποιώντας CNTK.

Η υιοθέτηση του Apache MXNet από την Amazon ως το κορυφαίο πλαίσιο βαθιάς μάθησης στο AWS

Ποια είναι η συμφωνία με το TensorFlow;

Το TensorFlow έχει API τόσο σε C++ όσο και σε Python.

Η διαδικασία κωδικοποίησης για τη μηχανική μάθηση και τη βαθιά μάθηση ήταν σημαντικά πιο περίπλοκη πριν από την ανάπτυξη των βιβλιοθηκών. Για να δημιουργήσετε ένα νευρωνικό δίκτυο, δημιουργήστε έναν νευρώνα ή προγραμματίστε έναν νευρώνα, αυτή η βιβλιοθήκη παρέχει ένα API υψηλού επιπέδου που εξαλείφει την ανάγκη για εξελιγμένη κωδικοποίηση. Όλα τα παραπάνω καθήκοντα εκτελούνται από τη βιβλιοθήκη. Το TensorFlow παρέχει επίσης ενσωμάτωση Java καθώς και R.

Το TensorFlow δείχνει συμβατότητα με CPU καθώς και με GPU.

Οι εφαρμογές βαθιάς μάθησης είναι αρκετά περίπλοκες και η διαδικασία εκπαίδευσης απαιτεί σημαντικό όγκο υπολογιστών. Λόγω του υψηλού μεγέθους δεδομένων χρειάζεται πολύς χρόνος και περιλαμβάνει πολλαπλές επαναληπτικές διαδικασίες, μαθηματικούς υπολογισμούς, πολλαπλασιασμούς πινάκων και άλλα βήματα.

Κάποια βασική εφαρμογή Python με το Tensorflow

Ρύθμιση του TensorFlow

import tensorflow as tf
print("TensorFlow version:", tf.__version__)

Φόρτωση συνόλου δεδομένων

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

Χτίζοντας ένα μοντέλο μηχανικής μάθησης

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10)
])

Εκπαίδευση και αξιολόγηση του μοντέλου σας

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)
probability_model = tf.keras.Sequential([
  model,
  tf.keras.layers.Softmax()
])

συμπέρασμα

Σε αυτό το άρθρο σχετικά με το tensorflow στη βαθιά εκμάθηση, καλύψαμε τη βασική Εισαγωγή στη μονάδα TensorFlow στην Python και μια περίληψη της ιστορίας του TensorFlow. Καλύψαμε επίσης άλλες κρίσιμες ορολογίες που σχετίζονται με το TensorFlow όπως τανυστές, γραφήματα κ.λπ. Καλύψαμε επίσης τα διάφορα στοιχεία του TensorFlow και το σχεδιασμό και τη λειτουργία του TensorFlow. Τέλος, καλύψαμε τη βασική εφαρμογή python του TensorFlow.

Διαβάστε περισσότερα άρθρα στο blog μας.

Το όνομά μου είναι Prashu Sharma, και είμαι λάτρης της επιστήμης δεδομένων. Σας ευχαριστώ πολύ για τον πολύτιμο χρόνο σας για να διαβάσετε αυτό το blog. Ελπίζω να σας άρεσε το άρθρο μου για το tensorflow στη βαθιά μάθηση. Μη διστάσετε να επισημάνετε οποιοδήποτε λάθος (είμαι τελικά μαθητής) και να δώσετε τα αντίστοιχα σχόλια ή να αφήσετε ένα σχόλιο.

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ: [email protected]

Τα μέσα που εμφανίζονται σε αυτό το άρθρο δεν ανήκουν στο Analytics Vidhya και χρησιμοποιούνται κατά την κρίση του συγγραφέα.