L'apprendimento automatico è ottimo, ma può essere difficile da implementare nelle applicazioni mobili. Questo è particolarmente vero per le persone senza una laurea in informatica. Con Core ML, tuttavia, Apple semplifica l'aggiunta dell'apprendimento automatico alla tua app iOS esistente utilizzando la nuovissima piattaforma Create ML per la formazione di reti neurali leggere e personalizzate.
L'apprendimento automatico è l'uso dell'analisi statistica per aiutare i computer a prendere decisioni e previsioni basate sulle caratteristiche trovate in quei dati. In altre parole, è l'atto di avere un computer che analizza un flusso di dati per formare una comprensione astratta di esso (chiamato "modello") e utilizzare tale modello per confrontarlo con dati più recenti.
È probabile che molte delle tue app preferite sul telefono includano l'apprendimento automatico. Ad esempio, quando si digita un messaggio, il Correzione automatica predice ciò che si sta per digitare successivamente utilizzando un modello di apprendimento automatico che viene costantemente aggiornato durante la digitazione. Persino gli assistenti virtuali, come Siri, Alexa e Google Assistant, dipendono completamente dall'apprendimento automatico per imitare il comportamento umano.
Finalmente usiamo le tue nuove conoscenze sull'apprendimento automatico per costruire effettivamente il tuo primo modello! Avrai bisogno di assicurarti di avere Xcode 10 installato, insieme a macOS Mojave in esecuzione sul tuo Mac di sviluppo. Inoltre, presumo che tu abbia già esperienza con lo sviluppo di Swift, Xcode e iOS in generale.
In questo tutorial, classificheremo le immagini in base al fatto che abbiano un albero o un fiore. Tuttavia, si consiglia di seguire insieme alle proprie immagini e oggetti che si desidera classificare. Per questo motivo, non ti verranno fornite le immagini di fiori e alberi utilizzate in questo esempio.
Se hai problemi a trovare le immagini (o se non ne hai abbastanza delle tue immagini), prova PhotoDune o Google Immagini. Ai fini dell'apprendimento, questo dovrebbe essere sufficiente per iniziare. Cerca di trovare immagini che abbiano un oggetto principale distinto (ad esempio un arancio, un albero) anziché multipli (ad esempio grappoli di banane, intere foreste) per evitare di confondere il modello con cui iniziare. Naturalmente, puoi sempre aggiungere più complicazioni in seguito, dopo aver fatto esperienza.
Nel campo della scienza dei dati, è buona pratica dividere i set di dati in due categorie: una per la formazione del modello e una per il test. Dal momento che vuoi dare al tuo modello attuale la massima attenzione, l'80% del set di dati dovrebbe essere usato per l'allenamento, e dovresti risparmiare il 20% per assicurarti che tutto funzioni come dovrebbe; dopotutto, è importante anche questo!
Con la regola 80:20 in mente, vai avanti e crea due cartelle: Formazione e analisi, dove inserirai la giusta quantità di immagini in ciascuna delle cartelle. Una volta inserito l'80% dei dati Formazionee il 20% in analisi, è finalmente giunto il momento di dividerli per categoria. Per il mio esempio, avrò due cartelle nominate Fiori e Alberi nel mio Formazione cartella, e avrò il 20% delle immagini non ordinate nella mia analisi cartella.
Quindi, tuffiamoci e creiamo effettivamente il modello. Potresti essere sorpreso di sapere che la maggior parte del tuo lavoro è già stata eseguita! Ora, tutto ciò che resta da fare è scrivere un codice e mettere Swift e Xcode a lavorare per fare la magia per noi.
Mentre molti di noi sono abituati a creare applicazioni iOS reali, questa volta ci dirigeremo verso il parco giochi per creare i nostri modelli di apprendimento automatico. Interessante, non è vero? Se ci pensi, in realtà ha senso: non hai bisogno di tutti quei file extra, ma solo di una lavagna pulita per dire a Swift come creare il tuo modello. Vai avanti e crea un parco giochi macOS da cui partire.
Innanzitutto, apri Xcode.
Quindi crea un nuovo campo da gioco.
E dargli un nome utile.
Contrariamente a quello che potresti aver pensato, hai solo bisogno di tre linee di codice per preparare il tuo parco giochi ad allenare il tuo modello. Elimina tutto il codice boilerplate che viene generato automaticamente, quindi fai quanto segue:
Importa il CreateMLUI
API per abilitare Create ML nel tuo Swift Playground:
importare CreateMLUI
Quindi, crea un'istanza di MLImageClassifierBuilder
e chiama il showInLiveView (:)
metodo per essere in grado di interagire con la classe in un'interfaccia utente intuitiva all'interno del tuo parco giochi:
let builder = MLImageClassifierBuilder () builder.showInLiveView ()
Grande! Questo è tutto ciò che devi fare in termini di codice. Ora sei finalmente pronto per trascinare e rilasciare le tue immagini per creare un modello Core ML completamente funzionale.
Ora, abbiamo sviluppato un'interfaccia utente in cui possiamo iniziare ad aggiungere le nostre immagini e osservare la magia che si svolge! Come accennato in precedenza, ho sette immagini di fiori e sette immagini di alberi. Naturalmente, questo non sarà sufficiente per un modello super accurato, ma fa il trucco.
Quando apri l'editor dell'assistente, vedrai una finestra che dice Rilasciare le immagini per iniziare l'allenamento, dove puoi trascinare il tuo Formazione cartella. Dopo un paio di secondi, vedrai alcuni risultati nel tuo parco giochi. Ora sei pronto per testare il tuo nuovo modello Core ML.
Dopo aver completato la formazione del modello, è facile testare il modello e scaricarlo per l'utilizzo nelle app. Puoi testarlo nel tuo parco giochi senza dover creare un progetto. Quando sai che il tuo modello è pronto, puoi inserirlo in un'app iOS (o macOS).
Ricorda il analisi cartella che hai creato? Vai avanti e trascina l'intera cartella nel tuo parco giochi (dove hai lasciato cadere il tuo Formazione immagini precedenti nel tutorial). Dovresti vedere le tue immagini apparire in un elenco, insieme a ciò che il modello pensa che sia ciascuna di esse. Potresti essere sorpreso, anche con così pochi dati, che puoi comunque ottenere un modello abbastanza accurato.
Quando sei soddisfatto del tuo modello, puoi esportarlo nel formato Core ML e utilizzarlo nelle tue app. Accanto a Classificatore di immagini, andare avanti e fare clic su freccia rivolta verso il basso per rivelare alcuni campi che è possibile modificare per cambiare il nome, l'autore o la descrizione del modello. Puoi anche scegliere dove scaricarlo.
Quando colpisci il blu Salvare pulsante, il tuo .mlmodel il file verrà visualizzato nella posizione desiderata. Se sei interessato, puoi anche leggere l'output nel parco giochi per apprendere informazioni come la precisione, il richiamo e il luogo in cui il tuo modello è stato salvato.
Questo tutorial presume che tu abbia familiarità con i modelli Core ML in generale, ma spiegherò brevemente come funziona. Per ulteriori informazioni su come utilizzare il modello una volta nella tua app, puoi leggere il mio altro tutorial:
Per usare il modello, trascinalo nel tuo progetto Xcode (come faresti con un'immagine o un file audio). Quindi, importa Core ML nel file in cui desideri utilizzarlo. Con alcuni passaggi aggiuntivi, dovresti essere in grado di trattare il modello come una classe Swift e chiamare i metodi su di esso come descritto nel mio altro tutorial.
Per ulteriori informazioni su come farlo, puoi anche visitare la documentazione di Apple e leggere come integrare l'apprendimento automatico nella tua app.
In questo tutorial, hai imparato a costruire facilmente una rete neurale di classificazione delle immagini personalizzate mentre scrivevi solo tre righe di codice. Hai addestrato questo modello con i tuoi dati e ne hai utilizzato il 20% per testare il modello. Una volta funzionante, lo hai esportato e aggiunto alla tua app.
Spero che questo tutorial ti sia piaciuto e ti incoraggio vivamente a dare un'occhiata ad alcuni dei nostri altri corsi di machine learning e tutorial qui su Envato Tuts+!
Se avete commenti o domande, non esitate a lasciarli giù nella sezione sottostante.