Ang isang framework para sa malalim na pag-aaral ay binubuo ng isang kumbinasyon ng mga interface, library, at mga tool upang tukuyin at sanayin ang mga modelo ng Machine Learning nang mabilis at tumpak.
Dahil ang malalim na pag-aaral ay gumagamit ng malaking halaga ng hindi nakabalangkas, hindi textuwal na data, kailangan mo ng isang balangkas na kumokontrol sa pakikipag-ugnayan sa pagitan ng "mga layer" at ginagawang mabilis ang pagbuo ng modelo sa pamamagitan ng pag-aaral mula sa input data at paggawa ng mga autonomous na desisyon.
Kung interesado kang matuto tungkol sa malalim na pag-aaral sa 2021, isaalang-alang ang paggamit ng isa sa mga framework na nakasaad sa ibaba. Tandaan na pumili ng isa na tutulong sa iyo na makamit ang iyong mga layunin at pananaw.
1. TensorFlow
Kapag pinag-uusapan ang malalim na pag-aaral, TensorFlow madalas ang unang balangkas na binanggit. Napakasikat, ang framework na ito ay hindi lamang ginagamit ng Google – ang kumpanyang responsable para sa paglikha nito – kundi pati na rin ng iba pang mga kumpanya tulad ng Dropbox, eBay, Airbnb, Nvidia, at marami pang iba.
Maaaring gamitin ang TensorFlow upang bumuo ng mataas at mababang antas ng mga API, na nagbibigay-daan sa iyong magpatakbo ng mga application sa halos anumang uri ng device. Bagama't Python ang pangunahing wika nito, maa-access at makokontrol ang interface ng Tensoflow gamit ang iba pang mga programming language gaya ng C++, Java, Julia, at JavaScript.
Bilang open-source, pinapayagan ka ng TensorFlow na gumawa ng ilang pagsasama sa iba pang mga API at makakuha ng mabilis na suporta at mga update mula sa komunidad. Ang pag-asa nito sa "static na mga graph" para sa pag-compute ay nagbibigay-daan sa iyo na gumawa ng agarang mga kalkulasyon o mag-save ng mga operasyon para sa pag-access sa ibang oras. Ang mga kadahilanang ito, na idinagdag sa posibilidad na maaari mong "mapanood" ang pagbuo ng iyong neural network sa pamamagitan ng TensorBoard, gawin ang TensorFlow na pinakasikat na framework para sa malalim na pag-aaral.
Pangunahing tampok
- Open-source
- flexibility
- Mabilis na pag-debug
2. PyTorch
Ang PyTorch ay isang framework na binuo ng Facebook upang suportahan ang pagpapatakbo ng mga serbisyo nito. Mula nang maging open-source, ang framework na ito ay ginamit ng mga kumpanya maliban sa Facebook, gaya ng Salesforce at Udacity.
Ang framework na ito ay nagpapatakbo ng mga dynamic na na-update na graph, na nagbibigay-daan sa iyong gumawa ng mga pagbabago sa arkitektura ng iyong dataset habang pinoproseso mo ito. Sa PyTorch, mas simple ang pagbuo at pagsasanay ng neural network, kahit na walang karanasan sa malalim na pag-aaral.
Ang pagiging open-source at batay sa Python, maaari kang gumawa ng simple at mabilis na pagsasama sa PyTorch. Isa rin itong simpleng framework para matutunan, gamitin, at i-debug. Kung mayroon kang mga katanungan, maaari kang umasa sa mahusay na suporta at mga update mula sa parehong mga komunidad - komunidad ng Python at komunidad ng PyTorch.
Pangunahing tampok
- Madaling matutunan
- Sinusuportahan ang GPU at CPU
- Rich set ng mga API para i-extend ang mga library
3. Apache MX Net
Dahil sa mataas na scalability, mataas na performance, mabilis na pag-troubleshoot, at advanced na suporta sa GPU, ginawa ng Apache ang framework na ito para magamit sa malalaking pang-industriyang proyekto.
Kasama sa MXNet ang interface ng Gluon na nagpapahintulot sa mga developer ng lahat ng antas ng kasanayan na magsimula sa malalim na pag-aaral sa cloud, sa mga edge na device, at sa mga mobile app. Sa ilang linya lamang ng Gluon code, maaari kang bumuo ng linear regression, convolutional network at paulit-ulit na LSTM para sa pagtuklas ng bagay, speech recognition, rekomendasyon, at personalization.
Maaaring gamitin ang MXNet sa iba't ibang device at sinusuportahan ng ilan programming languages gaya ng Java, R, JavaScript, Scala at Go. Bagama't mababa ang bilang ng mga user at miyembro sa komunidad nito, ang MXNet ay may mahusay na pagkakasulat na dokumentasyon at malaking potensyal para sa paglago, lalo na ngayong pinili ng Amazon ang framework na ito bilang pangunahing tool para sa Machine Learning sa AWS.
Pangunahing tampok
- 8 pagkakaugnay ng wika
- Naipamahagi na Pagsasanay, na sumusuporta sa mga multi-CPU at multi-GPU system
- Hybrid na front-end, na nagbibigay-daan upang lumipat sa pagitan ng imperative at symbolic mode
4. Microsoft Cognitive Toolkit
Kung nag-iisip kang bumuo ng mga application o serbisyo na tumatakbo sa Azure (Microsoft cloud services), ang Microsoft Cognitive Toolkit ang balangkas na pipiliin para sa iyong malalim na mga proyekto sa pag-aaral. Ito ay open-source, at sinusuportahan ng mga programming language gaya ng Python, C++, C#, Java, bukod sa iba pa. Ang balangkas na ito ay idinisenyo upang "mag-isip tulad ng utak ng tao", upang maproseso nito ang malalaking halaga ng hindi nakaayos na data, habang nag-aalok ng mabilis na pagsasanay at isang madaling gamitin na arkitektura.
Sa pamamagitan ng pagpili sa framework na ito – ang parehong nasa likod ng Skype, Xbox, at Cortana – makakakuha ka ng magandang performance mula sa iyong mga application, scalability at simpleng pagsasama sa Azure. Gayunpaman, kung ihahambing sa TensorFlow o PyTorch, ang bilang ng mga miyembro sa komunidad at suporta nito ay nababawasan.
Ang sumusunod na video ay nag-aalok ng kumpletong panimula at mga halimbawa ng aplikasyon:
Pangunahing tampok
- I-clear ang dokumentasyon
- Suporta mula sa Microsoft team
- Direktang graph visualization
5. Keras
Tulad ng PyTorch, ang Keras ay isang Python-based na library para sa data-intensive na mga proyekto. Gumagana ang keras API sa isang mataas na antas at nagbibigay-daan sa mga pagsasama sa mababang antas ng mga API gaya ng TensorFlow, Theano, at Microsoft Cognitive Toolkit.
Ang ilang bentahe ng paggamit ng keras ay ang pagiging simple nito sa pag-aaral – ang pagiging inirerekomendang balangkas para sa mga nagsisimula sa malalim na pag-aaral; bilis ng pag-deploy nito; pagkakaroon ng mahusay na suporta mula sa komunidad ng python at mula sa mga komunidad ng iba pang mga balangkas kung saan ito ay isinama.
Ang Keras ay naglalaman ng iba't ibang pagpapatupad ng mga bloke ng pagbuo ng mga neural network gaya ng mga layer, layunin na function, activation function, at mathematical optimizer. Ang code nito ay naka-host sa GitHub at mayroong mga forum at isang channel ng suporta ng Slack. Bilang karagdagan sa suporta para sa pamantayan neural network, nag-aalok ang Keras ng suporta para sa Convolutional Neural Networks at Recurrent Neural Networks.
Pinapayagan ni Keras malalim na mga modelo ng pag-aaral na mabuo sa mga smartphone sa parehong iOS at Android, sa isang Java Virtual Machine, o sa web. Pinapayagan din nito ang paggamit ng distributed na pagsasanay ng mga deep learning model sa mga cluster ng Graphics Processing Units (GPU) at Tensor Processing Units (TPU).
Pangunahing tampok
- Mga pre-trained na modelo
- Maramihang suporta sa backend
- User-friendly at malaking suporta sa komunidad
6. Apple Core ML
Ang Core ML ay binuo ng Apple upang suportahan ang ecosystem nito - IOS, Mac OS, at iPad OS. Gumagana ang API nito sa mababang antas, na ginagamit nang husto ang mga mapagkukunan ng CPU at GPU, na nagbibigay-daan sa mga modelo at application na nilikha na patuloy na gumana kahit walang koneksyon sa internet, na nagpapababa sa "memory footprint" at paggamit ng kuryente ng device.
Ang paraan kung paano ito nagagawa ng Core ML ay hindi eksakto sa paggawa ng isa pang library ng machine learning na na-optimize para sa pagtakbo sa mga iphone/ipad. Sa halip, ang Core ML ay mas katulad ng isang compiler na kumukuha ng mga detalye ng modelo at sinanay na mga parameter na ipinahayag kasama ng iba pang software sa pag-aaral ng machine at kino-convert ito sa isang file na nagiging mapagkukunan para sa isang iOS app. Ang conversion na ito sa isang Core ML na modelo ay nangyayari sa panahon ng pag-develop ng app, hindi sa real-time habang ginagamit ang app, at pinapadali ng coremltools python library.
Ang Core ML ay naghahatid ng mabilis na pagganap na may madaling pagsasama ng machine learning mga modelo sa mga aplikasyon. Sinusuportahan nito ang malalim na pag-aaral na may higit sa 30 uri ng mga layer pati na rin ang mga puno ng desisyon, mga vector machine ng suporta, at mga pamamaraan ng linear regression, lahat ay binuo sa ibabaw ng mga teknolohiyang mababa ang antas tulad ng Metal at Accelerate.
Pangunahing tampok
- Madaling isama sa mga app
- Pinakamainam na paggamit ng mga lokal na mapagkukunan, hindi nangangailangan ng internet access
- Privacy: ang data ay hindi kailangang umalis sa device
7. ONNX
Ang huling framework sa aming listahan ay ONNX. Ang balangkas na ito ay lumitaw mula sa isang pakikipagtulungan sa pagitan ng Microsoft at Facebook, na may layuning pasimplehin ang proseso ng paglilipat at pagbuo ng mga modelo sa pagitan ng iba't ibang mga framework, tool, runtime at compiler.
Tinutukoy ng ONNX ang isang karaniwang uri ng file na maaaring tumakbo sa maraming platform, habang ginagamit ang mga benepisyo ng mga mababang antas na API gaya ng mula sa Microsoft Cognitive Toolkit, MXNet, Caffe at (gumagamit ng mga converter) Tensorflow at Core ML. Ang prinsipyo sa likod ng ONNX ay upang sanayin ang isang modelo sa isang stack at ipatupad ito gamit ang iba pang mga hinuha at hula.
Ang LF AI Foundation, isang sub-organization ng Linux Foundation, ay isang organisasyong nakatuon sa pagbuo ng isang ecosystem upang suportahan open-source pagbabago sa artificial intelligence (AI), machine learning (ML), at deep learning (DL). Idinagdag nito ang ONNX bilang graduate-level na proyekto noong 14 Nobyembre 2019. Ang paglipat na ito ng ONNX sa ilalim ng payong ng LF AI Foundation ay nakita bilang isang mahalagang milestone sa pagtatatag ng ONNX bilang isang vendor-neutral na open-format na standard.
Ang ONNX Model Zoo ay isang koleksyon ng mga pre-trained na modelo sa Deep Learning na available sa ONNX na format. Para sa bawat modelo mayroong Mga notebook ng jupyter para sa pagsasanay ng modelo at paggawa ng hinuha sa sinanay na modelo. Ang mga notebook ay nakasulat sa Python at naglalaman ng mga link sa dataset ng pagsasanay at mga sanggunian sa orihinal na dokumentong siyentipiko na naglalarawan sa arkitektura ng modelo.
Pangunahing tampok
- Interoperability ng balangkas
- Pag-optimize ng Hardware
Konklusyon
Ito ay isang buod ng pinakamahusay na mga framework para sa malalim na pag-aaral. Mayroong ilang mga balangkas para sa layuning ito, libre o bayad. Upang piliin ang pinakamahusay para sa iyong proyekto, alamin muna kung aling platform ang bubuo ng iyong aplikasyon.
Ang mga pangkalahatang balangkas tulad ng TensorFlow at Keras ay ang pinakamahusay na mga pagpipilian upang magsimula. Ngunit kung kailangan mong gumamit ng OS o mga pakinabang na partikular sa device, maaaring ang Core ML at Microsoft Cognitive Toolkit ang pinakamahuhusay na opsyon.
Mayroong iba pang mga framework na naglalayong sa mga Android device, iba pang machine, at partikular na layunin na hindi pa nabanggit sa listahang ito. Kung interesado ka sa huling grupo, iminumungkahi namin ang paghahanap para sa kanilang impormasyon sa Google o iba pang mga site ng machine learning.
Mag-iwan ng Sagot