ããã«ã¡ã¯ãHabrïŒ ããŸããŸãªèžè¡çã¹ã¿ã€ã«ã®åçã®ã¹ã¿ã€ãªã³ã°ã®ããŒããããããã®ã€ã³ã¿ãŒãããäžã§æŽ»çºã«è°è«ãããŠããããšã«ãæ°ã¥ãã§ãããã ãããã®äººæ°ã®ããèšäºããã¹ãŠèªããšããããã®ã¢ããªã±ãŒã·ã§ã³ã®è£ã§éæ³ãèµ·ãã£ãŠãããšæããããããŸããããããŠããã¥ãŒã©ã«ãããã¯ãŒã¯ã¯æ¬åœã«ã€ã¡ãŒãžã空æ³ãããŒãããåæç»ããŸãã å¶ç¶ã«ããç§ãã¡ã®ããŒã ãåæ§ã®ã¿ã¹ã¯ã«çŽé¢ããŸããã瀟å
ã®äŒæ¥ããã«ãœã³ã®äžç°ãšããŠã ãããªã®ã¹ã¿ã€ã«ãäœããŸãã åçã®ç³è«ã¯æ¢ã«ååšããŸãã ãã®æçš¿ã§ã¯ããã®ãããã¯ãŒã¯ãã©ã®ããã«ç»åããåæç»ãããããçè§£ãããããå¯èœã«ããèšäºãåæããŸãã ãã®è³æãèªãåã«ã æåŸã®æçš¿ãšãäžè¬ã«ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®åºæ¬ãããçè§£ããããšããå§ãããŸãã ããã€ãã®åŒãå°ãã®ã³ãŒãïŒ TheanoãšLasagneã®äŸãæããŸãïŒãããã³å€ãã®åçããããŸãã ãã®æçš¿ã¯ãèšäºã®å€èгãããã³ããã«å¿ããŠã¢ã€ãã¢èªäœã®çºçé ã«äœæãããŸãã æã
ãæè¿ã®çµéšã§ãããèããŸãã ããã«æ³šç®ãéããå°çã®å°å¹ŽãããŸãã
æåã«èšåãã䟡å€ãããã®ã¯ãèè
ããã¥ãŒã©ã«ãããã¯ãŒã¯ããã©ãã¯ããã¯ã¹ã§ã¯ãªããå®å
šã«è§£éå¯èœãªãã®ã§ããããšã瀺ãããšãã§ããèšäºã§ãïŒãšããã§ã仿¥ãããã¯ã³ã³ãã¥ãŒã¿ãŒããžã§ã³ã®ããã¿èŸŒã¿ãããã¯ãŒã¯ã«ã€ããŠã ãã§ã¯ãããŸãã ïŒã èè
ã¯ãé ãå±€ãã¥ãŒãã³ã®æŽ»æ§åãè§£éããæ¹æ³ãåŠã¶ããšã«ããŸããããã®ãããæ°å¹Žåã«ææ¡ããããã³ã³ããªã¥ãŒã·ã§ã³ãã¥ãŒã©ã«ãããã¯ãŒã¯ ïŒdeconvnetïŒã䜿çšããŸããïŒã¡ãªã¿ã«ããã®åºçç©ã®èè
ã§ããåãZeilerãšFergusã«ãã£ãŠïŒã ãã³ã³ããªã¥ãŒã·ã§ãã«ãããã¯ãŒã¯ã¯ãå®éã«ã¯ç³ã¿èŸŒã¿ãšããŒãªã³ã°ãåããåããããã¯ãŒã¯ã§ãããéã®é åºã§é©çšãããŸãã å
ã®deconvnetã®äœæ¥ã§ã¯ããããã¯ãŒã¯ã¯æåž«ãªãã¢ãŒãã§ç»åãçæããããã«äœ¿çšãããŸããã ä»åãèè
ã¯ããããã¯ãŒã¯ãçŽæ¥ééããåŸã«åŸãããæšèããå
ã®ç»åãžã®æ»ãéè·¯ã«ãããåçŽã«é©çšããŸããã çµæã¯ããã¥ãŒãã³ã§ãã®æŽ»æ§åãåŒãèµ·ãããä¿¡å·ãšããŠè§£éã§ããç»åã§ãã åœç¶ã質åãçºçããŸãïŒç³ã¿èŸŒã¿ãšéç·åœ¢æ§ãééãããæ¹æ³ã¯ïŒ ããã«ãæå€§ããŒãªã³ã°ãéããŠãããã¯ç¢ºãã«å¯éçãªæäœã§ã¯ãããŸããã 3ã€ã®ã³ã³ããŒãã³ããã¹ãŠãæ€èšããŠãã ããã
éReLu
ããã¿èŸŒã¿ãããã¯ãŒã¯ã§ã¯ã ReLuïŒxïŒ= maxïŒ0ãxïŒãã¢ã¯ãã£ããŒã·ã§ã³é¢æ°ãšããŠãã䜿çšãããã¬ã€ã€ãŒäžã®ãã¹ãŠã®ã¢ã¯ãã£ããŒã·ã§ã³ãéè² ã«ãªããŸãã ãããã£ãŠãéç·åœ¢æ§ãééããå Žåãéè² ã®çµæãååŸããå¿
èŠããããŸãã ãã®ãããèè
ã¯åãReLuã®äœ¿çšãææ¡ããŠããŸãã Theanoã¢ãŒããã¯ãã£ãŒã®èгç¹ãããæäœã®åŸé
ã®é¢æ°ãåå®çŸ©ããå¿
èŠããããŸãïŒ ç¡éã«äŸ¡å€ã®ããã©ãããããã¯lasagnaã®ã¬ã·ãã«ãã ãããããModifiedBackpropã¯ã©ã¹ãäœã§ãããã®è©³çްãåŠç¿ããŸãïŒã

