Intelligenza artificiale (AI) offre modifiche fondamentali alle assistenza sanitaria, alla finanza, alla produzione e al servizio clienti attraverso l’elaborazione automatica delle informazioni e le approfondimenti basati sui dati che portano a decisioni commerciali più intelligenti. Sistemi di apprendimento artificiale e Modelli di apprendimento automatico Energy questo spostamento, identificando modelli e set di dati di grandi dimensioni anche senza intervento umano diretto.
Al wonderful di migliorare i modelli di intelligenza artificiale e ottimizzare le soluzioni, è importante comprendere i fondamenti dello sviluppo del modello di intelligenza artificiale e avere una comprensione di base dei modelli AI pre-addestrati. L’esperienza pratica nella costruzione di sistemi di intelligenza artificiale consente a professionisti e aspiranti sviluppatori di intelligenza artificiale come te di perfezionare le tue capacità, consentendoti di personalizzare i modelli in base a esigenze o requisiti specifici, risolvere i problemi in modo più efficiente e ottenere migliori prestazioni del modello.
Questa guida passo-passo ti aiuterà a costruire Reti neurali che utilizzano Tensorflow con API di Keras in Python. Mira a coprire gli aspetti importanti dello sviluppo della rete neurale, dalla configurazione dell’ambiente di sviluppo e della preparazione dei dati alla progettazione della topologia di rete, della formazione del modello e della valutazione. Entro la wonderful di questo tutorial, acquisirai le conoscenze e le competenze necessarie per creare e distribuire le proprie reti neurali.
Comprensione dei modelli di intelligenza artificiale
I sistemi di intelligenza artificiale si basano su componenti di analisi che funzionano come unità interconnesse, utilizzando dati analitici per fornire risultati predittivi sul riconoscimento del modello di sistema. La rete neurale di AI, che imita le capacità di elaborazione delle informazioni del cervello umano, consente alle macchine di sviluppare il riconoscimento dei modelli e apprendere dall’esperienza, migliorando così la loro capacità operativa.
Gli elementi primari che formano una rete neurale artificiale di base includono tre sezioni principali:
-
Livello di enter: La prima fase di una rete neurale funziona come un punto di ingresso, che riceve dati grezzi attraverso il livello di enter. I livelli di rete neurale contiene numerosi neuroni in cui ciascuno rappresenta una funzionalità di dati durante l’elaborazione. I dati arrivano nel livello di enter prima di trasferisci le informazioni ricevute nella fase di elaborazione successiva senza eseguire operazioni computazionali. La rete neurale contiene una serie di neuroni pari al conteggio delle caratteristiche di enter. Un modello di riconoscimento delle immagini distribuisce i neuroni, uno per ciascun pixel all’interno delle immagini.
-
Livelli nascosti: Eseguire calcoli.
-
Livello di output: Il livello di output produce previsioni o classificazioni utilizzando le informazioni elaborate come responsabilità operativa finale. Il numero di nodi all’interno di un livello è determinato dall’attività che sta affrontando. Un problema di classificazione binaria richiede un neurone attivato dal sigmoide, ma le attività di classificazione multipla utilizzano neuroni attivati da Softmax. Il livello di output trasforma i modelli appresi durante l’elaborazione in risultati concreti che includono il rilevamento degli oggetti di immagine e le uscite di previsione delle scorte, nonché la generazione di testo nei sistemi di elaborazione del linguaggio naturale.
1. Impostazione dell’ambiente
Stabilire tre requisiti di biblioteca per impostare un ambiente di codifica prima di iniziare.
pip set up tensorflow numpy matplotlib
Una volta installato, importa le librerie richieste:
import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt
2. Caricamento del set di dati MNIST
Il database MNIST offre immagini di grigi 28×28 di cifre scritte a mano per il nostro utilizzo.
# Load dataset
mnist = keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
Il processo di normalizzazione si ottiene dividendo i valori dei pixel per 255. Questo processo di normalizzazione consente al modello di ottenere una velocità migliorata durante l’allenamento sia un aumento della produzione di prestazioni.
Normalize pixel values to be between 0 and 1
x_train, x_test = x_train / 255.0, x_test / 255.0
Visualizziamo alcune immagini di esempio dal set di dati:
# Show first 10 photographs
plt.determine(figsize=(10, 5))
for i in vary(10):
plt.subplot(2, 5, i+1)
plt.imshow(x_train(i), cmap=plt.cm.binary)
plt.title(y_train(i))
plt.axis('off')
plt.present()
Questo ci aiuta a comprendere il tipo di dati che il modello elaborerà.
3. Costruire la rete neurale
Un semplice modello di rete neurale è definito utilizzando Keras all’interno di questa sezione.
# Outline the mannequin
mannequin = keras.Sequential((
keras.layers.Flatten(input_shape=(28, 28)), # Enter layer
keras.layers.Dense(128, activation='relu'), # Hidden layer with 128 neurons
keras.layers.Dense(10, activation='softmax') # Output layer with 10 neurons (digits 0-9)
))
Capire gli strati
-
Un strato appiattito cambia l’immagine 28×28 in un array monodimensionale.
-
Questo strato nascosto funziona con 128 neuroni attivati per l’estrazione dei dati di enter.
-
Strato denso (10 neuroni, attivazione di Softmax): output probabilità per ciascuna cifra (0-9).
4. Compilazione del modello
Come primo passo, compiliamo il modello insieme all’impostazione di queste specifiche prima di iniziare il processo di formazione.
-
La funzione di perdita selezionata aiuta a valutare la differenza tra valori previsti e effettivi.
-
La logica organizzativa controlla i valori dei parametri per ridurre le perdite.
-
Metriche: precisione delle misure.
mannequin.compile(optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=('accuracy'))
5. Allenamento del modello
La formazione avviene attraverso l’uso dei dati di formazione disponibili.
mannequin.match(x_train, y_train, epochs=5)
Il modello passa attraverso un numero fisso di occasioni che gli consente di incontrare il set di dati più volte.
6. Valutazione delle prestazioni del modello
Il modello subisce take a look at utilizzando dati che non sono mai stati esposti advert esso.
test_loss, test_acc = mannequin.consider(x_test, y_test, verbose=2)
print(f"Check Accuracy: {test_acc:.4f}")
7. Fare previsioni
Il modello necessita di take a look at per identificare le cifre all’interno del set di dati di take a look at.
predictions = mannequin.predict(x_test)
# Show a picture and its predicted label
index = 0 # Change this index to check completely different photographs
plt.imshow(x_test(index), cmap=plt.cm.binary)
plt.title(f"Predicted: {np.argmax(predictions(index))}")
plt.present()
np.argmax
funzione Restituisce la cifra con la massima probabilità.
8. Migliorare il modello
Se l’accuratezza del modello non è abbastanza soddisfacente, possiamo aumentarla da:
mannequin = keras.Sequential((
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(256, activation='relu'),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
))
mannequin = keras.Sequential((
keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)),
keras.layers.MaxPooling2D(2,2),
keras.layers.Flatten(),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
))
E questo è tutto, il tuo primo modello AI!
Conclusione
Costruire modelli nelle prime fasi della tua immersione profonda nell’intelligenza artificiale è la chiave e abbiamo ottenuto risultati di classificazione di successo su cifre scritte a mano usando la nostra rete neurale. Gli sviluppatori devono sperimentare ulteriormente vari modelli tecnici e architettonici per vedere uno sviluppo più avanzato dei sistemi di intelligenza artificiale. Nella prossima parte di questa serie, imparerai come valutare i modelli di intelligenza artificiale utilizzando metriche e strumenti di visualizzazione.
Ti incoraggio vivamente a esplorare la costruzione del tuo sistema di classificazione delle immagini usando un approccio CNN. Per favore condividi i tuoi pensieri e risultati nei commenti!