Ang Malalim na Pagkatuto Lamang Neural Networks sa Steroids?

May -Akda: Laura McKinney
Petsa Ng Paglikha: 4 Abril 2021
I -Update Ang Petsa: 24 Hunyo 2024
Anonim
What’s Actually Happening During a Seizure
Video.: What’s Actually Happening During a Seizure

Nilalaman


Pinagmulan: Vs1489 / Dreamstime.com

Takeaway:

Ang "malalim na pag-aaral" lamang ng isa pang pangalan para sa mga advanced na neural network, o may higit pa rito? Tumitingin kami sa mga kamakailang pagsulong sa malalim na pag-aaral pati na rin ang mga neural network.

Ang Skeptics Club

Kung ikaw, tulad ko, ay kabilang sa skeptics club, maaari mo ring naisip kung ano ang lahat ng pag-aalala tungkol sa malalim na pag-aaral. Ang mga Neural network (NN) ay hindi isang bagong konsepto. Ang multilayer perceptron ay ipinakilala noong 1961, na hindi eksakto kahapon lamang.

Ngunit ang mga kasalukuyang neural network ay mas kumplikado kaysa sa isang multilayer perceptron lamang; maaari silang magkaroon ng maraming mas nakatagong mga layer at kahit na paulit-ulit na mga koneksyon. Ngunit hawakan, hindi pa ba nila ginagamit ang backpropagation algorithm para sa pagsasanay?

Oo! Ngayon, ang kapangyarihan ng computational machine ay hindi maihahambing sa kung ano ang magagamit noong '60s o kahit sa' 80s. Nangangahulugan ito ng mas kumplikadong mga arkitektura ng neural na maaaring sanayin sa isang makatuwirang oras.