class ZeilerBackprop(ModifiedBackprop): def grad(self, inputs, out_grads): (inp,) = inputs (grd,) = out_grads
éç³ã¿èŸŒã¿
ããã§ã¯å°ãè€éã§ããããã¹ãŠãè«ççã§ããåãç³ã¿èŸŒã¿ã«ãŒãã«ã®è»¢çœ®ããŒãžã§ã³ãé©çšããã®ã«ååã§ãããçŽæ¥ãã¹ã«äœ¿çšãããåã®ã¬ã€ã€ãŒã§ã¯ãªããéã®ReLuããã®åºå£ã«é©çšããŸãã ããããããã¯èšèã§ã¯ããã»ã©æçœã§ã¯ãªãã®ã§ã¯ãªãããšå¿é
ããŠããŸãããã®æé ã®èŠèŠåãèŠãŠã¿ãŸãããïŒ ããã§ã¯ãç³ã¿èŸŒã¿ã®èŠèŠåãããã«èŠã€ããããšãã§ããŸãïŒã
ã¹ãã©ã€ã= 1ã®ç³ã¿èŸŒã¿ã¹ãã©ã€ã= 1ã®ç³ã¿èŸŒã¿ | éããŒãžã§ã³ |
---|
 |  |
ã¹ãã©ã€ã= 2ã®ç³ã¿èŸŒã¿ã¹ãã©ã€ã= 2ã®ç³ã¿èŸŒã¿ | éããŒãžã§ã³ |
---|
 |  |
éåŒã
ãã®æäœã¯ïŒä»¥åã®æäœãšã¯ç°ãªãïŒäžè¬ã«å¯éçã§ã¯ãããŸããã ãã ãããªã¿ãŒã³ãã¹ã§ã¯äœããã®æ¹æ³ã§æå€§å€ãééããããšèããŠããŸãã ãããè¡ãããã«ãèè
ãã¯ããã€ã¬ã¯ããã¹ã§æå€§å€ãååšããå Žæã®ãããã䜿çšããããšãææ¡ããŠããŸãïŒæå€§äœçœ®åãæ¿ãïŒã ãªã¿ãŒã³ãã¹äžãå
¥åä¿¡å·ã¯åæä¿¡å·ã®æ§é ãã»ãŒä¿åãããããªæ¹æ³ã§ã¹ããŒãã£ã³ã°ã«å€æãããŸã;ããã§ã¯ã説æãããããå®éã«èŠããããªã£ãŠããŸãã

