Apple CreateML vs Kaggle

Á nýliðinni WWDC kynnti Apple nýjasta tólið sitt sem heitir CreateML. Sem áhugamaður um ML varð ég virkilega hrifinn af því sem ég hef séð á hollri lotu (703), svo að ég hélt að það væri þess virði að kanna hversu öflugur það er í raun.

1. Búðu til HTML í hnotskurn (þú getur sleppt því ef þú horfðir á kynningu á WWDC).

Create ML er nýr rammi sem hannaður er til að hjálpa hönnuðum að byggja auðveldlega og fljótt vélarfræðilíkön með Swift og Xcode. Eins og er nú er hægt að vinna með 3 tegundir gagna: myndir, texta og töflugögn. Verkflæðið er í raun einfalt, þú þarft bara að skila safni af þjálfunargögnum, skrifa nokkrar línur af kóða og galdur gerist, lítið CoreML líkan er tilbúið til notkunar í forritinu þínu. Apple lofar að draga verulega úr tíma þjálfunar, en ef 10.000 myndir ættu að vera taldar á nokkrum mínútum (eins og alltaf forðast Apple að veita upplýsingar). Þjálfun er svo hröð, því (ef mynd er flokkuð) notar Apple Transfer Learning. Við vitum ekki hvað taugakerfið byggir á en á kynningunni var Inception-v3 nefnd sem dæmi um nýjustu lausnina fyrir myndaflokkun.

2. Kynning á WWDC kynningu í hnotskurn (þú getur sleppt því ef þú horfðir á kynningu á WWDC).

Á WWDC sýndu nútíminn hversu auðveldlega við getum smíðað mismunandi gerðir, í fyrsta lagi var myndaflokkun, smíðuð með aðeins nokkrar línur af kóða:

Annað dæmið var mjög svipað og Textaflokkar ákváðu hvort textinn er jákvæður eða neikvæður, eins og í myndarmyndum voru aðeins nokkrar línur af kóða nægar til að þjálfa hann:

Hvað mig varðar var athyglisverðasta kynningin sú síðasta, þar sem kynnt var vinna með töflugögnum. Í þessu tilfelli er CreateML að nota nýtt gagnasnið, kallað MLDataTable, við fyrstu sýn er það aðeins umbúðir fyrir venjulegt gagnamat, sem betur fer er með innbyggða CSV og JSON parser.

Ef um er að ræða töflugögn býður CreateML upp á 2 slóðir: auðvelt einn og svolítið flóknari. Skoðaðu í fyrstu einfaldustu leiðina til að finna húsverðsformúlu, hún lítur næstum því út eins og bæði fyrri dæmi:

Vandamál í töflum gætu verið leyst (fer eftir tilfelli) með því að nota annað hvort MLRegressor fyrir aðhvarfsvandamál og MLClassifier fyrir flokkun. En það er ekki allt það sem er mjög áhugavert, meðan þú vinnur að töflugögnum, getur þú handvirkt ákveðið hvaða aðferð við flokkun / aðhvarf verður notuð, eins og CreateML stuðningshjón sem oftast eru notuð í iðnaði:

3. Búðu til HTML í raunverulegum vandamálum

Kynningarforrit eru alltaf eins einföld og mögulegt er, það gerir þau auðvelt að skilja og það er í lagi. En þegar um Machine Learning er að ræða, þá þýðir staðreynd að eitthvað er að vinna með einföldu dæmi, ekki raunverulega þýtt að það muni vinna með flóknari. Notendur CreateML miða eru verktaki, ekki ML sérfræðingar eða gagnafræðingar, svo ég ákvað að haga mér eins og meðaltal ML nýliði, ekki greina gögn djúpt, bara setja sett í CreateML og láta það gera töfrana. Ég ákvað að nota Kaggle keppnir sem viðmið og bera síðan gæði líkansins saman við það sem Kagglers náðu, ég vildi líka athuga hversu hratt CreateML er. Í mörgum tilfellum er lykillinn að árangursríku gerðinni skilningur á gögnum og forvinnsla, ef verktaki mun bara flytja inn CSV og reka MLRegressor og búast við hágæða niðurstöðum vegna háþróaðs vandamáls… hann gæti verið mjög vonsvikinn með áhrif. Vegna þess ákvað ég að velja dæmi sem eru nálægt raunverulegum vandamálum en ekki mjög flókin, þar sem þetta væri tilgangslaust án forvinnslu gagna.

Macbook Pro stillingin mín til viðmiðunar:

