Perceptroni shumështresor

Një **perceptron shumështresor** (anglisht **Multi Layer Percepton** ose shkurt **MLP** ) është një emër që i referohet një rrjeti nervor artificial parabartës, i përbërë nga neurone plotësisht të lidhur me një funksion aktivizimi jolinear, të organizuar në të paktën tre shtresa dhe i aftë për të dalluar të dhënat që nuk janë të ndashme në mënyrë lineare.

Rrjetet moderne parabartëse stërviten duke përdorur metodën e përhapjes së kthyer  dhe në gjuhën zhargon quhen rrjetet nervore "vanilje".

MLP-të erdhën si rrjedhojë e një përpjekje për të përmirësuar perceptronet me një shtresë, të cilat mund të dallonin vetëm të dhënat e ndashme në mënyrë lineare. Një perceptron përdorte tradicionalisht një funksion hapi Heaviside si funksion të aktivizimit jolinear. Sidoqoftë, algoritmi i përhapjes së kthyer kërkon që MLP-të moderne të përdorin funksione të aktivizimit të vazhdueshëm si sigmoid ose ReLU. 

Perceptronet shumështresorë mbeten një arkitekturë popullore për të mësuarit e thellë,  gjerësisht i zbatueshëm në fusha të ndryshme. 

## Historia 
* Në vitin 1943, Warren McCulloch dhe Walter Pitts propozuan neuronin artificial binar si një model logjik të rrjeteve nervore biologjike. 
* Në vitin 1958, Frank Rosenblatt propozoi modelin e perceptronit me shumë shtresa, i përbërë nga një shtresë hyrëse, një shtresë e fshehur me pesha të rastësishme që nuk mësohen dhe një shtresë dalëse me lidhje të mësuara. 

* Përhapja e kthyer u zhvillua në mënyrë të pavarur disa herë në fillim të viteve 1970. Shembulli më i hershëm i botuar ishte teza master e Seppo Linnainmaa (1970).  Paul Werbos e zhvilloi atë në mënyrë të pavarur në 1971, por pati vështirësi për ta botuar atë deri në vitin 1982. 

* Në vitin 1986, David E. Rumelhart dhe kolegët i sollën popullaritet përhapjes së kthyer. 

* Në vitin 2003, interesi për rrjetet e përhapjes së kthyer u rindez për shkak të sukseseve të të mësuarit të thellë që u aplikua në modelimin e gjuhës nga Yoshua Bengio me bashkëautorë. 

* Në vitin 2021, u dizejnua dhe u quajt MLP-Mixer, një arkitekturë shumë e thjeshtë rrjetesh nervore që kombinonte dy MLP të thella me lidhje me kapërcim dhe normalizime të shtresave; këto modele të krijuara të cilat përmbanin 19 deri në 431 milion parametra u dëshmuan të krahasueshme me arkitektura vision transformers  të madhësisë së ngjashme në ImageNet dhe detyra të ngjashme të klasifikimit të imazheve. 

## Bazat matematikore 
### Funksioni i aktivizimit 
Nëse një perceptron me shumë shtresa ka një funksion aktivizimi linear në të gjithë neuronet, domethënë një funksion linear që lidh hyrjet e peshuara me daljen e secilit neuron, atëherë algjebra lineare tregon se çfarëdo numër shtresash mund të reduktohet në një model hyrës-dalës dyshtresor. Në MLP, disa neurone përdorin një funksion aktivizimi *jolinear* që u zhvillua për të përngjasuar frekuencën e potencialeve të veprimit, ose ndezjes së neuroneve biologjike.

Dy funksionet e aktivizimit historikisht të zakonshëm janë të dy sigmoide dhe përshkruhen nga

: y(v_i) = \tanh(v_i) ~~ \textrm{dhe} ~~ y(v_i) = (1+e^{-v_i})^{-1} .

E para është një tangjente hiperbolike që varion nga -1 në 1, ndërsa tjetra është funksioni logjistik, i cili është i ngjashëm në formë, por varion nga 0 në 1. Këtu y_i është prodhimi nyjes (neuronit) i dhe v_i është shuma e peshuar e lidhjeve hyrëse. Janë propozuar funksione alternative të aktivizimit, duke përfshirë funksionet ndreqës dhe softplus . Funksione të tjerë të posaçëm të aktivizimit mund të përfshijmë funksionet e bazës radiale (të përdorura në rrjetet me bazë radiale, një klasë tjetër e modeleve të rrjeteve nervore të mbikëqyrura).

Në zhvillimet e fundit të mësimit të thelluar, njësia lineare e korrigjuar (ReLU) përdoret më shpesh si një nga mënyrat e mundshme për të kapërcyer problemet numerike që lidhen me sigmoidet.

### Shtresat 
MLP përbëhet nga tre ose më shumë shtresa (një shtresë hyrëse dhe një dalëse me një ose më shumë *shtresa të fshehura*) nyjesh që aktivizohen në mënyrë jolineare. Meqenëse MLP-të janë të lidhura plotësisht, çdo nyje në një shtresë lidhet me një peshë të caktuar w_{ij} për çdo nyje në shtresën vijuese.

### Të mësuarit 
Mësimi ndodh në perceptron duke ndryshuar peshat e lidhjes pasi të përçohet nëpër rrjet çdo pjesë e të dhënave, kjo bazuar në sasinë e gabimit në dalje në krahasim me rezultatin e pritur. Ky është një shembull i të mësuarit të mbikëqyrur dhe kryhet përmes përhapjes së kthyer, një përgjithësim i algoritmit të katrorëve mesatarë më të vegjël në perceptronin linear.

Ne mund të paraqesim shkallën e gabimit në një nyje dalëse j në n pika e të dhënave (shembull trajnimi) nga e_j(n)=d_j(n)-y_j(n), ku d_j(n) është vlera e synuar për n pika e të dhënave në nyje j, dhe y_j(n) është vlera e prodhuar nga perceptroni në nyjë j kur të n pika e të dhënave jepet si hyrje.

Peshat e nyjeve më pas mund të rregullohen bazuar në korrigjimet që minimizojnë gabimin në të gjithë daljen për n pika e të dhënave, e dhënë nga

: \mathcal{E}(n)=\frac{1}{2}\sum_{\text{nyja dalëse }j} e_j^2(n) .

Duke përdorur gradientin zbritës, ndryshimi në çdo peshë w_{ij} është

: \Delta w_{ji} (n) = -\eta\frac{\partial\mathcal{E}(n)}{\partial v_j(n)} y_i(n)

ku y_i(n) është prodhimi i neuronit të mëparshëm i, dhe \eta është *shkalla e të mësuarit*, e cila zgjidhet për të siguruar që peshat të konvergjojnë shpejt në një përgjigje, pa lëkundje. Në shprehjen e mëparshme, \frac{\partial\mathcal{E}(n)}{\partial v_j(n)} tregon derivatin e pjesshëm të gabimit \mathcal{E}(n) sipas shumës së peshuar v_j(n) të lidhjeve hyrëse të neuronit i .

:

## Referime 
## Lidhje të jashtme 
Blog mbi Inteligjencën Artificiale në shqip