Ang Deep Neural Network (DNN) ay isang machine learning technique na nagbibigay-daan sa isang computer, sa pamamagitan ng pagsasanay dito, na gumawa ng mga gawain na magiging napakahirap gawin gamit ang mga conventional programming techniques. Ang mga neural network algorithm ay binigyang inspirasyon ng utak ng tao at ang mga pag-andar nito: tulad ng ating isip ng tao, ito ay idinisenyo upang gumana hindi lamang sa pamamagitan ng pagsunod sa isang preset na listahan ng mga panuntunan, ngunit sa pamamagitan ng paghula ng mga solusyon at pagguhit ng mga konklusyon batay sa mga nakaraang pag-ulit at karanasan.
Ano ang arkitektura ng neural network?
Ang isang neural network ay binubuo ng maraming mga layer ng mga node na tumatanggap ng input mula sa iba pang mga layer at gumagawa ng isang output hanggang sa maabot ang isang huling resulta. Ang mga neural network ay maaaring magkaroon ng anumang bilang ng mga nakatagong layer: kung mas maraming mga layer ng mga node ang nasa network, mas mataas ang pagiging kumplikado. Narito ang iba't ibang mga arkitektura ng neural network:
- Mga tradisyunal na neural network , kadalasang binubuo ng 2 o 3 nakatagong layer;
- Deep learning network , na maaaring magkaroon ng hanggang 150 hidden layers;
Ano ang pagkakaiba sa pagitan ng mga neural network at malalim na neural network?
Ang isang malalim na neural network ay isang mas kumplikadong sistema kaysa sa isang "simpleng" neural system. Ang isang neural network ay maihahambing sa isang laro ng chess, at kumikilos ayon sa mga algorithm: iba't ibang mga taktika ang imumungkahi ayon sa mga galaw at aksyon ng kalaban. Ang neural network na ito ay magiging limitado sa kung ano ang input ng programmer:
- Paano gumagalaw ang mga piraso ng chess;
- Ang laki ng chessboard;
- Iba't ibang mga diskarte para sa iba't ibang mga sitwasyon;
Ang isang neural network na lampas sa input data at maaaring matuto mula sa mga nakaraang karanasan ay nagiging isang malalim na neural network
Sa parehong computer, maaari mong, halimbawa, sanayin ang isang neural network, pagkatapos ay laruin ito laban sa ibang tao at hayaan itong matuto habang naglalaro ito. Mula doon, kung ang isang neural network ay maaaring matuto mula sa iba't ibang mga manlalaro, maaari itong maging mahirap, o literal na imposible, upang talunin ang isang malalim na neural network, kahit na para sa mga masters ng chess.
Ang mga malalim na neural network ay maaaring makilala ang mga voice command, kilalanin ang mga boses, kilalanin ang mga tunog at graphics at higit pa sa isang neural network. Ang mga deep learning network ay gumagamit ng "Big Data'' kasama ng mga algorithm upang malutas ang isang problema, at ang malalalim na neural network na ito ay maaaring malutas ang mga problema na may limitado o walang input ng tao.
Paano mailarawan ang gawain ng isang malalim na neural network?
Ang proseso ng malalim na neural network ay pinakamahusay na nauunawaan sa pamamagitan ng pagtingin sa isang halimbawa. Isipin na mayroon kang daan-daang libong mga larawan, ang ilan ay may mga aso sa mga ito, at nagpasya kang gusto mong magsulat ng isang computer program upang makilala ang mga aso sa mga larawan.
Mayroon kang dalawang pagpipilian. Maaari kang magsulat ng isang programa upang tahasang makilala ang mga aso, o maaari kang magsulat ng isang programa na "natututo" kung paano makilala ang mga aso.
Hindi ka marunong magpasya na subukang gawin ang una.
Ang paggamit ng mga nakasanayang pamamaraan ng programming ay mahaba at mahirap, at ang mga resulta ay hindi palaging tumpak
Upang matukoy ang mga larawan ng aso, lumikha ka ng isang software program gamit ang "kung" at "pagkatapos" na mga pahayag kung saan ang posibilidad na tumitingin ka sa isang aso ay naka-program na tumaas sa tuwing matutukoy mo ang isang katangiang tulad ng aso tulad ng balahibo, floppy ears at isang buntot. Gayunpaman, ang ganitong uri ng neural system ay mahirap sa maraming antas:
Halimbawa, kung ang isang kumpol ng mga pixel ay kahawig ng isang buntot, tumataas ang posibilidad na tumitingin ka sa isang aso. Kailangang tukuyin ng iyong malalim na neural network ang mga pangkat ng mga pixel na tumutugma sa mga katangiang parang aso. Kahit na nagawa mong gawin iyon, may mga isyu para sa iyong algorithm:
- Maraming mga larawang bagay ang nagbabahagi ng ilan sa mga katangiang tulad ng aso, lalo na ang mga larawan ng mga katulad na hayop. Kakailanganin mong magdagdag ng mga panuntunan;
- Minsan ang mga katangian ay naroroon ngunit nakakubli. Hindi kukunin ng iyong mga algorithm ang mga ito;
- Minsan ang mga katangian ay mahalaga lamang kapag ang iba pang mga katangian ay naroroon. Higit pang mga panuntunan sa pagpapasya ang kakailanganin;
Nabigo ang iyong pag-uuri. Napagtanto mo na hindi mo maaaring manu-manong matukoy ang kumpletong hanay ng mga katangian at lalo na ang pagbuo ng lahat ng mga panuntunang kailangan upang harapin ang lahat ng mga espesyal na kaso na ito.
Marunong kang sumuko at magpasya na subukan ang huling paraan. Upang gumamit ng isang neural network o, mas mabuti pa, isang malalim na neural network.
Ang isang malalim na modelo ng pag-aaral ay maaaring makatipid sa iyo ng oras sa pag-coding at mag-alok ng mas mahusay na mga resulta
Ang neural network ay pinangalanan dahil may pagkakatulad ang programming approach na ito at ang paraan ng paggana ng utak.
Tulad ng utak, ang neural net algorithm ay gumagamit ng isang network ng mga neuron o node. At tulad ng utak, ang mga neuron na ito ay mga discrete function (o maliit na makina kung gusto mo) na kumukuha ng mga input at bumubuo ng mga output. Ang mga node na ito ay nakaayos sa mga layer kung saan ang mga output ng mga neuron sa isang layer ay nagiging mga input sa mga neuron sa susunod na layer hanggang sa ang mga neuron sa panlabas na layer ng network ay bumuo ng huling resulta.
Samakatuwid, mayroong mga layer ng mga neuron kung saan ang bawat indibidwal na neuron ay tumatanggap ng napakalimitadong mga input at bumubuo ng napakalimitadong mga output tulad ng sa utak. Ang unang layer (o input layer) ng mga neuron ay kumukuha ng mga input at ang huling layer ng mga neuron (o output layer) sa network ay naglalabas ng resulta.
Tumpak ba na tawaging "neural network" ang ganitong uri ng algorithm?
Ang utak ng tao ay mas kumplikado at makapangyarihan kaysa sa isang neural network siyempre. Ang pagpapangalan sa algorithm na "deep neural network" ay isang branding coup ngunit maaari itong lumikha ng hindi makatotohanang mga inaasahan tungkol sa kung ano ang makakamit sa mga diskarteng ito. Iyon ay sinabi na mayroong mga tao na sinusubukang i-engineer muli ang utak, gamit ang isang napaka-komplikadong neural network, sa pag-asa na sa paggawa nito ay magagawa nilang kopyahin ang pangkalahatan, tulad ng tao na katalinuhan sa pagbuo ng bot. Kaya paano nakakatulong sa amin ang neural net at machine learning technique sa aming problema sa pagkilala sa aso?
Well, sa halip na manu-manong tukuyin ang mga katangiang tulad ng aso, ang isang malalim na neural network algorithm ay maaaring matukoy ang mahahalagang katangian at harapin ang lahat ng mga espesyal na kaso nang walang programming.
Paano gumagana ang isang malalim na neural network?
Ginagawa nito ang sumusunod:
Ang bawat neuron sa input layer ay tumatanggap ng kaunting impormasyon mula sa imahe bilang isang input at pagkatapos ay random na tumitimbang (sa pagitan ng zero at isa) kung ang impormasyong iyon ay nagmumungkahi ng isang aso o hindi. Ang mababang timbang (mas mababa sa 0.5) ay nangangahulugang mas malamang na ang impormasyon ay nauugnay sa isang aso at ang mataas na timbang ay nangangahulugan na mas malamang na ang impormasyon ay nauugnay sa isang aso. Ang multilayer na neural network approach na ito ay tinatawag na deep learning. Ang mga neural network at malalim na pag-aaral ay napakalakas na mga diskarte para sa pagkamit ng pag-unawa sa computer.
Ang mga malalim na neural network ay binubuo ng maraming layer ng mga node na kumikilos tulad ng mga neuron sa ating utak
Kaya para magpatuloy sa malalim na mga neural network, ang mga timbang ng mga neuron na ito ay ipapakain bilang mga input sa iba pang mga layer ng mga neuron na random ding nagtatalaga ng mga timbang at ipinapasa ang mga ito bilang mga input sa higit pang mga neuron sa network. Nagpapatuloy ito hanggang ang output layer ng mga neuron ay nagbibigay ng binary na hatol. Kung ang average ng mga timbang na ipinasa sa kanila ay higit sa 0.5, ito ay isang aso kung hindi man ay hindi. Ang mga koneksyon na ito sa pagitan at pag-activate ng mga neuron sa maraming layer ng mga node ang nagbibigay ng kapangyarihan sa mga deep neural network application.
Paano malalaman ng isang malalim na neural network kung ito ay gumagawa ng tamang sagot?
Ang mga nauugnay na tanong sa puntong ito ay: nahulaan ba ng malalim na neural network ang tama o hindi at ano ang mangyayari kung ito ay nahulaan o hindi? At paano malalaman ng isang neural network kung ito ay nahulaan nang tama o hindi?
Ang isang paraan na malalaman nito ay kung gagawin mo ang napaka-oras na gawain sa pag-uuri ng paglalagay ng label sa lahat ng mga litratong "aso" o "hindi aso" depende kung mayroong aso sa larawan o wala. Titingnan lang ng neural net ang label para makita kung tama ang pagkakakilala nito sa aso o hindi.
At siyempre hindi kami interesado kung nakuha ba nito ang tanong na "Aso o hindi" sa iisang larawan ng aso. Interesado kami kung nakuha nito ang tanong nang tama para sa bawat larawan, o hindi bababa sa upang malaman kung ilang porsyento ng oras ito ay tumpak sa pagtatasa kung mayroong aso o wala sa larawan.
Paano ginagamit ng mga malalim na neural network ang pagsasanay upang matuto?
Natututo ang isang neural network mula sa bawat pag-ulit sa pamamagitan ng data upang mapabuti ang katumpakan nito
Para sa isang naibigay na hanay ng mga timbang sa lahat ng mga neuron sa network, ang neural net ay gagawa ng mga hula para sa lahat ng mga larawan at pagkatapos ay tutukuyin kung gaano ito katumpak. Ilang porsyento ng oras na nakakuha ito ng tamang resulta ibig sabihin, ang aso ay nasa larawan noong ito ay nasa larawan, at ilang beses ito nakakuha ng maling resulta, sabihin ang aso ay nasa larawan kapag ito ay hindi o sabihin na ang aso ay wala sa larawan noong ito ay. Ang indikasyon na ito kung gaano katumpak ang AI algorithm ay mahalagang feedback para sa modelo ng neural network.
Kapag nabasa na nito ang lahat ng mga larawan nang isang beses, maaari nitong random (o kung hindi man) ayusin ang ilan sa mga timbang at pagkatapos ay gawin muli ang buong ehersisyo ng paghula kung ano ang nasa larawan. Kung ang resulta mula sa pangalawang pagtakbo ay mas mahusay, ito ay mananatili sa halip na bumalik sa nakaraang hanay ng mga timbang. Kung ang resulta mula sa pangalawang pagtakbo ay mas malala, maaari itong bumalik sa nakaraang hanay ng mga timbang at pagkatapos ay subukan ang iba't ibang mga pagbabago sa mga timbang na iyon.
Ang prosesong ito ay magpapatuloy sa ganitong paraan hanggang sa maging mahusay ang neural net sa pagtukoy ng mga aso sa mga larawan (sana).
Kapag ang algorithm ay maaaring tumpak na makilala ang mga aso ito ay sinasabing nag-converge. Ito ay matagumpay na "sinanay" upang makilala ang mga aso.
Ano ang iba't ibang uri ng neural network?
Mga convolutional neural network
Ang convolutional neural network (CNN) ay isang uri ng artificial intelligence na idinisenyo upang magproseso, o matuto mula sa, malalaking set ng data. Ang convolutional neural network ay isang bagong likhang termino na partikular na naglalarawan sa ganitong uri ng network, o teknolohiya ng AI sa pangkalahatan.
Ang mga CNN ay makapangyarihang mga tool sa AI sa pagkilala ng imahe na gumagamit ng malalim na pag-aaral upang maisagawa hindi lamang ang mga generative na gawain, kundi pati na rin ang mga mapaglarawang gawain. Kabilang sa mga halimbawa ng mga generative na gawain ang awtomatikong pag-crop, pagsulat ng caption, videography, mimeograph, at mga overlay ng larawan. Ang convolutional neural network ay naglalaman ng tinatawag na convolutional layers. Ang bawat neuron sa mga layer na ito ay nagpoproseso lamang ng impormasyon mula sa isang maliit na bahagi ng isang visual field. Ang mga input ng bawat neuron ay naka-line up sa parang checksum na paraan upang makabuo ng feature map.
Mga artipisyal na neural network
Ang artificial neural network (ANN) ay isang network ng maraming perceptron sa iba't ibang lalim o layer na mauunawaan bilang Logistic Regression. Ang ANN ay madalas na tinatawag na Feed Forward Neural Network dahil ang mga input ay pinoproseso lamang sa pasulong na direksyon: ang isang layer ay tumatanggap ng input at nagpapadala ng isang output sa isang linear na paraan.
Ang mga artipisyal na neural network ay kilala rin bilang universal function approximators. Ang mga purong neural network algorithm tulad ng mga ANN at mapping function na maaaring ipatupad bilang malalim na pag-aaral ay nagbibigay-daan sa mga computer na matuto ng anumang function. Isa sa mga dahilan kung bakit mahalaga ang universal approximation ay ang activation function. Ang mga activation function ay nagpapakilala ng mga nonlinear na katangian sa network habang natututo ng anumang kumplikadong relasyon sa pagitan ng input at output. Nakakatulong ito sa iba't ibang uri ng network na matuto mula sa isa't isa.
Paano nagpapabuti ang isang malalim na neural network sa paglipas ng panahon?
Ang isang paraan upang isipin kung ano ang ginagawa ng algorithm ay isipin ang bawat neuron bilang isang uri ng pagsubok sa katiyakan. Sa halip na i-coding ang lahat ng kung-pagkatapos na mga pahayag upang makilala ang mga aso, ang bawat neuron ay naka-calibrate upang idagdag o alisin mula sa huling paghatol na ang bagay sa larawan ay isang aso. Para bang ang paghatol (tulad ng aso o hindi) ay nahahati sa isang malaking bilang ng mga konektadong paghatol na magkakasamang nag-aambag sa isang panghuling paghatol.
Siyempre ang pangunahing layunin ay upang makamit ang convergence kung posible iyon. Isa ring mahalagang layunin na gawin ito sa isang makatwirang tagal ng panahon, mas mabuti sa maikling panahon.
Ang mga malalim na algorithm sa pag-aaral ay may proseso ng pag-aaral na nagpapahirap sa kanila na maunawaan para sa mga tao
Ang kawili-wili ay ang lohika na nagpapahintulot sa mga neural network na makilala ang mga aso sa larawan ay hindi naiintindihan ng tao. Ang mga modelo ng malalim na pag-aaral ay may nakatagong lohika, mahalagang isang itim na kahon ng mga nakatagong layer ng mga node na lumilikha ng sarili nitong malalim na network. Iyon ay sinabi, mayroong ilang mga pagtatangka upang subukang biswal na kumatawan sa lohika sa likod ng mga neural network para sa mga gawain sa pagkilala ng imahe. Para sa iba pang mga kaso, hindi posible na makita kung ano ang ginagawa ng algorithm sa likod ng mga eksena at ang mga malalim na pamamaraan ng pag-aaral ay nananatiling nakatago.
Ang mga neural network at machine learning ay sikat na ngayon ngunit marami sa mga algorithm na ito ay kilala mga 50 taon na ang nakakaraan.
Bakit lalong nagiging popular ang mga deep neural network sa iba't ibang industriya?
Ang isa sa mga pangunahing dahilan kung bakit ang mga neural net ay mas sikat ngayon kaysa noong una silang naimbento, ay ang kapangyarihan sa pagproseso ay mas mabilis at mas mura kaysa noon. Ang kapangyarihan sa pag-compute ay gumawa ng lahat ng pagkakaiba sa pagkamit ng mabilis na convergence. Ang isa pang dahilan ay ang data ay nasa lahat ng dako ngayon na nagpapataas ng halaga ng mga algorithm na maaaring gumamit ng data tulad ng mga chatbot para sa negosyo
Ang mga advanced na neural network ay nangangailangan ng mataas na kapangyarihan sa pagproseso at maraming data
Ang malalim na pag-aaral ng mga neural network ay mga diskarteng gutom sa data at processor na maaaring makamit ang mga resulta na imposibleng makamit ng mga programmer na gumagamit ng mga diskarte sa programming. Tamang-tama ang mga ito sa ilang partikular na problema kung saan available ang lahat-lahat na data at madaling ikategorya o ranggo ang mga kanais-nais na resulta.
Kung walang daan-daang libo o mas mainam na milyon-milyong mga larawan ng mga aso, imposibleng sanayin ang algorithm. Gumagana lang ang mga diskarteng ito kapag maraming data ang available. Ito ay medyo halata dahil ang lahat ng mga espesyal na kaso ay malamang na hindi kinakatawan sa isang set ng 1000 mga larawan lamang.
Maaaring harapin ang mga neural network sa structured data o unstructured data
Ang isang problema sa halimbawa sa itaas ay ang maraming manu-manong gawaing kasangkot sa pag-label ng lahat ng mga larawan. Mas madali para sa mga algorithm na gumamit ng data na may label sa isang structured na paraan. Ang neural network machine learning na gumagamit ng structured data ay tinatawag na supervised learning.
Dinadala tayo nito sa isang pangunahing tanong: posible bang maiwasan ang lahat ng gawaing pag-tag na iyon? Magiging mabuti iyon dahil hindi mo lamang maiiwasan ang maraming manu-manong trabaho kundi pati na rin ang karamihan sa mga data na makukuha sa internet ay hindi nakaayos ie ay hindi maingat na may label o nakabalangkas.
Maaari bang gumana ang mga neural network sa hindi nakaayos na data?
Ang mga artificial neural network at machine learning na gumagana sa unstructured data ay tinatawag na unsupervised learning. Siyempre, ito ang banal na grail ng machine learning at mas kahalintulad sa kung paano natututo ang mga tao. Gayunpaman, kahit na ang hindi pinangangasiwaang pag-aaral ng mga makina ay nangangailangan ng mas maraming data upang "matuto" kaysa sa ginagawa ng mga tao at ang mga makina ay hindi madaling mag-extrapolate sa mga halimbawa na wala sa kung ano ang kanilang sinanay.
Maraming mga modelo ng malalim na pag-aaral ang sumusubok na kopyahin ang mga proseso ng utak ng tao
Ang ilang mga tao ay naniniwala na ang mga uri ng mga algorithm ay maaaring mabuo, marahil sa pamamagitan ng muling pag-engineering ng utak, hanggang sa punto na ang mga algorithm ay nagsimulang lumapit sa isang antas ng tao na "pag-unawa". Naniniwala sila na posibleng gumamit ng sopistikadong teknolohiya sa pag-scan ng utak upang bigyan tayo ng mga insight sa kung paano aktwal na gumagana ang mga neural network ng utak. Sa pamamagitan ng pagkopya sa mga disenyo at pattern na ito, maaari nating gayahin ang katalinuhan sa antas ng tao.
Bagama't ang mga diskarte ay walang alinlangan na mapanlikha at lubhang kapaki-pakinabang, lalo na kung saan ang isang malaking set ng data ay magagamit, mahirap isipin na ang gayong mga simpleng algorithm ay maaaring maging batayan ng isang lubos na malikhaing tulad-tao na katalinuhan.
Talaan ng mga Nilalaman
Manatiling napapanahon sa pinakabago sa mga ahente ng AI
Ibahagi ito sa: