Megjelent 2017.02.22

Beszél valamiről gépi tanulás vagy gépi tanulás Ma még valami furcsa és sok ismeretlen dolog lehet, de az az igazság, hogy jobban jelen van, mint gondolnánk. Naponta és öntudatlanul használjuk az internet böngészése, a közösségi hálózatokkal való konzultáció során, vagy akár a vásárlás során.

Mi a gépi tanulás?

A gépi tanulás egyfajta mesterséges intelligencia, amelyet azért fejlesztettek ki, hogy a számítógépes programok tanulhassanak a viselkedésünkből és a technológiák használatából. Így javul a felhasználói élmény, sőt új segédprogramok vagy szolgáltatások is javasolhatók.

gépi

Ez a rendszer érzékeli a viselkedésmintákat, és a programot a felhasználó igényeihez igazítja. Az egyik legismertebb példa a Facebook, amely a gépi tanulás segítségével érzékeli a felhasználót, és érdeklődését kínálja a falon. De ez egy lépéssel tovább léphet, amint ezt a bejegyzésben elmagyarázzuk, és megtanuljuk a rendszert megtanulni felismerni bizonyos mozdulatokat vagy gesztusokat, és ezáltal létrehozni egy új kommunikációs rendszert, ahol a gesztus a személy és a gép közötti nyelv.

Ebben a kis videóban megnézheti, hogyan hajtottuk végre az alábbiakban ismertetett teljes folyamatot:

Miért olyan népszerű a gépi tanulás?

Most van adatunk

Ahhoz, hogy a gépi tanulás valóban hatékony legyen, nagy mennyiségű adatra van szükség és minőségi. Néha nehezebb megszerezni ezeket az adatokat, mint magát az algoritmust modellezni.
A Big Data kihasználásával, ahol a lehető legtöbb információt tároljuk a szűrt és releváns adatok feldolgozásához és kinyeréséhez, a gépi tanulás gyorsan fejlődhet.

"Nem az nyer, aki rendelkezik a legjobb algoritmussal, hanem az, akinek a legtöbb adata van"

Megfelelő és jól strukturált adatok esetén nem szükséges a legjobb algoritmust használni, a végső pontosság csak tizedeket váltana.

Most felhőalapú számítástechnikával rendelkezünk

Az egyik fő oka annak, hogy a gépi tanulás korábban lefogyott, annak magas számítási költsége volt.
Tudjuk, hogy az eredmény hatékonysága érdekében nagy adatkészletet kell használni, amelyen főként mátrixszorzókat hajtanak végre, hogy az adatok illeszkedjenek egy adott betanítandó modellhez.

A berendezés képességei azonban mind a feldolgozásban, mind a memóriában korlátozottak, ami azt jelentette, hogy más számítási szempontból könnyebb alternatívákat kerestek. Ma ez már nem jelent problémát, mivel számos olyan felhőszolgáltatás létezik, amelyek lehetővé teszik, hogy hatalmas mennyiségű adattal dolgozzon és percek alatt végezze el a feldolgozást, ami több ezer évig is eltarthat egyetlen hagyományos számítógépen.

Most már vannak eszközeink és erőforrásaink

Valószínűleg ez volt a legfontosabb előrelépés az elmúlt években. Nemcsak új eszközöket és keretrendszereket fejlesztettek ki a gépi tanuláshoz, mint például a TensorFlow, a Caffe, a Keras, a Torch, a Deepnet stb. De számos nyilvános forrást is létrehoztak tesztek és tanulás céljából különböző területeken, például a természetes nyelv feldolgozása, képosztályozás, szövegfelismerés stb.

Az egyik legfontosabb adatkészlet, amelyen még versenyeket is rendeznek, és amelynek globális rangsora van, a népszerű MNIST, szabadkézi számjegyű képkészlet, amelyen 99,7 pontosságot sikerült elérni.%. Más szóval, most már lehetséges, hogy egy gép képes azonosítani bárki által írt számjegyet, egy korábbi tanulásból kiindulva, azzal az adatsorral, vagyis átlagosan csak háromszor bukna meg minden 1000-ből próbálkozások.

Hogyan alkalmazzuk a gépi tanulást a Neosentecben?

Többek között arcfelismerésre (például a Spooface-vel) vagy a kiterjesztett valóság projektek képeinek osztályozására alkalmaztuk, de egy másik, sokkal ritkább projektre szeretnénk koncentrálni, amellyel együtt játszottunk laborunk.

Gesztusészlelés hordható eszközökön

Emlékszel a Kisebbségi Jelentés filmre, ahol a főhős képernyők sokaságát irányította kézmozdulatokkal?
Már lehet valami hasonlót csinálni a mélységmérő kamerák, például a Kinect vagy a Magic Leap használatával, de mindkettő beltéri felhasználást igényel, hogy a gesztusok láthatók legyenek a kamerák számára, és nyilvánvalóan ezen eszközök előzetes telepítése.

De képzelje el most, hogy eltávolítjuk az összes korábbi korlátozást, és lehetővé tesszük bármely eszköz egyszerű karkötővel történő vezérlését, még akkor is, ha az nem látható. Ezt játszottuk.

A folyamat

Úgy döntöttünk, hogy egy egyszerű mozdulatot nevezünk, amelyet "Double-flip" néven ismernek, ami ugyanazon a tengelyen kettős fordulatot eredményez 2 irányban.

Az első lépés az adatok megszerzése volt, ehhez egy gyorsításmérővel és giroszkóp érzékelőkkel ellátott, viselhető prototípust használtunk, amely 3 dimenzióban képes mérni az erőket és a szögeket. Amellyel 6 grafikont kapunk, mint az alábbiak.

2 másodperc alatt állítottuk be az egyes gesztusok időtartamát, és elkezdtünk 1000 negatív mintát venni (mindenféle mozgás, amely nem tartalmazta azt, amelyet fel akarunk mutatni), és ezeket "negatívnak" jelölik.

Később ugyanezt tettük, de 100 pozitív mintát vettünk, vagyis százszor elvégeztük azt a gesztust, amelyet szerettünk volna edzeni, és "dupla flip" -nek neveztük őket.
A képzéshez a Google TensorFlow könyvtárát használtuk, egy egyszerű logisztikai regressziós algoritmus alkalmazásával, az előző 6 grafikon normalizált értékeinek kombinálásával, amelynek eredményeként 1100 minta x 1200 jellemző (egy grafikononként 200) mátrixot kaptunk. Annak ellenére, hogy egyszerű algoritmust és nagyon korlátozott számú mintát használunk, az eredmények teljesen kielégítőek, 95% -os pontosságot értek el.

Mint láttuk, a gépi tanulás által kínált lehetőségek gyakorlatilag végtelenek, és bármely ágazatban vagy projektben alkalmazhatók, még olyan atipikus ötletek esetében is, mint amilyeneket bemutattunk.