Kaya, kung ang konsepto ay hindi bago, maaari bang sabihin nito na ang malalim na pag-aaral ay isang bungkos lamang ng mga neural network sa mga steroid? Ang lahat ba ng kaguluhan ay dahil lamang sa kahanay na pagkalkula at mas malakas na makina? Kadalasan, kapag sinusuri ko ang tinatawag na malalim na mga solusyon sa pag-aaral, ganito ang hitsura nito. (Ano ang ilang praktikal, totoong gamit sa mundo para sa mga neural network? Alamin sa 5 Mga Neural Network Gumamit ng Mga Kaso na Makatutulong sa Iyong Makauunawa sa Teknolohiya.

Gayunman, tulad ng sinabi ko, kabilang ako sa club ng mga nag-aalangan, at kadalasang nag-iingat ako sa hindi pa sinusuportahan na katibayan. Para sa isang beses, iwaksi ang pagkiling, at subukang subukan ang isang masusing pagsisiyasat ng mga bagong umuusbong na pamamaraan sa malalim na pag-aaral na may paggalang sa mga neural network, kung mayroon man.

Kapag naghuhukay nang medyo mas malalim, nakakahanap kami ng ilang mga bagong yunit, arkitektura at pamamaraan sa larangan ng malalim na pag-aaral. Ang ilan sa mga makabagong ito ay nagdadala ng isang mas maliit na timbang, tulad ng randomization na ipinakilala ng isang dropout layer. Ang iba pa, gayunpaman, ay may pananagutan para sa mas mahahalagang pagbabago. At, tiyak, ang karamihan sa kanila ay umaasa sa mas malaking pagkakaroon ng mga mapagkukunan ng computational dahil medyo mahal ang pagkalkula.


Sa palagay ko, mayroong tatlong pangunahing mga pagbabago sa larangan ng mga neural network na malakas na nag-ambag sa malalim na pag-aaral na nakakuha ng kasalukuyang katanyagan nito: convolutional neural network (CNNs), pangmatagalang mga yunit ng memorya (LSTM) na pangmatagalang at mga pagbuo ng mga network ng kaaway (GANs ).

Convolutional Neural Networks (CNNs)

Ang malaking bang ng malalim na pag-aaral - o hindi bababa sa narinig ko ang boom sa unang pagkakataon - nangyari sa isang proyekto ng pagkilala sa imahe, ang ImageNet Malaki na Scale Visual Recognition Hamon, noong 2012. Upang makilala ang awtomatikong mga imahe, isang koneksyon na neural network na may walong layer - AlexNet - ginamit. Ang unang limang layer ay convolutional layer, ang ilan sa mga ito na sinusundan ng mga patong na pool-maxing, at ang huling tatlong mga layer ay ganap na nakakonekta na mga layer, lahat na may isang hindi saturating function na pag-activate ng ReLU. Nakamit ng network ng AlexNet ang isang nangungunang limang error na 15.3%, higit sa 10.8 porsyento na puntos na mas mababa kaysa sa runner up. Ito ay isang mahusay na tagumpay!

Walang Mga bug, Walang Stress - Ang Iyong Hakbang sa Hakbang Patnubay sa Paglikha ng Software na Pagbabago ng Buhay nang Walang Pagsira sa Iyong Buhay

Hindi mo maaaring mapabuti ang iyong mga kasanayan sa pag-programming kapag walang nagmamalasakit sa kalidad ng software.

Bukod sa arkitektura ng multilayer, ang pinakamalaking pagbabago ng AlexNet ay ang convolutional layer.

Ang unang layer sa isang convolutional network ay palaging isang convolutional layer. Ang bawat neuron sa isang convolutional layer ay nakatuon sa isang tiyak na lugar (natanggap na larangan) ng imahe ng pag-input at sa pamamagitan ng mga bigat na koneksyon na kumikilos bilang isang filter para sa natanggap na larangan. Matapos ang pag-slide ng filter, ang neuron pagkatapos ng neuron, sa lahat ng mga patlang ng receptive ng imahe, ang output ng convolutional layer ay gumagawa ng isang mapa ng activation o tampok na mapa, na maaaring magamit bilang isang tampok na identifier.

Larawan 1. Neuron sa isang convolutional layer na kumikilos bilang isang filter sa isang 5x5 na umaakit na patlang ng imahe ng pag-input (kinopya mula sa "Gabay sa Isang Sinimulan Ng Pag-unawa sa Convolutional Neural Networks").

Sa pamamagitan ng pagdaragdag ng higit pang mga convolutional layer sa tuktok ng bawat isa, ang mapa ng pag-activate ay maaaring kumatawan sa higit pa at mas kumplikadong mga tampok mula sa imahe ng pag-input. Bilang karagdagan, madalas sa isang koneksyon na neural na arkitektura ng network, ang ilang higit pang mga layer ay interspersed sa pagitan ng lahat ng mga convolutional layer na ito upang madagdagan ang hindi pagkakapareho ng pag-andar ng pagmamapa, pagbutihin ang katatagan ng network at kontrol sa sobrang pag-aayos.

Ngayon na maaari naming tuklasin ang mga tampok na may mataas na antas mula sa imahe ng pag-input, maaari kaming magdagdag ng isa o higit pang ganap na konektado na mga layer sa dulo ng network para sa tradisyonal na pag-uuri. Ang huling bahagi ng network ay tumatagal ng output ng mga convolutional layer bilang input at output ng isang N-dimensional vector, kung saan ang N ay ang bilang ng mga klase. Ang bawat bilang sa vektor na N-dimensional na ito ay kumakatawan sa posibilidad ng isang klase.

Bumalik sa araw, madalas kong narinig ang pagtutol sa mga neural network tungkol sa kakulangan ng transparency ng kanilang arkitektura at ang imposibilidad na bigyang-kahulugan at ipaliwanag ang mga resulta. Ang pagtutol na ito ay lumalabas nang mas kaunti at mas madalas sa ngayon sa koneksyon sa mga malalim na network ng pag-aaral. Tila kung ngayon ay katanggap-tanggap na ikalakal ang epekto ng itim na kahon para sa mas mataas na kawastuhan sa pag-uuri.

Long Short-Term Memory (LSTM) Mga Yunit

Ang isa pang malaking pagpapabuti na ginawa ng malalim na pag-aaral ng mga neural network ay nakita sa pagsusuri ng serye ng oras sa pamamagitan ng paulit-ulit na mga network ng neural (RNNs).

Ang paulit-ulit na mga network ng neural ay hindi isang bagong konsepto. Ginamit na sila noong '90s at sinanay gamit ang backpropagation sa pamamagitan ng oras (BPTT) algorithm. Sa mga '90s bagaman, madalas imposible na sanayin sila na binigyan ng halaga ng mga mapagkukunang computational. Gayunpaman, sa ngayon, dahil sa pagtaas ng magagamit na kapangyarihan ng computational, naging posible hindi lamang upang sanayin ang mga RNNs ngunit din upang madagdagan ang pagiging kumplikado ng kanilang arkitektura. Iyan lang ba? Well, syempre hindi.

Noong 1997, ipinakilala ang isang espesyal na yunit ng neural upang mas mahusay na makitungo sa pagsasaulo ng nauugnay na nakaraan sa isang serye ng oras: ang yunit ng LSTM. Sa pamamagitan ng isang kumbinasyon ng mga panloob na pintuan, ang isang yunit ng LSTM ay may kakayahang alalahanin ang may-katuturang impormasyon o nakalimutan ang hindi nauugnay na nakaraang nilalaman sa isang serye ng oras. Ang isang network ng LSTM ay isang espesyal na uri ng paulit-ulit na neural network, kabilang ang mga yunit ng LSTM. Ang hindi nabuksan na bersyon ng isang RNN na nakabase sa LSTM ay ipinapakita sa Figure 2.

Upang malampasan ang problema ng limitadong mahabang kakayahan sa memorya, ang mga yunit ng LSTM ay gumagamit ng isang karagdagang nakatagong estado - ang estado ng cell C (t) - nagmula sa orihinal na nakatagong estado h (t). C (t) ay kumakatawan sa memorya ng network. Ang isang partikular na istraktura, na tinatawag na mga gate, ay nagbibigay-daan sa iyo upang alisin (kalimutan) o magdagdag (tandaan) ng impormasyon sa estado ng cell C (t) sa bawat hakbang na hakbang batay sa mga halaga ng input x (t) at ang dating nakatagong estado h (t − 1). Ang bawat gate ay nagpapasya kung aling impormasyon na idaragdag o matanggal sa pamamagitan ng mga halaga ng pag-output sa pagitan ng 0 at 1. Sa pamamagitan ng pagpaparami ng output ng gate na itinuro ng estado ng cell C (t − 1), tinanggal ang impormasyon (output ng gate = 0) o napanatili (output ng gate = 1).

Sa Figure 2, nakikita namin ang istraktura ng network ng isang yunit ng LSTM. Ang bawat yunit ng LSTM ay may tatlong gate. Ang "kalimutan ang layer ng gate" sa simula ay nag-filter ng impormasyon mula sa nakaraang estado ng cell C (t − 1) batay sa kasalukuyang input x (t) at ang nakatagong estado ng nakaraang cell h (t − 1). Susunod, ang kumbinasyon ng isang "input ng gate layer" at ng isang "tanh layer" ay nagpapasya kung aling impormasyon ang idadagdag sa nakaraan, na-filter na, estado ng cell C (t − 1). Sa wakas, ang huling gate, ang "output gate," ay nagpapasya kung alin sa impormasyon mula sa na-update na estado ng cell C (t) nagtatapos sa susunod na nakatagong estado h (t).

Para sa karagdagang mga detalye tungkol sa mga yunit ng LSTM, suriin ang post na blog ng GitHub "Pag-unawa sa LSTM Networks" ni Christopher Olah.

Larawan 2. Istraktura ng isang cell LSTM (muling ginawa mula sa "Malalim na Pag-aaral" nina Ian Goodfellow, Yoshua Bengio at Aaron Courville). Pansinin ang tatlong mga pintuan sa loob ng mga yunit ng LSTM. Mula sa kaliwa hanggang kanan: ang nakalimutan na gate, ang input gate, at ang output gate.

Ang mga yunit ng LSTM ay matagumpay na ginamit sa maraming mga problema sa paghula ng serye ng oras, ngunit lalo na sa pagkilala sa pagsasalita, pagproseso ng natural na wika (NLP), at libreng henerasyon.

Mga Generative Adversarial Networks (GAN)

Ang isang nakabuo na network ng adversarial (GAN) ay binubuo ng dalawang malalim na network ng pag-aaral, ang generator at ang discriminator.

Isang generator G ay isang pagbabago na nagbabago sa ingay ng pag-input z sa isang tensyon - karaniwang isang imahe - x (x= G (z)). Ang DCGAN ay isa sa mga pinakatanyag na disenyo para sa generator network. Sa mga network ng CycleGAN, ang generator ay nagsasagawa ng maraming mga transposed na convolutions upang mag-upup z upang kalaunan makabuo ng imahe x (Larawan 3).

Ang nabuong imahe x pagkatapos ay pinakain sa network ng diskriminator. Sinusuri ng network ng discriminator ang totoong mga imahe sa set ng pagsasanay at ang imahe na nabuo ng generator network at gumagawa ng isang output D (x), na kung saan ay ang posibilidad na imahe x ay totoo.

Ang parehong generator at discriminator ay sinanay gamit ang backpropagation algorithm upang makagawa D (x)=1 para sa mga nabuong imahe. Ang parehong mga network ay sinanay sa mga alternatibong hakbang na nakikipagkumpitensya upang mapabuti ang kanilang sarili. Ang modelo ng GAN sa huli ay nagko-convert at gumagawa ng mga imahe na mukhang tunay.

Larawan 3. Isang generator ng DCGAN (ginawa mula sa "GAN - Ano ang Generative Adversary Networks GAN?")

Ang mga GAN ay matagumpay na naipatupad sa mga tensors ng imahe upang lumikha ng mga anime, mga figure ng tao, at maging ang mga obra maestra na tulad ni van Gogh. (Para sa iba pang mga modernong paggamit ng mga neural network, tingnan ang 6 Malaking Paunlad na Maari kang Makakilala sa Mga Artipong Neural Networks.)

Konklusyon

Kaya, ang malalim na pag-aaral lamang ng isang grupo ng mga neural network sa mga steroid? Bahagyang.

Bagaman hindi maikakaila na ang mas mabilis na mga pagtatanghal ng hardware ay higit na nag-ambag sa matagumpay na pagsasanay ng mas kumplikado, multi-layer at kahit na paulit-ulit na neural na arkitektura, totoo rin na ang maraming mga bagong makabagong yunit at arkitektura ay iminungkahi sa larangan ng kung ano tinatawag na ngayong malalim na pag-aaral.

Sa partikular, nakilala namin ang mga convolutional layer sa CNNs, mga LSTM unit at GAN bilang ilan sa mga pinaka makabuluhang mga pagbabago sa larangan ng pagproseso ng imahe, pagsusuri sa serye ng oras at libreng henerasyon.

Ang tanging bagay na naiwan upang gawin sa puntong ito ay upang sumisid ng mas malalim at matuto nang higit pa tungkol sa kung paano makakatulong sa amin ang malalim na mga network ng pagkatuto para sa aming mga bagong matatag na solusyon para sa aming sariling mga problema sa data.