çµæ
èŠèŠåã¢ã«ãŽãªãºã ã¯éåžžã«ç°¡åã§ãã
- çŽæ¥ãã¹ãäœæããŸãã
- èå³ã®ããã¬ã€ã€ãŒãéžæããŸãã
- 1ã€ä»¥äžã®ãã¥ãŒãã³ã®æŽ»æ§åãä¿®æ£ããæ®ãããŒãã«ããŸãã
- éã®çµè«ãå°ããŸãã
äžã®ç»åã®åç°è²ã®åè§ã¯ããã£ã«ã¿ãŒïŒç³ã¿èŸŒã¿ã«äœ¿çšïŒãŸãã¯1ã€ã®ãã¥ãŒãã³ã®éã¿ã®èŠèŠåã«å¯Ÿå¿ããåã«ã©ãŒç»åã¯ã察å¿ãããã¥ãŒãã³ãã¢ã¯ãã£ãã«ããå
ã®ç»åã®éšåã§ãã ããããããããããã«ã1ã€ã®ã¬ã€ã€ãŒå
ã®ãã¥ãŒãã³ã¯ããŒãã°ã«ãŒãã«ã°ã«ãŒãåãããŠããŸãã äžè¬ã«ããã¥ãŒã©ã«ãããã¯ãŒã¯ã¯èŠèŠã·ã¹ãã ã®æ§é ã«é¢ããç ç©¶ã§ããŒãã«ãšã¯ã€ãŒã«ãæžãããã®ãæ£ç¢ºã«åŠç¿ããŠããããšãçªç¶å€æããŸãããããã«å¯ŸããŠã圌ãã¯1981幎ã«ããŒãã«è³ãåè³ããŸããã ãã®èšäºã®ãããã§ãç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ãåå±€ã§åŠç¿ããå
容ãèŠèŠçã«è¡šçŸã§ããŸããã åŸã§çæãããç»åã®å
容ãæäœã§ããããã«ãªãã®ã¯ãã®ç¥èã§ãããããã¯ãŸã ãŸã å
ã®ããšã§ãããä»åŸæ°å¹Žéã¯ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®ãæ¹panãã®æ¹æ³ã®æ¹åã«è²»ããããŸãã ããã«ããã®èšäºã®èè
ã¯ãããè¯ãçµæãåŸãããã«ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®ã¢ãŒããã¯ãã£ãã©ã®ããã«æ§ç¯ããããåæããæ¹æ³ãææ¡ããŸããïŒImageNet 2013ã«ã¯åãŠãªãã£ããããããã«éããŸãããã UPD ïŒã¯ã©ãªãã¡ã€ãåã£ãŠãããšå€æããŸããïŒã
deconvnetã䜿çšããã¢ã¯ãã£ããŒã·ã§ã³ã®èŠèŠåã®äŸã次ã«ç€ºããŸãã仿¥ããã®çµæã¯ãã§ã«ããªããŸãèŠããŸãããããã¯ãã¬ãŒã¯ã¹ã«ãŒã§ããã
deconvnetã䜿çšããé¡èæ§ããã ãã®èšäºã¯ãç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ã«å²ãŸããç¥èãèŠèŠåããæ¹æ³ã®ç ç©¶ã«å°å¿µããŸãã èè
ãã¯ãåŸé
éäžæ³ã«åºã¥ãã2ã€ã®èŠèŠåæ¹æ³ãææ¡ããŠããŸãã
ã¯ã©ã¹ã¢ãã«ã®å¯èŠå
ãããã£ãŠãç¹å®ã®æ°ã®ã¯ã©ã¹ã®åé¡åé¡ã解決ããããã«èšç·Žããããã¥ãŒã©ã«ãããã¯ãŒã¯ããããšæ³åããŠãã ããã ã§ç€ºã
ã¯ã©ã¹cã«å¯Ÿå¿ããåºåãã¥ãŒãã³ã®æŽ»æ§åå€ã 次ã«ãæ¬¡ã®æé©åã¿ã¹ã¯ã«ãããéžæããã¯ã©ã¹ãæå€§åããã€ã¡ãŒãžãæ£ç¢ºã«åŸãããŸãã

ãã®åé¡ã¯ãTheanoã䜿çšããŠç°¡åã«è§£æ±ºã§ããŸãã éåžžããã¬ãŒã ã¯ãŒã¯ã«ã¢ãã«ãã©ã¡ãŒã¿ãŒã«é¢ããå°é¢æ°ãååŸããããã«äŸé ŒããŸãããä»åã¯ãã©ã¡ãŒã¿ãŒãåºå®ãããå°é¢æ°ãå
¥åç»åããååŸããããšèããŠããŸãã æ¬¡ã®é¢æ°ã¯ãåºåã¬ã€ã€ãŒã®æå€§å€ãéžæããå
¥åç»åã®å°é¢æ°ãèšç®ãã颿°ãè¿ããŸãã
def compile_saliency_function(net): """ Compiles a function to compute the saliency maps and predicted classes for a given minibatch of input images. """ inp = net['input'].input_var outp = lasagne.layers.get_output(net['fc8'], deterministic=True) max_outp = T.max(outp, axis=1) saliency = theano.grad(max_outp.sum(), wrt=inp) max_class = T.argmax(outp, axis=1) return theano.function([inp], [saliency, max_class])
ããããã€ã³ã¿ãŒãããäžã§ç¬ã®é¡ãããå¥åŠãªç»åãDeepDreamãèŠãã§ãããã å
ã®èšäºã§ã¯ãäœæè
ã¯æ¬¡ã®ããã»ã¹ã䜿çšããŠãéžæããã¯ã©ã¹ãæå€§åããç»åãçæããŸãã
- åæã€ã¡ãŒãžããŒãã§åæåããŸãã
- ãã®ç»åãã埮åå€ãèšç®ããŸãã
- 掟çç©ããåŸãããç»åã远å ããŠãç»åã倿ŽããŸãã
- æé 2ã«æ»ããããµã€ã¯ã«ãçµäºããŸãã
次ã®ç»åãååŸãããŸãã

ãããŠãæåã®ç»åãå®éã®åçã§åæåããåãããã»ã¹ãéå§ãããšã©ããªããŸããïŒ ããããåå埩ã§ã©ã³ãã ã¯ã©ã¹ãéžæããæ®ãããŒãã«ããå°é¢æ°ã®å€ãèšç®ãããšããã®ãããªæ·±ã倢ãåŸãããŸãã
ç¬ãç®ã®é¡ããããªã«å€ãã®ã¯ãªãã§ããïŒ ç°¡åã§ãïŒ1000ã¯ã©ã¹ã®ã€ã¡ãŒãžã§ã¯ã200å¹è¿ãã®ç¬ãããŠãç®ããããŸãã ãŸãã人ã ããããå€ãã®ã¯ã©ã¹ããããŸãã
ã¯ã©ã¹ã®é¡èæ§ã®æœåº
ãã®ããã»ã¹ãå®éã®åçã§åæåããæåã®å埩åŸã«åæ¢ããå°é¢æ°ã®å€ãæç»ãããšããã®ãããªç»åãååŸããŠå
ã®ç»åã«è¿œå ããéžæããã¯ã©ã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³å€ãå¢ãããŸãã
ããªããã£ãã䜿çšããé¡èæ§ããã ç¹°ãè¿ããŸãããçµæã¯ããŸããŸããã§ãã ããã¯ã¢ã¯ãã£ããŒã·ã§ã³ãèŠèŠåããæ°ããæ¹æ³ã§ããããšã«æ³šæããããšãéèŠã§ãïŒæåŸã®ã¬ã€ã€ãŒã§ã¯ãªããäžè¬çã«ãããã¯ãŒã¯ã®ä»»æã®ã¬ã€ã€ãŒã§ã¢ã¯ãã£ããŒã·ã§ã³å€ãä¿®æ£ããå
¥åç»åã®åŸ®åãååŸããããšã劚ãããã®ã¯ãããŸããïŒã 次ã®èšäºã§ã¯ã以åã®ã¢ãããŒãã®äž¡æ¹ãçµã¿åãããŠãã¹ã¿ã€ã«è»¢éã®ã»ããã¢ããæ¹æ³ã«é¢ããããŒã«ãæäŸããŸããããã«ã€ããŠã¯åŸã§èª¬æããŸãã
ãã®èšäºã¯ãäžè¬çã«èšãã°ãèŠèŠåã«é¢ãããã®ã§ã¯ãããŸããããããŒãªã³ã°ã倧ããªã¹ãã©ã€ãã䌎ãç³ã¿èŸŒã¿ã«çœ®ãæããŠããå質ãäœäžããããšã¯ãããŸããã ããããç ç©¶ã®å¯ç£ç©ãšããŠãèè
ã¯ç¹åŸŽãèŠèŠåããæ°ããæ¹æ³ãææ¡ããŸãããããã¯ãã¢ãã«ãåŠç¿ããŠãããã®ãããæ£ç¢ºã«åæããããã«äœ¿çšãããŠããŸããã 圌ãã®èãã¯ããã§ãïŒå°é¢æ°ãååŸããã ãã§ããã³ã³ããªã¥ãŒã·ã§ã³ãè¡ããšãå
¥åç»åäžã§ãŒããããå°ããç¹åŸŽã¯æ»ããŸããïŒå
¥åç»åã«ReLuã䜿çšïŒã ãããŠãããã¯ãéäŒæãããç»åã«è² ã®å€ãçŸãããšããäºå®ã«ã€ãªãããŸãã äžæ¹ãdeconvnetã䜿çšããå ŽåãReLuã®å°é¢æ°ããå¥ã®ReLuãååŸãããŸããããã«ãããè² ã®å€ãè¿ãããšã¯ã§ããŸããããçµæã¯ããŸããŸããã§ãã ããããããã2ã€ã®æ¹æ³ãçµã¿åããããšã©ããªããŸããïŒ

class GuidedBackprop(ModifiedBackprop): def grad(self, inputs, out_grads): (inp,) = inputs (grd,) = out_grads dtype = inp.dtype return (grd * (inp > 0).astype(dtype) * (grd > 0).astype(dtype),)
次ã«ãå®å
šã«ã¯ãªãŒã³ã§è§£éå¯èœãªç»åãååŸããŸãã
ã¬ã€ãä»ãããã¯ãããã²ãŒã·ã§ã³ã䜿çšããé¡èæ§ããã ãã£ãšæ·±ã
èããŠã¿ãŸãããããããããã¯ç§ãã¡ã«äœãäžããŸããïŒ åç³ã¿èŸŒã¿å±€ã¯ãå
¥åãšããŠ3次å
ãã³ãœã«ãåãåããç°ãªã次å
d x w x hã® 3次å
ãã³ãœã«ãåºåãã颿°ã§ããããšãæãåºããŠãã ããã d epthã¯ã¬ã€ã€ãŒå
ã®ãã¥ãŒãã³ã®æ°ã§ã;åãã¥ãŒãã³ã¯ãµã€ãºw igth x h 8ã®ç¹åŸŽããããçæããŸãã
VGG-19ãããã¯ãŒã¯ã§æ¬¡ã®å®éšã詊ããŠã¿ãŸãããã
- ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®åã¬ã€ã€ãŒã«ã€ããŠããµã€ã³ãããµã€ã³ãå
ã®æŽ»æ§åã®åèšã®å€ã§ãœãŒãããŸã
-ããã«ãããç»åå
ã§æãé¡èãªå
åãåŸãããŸãïŒåããã¬ãŒãã«ã¯ãç°ãªã空é座æšã§åããã£ãŒãã£ãã¢ã¯ãã£ãåãããŸãïŒã - 次ã«ãåãã€ã§æå€§èŠçŽ ãéžæããŸããããã«ããããã®ç¹åŸŽãæãæç¢ºã«è¡šçŸãããäœçœ®ãåŸãããŸãã
- ãããŠä»ã1ã€ã®ãã¬ãŒãäžã®1ã€ã®äœçœ®ã®åºå®å€ãšãŒãåãããã¬ã€ã€ãŒã®æ®ãã®å€ãæã€å
¥åç»åã®åŸ®åãåããŸã-ããã¯ããã®ãã¥ãŒãã³ã®å容é åïŒãã®ãã¥ãŒãã³ãèŠãŠããç»åã®é åïŒã ãã§ãªããç¹åŸŽã®ã¢ã€ãã¢ãäžããŸãã
conv1_2ã¯ããã»ãšãã©äœã衚瀺ãããŸããã å容é åã¯éåžžã«å°ãããããã¯ãããã2çªç®ã®3x3ç³ã¿èŸŒã¿ãã€ãŸãäžè¬çãª5x5é åã§ãã ããããå¢ãç¶ãããšããã®æ©èœã¯åãªãåŸé
æ€åºåšã§ããããšãããããŸãã

ããã§ããã€ã®æå€§å€ã§ã¯ãªããå
¥åç»åã®ãã€ã®ãã¹ãŠã®èŠçŽ ã®åèšã®å°é¢æ°ãååŸããããšãæ³åããŠãã ããã ãã®åŸãæããã«ãã¥ãŒãã³ã®ã°ã«ãŒãã®å容é åãå
¥åç»åå
šäœãã«ããŒããŸãã åæã®ã¬ã€ã€ãŒã«ã€ããŠã¯ãæãããããã衚瀺ãããŸãããã®ãããããããããã¯ãã¿ãŒã³ãè€éã«ããæ¹åã®è²æ€åºåšãã°ã©ããŒã·ã§ã³ãå¢çãªã©ã§ãããšçµè«ä»ããããŸãã ã¬ã€ã€ãŒãæ·±ãã»ã©ãç»åã¯èããªããŸãã ããã¯ãããæ·±ãã¬ã€ã€ãŒã¯æ€åºããããè€éãªãã¿ãŒã³ãæã¡ãè€éãªãã¿ãŒã³ã¯åçŽãªãã¿ãŒã³ãããé »ç¹ã«è¡šç€ºãããªããããã¢ã¯ãã£ããŒã·ã§ã³ãããã¯ãã§ãŒãããŸãã æåã®æ¹æ³ã¯ãè€éãªãã¿ãŒã³ãæã€ã¬ã€ã€ãŒãçè§£ããã®ã«é©ããŠããŸãã2çªç®ã®æ¹æ³ã¯ãåçŽãªãã¿ãŒã³ã«é©ããŠããŸãã
ããã€ãã®ç»åã®ããå®å
šãªã¢ã¯ãã£ããŒã·ã§ã³ããŒã¿ããŒã¹ã¯ã ãã¡ããšãã¡ãããããŠã³ããŒãã§ããŸãã
ãããã£ãŠããã¥ãŒã©ã«ãããã¯ãŒã¯ã®æåã®æåããç©¿åãã2幎ãçµéããŸããã ç§ãã¡ïŒäººéæ§ã®æå³ïŒã«ã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯ãåŠç¿ããŠããããšãçè§£ããåŠç¿ããããªããã®ãåé€ã§ãã匷åãªããŒã«ããããŸãã ãã®èšäºã®èè
ã¯ã1ã€ã®ç»åãã¿ãŒã²ããç»åã«å¯ŸããŠåæ§ã®ã¢ã¯ãã£ããŒã·ã§ã³ããããçæã§ããããã«ããæ¹æ³ãéçºããŠããŸãã å
¥åã«ãã¯ã€ããã€ãºãäžãããã£ãŒãããªãŒã ãšåæ§ã®å埩ããã»ã¹ã§ããã®ã€ã¡ãŒãžããç¹åŸŽããããã¿ãŒã²ããã€ã¡ãŒãžã«äŒŒãŠããã€ã¡ãŒãžã«ãããããŸãã
ã³ã³ãã³ãã®æå€±
ãã§ã«è¿°ã¹ãããã«ããã¥ãŒã©ã«ãããã¯ãŒã¯ã®åå±€ã¯ãããæ¬¡å
ã®3次å
ãã³ãœã«ãçæããŸãã

å
¥åããã®içªç®ã®å±€ã®åºåã
ã æ¬¡ã«ãå
¥åç»åéã®æ®å·®ã®å éåãæå°åãããš
ãããŠã cãç®æãã€ã¡ãŒãžã䜿çšããŠãå¿
èŠãªãã®ãæ£ç¢ºã«ååŸããŸãã ããããã

ãã®èšäºã®å®éšã§ã¯ã ãã®éæ³ã®ã©ãããããã䜿çšããŠãGPUãšCPUã®äž¡æ¹ã§èšç®ãå®è¡ã§ããŸãã GPUã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯ã®æ©èœãšã³ã¹ã颿°ã®å€ãèšç®ããããã«äœ¿çšãããŸãã Theanoã¯ãå
¥åç»åxããç®ç颿°eval_gradã®åŸé
ãèšç®ã§ãã颿°ãçæããŸãã æ¬¡ã«ããã¹ãŠãlbfgsã«ãã£ãŒããããå埩ããã»ã¹ãéå§ãããŸãã
ãã®ãããªé¢æ°ã®æé©åãéå§ãããšãã¿ãŒã²ããã«äŒŒãç»åãããã«åŸãããŸãã ããã§ããã¯ã€ããã€ãºããäžéšã®ã³ã³ãã³ãç»åã«é¡äŒŒããç»åãåäœæã§ããŸãã
ã³ã³ãã³ãã®æå€±ïŒconv4_2ã³ã³ãã³ãç»å

æé©åããã»ã¹

çµæã®ç»åã«ã¯æ¬¡ã®2ã€ã®ç¹åŸŽããããŸãã
- è²ã倱ãããŸã-ããã¯ãç¹å®ã®äŸã§ã¯conv4_2ã¬ã€ã€ãŒã®ã¿ã䜿çšããããšããäºå®ã®çµæã§ãïŒèšãæããã°ãéã¿wã¯ãŒãã§ã¯ãªããä»ã®ã¬ã€ã€ãŒã§ã¯ãŒãã§ããïŒã èŠããŠããããã«ãè²ãšã°ã©ããŒã·ã§ã³ã®é·ç§»ã«é¢ããæ
å ±ãå«ãã®ã¯åæã®å±€ã§ãããåŸã®å±€ã¯ããè©³çŽ°ãªæ
å ±ãå«ãã§ããŸãããããã¯èгå¯ãããŸã-è²ã¯å€±ãããå
容ã¯å€±ãããŸããã
- äžéšã®å®¶ã¯ãè¡ã£ãããã€ãŸã çŽç·ã¯ãããã«æ¹Ÿæ²ããŠããŸã-ããã¯ãã¬ã€ã€ãŒãæ·±ãã»ã©ãå«ãŸãããã£ãŒãã£ã®ç©ºéäœçœ®ã«é¢ããæ
å ±ãå°ãªãããã§ãïŒç³ã¿èŸŒã¿ãšããŒãªã³ã°ã®äœ¿çšã®çµæïŒã
åæã¬ã€ã€ãŒã远å ãããšãè²ã®ç¶æ³ãããã«ä¿®æ£ãããŸãã
ã³ã³ãã³ãã®æå€±ïŒconv1_1ãconv2_1ãconv4_2 ãã®æç¹ã§ããã¯ã€ããã€ãºããç»åã«åæç»ããããã®ãå¶åŸ¡ã§ãããšæããŸãã
ã¹ã¿ã€ã«ãã¹
ãããŠãç§ãã¡ã¯æãè峿·±ãããšã«å°éããŸãããã©ã®ããã«ã¹ã¿ã€ã«ãäŒããããšãã§ããŸããïŒ ã¹ã¿ã€ã«ãšã¯äœã§ããïŒ ã¹ã¿ã€ã«ã¯ãã³ã³ãã³ãã®æå€±ã§æé©åããããã®ã§ã¯ãªãããšã¯æããã§ãããã£ãŒãã£ã®ç©ºéçäœçœ®ã«é¢ããå€ãã®æ
å ±ãå«ãŸããŠããããã§ãã ãã®ãããæåã«è¡ãããšã¯ãåã¬ã€ã€ãŒã§ååŸãã衚çŸãããã®æ
å ±ãäœããã®æ¹æ³ã§åé€ããããšã§ãã
èè
ã¯æ¬¡ã®æ¹æ³ãæäŸããŸãã ç¹å®ã®ã¬ã€ã€ãŒã®åºå£ã§ãã³ãœã«ãååŸãã空é座æšã§ãããå±éãããã€éã®å
±åæ£è¡åãèšç®ããŸãã Gã«ãããã®å€æã瀺ããŸãã ç§ãã¡ã¯æ¬åœã«äœãããŸãããïŒ ãã¬ãŒãå
ã®ãµã€ã³ããã¢ã§åºäŒãé »åºŠãèšç®ãããšèšãããšãã§ããŸããã€ãŸãããã¬ãŒãå
ã®ãµã€ã³ã®ååžã倿¬¡å
æ£èŠååžã§è¿äŒŒãããšèšããŸãã

