Ma'lumot fanlari ishqibozlari uchun eng yaxshi chuqur o'rganish 8 ta ramka

O'z biznesini kengaytirishga intilayotgan kompaniyalarning soni tobora ko'payib borishi bilan, ular ikkala mashina bo'yicha ham, bashoratli tahlillarga ham aralashmaslik uchun ajralmas holga aylandi. AI to'g'ri chuqur o'rganish doirasi bilan birgalikda biznesning o'z sohalarida nimaga erishishi va erishishi mumkinligini aniqlashtirdi.

Mashinani o'rganish paradigmasi doimiy ravishda rivojlanmoqda. Kalit dasturlarni yanada oqilona va yanada oqilona qilish uchun mobil qurilmada ishlaydigan mashina o'qitish modellarini ishlab chiqishga o'tishdir. Chuqur o'rganish - bu murakkab muammolarni hal qilishga imkon beradigan narsa. Ushbu maqolada aytilganidek, Deep Learning asosan steroidlarni mashinada o'rganishdir. Xususiyatlarni qayta ishlash uchun bir nechta qatlam mavjud va odatda har bir qatlam qimmatli ma'lumotlardan parcha oladi.

Chuqur o'rganish yuqori darajadagi vazifalarni bajarish uchun kalit ekanligini hisobga olib - ularni qurish va muvaffaqiyatli ishlatish butun dunyo bo'ylab ma'lumot olimi va ma'lumot muhandislari uchun Gerkulean vazifasi hisoblanadi. Bugungi kunda bizda juda ko'p miqdordagi ramkalar mavjud, bu bizga dasturlashda qiyinchiliklarni engillashtirish bilan bir qatorda yaxshiroq abstraktsiyani taklif qiladigan vositalarni ishlab chiqishga imkon beradi.

Har bir ramka turli xil maqsadlar uchun har xil tarzda qurilgan. Bu erda biz sizga 8 ta chuqur o'rganish ramkalarini ko'rib chiqamiz, bu sizning biznesingizdagi muammolarni hal qilishda sizga eng mos keladigan yoki yordam beradigan eng yaxshi tushuncha berishdir.

1. TensorFlow

TensorFlow, shubhasiz, eng yaxshi chuqur o'rganish tizimlaridan biri bo'lib, Airbus, Twitter, IBM va boshqalar kabi bir nechta gigantlar tomonidan, asosan o'zining yuqori moslashuvchan tizim arxitekturasi tufayli qabul qilingan.

TensorFlow-dan eng mashhur foydalanish holati Google Tarjimon bo'lishi kerak, bu tabiiy tillarni qayta ishlash, matnni tasniflash / umumlashtirish, nutq / rasm / qo'l yozuvlarini aniqlash, prognozlash va yorliqlash kabi imkoniyatlarga ega.

TensorFlow ish stolida ham, mobil telefonlarda ham mavjud va Python, C ++ va R kabi tillarni qo'llab-quvvatlaydi, o'rash kutubxonalari bilan bir qatorda chuqur o'rganish modellarini yaratish uchun.

TensorFlow keng qo'llaniladigan ikkita vosita bilan ta'minlangan:

  1. Tarmoqlarni modellashtirish va ishlashini samarali vizualizatsiya qilish uchun TensorBoard.
  2. TensorFlow bir xil server arxitekturasi va API-larini saqlab qolgan holda yangi algoritmlar / tajribalarni tezkor ravishda tarqatish uchun xizmat qiladi. Bundan tashqari, u an'anaviy amaliyotdan farq qiladigan va boshqa model va ma'lumotlar turlariga xizmat ko'rsatish uchun kengaytirilishi mumkin bo'lgan boshqa TensorFlow modellari bilan integratsiyani ta'minlaydi.

Agar siz chuqur o'rganishga ilk qadamlaringizni qo'ysangiz, Python-ga asoslangan, Google tomonidan qo'llab-quvvatlanadigan va sizga yo'l-yo'riq berish uchun hujjatlar bilan to'ldirilgan TensorFlow-ni tanlamaslik kerak.

2. Kofe

