Comentarii

Copiați linkul Citat răspuns

hiyijian comentat 21 septembrie 2017 •

Draga @ liuzhuang13,
Cred că ar trebui să curățăm un canal de nuclee ulterioare ale stratului conv după tăierea stratului curent. Am dreptate?
Deci, nu pot să-mi dau seama cum să subțire bloc rezidual folosind metoda ta.

resnet

Este posibil ca cele două ramuri să aibă canale diferite, astfel încât să putem tăia doar intersecția ambelor?


Aproape aceeași situație în versiunea de comenzi rapide. Cum te descurci cu asta?

Textul a fost actualizat cu succes, dar s-au întâlnit aceste erori:

liuzhuang13 comentat 22 septembrie 2017 •

În modelele noastre, ramura reziduală este BN-RELU-CONV-BN-RELU-CONV-BN-RELU-CONV.

În plus, sunt păstrate toate caracteristicile din maparea identității și ultima CONV din ramura reziduală. Deci ramura principală are lățimile originale ale ResNets. Tunderea se întâmplă numai în straturi din ramura reziduală.

În interiorul fiecărei ramuri reziduale:

În primul strat BN, dacă detectăm parametri de redimensionare foarte mici, mascăm canalele corespunzătoare, înainte de primul strat BN, printr-un strat de selecție a canalului (De fapt, această selecție a canalului provoacă o suprasolicitare a timpului, deci nu recomand să o facem in practica).

Ultimul CONV generează același număr de canale ca ramura principală (nu există selecție BN pentru a face).

Pentru alte straturi intermediare, tăierea este aceeași ca în rețeaua simplă (de exemplu, VGG).

Dacă ramura dvs. reziduală este diferită de a noastră, poate fi necesar să modificați procesul de tăiere. Dar punctul cheie este că ramura principală nu se subțiază, tăierea este doar în interiorul ramurii reziduale. Modul în care tundeți în ramura reziduală depinde de modul în care comandați straturile dvs. BN și CONV.