Mi a legjobb módja a gépi tanulás megtanulásának online tanfolyamok nélkül?
Mi a legjobb módja annak, hogy elkezdjük a gépi tanulás és a mélytanulás tanulását online tanfolyamok elvégzése nélkül? jelent meg eredetileg a Quora: a hely a tudás megszerzésére és megosztására, amely lehetővé teszi az emberek számára, hogy másoktól tanuljanak és jobban megértsék a világot.
A válasz Eric Jang, a Google Brain kutatómérnöke, a Quora oldalán:
Hadd kezdjem azzal, hogy nincs egyetlen “legjobb módszer” a gépi tanulás tanulására, és meg kell találnod azt a rendszert, ami jól működik számodra. Vannak, akik a tanfolyamok struktúráját kedvelik, mások a saját tempójukban szeretnek könyveket olvasni, és vannak, akik rögtön a kódba akarnak belevetni magukat.
Andrew Ng Machine Learning Coursera kurzusával kezdtem 2012-ben, szinte nulla lineáris algebrai ismerettel, és semmit sem tudtam a statisztikáról vagy a gépi tanulásról. Megjegyzendő, hogy bár a kurzus a neurális hálózatokkal foglalkozott, nem a mélytanulásról szóló kurzus volt. Nagyon tetszett, ahogy a kurzus a “gépi tanulást” úgy fogalmazta meg, hogy az nem más, mint numerikus optimalizálás.
Ha az online kurzusok túl lassúak az Ön számára, a legjobb konszolidált forrás valószínűleg a Goodfellow, Bengio és Courville által írt Deep Learning könyv. Van benne néhány fejezet az alapoknak szentelve (olyasmi, mint amit Ng óráján tárgyalnak), aztán beleugrik a gyakorlati DNN-ekbe.
A statisztikai/matematikailag szigorú háttér nem szükséges a hasznos Deep Learning munkához, de nagyon segít a hipotézisek megfogalmazásában, hogy miért működnek/nem működnek a modellek, és mi segíthet. Murphy Probabilistic Machine Learning tankönyve nagyszerű alapot nyújt a matematikailag szigorú ML-hez (és remek diagramokkal is rendelkezik!)
Miután befejezed a DL könyvet, “specializálódhatsz” a Deep Learning valamelyik részterületére/alrészterületére, néhány dolgozat saját magad megvalósításával. Néhány példatéma:
- Bayesian Deep Learning (neurális hálók és grafikus modellek kombinálása)
- Deep Reinforcement Learning (AlphaGo, Atari-játékos AI, robotika)
- Generatív modellek (GAN-ok, PixelCNN, VAE-k)
- Adverzális módszerek (GAN-ok, Actor-Critic)
- Mélytanulás elmélete
- Computer Vision
- NLP/Beszéd (fordítás, feliratozás, seq2seq modellek)
- Szimbolikus következtetés (pl.g. bizonyítás-megoldás)
- Rekurrens neurális hálózatok (pl. LSTM-ek, külső memória, figyelem)
- Alkalmazások (domain-specifikus problémák megoldása, pl. rák osztályozása, fehérje hajtogatás, szájról olvasás videóról)
- Meta-tanulás / tanulni tanulás (Synthetic Gradients, Pathnet)
A Deep Learning területe az elmúlt néhány évben drámaian kibővült, olyannyira, hogy nem reális a Deep Learning összes részterületét rövid idő alatt elsajátítani. Azt javaslom, hogy merüljünk el mélyen egy adott részterületen, majd ha már egy területet elsajátítottunk, könnyebb lesz a többi részterületet is megtanulni. Ezeknek a területeknek már nincs túl sok közös vonásuk, azon kívül, hogy mindannyian a mélytanulás kifejező erejét használják a feladatok végponttól végpontig történő tanulására, és általában kísérleti jellegűek (és nem elméleti informatika).
Manapság a legérdekesebb mélytanulási dolgozatokhoz tartozik valamilyen nyilvánosan elérhető implementáció TensorFlow, Pytorch, Torch, Keras vagy Theano nyelven, így az egyik módja annak, hogy gyorsan kialakíts egy intuíciót, az, hogy megnézed, tudsz-e javítani egy meglévő modellen (pl. jobb ResNet-et készíteni).
Valószínűleg nem érdemes a semmiből implementálni a saját neurális háló csomagodat Pythonban. Rengeteg munkával jár az apró részletek helyes beállítása (lásd például ezt a megjegyzést arról, hogy a softmax művelet hogyan van implementálva a TensorFlow-ban).
A mélytanulási keretrendszerek összetettek és időigényesek, és a leggyorsabb módja egy DL keretrendszer elsajátításának, ha egy kihívást jelentő neurális háló architektúrát implementálsz, amely a keretrendszer homályos jellemzőit vagy a DL több részterületét átívelő ötleteket gyakorolja. Néhány ajánlás a trükkös architektúrákra/tréningvezetékekre vonatkozóan:
- Progresszív hálók
- DenseNet
- Synthetic Gradients
- Neurális Turing gépek
- Embed-to-Control
- Neurális gépi fordítás
Finally, sok gépi tanulással foglalkozó kutató van a Twitteren, és a Reddit Machine Learning közösség egy jó módja annak, hogy a legfrissebb híreket kapjuk a neurális hálózatokról. A terület nagyon versenyképes és nagyon gyorsan mozog, így segít naprakésznek maradni.
Ez a kérdés eredetileg a Quora. a tudás megszerzésének és megosztásának helye, amely képessé teszi az embereket arra, hogy másoktól tanuljanak és jobban megértsék a világot. A Quora-t követheted a Twitteren, a Facebookon és a Google+-on. További kérdések:
- Gépi tanulás: Mennyire nehéz egy motivált tudósnak otthonról automatizált kereskedési rendszert építeni?
- Számítógépes programozás: Hogyan lehet kiszúrni egy kezdő programozót?
- Tanulás: Hogyan tudok gyorsabban és jobban gondolkodni?
Quora: a tudás megszerzésének és megosztásának helye, amely lehetővé teszi az emberek számára, hogy másoktól tanuljanak és jobban megértsék a világot.