Caffe - bu C, C ++, Python va MATLAB kabi interfeyslar bilan bir qatorda buyruqlar interfeysi bilan qo'llab-quvvatlanadigan chuqur o'rganish doirasi. U tezligi va transposabilitesi va konvulsion neyron tarmoqlarini (CNN) modellashtirishda qo'llanilishi bilan mashhur. Caffe C ++ kutubxonasidan foydalanishning eng katta foydasi (Python interfeysi bilan birga) oldindan tayyorlangan va darhol ishlatilishi mumkin bo'lgan Caffe Model Zoo hayvonlar bog'ining chuqur to'ridan mavjud tarmoqlarga kirish. CNN-larni modellashtirish yoki rasmlarni qayta ishlash masalalarini hal qilish haqida gap ketganda, bu sizning kutubxonangiz bo'lishi kerak.

Kofening eng katta USP bu tezlikdir. U har kuni Nvidia K40 GPU yordamida 60 milliondan ortiq tasvirni qayta ishlashi mumkin. Bu 1 ms / rasm va o'rganish uchun 4 ms / rasm - va kutubxonaning so'nggi versiyalari tezroq ishlaydi.

Kofe - bu vizual aniqlash uchun mashhur chuqur o'rganish tarmog'i. Biroq, Caffe TensorFlow yoki CNTK-da mavjud bo'lgan kabi nozik taneli tarmoq qatlamlarini qo'llab-quvvatlamaydi. Arxitekturani hisobga olgan holda, takroriy tarmoqlarni va tillarni modellashtirishni qo'llab-quvvatlash juda past va murakkab qatlam turlarini o'rnatish past darajadagi tilda amalga oshirilishi kerak.

3. Microsoft Cognitive Toolkit / CNTK

Mashg'ulotlar davomida oson o'qitish va ommabop model turlarining kombinatsiyasi bilan mashhur bo'lgan Microsoft Cognitive Toolkit (ilgari CNTK deb nomlangan) chuqur o'rganish modellarini o'qitish uchun ochiq manbali chuqur o'rganish tizimidir. U neyron tarmoqlarni samarali yig'ish va tasvir, nutq va matnga asoslangan ma'lumotlarni o'qitishni amalga oshiradi. Caffe singari, Python, C ++ kabi interfeyslar va buyruq satri interfeysi qo'llab-quvvatlanadi.

Resurslardan izchil foydalanishni hisobga olgan holda, kuchaytirish bo'yicha o'quv modellarini yoki generativ raqiblik tarmoqlarini (GAN) amalga oshirish asboblar to'plamidan foydalanib osonlik bilan amalga oshirilishi mumkin. Bir nechta mashinalarda ishlaganda Theano yoki TensorFlow kabi vositalar bilan taqqoslaganda yuqori ishlash va kengayish imkoniyatini beradi.

Caffe bilan taqqoslaganda, yangi murakkab qatlam turlarini kashf etish haqida gap ketganda, foydalanuvchilarga qurilish bloklarining nozik tanqisligi tufayli ularni past darajadagi tilda amalga oshirish kerak emas. Microsoft Cognitive Toolkit RNN va CNN neyron modellarining har ikkalasini ham qo'llab-quvvatlaydi va shu bilan rasmlarni, qo'l yozuvi va nutqni aniqlash muammolarini hal qilishga qodir. Hozirgi vaqtda ARM arxitekturasini qo'llab-quvvatlamasligi sababli, uning mobil aloqasi imkoniyatlari juda cheklangan.

4. Torch / PyTorch

Torch - bu mashina o'rganish algoritmlarini keng qo'llab-quvvatlovchi ilmiy hisoblash doirasi. Bu Luaga asoslangan chuqur o'rganish asosidir va Facebook, Twitter va Google kabi sanoat gigantlari orasida keng qo'llaniladi. U CUDA va C / C ++ kutubxonalari bilan ishlov berish uchun ishlaydi va asosan qurilish modellarini ishlab chiqarishni kengaytirish va umumiy moslashuvchanlikni ta'minlash uchun yaratilgan.

Kechga kelib, PyTorch chuqur o'rganish doirasidagi jamiyatda yuqori darajada qabul qilinganligini ko'rdi va TensorFlowga raqobatchi deb hisoblanadi. PyTorch asosan Torchni chuqur o'rganish tizimining porti bo'lib, u chuqur neyron tarmoqlarini qurish va murakkabligi jihatidan yuqori bo'lgan tensorli hisoblashlarni bajarish uchun ishlatiladi.