次ã«ãã¹ã¿ã€ã«æå€±ã次ã®ããã«å°å
¥ãããŸããããã§ã sã¯ã¹ã¿ã€ã«ä»ãã®ç»åã§ãã

ãŽã£ã³ã»ã³ãã«ææŠããŸããããïŒ ååãšããŠããŽããã¹ã¿ã€ã«ã®ãã€ãºããã£ãŒãã£ã®ç©ºéé
眮ã«é¢ããæ
å ±ã¯å®å
šã«å€±ãããŸãã
ããããå®ååãããç»åã®ä»£ããã«åçãå
¥ãããã©ãã§ããããïŒ ããªãã¿ã®æ©èœãããªãã¿ã®è²ãåŸãããŸããã空éçãªäœçœ®ã¯å®å
šã«å€±ãããŸãã
ã¹ã¿ã€ã«åªå€±æã®åç ã©ãããŠç§ãã¡ãå
±åæ£è¡åãèšç®ããŠããã®ãã«ã€ããŠè³ªåããã®ã§ãã£ãŠãä»ã®ããšã§ã¯ãªãã®ã§ããïŒ çµå±ã®ãšããã空é座æšã倱ãããããã«ããã£ãŒãã£ãéçŽããå€ãã®æ¹æ³ããããŸãã ããã¯æ¬åœã«æªè§£æ±ºã®è³ªåã§ãããéåžžã«åçŽãªãã®ãæ¡çšããŠããçµæã¯åçã«ã¯å€ãããŸããã ããã確èªããŸããããå
±åæ£è¡åãèšç®ããã®ã§ã¯ãªããåã«åãã¬ãŒãã®å¹³åå€ãèšç®ããŸãã

åçŽãªã¹ã¿ã€ã«ã®æå€± è€åæå€±
åœç¶ãããã2ã€ã®ã³ã¹ã颿°ãæ··åšãããããšããèŠæããããŸãã æ¬¡ã«ããã¯ã€ããã€ãºãããã®ãããªç»åãçæããã³ã³ãã³ãç»åïŒç©ºé座æšãžã®åç
§ãæã€ïŒã®å±æ§ãä¿åããŸãããŸãã空é座æšã«ä»å ãããŠããªããã¹ã¿ã€ã«ãèšå·ããããŸãã ã³ã³ãã³ãç»åã®è©³çްããã®å Žæãããã®ãŸãŸæ®ãããšãæã¿ãŸãããæ£ããã¹ã¿ã€ã«ã§åæç»ãããŸãã

å®éãæ£èŠåããŒã«ããããŸãããç°¡åã«ããããã«çç¥ããŠããŸãã æ¬¡ã®è³ªåã«çããå¿
èŠããããŸãïŒæé©åã«ã¯ã©ã®ã¬ã€ã€ãŒïŒéã¿ïŒã䜿çšããå¿
èŠããããŸããïŒ ãããŠãç§ã¯ãã®è³ªåã«å¯Ÿããåçããªããèšäºã®èè
ãããªãããšãæããŠããŸãã 圌ãã¯ä»¥äžã䜿çšããããšãææ¡ããŠããŸãããããã¯ä»ã®çµã¿åããããã£ãšããŸãæ©èœããããšãæå³ãããã®ã§ã¯ãããŸãããæ€çŽ¢ã¹ããŒã¹ã倧ããããŸãã ã¢ãã«ã®çè§£ããç¶ãå¯äžã®ã«ãŒã«ïŒé£æ¥ããã¬ã€ã€ãŒãåãããšã¯æå³ããããŸããã ãããã®ãã£ã©ã¯ã¿ãŒã¯äºãã«å€§ããç°ãªãããšã¯ãªãã®ã§ãconv * _1ãåã°ã«ãŒãã®ã¬ã€ã€ãŒããšã«ã¹ã¿ã€ã«ã«è¿œå ãããŸãã
æçµã¢ãã«ã¯æ¬¡ã®ããã«è¡šãããšãã§ããŸãã

