Syväoppimisen viitekehys koostuu rajapintojen, kirjastojen ja työkalujen yhdistelmästä, jolla voidaan määrittää ja kouluttaa koneoppimismalleja nopeasti ja tarkasti.
Koska syväoppiminen käyttää suurta määrää jäsentämätöntä, ei-tekstuaalista dataa, tarvitset viitekehyksen, joka ohjaa "kerrosten" välistä vuorovaikutusta ja tekee mallin kehittämisestä nopeaa oppimalla syöttötiedoista ja tekemällä itsenäisiä päätöksiä.
Jos olet kiinnostunut oppimaan syväoppimisesta vuonna 2021, harkitse jonkin alla mainitun viitekehyksen käyttöä. Muista valita sellainen, joka auttaa sinua saavuttamaan tavoitteesi ja visiosi.
1. TensorFlow
Kun puhutaan syvästä oppimisesta, TensorFlow on usein ensimmäinen mainittu kehys. Erittäin suosittua tätä kehystä ei käytä vain Google – sen luomisesta vastaava yritys – vaan myös muut yritykset, kuten Dropbox, eBay, Airbnb, Nvidia ja monet muut.
TensorFlow'ta voidaan käyttää korkean ja matalan tason API:iden kehittämiseen, jolloin voit ajaa sovelluksia lähes kaikilla laitteilla. Vaikka Python on sen ensisijainen kieli, Tensoflown käyttöliittymää voidaan käyttää ja hallita käyttämällä muita ohjelmointikieliä, kuten C++, Java, Julia ja JavaScript.
Koska TensorFlow on avoin lähdekoodi, sen avulla voit tehdä useita integraatioita muiden API-liittymien kanssa ja saada nopeaa tukea ja päivityksiä yhteisöltä. Sen luottaminen "staattisiin kaavioihin" laskennassa mahdollistaa välittömien laskelmien tekemisen tai toimintojen tallentamisen toistamiseen käytettäväksi. Nämä syyt, lisättynä mahdollisuuteen, että voit "katsoa" neuroverkkosi kehitystä TensorBoardin kautta, tekevät TensorFlow'sta suosituimman syvän oppimisen kehyksen.
Avainominaisuudet
- Avoin lähdekoodi
- Joustavuus
- Nopea virheenkorjaus
2. PyTorch
PyTorch on Facebookin kehittämä viitekehys tukemaan palveluidensa toimintaa. Avoimen lähdekoodin käyttöönoton jälkeen tätä kehystä ovat käyttäneet muut yritykset kuin Facebook, kuten Salesforce ja Udacity.
Tämä kehys käyttää dynaamisesti päivitettyjä kaavioita, joiden avulla voit tehdä muutoksia tietojoukkosi arkkitehtuuriin sitä käsiteltäessä. PyTorchin avulla on yksinkertaisempaa kehittää ja kouluttaa hermoverkkoa, vaikka ei olisi kokemusta syväoppimisesta.
Koska olet avoin lähdekoodi ja perustuu Pythoniin, voit tehdä PyTorchiin yksinkertaisia ja nopeita integraatioita. Se on myös yksinkertainen oppimis-, käyttö- ja virheenkorjauskehys. Jos sinulla on kysyttävää, voit luottaa suureen tukeen ja päivityksiin molemmilta yhteisöiltä – Python-yhteisöltä ja PyTorch-yhteisöltä.
Avainominaisuudet
- Helppo oppia
- Tukee GPU:ta ja CPU:ta
- Runsas valikoima sovellusliittymiä kirjastojen laajentamiseen
3. Apache MX Net
Korkean skaalautuvuuden, korkean suorituskyvyn, nopean vianmäärityksen ja edistyneen GPU-tuen ansiosta Apache loi tämän kehyksen käytettäväksi suurissa teollisuusprojekteissa.
MXNet sisältää Gluon-käyttöliittymän, jonka avulla kaiken tasoiset kehittäjät voivat tehdä sen aloita syvällinen oppiminen pilvessä, reunalaitteissa ja mobiilisovelluksissa. Vain muutamalla rivillä Gluon-koodia voit rakentaa lineaarisen regression, konvoluutioverkkoja ja toistuvia LSTM:itä esineiden havaitseminen, puheentunnistus, suositus ja personointi.
MXNetiä voidaan käyttää useilla laitteilla, ja useat laitteet tukevat sitä ohjelmointikielet kuten Java, R, JavaScript, Scala ja Go. Vaikka käyttäjien ja jäsenten määrä yhteisössä on pieni, MXNetillä on hyvin kirjoitettu dokumentaatio ja suuri kasvupotentiaali, etenkin nyt, kun Amazon on valinnut tämän kehyksen ensisijaiseksi koneoppimistyökaluksi AWS:ssä.
Avainominaisuudet
- 8 kielisidontaa
- Hajautettu koulutus, joka tukee usean CPU:n ja usean GPU:n järjestelmiä
- Hybridikäyttöliittymä, joka mahdollistaa vaihtamisen pakottavan ja symbolisen tilan välillä
4. Microsoftin kognitiivinen työkalupakki
Jos aiot kehittää sovelluksia tai palveluita, jotka toimivat Azuressa (Microsoftin pilvipalvelut), Microsoft Cognitive Toolkit on kehys, jonka avulla voit valita syväoppimisprojekteihisi. Tämä on avoimen lähdekoodin, ja sitä tukevat ohjelmointikielet, kuten Python, C++, C# ja Java. Tämä kehys on suunniteltu "ajattelemaan kuten ihmisaivot", joten se pystyy käsittelemään suuria määriä jäsentämätöntä dataa samalla, kun se tarjoaa nopean koulutuksen ja intuitiivisen arkkitehtuurin.
Valitsemalla tämän kehyksen – saman Skypen, Xboxin ja Cortanan takana – saat sovelluksistasi hyvän suorituskyvyn, skaalautuvuuden ja yksinkertaisen integroinnin Azureen. Verrattuna TensorFlow'hun tai PyTorchiin sen yhteisön jäsenmäärä ja tuki vähenevät.
Seuraava video tarjoaa täydellisen esittelyn ja sovellusesimerkkejä:
Avainominaisuudet
- Selkeä dokumentaatio
- Microsoft-tiimin tuki
- Suora graafin visualisointi
5. Keras
PyTorchin tavoin Keras on Python-pohjainen kirjasto dataintensiivisille projekteille. Keras API toimii korkealla tasolla ja mahdollistaa integroinnin matalan tason API:iden, kuten TensorFlow, Theano ja Microsoft Cognitive Toolkit, kanssa.
Joitakin keran käytön etuja ovat sen oppimisen yksinkertaisuus – se on suositeltava kehys syväoppimisen aloittelijoille; sen käyttöönottonopeus; jolla on suuri tuki python-yhteisöltä ja muiden kehysten yhteisöiltä, joihin se on integroitu.
Keras sisältää erilaisia toteutuksia hermoverkkojen rakennuspalikoita kuten tasot, tavoitefunktiot, aktivointifunktiot ja matemaattiset optimoijat. Sen koodia isännöi GitHub, ja siellä on foorumeita ja Slackin tukikanava. Standardin tuen lisäksi hermoverkkoihin, Keras tarjoaa tukea konvoluutiohermoverkkoille ja toistuville hermoverkoille.
Keras sallii syvällisen oppimisen mallit luotava älypuhelimilla sekä iOS- että Android-käyttöjärjestelmillä, Java-virtuaalikoneella tai verkossa. Se mahdollistaa myös syväoppimismallien hajautetun koulutuksen Graphics Processing Units (GPU) ja Tensor Processing Units (TPU) -klustereissa.
Avainominaisuudet
- Valmiiksi koulutetut mallit
- Useiden taustaohjelmien tuki
- Käyttäjäystävällinen ja laaja yhteisön tuki
6. Apple Core ML
Apple on kehittänyt Core ML:n tukemaan sen ekosysteemiä – IOS, Mac OS ja iPad OS. Sen API toimii alhaisella tasolla hyödyntäen hyvin CPU:n ja GPU:n resursseja, mikä mahdollistaa luotujen mallien ja sovellusten jatkuvan käynnissä myös ilman internetyhteyttä, mikä vähentää laitteen "muistijalanjälkeä" ja virrankulutusta.
Core ML:n tapa saavuttaa tämän ei ole aivan uuden koneoppimiskirjaston luominen, joka on optimoitu toimimaan iphoneissa/ipadeissa. Sen sijaan Core ML on enemmän kuin kääntäjä, joka ottaa mallin tekniset tiedot ja koulutetut parametrit, jotka on ilmaistu muilla koneoppimisohjelmistoilla, ja muuntaa ne tiedostoksi, josta tulee iOS-sovelluksen resurssi. Tämä muunnos Core ML -malliksi tapahtuu sovelluksen kehittämisen aikana, ei reaaliajassa sovellusta käytettäessä, ja sitä helpottaa coremltools python -kirjasto.
Core ML tarjoaa nopean suorituskyvyn ja helpon integroinnin koneoppiminen malleja sovelluksiksi. Se tukee syväoppimista yli 30 tyyppisellä kerroksella sekä päätöspuilla, tukivektorikoneilla ja lineaarisilla regressiomenetelmillä, jotka kaikki on rakennettu matalan tason tekniikoiden, kuten Metalin ja Acceleraten, päälle.
Avainominaisuudet
- Helppo integroida sovelluksiin
- Optimaalinen paikallisten resurssien käyttö, ei vaadi Internet-yhteyttä
- Tietosuoja: tietojen ei tarvitse poistua laitteesta
7. ONNX
Viimeinen kehys luettelossamme on ONNX. Tämä kehys syntyi Microsoftin ja Facebookin yhteistyöstä, jonka tavoitteena on yksinkertaistaa mallien siirtoa ja rakentamista eri kehysten, työkalujen, ajonaikaisten ja kääntäjien välillä.
ONNX määrittelee yleisen tiedostotyypin, jota voidaan käyttää useilla alustoilla, samalla kun se hyödyntää matalan tason API:iden, kuten Microsoft Cognitive Toolkit, MXNet, Caffe ja (muuntimia) Tensorflow ja Core ML, etuja. ONNX:n periaate on kouluttaa malli pinoon ja toteuttaa se käyttämällä muita päätelmiä ja ennusteita.
LF AI Foundation, Linux Foundationin alaorganisaatio, on organisaatio, joka on omistautunut rakentamaan ekosysteemiä tukemaan avoimen lähdekoodin innovaatiot tekoälyssä (AI), koneoppimisessa (ML) ja syväoppimisessa (DL). Se lisäsi ONNX:n jatko-tason projektiksi 14. marraskuuta 2019. Tämä ONNX:n siirtyminen LF AI Foundationin sateenvarjon alle nähtiin tärkeänä virstanpylväsnä ONNX:n luomisessa toimittajaneutraaliksi avoimen formaatin standardiksi.
ONNX Model Zoo on kokoelma valmiiksi koulutettuja Deep Learning -malleja, jotka ovat saatavilla ONNX-muodossa. Jokaiselle mallille on olemassa Jupyter-muistikirjat mallin koulutukseen ja johtopäätösten tekemiseen koulutetun mallin kanssa. Muistikirjat on kirjoitettu Pythonilla ja sisältävät linkkejä koulutustiedot ja viittaukset alkuperäiseen tieteelliseen asiakirjaan, joka kuvaa malliarkkitehtuuria.
Avainominaisuudet
- Kehyksen yhteentoimivuus
- Laitteiston optimointi
Yhteenveto
Tämä on yhteenveto parhaista kehyksistä syvä oppiminen. Tätä tarkoitusta varten on useita kehyksiä, ilmaisia tai maksullisia. Jotta voit valita parhaan projektille, tiedä ensin, mille alustalle aiot kehittää sovellustasi.
Yleiset puitteet, kuten TensorFlow ja Keras, ovat parhaita vaihtoehtoja aloittaa. Mutta jos sinun on käytettävä käyttöjärjestelmä- tai laitekohtaisia etuja, Core ML ja Microsoft Cognitive Toolkit voivat olla parhaita vaihtoehtoja.
Android-laitteille, muille koneille ja erityistarkoituksiin on myös muita kehyksiä, joita ei ole mainittu tässä luettelossa. Jos jälkimmäinen ryhmä kiinnostaa sinua, suosittelemme etsimään heidän tietojaan Googlesta tai muilta koneoppimissivustoilta.
Jätä vastaus