Torch-dan farqli o'laroq, PyTorch Python-da ishlaydi, ya'ni Python haqida asosiy tushunchaga ega bo'lgan har kim o'zlarining chuqur o'rganish modellarini qurishni boshlashlari mumkin.

PyTorch asosining me'moriy uslubini hisobga olgan holda, butun chuqur modellashtirish jarayoni Torch bilan taqqoslaganda ancha sodda va shaffofdir.

5. MXNet

MXNet (yuqori darajadagi samaradorlik, samaradorlik va moslashuvchanlik) uchun maxsus ishlab chiqilgan bo'lib, Python, R, C ++ va Julia tomonidan qo'llab-quvvatlanadigan chuqur o'rganish tizimidir.

MXNet-ning go'zalligi shundaki, u foydalanuvchiga turli xil dasturlash tillarida kodlash imkoniyatini beradi. Bu degani siz chuqur o'rganish modellaringizni qaysi tilda xohlasangiz ham, noldan yangi biror narsa o'rganmasdan turib mashq qilishingiz mumkin. C ++ va CUDA-da yozilgan dastur yordamida MXNet ko'p sonli GPU o'lchamlarini ishlab chiqish va ishlashga qodir, bu esa ularni korxonalar uchun ajralmas holga keltiradi. Ishning holati: Amazon MXNet-ni chuqur o'rganish uchun ma'lumot-kutubxona sifatida ishlatgan.

MXNet ikkala RNN va CNN-lar bilan bir qatorda qisqa muddatli xotira (LTSM) tarmoqlarini qo'llab-quvvatlaydi.

Ushbu chuqur o'rganish tizimi tasvirlash, qo'l yozuvi / nutqni aniqlash, prognozlash va NLP sohalarida o'z qobiliyatlari bilan mashhur.

6. Zanjir

Chainer juda kuchli, dinamik va intuitiv, yugurish strategiyasi asosida ishlab chiqilgan neyron tarmoqlari uchun Python-ga asoslangan chuqur o'rganish tizimidir. Xuddi shu strategiyani ishlatadigan boshqa ramkalar bilan taqqoslaganda, siz ish vaqtida ishlaydigan tarmoqlarni o'zgartirishingiz mumkin, bu sizga o'zboshimchalik bilan boshqarish oqimi to'g'risida bayonotlarni bajarishga imkon beradi.

Chainer ikkala CUDA hisoblashni ham ko'p GPU bilan qo'llab-quvvatlaydi. Ushbu chuqur o'rganish doirasi asosan RNN va CNNlardan foydalangan holda hissiyotni tahlil qilish, mashinani tarjima qilish, nutqni aniqlash va boshqalar uchun ishlatiladi.

7. Keras

