Syväoppiminen4j

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 7.1.2020 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .
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ä .

Tekniikka

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] .

Hajautettu laskenta

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.

Tieteelliset laskelmat JVM:lle

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-vektorisointikirjasto koneoppimiseen

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] .

Luonnollinen kieli ja tekstinkäsittely

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.

Turvallisuus

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] .

Vertailuarvot

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.

Katso myös

Muistiinpanot

  1. Julkaisu 0.9.1 - 2017.
  2. Metz, Cade Tehtävä tuoda Googlen tekoäly muualle maailmaan . Wired.com (2. kesäkuuta 2014). Haettu 28. kesäkuuta 2014. Arkistoitu alkuperäisestä 5. heinäkuuta 2020.
  3. Vance, Ashlee Deep Learning (joillekin) ihmisille . Bloomberg Businessweek (3. kesäkuuta 2014). Käyttöpäivä: 28. kesäkuuta 2014. Arkistoitu alkuperäisestä 25. kesäkuuta 2014.
  4. Novet, Jordania Haluatko avoimen lähdekoodin syväoppimiskehyksen? Valitse omasi . Venture Beat (14. marraskuuta 2015). Haettu 24. marraskuuta 2015. Arkistoitu alkuperäisestä 18. joulukuuta 2019.
  5. TV, toiminnallinen Adam Gibson, DeepLearning4j Sparkissa ja Data Science JVM:ssä nd4j:n kanssa, SF Spark @Galvanize 20150212 . SF Spark Meetup (12. helmikuuta 2015). Haettu 1. maaliskuuta 2015. Arkistoitu alkuperäisestä 26. joulukuuta 2015.
  6. Githubin arkisto . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 24. syyskuuta 2019.
  7. 1 2 deeplearning4j.org . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 30. maaliskuuta 2016.
  8. Crunchbase-profiili . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 31. heinäkuuta 2017.
  9. Harris, Derrick Skymind-niminen startup käynnistää avoimen lähdekoodin syväoppimisen . GigaOM.com (2. kesäkuuta 2014). Haettu 29. kesäkuuta 2014. Arkistoitu alkuperäisestä 28. kesäkuuta 2014.
  10. Novet, Jordan Skymind julkaistaan ​​avoimen lähdekoodin plug-and-play-syväopetusominaisuuksilla sovelluksellesi (2. kesäkuuta 2014). Haettu 29. kesäkuuta 2014. Arkistoitu alkuperäisestä 28. syyskuuta 2020.
  11. Arkistoitu kopio (linkki ei saatavilla) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 25. helmikuuta 2017. 
  12. Deeplearning4j:n visualisointityökalut (downlink) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 10. elokuuta 2017. 
  13. Deeplearning4j-laskentakaavio (downlink) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 10. elokuuta 2017. 
  14. Iteratiivinen vähennys . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 10. kesäkuuta 2018.
  15. DataVec ETL koneoppimiseen (downlink) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 2. lokakuuta 2017. 
  16. Aikasarjatietojen poikkeamien tunnistus syväoppimisen avulla . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 28. syyskuuta 2020.
  17. word2vec . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 10. maaliskuuta 2016.
  18. Rahoitus ja petokset | Skymind (downlink) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 10. maaliskuuta 2016. 
  19. https://skymind.ai/bsa-aml  (linkki ei saatavilla)
  20. Arkistoitu kopio . Haettu 22. helmikuuta 2016. Arkistoitu alkuperäisestä 10. maaliskuuta 2016.
  21. https://skymind.ai/image  (linkki ei saatavilla)
  22. https://www.rapidminerchina.com/en/products/shop/product/deeplearning4j/  (downlink)
  23. Luotu dokumentaatio (Nimetön) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 23. elokuuta 2017.
  24. GitHub - deeplearning4j/dl4j-benchmark: Repo seurantaan dl4j-vertailukoodi . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 22. heinäkuuta 2020.
  25. Benchmarking DL4J:n ja ND4J:n kanssa | Deeplearning4j (linkki ei saatavilla) . Haettu 25. heinäkuuta 2017. Arkistoitu alkuperäisestä 9. elokuuta 2017. 

Kirjallisuus

Linkit