syväoppiminen4j | |
---|---|
Tyyppi | Luonnollisen kielen käsittely , syväoppiminen , tietokonenäkö , tekoäly |
Tekijä | Adam Gibson , Chris Nicholson , Josh Patterson |
Kehittäjä | Eri |
Sisään kirjoitettu | Java , Scala , CUDA , C , C++ , Python , Clojure |
Käyttöjärjestelmä | Linux , macOS , Windows , Android |
Käyttöliittymäkielet | Englanti |
Laitteistoalusta | cross-platform |
uusin versio |
|
Osavaltio | aktiivinen |
Lisenssi | Apache 2.0 |
Verkkosivusto | deeplearning4j.org |
Deeplearning4j on Java- ohjelmointikirjasto, jota käytetään syväoppimiskehyksenä [ 2 ] [3] [4] . Sisältää Restricted Boltzmann Machinen , Deep Web of Trust , Deep Autoencoderin , Pinotun automaattisen kooderin kohinasuodatuksella , Rekursiivisen tensorineuroverkon , word2vec , doc2vec ja GloVen toteutukset . Nämä algoritmit sisältyvät myös Apache Hadoop- ja Spark -arkkitehtuuriin integroituihin kirjaston hajautettuihin laskentaversioihin [5] .
Se on avoimen lähdekoodin ohjelmisto , jota jaetaan Apache 2.0 [6] -lisenssillä ; Pääkehittäjät ovat koneoppimisryhmä San Franciscossa , jota johtaa Adam Gibson [7] [8] , kaupalliset toteutukset tukevat Skymind- käynnistystä .
Deeplearning4j on toteutettu Javalla ja toimii ympäristössä, joka on yhteensopiva Clojuren kanssa ja sisältää rajapinnan ( API ) Scala -kieleen . Valinnainen avoimen lähdekoodin ND4J- kirjasto tarjoaa tietojenkäsittelyn CUDA -yhteensopivilla GPU:illa [9] [10] . Lisäksi on olemassa työkaluja Python -kirjaston kanssa työskentelemiseen Keras- kehyksen kautta [11] .
Viitekehyksen avulla voit yhdistää komponentteja yhdistämällä tavalliset neuroverkot Boltzmann-koneisiin, konvoluutiohermoverkkoja, autoenkoodeja ja toistuvia verkkoja yhdeksi järjestelmäksi. Lisäksi tuetaan edistyneitä visualisointityökaluja [12] . Koulutus suoritetaan sekä perinteisten monikerroksisten hermoverkkojen avulla että monimutkaisille verkoille , joissa on määritelty laskentagraafi [13] .
Deeplearning4j:ssä oppiminen tapahtuu klustereiden kautta. Neuroverkkoja opetetaan rinnakkaisiin iteraatioihin, prosessia tukevat Hadoop -YARN- ja Spark -arkkitehtuurit [7] [14] . Deeplearning4j integroituu myös CUDA -ytimen arkkitehtuuriin puhtaaseen GPU-toimintoihin ja toimintojen jakeluun GPU:ille.
Deeplearning4j sisältää luokan ND4J -kirjaston n - ulotteisen tiedon kanssa työskentelemiseen . Tämä helpottaa tieteellisten tehtävien laskemista Javassa ja Scalassa, kun taas toiminnallisuus on samanlainen kuin Pythonin NumPy - kieli . Näiden työkalujen avulla voidaan ratkaista tehokkaasti lineaarialgebran ja matriisimuunnosten ongelmia käytännön sovelluksissa.
DataVec-kirjasto vektoroi tiedostot eri syöttö- ja tulostusmuodoissa samalla tavalla kuin MapReduce ; kun data muunnetaan vektorimuotoon. DataVec vektoroi CSV -taulukkomuodon , kuvat, äänet, tekstit, videot ja datan aikajaksot [15] [16] .
Deeplearning4j käyttää Java- vektori- ja aihemallinnustyökaluja suurten tekstimäärien käsittelemiseen rinnakkaisten grafiikkasuorittimien teholla .
Kirjasto sisältää toteutuksia taajuuden inversiosta ( TF-IDF ), syväoppimisesta , word2vec [17] Mikolov- algoritmista [17] , doc2vec ja GloVe, jotka on optimoitu Javassa. Tämä käyttää stokastisen naapurin upotuksen periaatetta Studentin jakauman kanssa ( t-SNE ) toteuttaakseen sanapilven.
Kirjasto sisältää suojauksen ulkoisilta häiriöiltä ja tietoturvan hakkerointia vastaan, mikä on erityisen tärkeää taloudellisissa tehtävissä [18] [19] , teollisissa järjestelmissä, sähköisessä kaupankäynnissä ja yrittäjyydessä, käytetään poikkeamien tunnistusta [20] ja kuviontunnistusta [21] . . Deeplearning4j on integroitu muihin koneoppimisalustoihin, kuten RapidMiner, Prediction.io [22] ja Weka [23] .
Suorituskykyvertailu osoittaa, että Deeplearning4j on verrattavissa Caffeen ei -triviaalisissa hahmontunnistustehtävissä , joissa käytetään rinnakkaisia GPU:ita [24] . Ohjelmoijille, jotka eivät tunne JVM HPC :tä, on useita parametreja, joita voidaan säätää hermoverkon harjoittelun tehokkuuden parantamiseksi. Näitä vaihtoehtoja ovat muun muassa dynaaminen muistin viritys, roskankeräysalgoritmi , muistin haku ja tietojen esitallennus ETL :n nopeuttamiseksi [25] . Yhdistämällä nämä asetukset voit lisätä Deeplearning4j:n suorituskykyä jopa kymmenen kertaa.
Syväoppimisohjelmat | |
---|---|
ilmainen ohjelmisto |
|
Ei-ilmainen ohjelmisto |
|
|