Minimalizm bilan tanilgan Keras neyron tarmoq kutubxonasi (Python-ning qo'llab-quvvatlanadigan interfeysi bilan) TensorFlow yoki Theano-da ishlay oladigan konvulsiv va takroriy tarmoqlarni qo'llab-quvvatlaydi. Kutubxona Python-da yozilgan va tezkor eksperiment asosida o'zining USP sifatida ishlab chiqilgan.

TensorFlow interfeysi yangi foydalanuvchilar uchun murakkab bo'lishi mumkin bo'lgan past darajadagi kutubxona ekanligi bilan bir qatorda, biroz murakkab bo'lganligi sababli, Keras tezkor prototiplash uchun samarali interfeys yaratish uchun sodda interfeys bilan ta'minlangan. TensorFlow bilan ishlaydigan neyron tarmoqlar.

Bir nechta qatlamlarni yopishtirish orqali chuqur o'rganish modelini yaratish haqida gap ketganda, engil, ishlatish oson va haqiqatan ham to'g'ri: bu Keras. Keras TensorFlow yadro API-ning bir qismiga aylanishining sabablari shundadir.

Kerasning asosiy ishlatilishi tasniflash, matn yaratish va umumlashtirish, etiketlash va tarjima, nutqni aniqlash va boshqa sohalarda. Agar siz Python-da biron bir tajribaga ega bo'lgan dasturchi bo'lsangiz va chuqur o'rganishga kirishmoqchi bo'lsangiz, Keras - bu albatta tekshirishingiz kerak bo'lgan narsa.

8. Deeplearning4j

Iterativ kamaytirish, mikroservis arxitekturasini moslashtirish va taqsimlangan CPU va GPU orqali parallel ravishda o'qitish Deeplearning4j chuqur o'rganish tizimining muhim xususiyatlaridan biridir. Java va Scala-da ishlab chiqilgan va boshqa JVM tillarini ham qo'llab-quvvatlaydi.

Tijoriy, tarmoqqa yo'naltirilgan chuqur o'rganish platformasi sifatida keng tarqalgan bo'lib, ushbu chuqur o'rganish tizimining eng katta ustunligi shundaki, siz butun Java ekotizimini chuqur o'rganishni amalga oshirish uchun birlashtira olasiz. Uni Hadoop va Spark-ning tepasida, bir nechta xost iplarini tartibga solish uchun ham ishlatish mumkin. Katta matritsali operatsiyalarni bajarish uchun boshqa kutubxonalarga bog'liq holda DL4J MapReduce-dan foydalanadi.

Deeplearning4j RBM, DBN, konvulsion neyron tarmoqlari (CNN), takroriy neyron tarmoqlari (RNN), rekursiv neyson tensor tarmoqlari (RNTNs) va uzoq muddatli xotira (LTSM) orqali chuqur tarmoq yordami bilan ta'minlanadi.

Ushbu chuqur o'rganish tizimi Java-da amalga oshirilganligi sababli, Python-ga nisbatan ancha samarali. Bir nechta GPU yordamida tasvirni aniqlash vazifalari haqida gap ketganda, bu Caffe singari tezdir. Ushbu ramka tasvirni aniqlash, firibgarlikni aniqlash, matnni yaratish, nutq so'zlarini teglash va tabiiy tilda ishlash uchun beqiyos potentsialni namoyish etadi.

Java-ning asosiy dasturlash tili sifatida, agar siz chuqur o'rganish modellarini ishlab chiqarishga joriy etishning kuchli va samarali usulini qidirsangiz, albatta ushbu chuqur ta'lim tizimini tanlashingiz kerak.

Xulosa

Ko'rinib turibdiki, chuqur o'rganishning paydo bo'lishi mashinalarni o'rganish va sun'iy intellektdan amaliy foydalanish holatlarini keltirib chiqardi. Mashinalarga eng samarali tarzda yordam berish uchun vazifalarni sodda tarzda taqsimlash chuqur o'rganish orqali amalga oshirildi.

Yuqorida keltirilgan ro'yxatdagi qaysi chuqur o'rganish tizimi sizning biznesingiz talablariga eng mos keladimi? Bunga javob bir qator omillarga bog'liq, ammo agar siz endigina boshlamoqchi bo'lsangiz, TensorFlow yoki Chainer kabi Python-ga asoslangan chuqur bilim bazasi idealdir.

Agar siz ko'proq narsani qidirmoqchi bo'lsangiz, bu holda - biznes ehtiyojlaringiz uchun eng yaxshi chuqur bilimlarni tanlashdan oldin tezlikni, resurslarga bo'lgan ehtiyojni va ishlatilgan ma'lumotni muvofiqligi har doim hisobga olinishi kerak.

Maruti Techlabs-da biz mijozlarimizning talablari uchun TensorFlow va Keras-dan keng foydalanamiz - ulardan biri avtoulovlar bozorida rasmlarni qayta ishlash. Rasmlar tanib olinadi, aniqlanadi va farqlanadi, shuningdek rasmdagi ob'ektlarni tushunadi. Algoritm asosan mashinalar bilan bog'liq bo'lmagan rasmlarni baholash va belgilash uchun ishlab chiqilgan va shu bilan tasvirga tegishli ma'lumotlarning sifati va aniqligini saqlashga e'tibor berilgan.

Sizda bor! Ma'lumotlar ilmi ixlosmandlari uchun eng yaxshi 8 ta chuqur o'rganish ramkalari. Umid qilamizki, sizga ushbu xabar yoqdi va yangi va foydali narsalarni bilib oldingiz. Agar shunday bo'lsa, bir oz qarsak chalishingiz mumkin.