Ég byrjaði á því að prófa Image Classifier, til að prófa notaði ég „Flokkun plöntufræja“ (https://www.kaggle.com/c/plant-seedlings-classification), sem markmið er að ákvarða tegundir ungplöntu úr mynd. Gagnasett er verulega stærra en það sem kynnt er á kynningunni, það inniheldur yfir 4300 myndir, ég keyri kóðann með aðeins 2 línum af kóða, niðurstaðan er sýnileg hér að neðan:

Ég var virkilega hrifinn af niðurstöðunni, það tók 5 mínútur á dæmigerðri fartölvu fyrir forritara að þjálfa ansi góða fyrirmynd, nota 1,7GB af þjálfunargögnum. Er einhver betri leið til að byggja Proof of Concept líkan og setja í vinnandi iOS / macOS app til að sannreyna hugmynd? Ég held ekki. Apple, þú gerðir frábært starf, í raun. Það sem einnig er athyglisvert er að CreateML er sjálfkrafa að búa til staðfestingarsett frá þeim sem veitt er sem þjálfun, svo verktaki þarf ekki að skipta þessum gögnum handvirkt, eitt lítið skref til að einfalda ferlið.

Allt í lagi, ekki allir ætla að smíða „Not Hotdog“ app, svo við skulum skoða annað mjög algengt mál í vélanámi, „Tabular Data“ og vandamál með aðhvarf / flokkun. Í þessu tilfelli byrjaði ég með „Getting Started Titanic Survivals“ (https://www.kaggle.com/c/titanic), markmið þessarar keppni er að ákvarða hvort sérstakur farþegi muni lifa af árekstri við ísjakann út frá gögnum eins og aldri, kyni , tegund miða, þilfari osfrv.

Ég halaði niður CSV skrá, bjó til MLClassifier, ýtti á play og…

Allt í lagi, það virkar ekki, CreateML þarf fullkomlega hrein gögn. Þetta er ekki stórt vandamál, ég get fjarlægt línur með tóma dálki með nokkrum línum af Python, en það dregur úr fjölda þjálfunargagna úr 891 dæmum í aðeins 183, en það virkar að minnsta kosti. Í næstu keyrslu tilkynnti xCode mér að: „Eiginleikinn \‘ Ticket \ ’er ekki af gerðinni (tölu, strengur, fylki eða orðabók). \ N” svo ég sleppti þessum dálki og fékk loksins vinnuaðferð:

Enn og aftur er ég hrifinn af niðurstöðunni, gögn voru tiltölulega auðveld, en það er nálægt því hve mikið af forriturum gæti lent í dæmigerðum forritum. CreateML er að virka, það er fljótt og skilvirkt.

Önnur tilraunin var samkeppni um „Restaurant Revenue Prediction“ (https://www.kaggle.com/c/restaurant-revenue-prediction/data), þar sem markmiðið er að meta tekjur veitingastaðarins á tilteknu ári, með opnunardegi, borg, tegund veitingastaðar osfrv. Sama og í tilviki Titanic, ég halaði niður gögnunum og keyrði leikvöll:

Í þessu tilfelli ákvað CreateML að nota Boosted Tree Regressor og fyrir vikið er MSE jafnvel lægra en það sem vann keppni fyrir 3 árum. Auðvitað ástæðan fyrir því gæti verið sú staðreynd að stigatöflur eru búnar til á grundvelli gagna sem eru ekki opinber, en samt gat CreateML byggt mjög gott, líklega jafnvel sambærilegt við að vinna líkan á nokkrum sekúndum. Þetta er það sem flestir verktaki þurfa.

4. Kostir og gallar af CreateML

Kostir:

  • eins og er er auðveldasta leiðin til að smíða ML módel fyrir iOS / macOS, sérstaklega fyrir Proof Of Concept forrit, eða þau sem vinna með tiltölulega einföld gögn
  • CreateML opnar ML heim fyrir þúsundum iOS / macOS verktaki
  • er mjög duglegur og auðvelt í notkun

Gallar:

  • mjög fáar leiðir til að stilla og kemba endanlegt líkan
  • engin vitneskja almennings hvaða líkan er notað til að flokka myndir
  • engin gagnavinnsluverkfæri (en það er augljóst, Apple markmið eru ekki gagnafræðingar heldur hugbúnaðarframleiðendur)

5. Mín skoðun

Það lítur út fyrir að CreateML sé virkilega frábært verkfæri, sérstaklega fyrir forritara, sem alls ekki unnu með Machine Learning, það er fljótt, frekar duglegt og mjög auðvelt að byrja með. Ef þú ert iOS / macOS verktaki, prófaðu það bara.

6. Opin spurning

Er vandamál stórra ML módela fyrir myndaflokkun bara falið af því að öll lóð eru geymd innan iOS / macOS og CreateML byggir CoreML líkan sem inniheldur aðeins þyngd fyrir síðasta, endurmenntaða lag af (Inception-V3)?