ãããŠãããã¯ãŽããã®å®¶ã®çµæã§ãã ããã»ã¹ãå¶åŸ¡ããããšãã
çŸåšã®èšäºã®2幎åã«ã以åã®éšåãæãåºããŠã¿ãŸããããä»ã®ç§åŠè
ã¯ããã¥ãŒã©ã«ãããã¯ãŒã¯ãå®éã«åŠç¿ããããšã調æ»ããŸããã ãããã®ãã¹ãŠã®èšäºã掻çšããŠãããŸããŸãªã¹ã¿ã€ã«ãããŸããŸãªç»åãããŸããŸãªè§£å床ãšãµã€ãºã®æ©èœã®èŠèŠåãå
å®ãããã©ã®ã¬ã€ã€ãŒãã©ã®çšåºŠã®ééã«ããããçè§£ããããšãã§ããŸãã ããããã¬ã€ã€ãŒãåèšéããŠããäœãèµ·ãã£ãŠããããå®å
šã«å¶åŸ¡ããããšã¯ã§ããŸããã ããã§ã®åé¡ã¯ããæŠå¿µçãªãã®ã§ãã ééã£ã颿°ãæé©åããŠããŸã ïŒ ã©ãããŠïŒ çãã¯ç°¡åã§ãããã®é¢æ°ã¯æ®å·®ãæå°éã«æããŸãã ããããç§ãã¡ãæ¬åœã«æ¬²ããã®ã¯ãç»åã奜ãã ãšããããšã§ãã ã³ã³ãã³ããšã¹ã¿ã€ã«æå€±é¢æ°ã®åžã®çµã¿åããã¯ãç§ãã¡ã®å¿ãçŸãããšèãããã®ã®å°ºåºŠã§ã¯ãããŸããã ã¹ã¿ã€ãªã³ã°ãé·ããããšãã³ã¹ã颿°ã¯èªç¶ã«äœäžããŸãããçµæã®çŸççŸããã¯æ¥æ¿ã«äœäžããããšãããããŸããã

ãŸããå¥ã®åé¡ããããŸãã å¿
èŠãªæ©èœãæœåºããã¬ã€ã€ãŒãèŠã€ãããšããŸãã ããã€ãã®ãã¯ã¹ãã£ãäžè§åœ¢ã§ãããšããŸãããã ãããããã®ã¬ã€ã€ãŒã«ã¯ãããšãã°åãªã©ãä»ã®å€ãã®æ©èœããŸã å«ãŸããŠããŸãããçµæã®ç»åã§ã¯è¡šç€ºããããªãã®ã§ãã äžè¬çã«ãçŸäžäººã®äžåœäººãéãããšãã§ããã°ãã¹ã¿ã€ã«ç»åã®ãã¹ãŠã®ç¹åŸŽãèŠèŠåãã培åºçãªæ€çŽ¢ã«ãã£ãŠå¿
èŠãªãã®ã ããããŒã¯ããããããã³ã¹ã颿°ã«ã®ã¿å«ããããšãã§ããŸãã ããããæãããªçç±ãããããã¯ããã»ã©åçŽã§ã¯ãããŸããã ããããã¹ã¿ã€ã«ç»åã®çµæã«è¡šç€ºããããªããã¹ãŠã®ãµãŒã¯ã«ãåé€ããå Žåã¯ã©ããªããŸããïŒ ãã®åŸãåã«å¿çãã察å¿ãããã¥ãŒãã³ã®æŽ»æ§åã¯ãåã«æ©èœããŸããã ãããŠããã¡ãããããã¯çµæã®ç»åã«ã¯è¡šç€ºãããŸããã è±ãšåããã®ã ããããã®è²ã§é®®ãããªç»åãæ³åããŠãã ããã è²ã®ååžã¯ç©ºéå
šäœã§éåžžã«äžé®®æã«ãªããçµæã®ç»åã®ååžã¯åãã«ãªããŸãããæé©åããã»ã¹äžã«ãå
ã®ããŒã¯ã¯å€±ãããŸãã ã«ã©ãŒãã¬ããã®ãããæ·±åºŠãåçŽã«æžããããšã§ããã®åé¡ã解決ã§ããããšãããããŸããã ã»ãšãã©ã®è²ã®ååžå¯åºŠã¯ãŒãã«è¿ããããã€ãã®é åã«å€§ããªããŒã¯ããããŸãã ãããã£ãŠãPhotoshopã§ãªãªãžãã«ãæäœããããšã«ãããç»åããæœåºããã屿§ãæäœããŸãã æ°åŠã®èšèªã§è¡šçŸããããããèŠèŠçã«è¡šçŸããæ¹ãç°¡åã§ãã ãŸãã ãã®çµæããã©ãã·ã§ãããšãµã€ã³ãèŠèŠåããã¹ã¯ãªãããè£
åãããã¶ã€ããŒãšãããŒãžã£ãŒã¯ãæ°åŠè
ãããã°ã©ããŒã䜿çšããå Žåããã3åéãçµæãéæããŸããã
è²ãšç¹åŸŽãµã€ãºã®æäœã®äŸãªãªãžãã« | å£åããŒãžã§ã³ |
---|
 |  |
ãŸãã¯ãããã«ã¹ã¿ã€ã«ãšããŠã·ã³ãã«ãªç»åãæ®ãããšãã§ããŸã ãããŠãããã¯vidosikã§ãããé©åãªãã¯ã¹ãã£ãŒã§ã®ã¿ã§ã , . . , lbfgs , . , , 10-15 . . . 17 , . , , ( Style Loss ). , , , .

, . -. , z , . - , .. Loss- , .

, , 17 , . residual learning .

residual block conv block.

, ( ).
çµäº
:
- :
: