Învățarea în mașină este minunată, dar poate fi dificil de implementat în aplicațiile mobile. Acest lucru este valabil mai ales pentru persoanele fără studii științifice. Cu ajutorul tehnologiei Core ML, cu toate acestea, Apple facilitează adăugarea de învățare automată la aplicația dvs. iOS existentă, utilizând noua platformă Create ML pentru instruirea rețelelor neuronale personalizate.
Învățarea prin mașină este utilizarea analizei statistice pentru a ajuta computerele să ia decizii și predicții pe baza caracteristicilor găsite în acele date. Cu alte cuvinte, este actul de a avea un computer parse un flux de date pentru a forma o înțelegere abstractă a acestuia (numit "model"), și folosind acest model pentru a compara cu date mai noi.
Este posibil ca multe dintre aplicațiile dvs. preferate de pe telefonul dvs. să includă învățarea în mașină. De exemplu, atunci când introduceți un mesaj, autocortarea prezice ce urmează să tastați în continuare utilizând un model de învățare automată, care este actualizat în mod constant pe măsură ce tastați. Chiar și asistenții virtuali, cum ar fi Siri, Alexa și Asistentul Google, se bazează complet pe învățarea mașinilor pentru a imita comportamentul uman.
Să folosim în cele din urmă cunoștințele noi despre procesul de învățare a mașinilor pentru a construi primul dvs. model! Va trebui să vă asigurați că ați instalat Xcode 10, împreună cu MacOS Mojave care rulează pe Mac-ul dvs. de dezvoltare. În plus, presupun că aveți deja experiență cu dezvoltarea Swift, Xcode și iOS în general.
În acest tutorial, vom clasifica imaginile pe baza faptului că au un copac sau o floare. Cu toate acestea, este recomandat să urmați împreună cu propriile imagini și obiecte pe care doriți să le clasificați în schimb. Din acest motiv, nu vi se va oferi imaginile de flori și copaci folosite în acest exemplu.
Dacă întâmpinați probleme la găsirea imaginilor (sau dacă nu aveți suficiente propriile imagini), încercați PhotoDune sau Google Images. În scopul învățării, acest lucru ar trebui să fie suficient pentru a începe. Încercați să găsiți imagini care au un obiect principal distinct (de exemplu, o portocală, un copac) în loc de mai multe (de exemplu, ciorchini de banane, păduri întregi) pentru a evita confundarea modelului pentru a începe. Desigur, puteți adăuga întotdeauna mai multe complicații mai târziu, după ce aveți o experiență.
În domeniul științei datelor, este o practică bună divizarea seturilor dvs. de date în două categorii: una pentru formarea modelului și una pentru testare. Deoarece doriți să acordați cea mai mare atenție modelului dvs. real, 80% din setul dvs. de date ar trebui să fie folosite pentru antrenament și ar trebui să economisiți 20% pentru a vă asigura că totul funcționează așa cum ar trebui; la urma urmei, și asta e important!
Având în vedere regula 80:20, continuați și creați două dosare: Instruire și Testarea, unde veți plasa cantitatea potrivită de imagini în fiecare dintre foldere. Odată ce ai 80% din datele tale Instruireși 20% în Testarea, este timpul sa le despartim pe categorii. Pentru exemplul meu, voi avea două nume de dosare Flori și Copaci in al meu Instruire dosar, și voi avea 20% din imagini nesortate în mine Testarea pliant.
Deci, hai sa ne aruncam cu capul si sa cream modelul. S-ar putea să fiți surprins să auziți că majoritatea muncii dvs. a fost deja făcută! Acum, tot ce trebuie să facem este să scriem un cod și să punem Swift și Xcode să lucreze pentru a face magia pentru noi.
În timp ce majoritatea dintre noi suntem obișnuiți să creăm aplicații noi pentru iOS, ne vom îndrepta de data aceasta spre locul de joacă pentru a crea modelele noastre de învățare automată. Interesant, nu-i așa? Dacă te gândești la asta, are sens - nu ai nevoie de toate aceste fișiere suplimentare, dar ai nevoie de o artă curată pentru a-i spune lui Swift cum să-ți creezi modelul. Continuați și creați un loc de joacă pentru MacOS pentru a începe.
Mai întâi, deschideți Xcode.
Apoi creați un nou loc de joacă.
Și dă-i un nume util.
Contrar a ceea ce ați crezut, aveți nevoie de trei linii de cod pentru a vă pregăti terenul pentru a vă pregăti modelul. Ștergeți întregul cod de boilerplate care este generat automat și apoi efectuați următoarele:
Importați CreateMLUI
API pentru a permite crearea de ML în terenul de joacă rapidă:
importați CreateMLUI
Apoi, creați o instanță a MLImageClassifierBuilder
și apelați showInLiveView (:)
metodă pentru a putea interacționa cu clasa într-o interfață intuitivă de utilizator în cadrul locului de joacă:
lasă builder = MLImageClassifierBuilder () builder.showInLiveView ()
Grozav! Asta e tot ce trebuie să faci în ceea ce privește codul. Acum sunteți gata să trageți și să plasați imaginile pentru a crea un model Core ML pe deplin funcțional.
Acum, am dezvoltat o interfață de utilizator unde putem începe să adăugăm imaginile noastre și să vedem cum se desfasoara magia! După cum am menționat mai devreme, am șapte imagini de flori și șapte imagini de copaci. Bineînțeles, acest lucru nu va fi suficient pentru un model super-precis, dar face acest truc.
Când deschideți editorul asistent, veți vedea o cutie care spune Drop imagini pentru a începe formarea, unde puteți să vă trageți Instruire pliant. După câteva secunde, veți vedea o ieșire în loc de joacă. Acum sunteți gata să vă testați noul model Core ML.
După ce ați terminat formarea modelului dvs., este ușor să testați modelul și să îl descărcați pentru a fi utilizat în aplicațiile dvs. Puteți să-l testați chiar în spațiul de joacă fără a trebui să creați un proiect. Când știți că modelul dvs. este gata, îl puteți pune într-o aplicație iOS (sau macOS).
Amintiți-vă Testarea dosarul pe care l-ați creat? Mergeți și trageți întregul dosar pe locul de joacă (unde ați scăpat Instruire imagini anterioare în tutorial). Ar trebui să vedeți imaginile dvs. să apară într-o listă, împreună cu ceea ce crede modelul fiecare dintre ele. S-ar putea să fiți surprins - chiar și cu atât de puține date, puteți obține un model destul de precis.
Când sunteți mulțumit de modelul dvs., îl puteți exporta în formatul Core ML și îl puteți utiliza în aplicațiile dvs. Lângă Clasificatorul de imagini, mergeți mai departe și faceți clic pe cu săgeată în jos pentru a dezvălui câteva câmpuri pe care le puteți modifica pentru a schimba numele, autorul sau descrierea modelului dvs. De asemenea, puteți alege unde să îl descărcați.
Când atingi albastrul Salvați butonul tău .mlmodel fișierul va apărea în locația dorită. Dacă sunteți interesat, puteți citi, de asemenea, ieșirea din spațiul de joacă pentru a afla informații precum precizia, rechemarea și unde sa salvat modelul.
Acest tutorial presupune că sunteți familiarizat cu modelele Core ML în general, dar vă voi explica pe scurt cum funcționează. Pentru mai multe informații despre modul de utilizare a modelului odată ce se află în aplicația dvs., puteți să citiți celălalt tutorial:
Pentru a utiliza modelul, trageți-l în proiectul dvs. Xcode (așa cum ați face o imagine sau un fișier audio). Apoi, importați Core ML în fișierul în care doriți să-l utilizați. Cu câțiva pași suplimentari, ar trebui să puteți trata modelul ca o clasă Swift și metodele de apelare pe el, așa cum este descris în celălalt tutorial.
Pentru mai multe informații despre cum puteți face acest lucru, puteți să vizitați documentația Apple și să citiți despre modul de integrare a învățării în mașină în aplicația dvs..
În acest tutorial, ați învățat cum să construiți cu ușurință o rețea neuronală de clasificare a imaginilor personalizate, în timp ce scrieți doar trei linii de cod. Ați instruit acest model cu propriile dvs. date și apoi ați utilizat 20% din acesta pentru a testa modelul. Odată ce a funcționat, l-ați exportat și l-ați adăugat la propria aplicație.
Sper că v-ați bucurat de acest tutorial și vă încurajez să consultați câteva dintre celelalte cursuri de învățare de mașină și tutoriale aici pe Envato Tuts+!
Dacă aveți comentarii sau întrebări, vă rugăm să nu ezitați să le lăsați în jos în secțiunea de mai jos.