EE-559 – Deep learning
- 1a. Introduction
Fran¸ cois Fleuret https://fleuret.org/dlc/
[version of: June 5, 2018]
ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE
EE-559 Deep learning 1a. Introduction Fran cois Fleuret - - PowerPoint PPT Presentation
EE-559 Deep learning 1a. Introduction Fran cois Fleuret https://fleuret.org/dlc/ [version of: June 5, 2018] COLE POLYTECHNIQUE FDRALE DE LAUSANNE Why learning Fran cois Fleuret EE-559 Deep learning / 1a. Introduction 2
[version of: June 5, 2018]
ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 2 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 3 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 4 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 4 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 4 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 4 / 63
>>> from torchvision import datasets >>> cifar = datasets.CIFAR10 (’./ data/cifar10/’, train=True , download=True) Files already downloaded and verified >>> x = torch.from_numpy (cifar. train_data )[43]. transpose (2, 0).transpose (1, 2) >>> x.size () torch.Size ([3, 32, 32]) >>> x.narrow (1, 0, 4).narrow (2, 0, 12) (0 ,.,.) = 99 98 100 103 105 107 108 110 114 115 117 118 100 100 102 105 107 109 110 112 115 117 119 120 104 104 106 109 111 112 114 116 119 121 123 124 109 109 111 113 116 117 118 120 123 124 127 128 (1 ,.,.) = 166 165 167 169 171 172 173 175 176 178 179 181 166 164 167 169 169 171 172 174 176 177 179 180 169 167 170 171 171 173 174 176 178 179 182 183 170 169 172 173 175 176 177 178 179 181 183 184 (2 ,.,.) = 198 196 199 200 200 202 203 204 205 206 208 209 195 194 197 197 197 199 200 201 202 203 206 207 197 195 198 198 198 199 201 202 203 204 206 207 197 196 199 198 198 199 200 201 203 204 207 208 [torch. ByteTensor
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 5 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 6 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 6 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 6 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 7 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 7 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 7 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 8 / 63
130
LOGICAL CALCULUS FOR NERVOUS ACTIVITY
b
e ~
~ 9 h
FIG~E 1
d f
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 9 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 10 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 10 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 10 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 10 / 63
visuo[ oreo 9l< QSsOCiQtion oreo-- lower-order
.grandmother retino --,- LGB --,. simple ~ complex --,. hypercomplex hypercomplex " -- cell '~
F- 3 I-- . . . . l r I I I I 1 1
[ I L ~ L J
R3 ~I
modifioble synapses ) unmodifiable synopses
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 11 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 12 / 63
32x32 Convolutions Subsampling Convolutions C1: feature maps 6@28x28 Subsampling S2: f. maps 6@14x14 S4: f. maps 16@5x5 C5: layer 120 C3: f. maps 16@10x10 F6: layer 84 Full connection Full connection Gaussian connections OUTPUT 10
✁❼✿▲❍✪❦✪❾★❦➝❱❜✸✶❆✶✯✪✿ ✵✶✰❅❆r✵✻✳✪✸✶✰❷✷✴⑥✦P❩✰❺❤❀✰r✵✻❑✂✁★❚♦✱✎❻✇✷✹❈❯▼❯✷✹❴▲✳★✵✶✿▲✷✹❈✪✱✴❴✦❤❳✰❅✳✪✸✶✱✴❴☛❤❳✰r✵●✽❢✷✹✸✻❣✑❚★✯✪✰❅✸✶✰❜⑥✙✷✹✸❢❉✪✿▲❍✹✿ ✵✻✺✏✸✶✰❅❆❅✷✹❍✹❈✪✿ ✵✶✿▲✷✹❈➎❦✥❧✈✱✴❆❖✯✞❃★❴➂✱✴❈✪✰❨✿▲✺✏✱➜⑥✙✰❇✱❘✵✶✳★✸✶✰❷❋✛✱✴❃❩❚✄✿✁❦ ✰✹❦✪✱➜✺✶✰r✵✏✷✴⑥❼✳✪❈✪✿ ✵✻✺ ✽❳✯★✷✹✺✶✰❨✽❢✰❅✿▲❍✹✯❯✵✶✺❜✱✴✸✶✰❨❆❅✷✹❈✪✺ ✵✶✸✶✱✴✿▲❈✪✰❅❉✞✵✶✷✎◗✑✰❷✿▲❉★✰❇❈❯✵✻✿▲❆❺✱✴❴✁❦ å➈ê➞è✧ç✙ï✶ëíï✖å➄è✧ÿ✙ä✥ï➽î➓å➄æ☎ê✒ø➑é➷è✥ç✙ï✶æ☎ä✧ï✖ú✐ø➀ì➈ÿ✎ê✌û➀å✪✘❛ï➊ä❞ð✫ã✛ç✙ï➓è✧ä❿å➄ø➀é☎å✑✡✙û➑ï ❶ì➇ï✱✯➵➊ø➑ï✖é✐è✒å➄é☎ù➒✡✙ø✓å➈ê✌➊ì➈é✐è✧ä✥ì➈û❦è✥ç✙ï➓ï❯➘✟ï✒❶è➞ì➄ë➵è✧ç✙ï✶ê✧ø✠✂➈î➻ì➈ø✓ù❖é☎ì➈é✦✝ û➀ø➑é✙ï❞å➄ä✥ø➩è❅✘❛ð➃➏⑥ë❦è✥ç✙ï➉❶ì➇ï✱✯➵➊ø➑ï✖é✐è➔ø➀ê♣ê✤î➓å➄û➀û✶➌✙è✧ç☎ï➊é✺è✧ç☎ï➞ÿ✙é✙ø➑è➉ì➈æ◆ï➊ä❿å✠è✥ï✖ê ø➀é✺å➵➍✐ÿ☎å❛ê✤ø✙✝⑥û➑ø➀é✙ï✖å➈ä✛î❭ì✂ù✂ï➎➌☎å➄é✎ù✶è✥ç✙ï➞ê✧ÿ❼✡✦✝➠ê✧å➈î❭æ☎û➑ø➀é❼✂➓û✓å✪✘➈ï➊ä✛î➻ï➊ä✥ï➊û✠✘ ✡✙û➀ÿ✙ä❿ê➻è✧ç✙ï❖ø➑é✙æ☎ÿ✂è✖ð ➏⑥ë➳è✥ç✙ï↕❶ì➇ï✱✯➵➊ø➑ï✖é✐è✶ø➀ê➽û➀å➈ä❺✂❛ï✑➌✇ê✧ÿ❼✡✦✝➠ê✥å➄î➻æ✙û➀ø➑é❼✂ ÿ✙é✙ø➑è✥ê④➊å➈é✆✡✎ï✒ê✧ï➊ï✖é✫å➈ê❨æ◆ï➊ä✧ëíì➈ä✥î➻ø➑é❼✂➽å ☛✤é✙ì❛ø➀ê❺✘✿ý✞✍ ✌➻ì❛ä➉å▲☛✤é✙ì❛ø➀ê❺✘ ✕➉ñ④✧✟✌➳ëíÿ☎é✗↔è✥ø➑ì❛é➻ù✙ï➊æ◆ï➊é☎ù✂ø➀é❼✂➤ì➈é❙è✧ç☎ï❨úrå➈û➑ÿ☎ï➵ì➈ë☎è✥ç✙ï✔✡✙ø➀å❛ê➊ð❣þ➇ÿ✗✒❶ï❞ê❅✝ ê✧ø➑ú❛ï❙û✓å✪✘➈ï✖ä✥ê♣ì➄ë✔❶ì➈é➇ú❛ì➈û➀ÿ✂è✧ø➀ì➈é☎ê➳å➄é✎ù❺ê✧ÿ❼✡✦✝➠ê✧å➈î➻æ✙û➑ø➀é❼✂✺å➄ä✥ï✒è❅✘➇æ✙ø✁➊å➈û➑û✠✘ å➄û➑è✧ï✖ä✧é✎å✠è✧ï❞ù❢➌☎ä✥ï✖ê✧ÿ✙û➑è✧ø➀é❼✂➽ø➀é❖å✏☛❺✡✙ø➟✝⑥æ☛✘➇ä✥å➈î❭ø✓ù ✌❇✰✇å✠è♣ï✖å✑❿ç✫û✓å✪✘➈ï✖ä✒➌✙è✧ç✙ï é➇ÿ✙î➉✡◆ï➊ä➳ì➄ë❣ëíï❞å✠è✥ÿ✙ä✧ï❙î➓å➄æ☎ê➉ø➀ê♣ø➑é✥❶ä✥ï✖å➈ê✧ï✖ù✫å❛ê➔è✥ç✙ï❙ê✧æ☎å➄è✧ø✓å➄û❯ä✧ï❞ê✤ì❛û➑ÿ✦✝ è✧ø➀ì➈é❭ø✓ê❯ù✙ï✒❶ä✥ï✖å❛ê✤ï❞ù☛ð ✭✇å✑❿ç➞ÿ☎é✙ø➩è❣ø➀é✒è✥ç✙ï➵è✧ç✙ø➀ä❿ù✒ç✙ø✓ù✙ù✂ï✖é❙û✓å✪✘➈ï✖ä❇ø➀é➑➞✗✂❄✝ ÿ✙ä✥ï✄✑➵î➓å✪✘➉ç☎årú❛ï❣ø➑é☎æ✙ÿ✂è❜➊ì➈é✙é☎ï✒↔è✥ø➑ì❛é☎ê✟ëíä✥ì➈î ê✤ï✖ú➈ï✖ä✥å➈ûrëíï✖å✠è✥ÿ✙ä✥ï➏î➓å➄æ☎ê ø➀é✢è✥ç✙ï✌æ✙ä✥ï➊ú➇ø➀ì➈ÿ☎ê✛û✓å✪✘➈ï✖ä✖ð❦ã✛ç✙ï➓❶ì❛é➇ú➈ì➈û➀ÿ✂è✥ø➑ì❛é☎✄✠ê✧ÿ❼✡✦✝➠ê✧å➈î➻æ✙û➑ø➀é❼✂➚❶ì➈î➚✝ ✡✙ø➀é☎å✠è✥ø➑ì❛é✏➌☛ø➀é☎ê✤æ☎ø➑ä✥ï✖ù✆✡☛✘✫õ➔ÿ✗✡✎ï✖û➏å➄é☎ù ✎ ø➑ï❞ê✤ï✖û✡❁ ê➉é☎ì➄è✧ø➀ì➈é✎ê➉ì➈ë ☛✧ê✧ø➑î➚✝ æ✙û➀ï✖✌➤å➄é✎ù ☛❘❶ì❛î❭æ☎û➑ï✄↔✔✌✞❶ï✖û➑û✓ê✒➌➄ó➵å❛ê❦ø➑î➻æ✙û➀ï➊î➻ï✖é❛è✥ï✖ù❭ø➀é➚✜☎ÿ✙ô➇ÿ☎ê✤ç☎ø➑î➓å❂❁ ê ñ➔ï✖ì✦❶ì✑✂❛é✙ø➑è✧ä✥ì➈é ✞ ❜ ✑✆✠❖➌✎è✧ç✙ì❛ÿ❼✂➈ç✫é✙ì➙✂➈û➀ì✑✡☎å➈û➑û✠✘✺ê✤ÿ✙æ◆ï➊ä✥ú➇ø➀ê✧ï✖ù✺û➀ï✖å➈ä✧é☎ø➑é❼✂ æ✙ä✥ì✦❶ï✖ù✙ÿ✙ä✧ï✌ê✧ÿ✗❿ç✺å➈ê✎✡☎å✑❿ô❩✝⑥æ✙ä✥ì➈æ☎å✑✂❛å✠è✥ø➑ì❛é➓ó➵å❛ê❨årú✠å➄ø➀û➀å✑✡✙û➑ï♣è✧ç☎ï➊é✝ð❹✕ û✓å➄ä❘✂➈ï✒ù✂ï✒✂➈ä✥ï➊ï➞ì➈ë❫ø➀é✐ú✠å➈ä✧ø✓å➄é✗➊ï✌è✧ì➙✂➈ï✖ì➈î➻ï❶è✥ä✧ø✁➤è✧ä❿å➄é✎ê④ëíì❛ä✧î➓å✠è✥ø➑ì❛é☎ê❨ì➈ë è✧ç☎ï❭ø➀é✙æ✙ÿ✙è✌✖å➄é➛✡✎ï➓å✑❿ç☎ø➑ï✖ú➈ï✖ù➲ó❨ø➩è✥ç❖è✥ç✙ø➀ê➤æ☎ä✧ì➎✂➈ä✥ï✖ê✥ê✤ø➀ú➈ï➞ä✥ï✖ù✙ÿ✗↔è✥ø➑ì❛é ì➄ë✝ê✧æ☎å✠è✥ø➀å➈û✙ä✥ï✖ê✧ì➈û➀ÿ✂è✧ø➀ì➈é➵❶ì❛î➻æ✎ï✖é☎ê✧å➄è✧ï❞ù➝✡❩✘❭å✌æ✙ä✥ì✑✂❛ä✧ï❞ê✧ê✧ø➑ú❛ï❫ø➀é✗❶ä✥ï✖å❛ê✤ï ì➄ë◆è✧ç☎ï➔ä✧ø✁❿ç✙é✙ï❞ê✧ê❯ì➈ë✎è✥ç✙ï➔ä✥ï➊æ✙ä✥ï✖ê✧ï➊é✐è✥å➄è✧ø➀ì➈é➐➪➺è✧ç☎ï➔é➇ÿ✙î➉✡◆ï➊ä➏ì➈ë✎ëíï❞å✠è✥ÿ✙ä✧ï î➓å➄æ☎ê✴➶↔ð þ➇ø➑é✥❶ï✌å➄û➀û☎è✥ç✙ï➤ó✇ï✖ø✙✂❛ç✐è✥ê➵å➄ä✥ï➉û➀ï✖å➄ä✥é✙ï❞ù➽ó❨ø➑è✧ç➐✡☎å✑❿ô❩✝⑥æ✙ä✧ì❛æ☎å❄✂✐å✠è✥ø➑ì❛é✏➌ ❶ì❛é➇ú➈ì➈û➀ÿ✂è✥ø➑ì❛é☎å➄û✛é✙ï➊è④ó✇ì❛ä✧ô✂ê➝➊å➈é⑧✡◆ï➲ê✤ï✖ï➊é➘å➈ê➓ê❺✘➇é❛è✥ç✙ï✖ê✧ø✠➽➊ø➀é❼✂❖è✥ç✙ï➊ø➀ä ì✠ó❨é ëíï✖å➄è✧ÿ✙ä✥ï➓ï❯↔➇è✧ä❿å✑❶è✧ì❛ä✖ð➽ã✛ç✙ï✶ó✇ï✖ø✙✂❛ç❛è➞ê✧ç☎å➄ä✥ø➀é❼✂✿è✧ï✒❿ç☎é✙ø✠➍✐ÿ✙ï✶ç☎å➈ê è✧ç☎ï✢ø➀é✐è✧ï➊ä✥ï✖ê✤è✧ø➀é❼✂ ê✤ø✓ù✂ï✿ï❯➘✟ï✒↔è➻ì➄ë➔ä✥ï✖ù✙ÿ✗❶ø➀é❼✂➲è✥ç✙ï✿é✐ÿ☎î➉✡◆ï➊ä➻ì➄ë❨ëíä✥ï➊ï æ☎å➈ä✥å➈î❭ï➊è✧ï✖ä✥ê✒➌✛è✧ç✙ï✖ä✧ï✒✡☛✘ ä✥ï✖ù✙ÿ✗❶ø➀é❼✂ è✥ç✙ï ☛❺➊å➈æ☎å✑➊ø➩è❅✘✔✌➷ì➈ë➞è✧ç✙ï î➓å♦✝ ❿ç✙ø➀é✙ï➉å➈é☎ù➻ä✧ï❞ù✂ÿ✗➊ø➑é❼✂➤è✥ç✙ï✛✂✐å➄æ➝✡✎ï➊è④ó✇ï✖ï➊é➻è✥ï✖ê✤è❫ï➊ä✥ä✧ì❛ä➏å➄é☎ù❭è✥ä✥å➈ø➑é☎ø➑é❼✂ ï➊ä✥ä✥ì➈ä ✞ ❜✫❝✬✠⑥ð➽ã✛ç✙ï➓é✙ï➊è④ó✇ì❛ä✧ô➲ø➀é➒➞✗✂➈ÿ☎ä✧ï❵✑✫❶ì❛é✐è✥å➄ø➀é☎ê✹❜✫❝✗✘❼➌ ❀✻✘✗✺ ➊ì➈é✦✝ é✙ï★↔è✧ø➀ì➈é✎ê✄➌♦✡✙ÿ✙è❦ì❛é✙û✠✘ ✓✗✘❼➌ ✘✻✘✗✘✛è✧ä❿å➄ø➀é☎å❄✡☎û➑ï❫ëíä✧ï✖ï❫æ☎å➈ä✥å➈î❭ï➊è✧ï✖ä✥ê❳✡✎ï★➊å➈ÿ☎ê✤ï ì➄ë❯è✧ç☎ï✌ó✇ï✖ø✙✂❛ç❛è➔ê✧ç☎å➄ä✥ø➀é❼✂☎ð ✜❇ø✙↔✂ï✖ù☛✝➠ê✧ø✙➽✖ï❭☞✇ì❛é✐ú❛ì➈û➀ÿ✂è✧ø➀ì➈é✎å➄û❙ñ➉ï❶è④ó➵ì➈ä✥ô✂ê❖ç☎årú❛ï➹✡◆ï➊ï✖é➶å➄æ☎æ✙û➑ø➀ï✖ù è✧ì î➓å➈é❩✘❑å➄æ✙æ✙û➀ø✁➊å✠è✥ø➑ì❛é☎ê✒➌➵å➈î❭ì❛é❼✂ ì➄è✧ç☎ï➊ä➽ç☎å➈é☎ù✂ó❨ä✥ø➩è✥ø➑é✗✂ ä✥ï✒➊ì✑✂❛é✙ø➟✝ è✧ø➀ì➈é✩✞ ❜ ✙✆✠❖➌ ✞ ❜✗✓ ✠❖➌☛î➓å✑❿ç✙ø➀é✙ï❯✝⑥æ✙ä✥ø➑é✐è✥ï✖ù➔❿ç✎å➄ä❿å✑↔è✥ï➊ä♣ä✧ï★❶ì✑✂❛é✙ø➑è✧ø➀ì➈é ✞ ❜ ✔✆✠✶➌ ì➈é❼✝♠û➀ø➑é☎ï✾ç☎å➈é☎ù✂ó❨ä✥ø➩è✥ø➑é✗✂➶ä✥ï✒➊ì✑✂➈é☎ø➩è✥ø➑ì❛é ✞ ❜✗✺ ✠❖➌➲å➄é☎ù✴ë⑨å✑➊ï✾ä✥ï✒➊ì✑✂❛é✙ø➟✝ è✧ø➀ì➈é ✞ ❜✗❀ ✠⑥ð ✜❇ø✙↔✂ï✖ù☛✝➠ê✧ø✙➽✖ï➹❶ì❛é✐ú❛ì➈û➀ÿ✂è✧ø➀ì➈é✎å➄û➞é✙ï➊è④ó✇ì❛ä✧ô✂ê✿è✥ç☎å✠è➷ê✤ç☎å➈ä✧ï ó➵ï➊ø✠✂➈ç✐è✥ê➻å➄û➀ì➈é✗✂ å ê✤ø➀é❼✂❛û➑ï✿è✧ï✖î➻æ✎ì❛ä✥å➈û✛ù✙ø➑î➻ï➊é✎ê✤ø➀ì➈é➘å➄ä✥ï✢ô➇é✙ì✠ó❨é å➈ê ã✛ø➀î❭ï✄✝❖✧♣ï➊û✓å✪✘♣ñ➉ï➊ÿ✙ä❿å➄û✐ñ➔ï➊è④ó✇ì❛ä✧ô✂ê❷➪⑨ã✩✧➳ñ➉ñ♣ê❘➶❶ð❯ã✩✧➳ñ➉ñ♣ê❀ç✎årú➈ï❷✡◆ï➊ï➊é ÿ☎ê✧ï✖ù❖ø➑é➲æ☎ç✙ì➈é✙ï✖î➻ï❙ä✥ï✒➊ì✑✂➈é☎ø➩è✥ø➑ì❛é✢➪íó❨ø➑è✧ç✙ì❛ÿ✂è➤ê✧ÿ❼✡✦✝➠ê✥å➄î➻æ✙û➀ø➑é❼✂☛➶✜✞ ❝✗✘✬✠✶➌ ✞ ❝✗➾✡✠❖➌➻ê✤æ◆ì➈ô❛ï➊éòó➵ì➈ä❿ù ä✥ï✒❶ì➎✂➈é✙ø➑è✧ø➀ì➈é ➪⑨ó❨ø➩è✥ç✭ê✧ÿ❼✡✦✝➠ê✥å➄î➻æ✙û➀ø➑é❼✂☛➶ ✞ ❝✵✑ ✠✶➌ ✞ ❝ ❜ ✠❖➌✌ì➈é❼✝♠û➀ø➑é☎ï ä✧ï★❶ì✑✂❛é✙ø➑è✧ø➀ì➈é ì➄ë➻ø➀ê✧ì➈û✓å✠è✥ï✖ù❲ç☎å➈é☎ù✂ó❨ä✥ø➩è✧è✧ï➊é②❿ç✎å➄ä❿å✑✹✝ è✧ï✖ä✥ê✹✞ ❝✫❝✫✠✶➌✙å➈é☎ù✺ê✤ø✠✂➈é✎å✠è✧ÿ☎ä✧ï➳ú➈ï✖ä✧ø✙➞✥➊å➄è✧ø➀ì➈é ✞ ❝✦✙✆✠⑥ð ✬ ✛❊✢ ➳❺➸➑➳❯➺❩✭✝✆ ã✛ç✙ø➀ê➉ê✤ï★↔è✧ø➀ì➈é✫ù✂ï❞ê❺➊ä✧ø✠✡◆ï✖ê❨ø➀é✺î❭ì❛ä✧ï✌ù✂ï➊è✥å➈ø➑û❀è✧ç✙ï➞å➈ä❘❿ç✙ø➑è✧ï★↔è✥ÿ✙ä✧ï➤ì➈ë ✗✝ï❞ñ➔ï➊è❇✝ ✙✦➌❨è✥ç✙ï①☞✇ì❛é➇ú➈ì➈û➀ÿ✂è✥ø➑ì❛é☎å➄û➳ñ➔ï➊ÿ☎ä✥å➈û♣ñ➔ï➊è④ó✇ì❛ä✧ô➘ÿ☎ê✧ï✖ù✻ø➑é✲è✧ç✙ï ï❯↔✂æ◆ï➊ä✥ø➑î➻ï✖é❛è❿ê➊ð ✗❀ï✖ñ➔ï➊è❇✝ ✙➉➊ì➈î➻æ✙ä✥ø➀ê✧ï✖ê ✔➞û➀å✪✘❛ï➊ä❿ê✄➌✐é✙ì➄è✩❶ì❛ÿ✙é✐è✧ø➀é❼✂❙è✧ç✙ï ø➀é✙æ✙ÿ✂è★➌☎å➄û➀û✟ì➄ë❀ó❨ç✙ø✁❿ç➙➊ì➈é✐è✥å➈ø➑é✶è✧ä❿å➄ø➀é☎å❄✡☎û➑ï➳æ☎å➄ä❿å➄î➻ï➊è✧ï➊ä❿ê✬➪⑨ó✇ï✖ø✙✂❛ç✐è✥ê✴➶↔ð ã✛ç✙ï➏ø➀é✙æ✙ÿ✙è❀ø➀ê❀å❙❜ ✑✪↔ ❜✵✑❫æ☎ø➟↔✂ï➊û➈ø➑î➓å❄✂❛ï➈ð❀ã✛ç☎ø➀ê❀ø➀ê✝ê✧ø✠✂➈é✙ø✙➞✥➊å➈é✐è✧û✠✘➉û✓å➄ä❘✂➈ï➊ä è✧ç✎å➄é✺è✧ç☎ï➞û➀å➈ä❺✂❛ï✖ê✤è✬❿ç☎å➄ä❿å✑❶è✧ï✖ä❨ø➑é✺è✥ç✙ï✒ù✙å➄è✥å❄✡✎å➈ê✧ï➣➪⑨å✠è♣î❭ì✐ê④è✒✑❆✘♦↔✤✑✻✘ æ✙ø✙↔✂ï➊û✓ê➓❶ï✖é❛è✥ï➊ä✥ï✖ù❺ø➑é å❈✑✻✺♦↔✤✑❆✺ ➞☎ï➊û✓ù✗➶❶ð✶ã✛ç✙ï➓ä✥ï✖å➈ê✧ì➈é ø✓ê➤è✧ç☎å➄è➞ø➩è➞ø✓ê ù✂ï❞ê✤ø➀ä✥å✑✡✙û➀ï✌è✧ç☎å➄è♣æ◆ì➄è✥ï➊é✐è✧ø✓å➄û❦ù✂ø✓ê④è✥ø➑é✗❶è✧ø➀ú➈ï✒ëíï✖å✠è✥ÿ✙ä✥ï✖ê➉ê✧ÿ✗❿ç➲å❛ê♣ê✤è✧ä✥ì➈ô❛ï ï➊é✎ù☛✝♠æ◆ì➈ø➀é✐è✥ê➵ì➈ä✎❶ì❛ä✧é✙ï✖ä✎✖å➄é✶å➈æ✙æ◆ï✖å➄ä❊✣●➨✆➺➭➥❼➳ ❄✴➳✄➨✗➺r➳❯➡❣ì➈ë✝è✧ç☎ï♣ä✥ï✒➊ï➊æ✦✝ è✧ø➀ú➈ï✞➞☎ï✖û➀ù✿ì➈ë❀è✧ç☎ï✌ç✙ø✙✂❛ç✙ï✖ê✤è❇✝⑥û➀ï➊ú➈ï✖û◆ëíï✖å✠è✥ÿ✙ä✥ï➤ù✙ï❶è✧ï★↔è✥ì➈ä❿ê➊ð❨➏➠é❖✗✝ï❞ñ➔ï❶è❺✝✝✙ è✧ç☎ï♣ê✧ï❶è✇ì➈ë✏❶ï➊é✐è✥ï➊ä❿ê➏ì➄ë☛è✥ç✙ï➉ä✥ï✒➊ï➊æ✂è✥ø➑ú❛ï✩➞☎ï✖û➀ù✙ê✇ì➄ë✟è✥ç✙ï➉û✓å➈ê✤è✎➊ì➈é➇ú➈ì❛û➑ÿ✦✝ è✧ø➀ì➈é✎å➄û✂û✓å✪✘➈ï➊ä✛➪❖☞❀❜❼➌➈ê✧ï➊ï✩✡◆ï➊û➀ì✠ó✬➶❀ëíì➈ä✥î➶å✹✑❆✘❄↔✤✑❆✘➳å➄ä✥ï✖å♣ø➑é❭è✧ç☎ï✬❶ï✖é❛è✥ï➊ä ì➄ë❀è✧ç✙ï✹❜ ✑♦↔ ❜ ✑➤ø➀é✙æ✙ÿ✂è❞ð❫ã✛ç✙ï➳ú✠å➄û➀ÿ✙ï✖ê➵ì➄ë❇è✧ç✙ï➳ø➀é✙æ✙ÿ✂è➔æ✙ø✙↔✂ï➊û✓ê✛å➄ä✥ï➉é✙ì❛ä❇✝ î➓å➄û➀ø✙➽✖ï✖ù❺ê✤ì✢è✧ç☎å➄è➤è✧ç✙ï➝✡☎å➎❿ô❩✂❛ä✧ì❛ÿ✙é☎ù✫û➀ï➊ú❛ï➊û✩➪íó❨ç☎ø➩è✥ï★➶t❶ì❛ä✧ä✥ï✖ê✧æ◆ì➈é☎ù✙ê è✧ì✫å✿ú✠å➄û➀ÿ✙ï➻ì➄ë➃✝ ✘☎ð✙➾❭å➄é☎ù❖è✧ç✙ï➻ëíì❛ä✧ï✒✂➈ä✥ì➈ÿ✙é✎ù✢➪➭✡✙û✓å✑❿ô❼➶✞❶ì❛ä✧ä✥ï✖ê✧æ◆ì➈é☎ù✙ê è✧ì①➾❛ð✙➾✍✔✬✙✙ð➻ã✛ç☎ø➀ê✌î➓å➈ô➈ï✖ê➳è✥ç✙ï➓î➻ï✖å➈é ø➀é✙æ✙ÿ✙è✒ä✧ì❛ÿ❼✂➈ç☎û✙✘✦✘✗➌❇å➈é☎ù❺è✧ç✙ï ú✠å➄ä✥ø➀å➈é✗❶ï➳ä✥ì➈ÿ❼✂❛ç✙û✙✘➔➾➳ó❨ç☎ø✠❿ç✺å✑✒❶ï➊û➀ï➊ä❿å✠è✥ï✖ê➵û➀ï✖å➄ä✥é✙ø➀é❼✂❖✞ ❝ ✓ ✠⑥ð ➏➠é➤è✧ç✙ï❫ëíì➈û➀û➑ì✠ó❨ø➀é❼✂✗➌✪❶ì❛é➇ú➈ì➈û➀ÿ✂è✥ø➑ì❛é☎å➄û✠û✓å✪✘➈ï✖ä✥ê✝å➈ä✧ï❣û✓å❄✡◆ï➊û➀ï✖ù➉☞➜↔❢➌✠ê✧ÿ❼✡✦✝ ê✥å➄î➻æ✙û➀ø➑é❼✂✢û➀å✪✘❛ï➊ä❿ê➉å➈ä✧ï➞û✓å❄✡◆ï➊û➀ï✖ù þ❩↔❢➌☛å➄é☎ù➲ëíÿ✙û➑û✠✘❩✝❖➊ì➈é✙é☎ï✒↔è✥ï✖ù✫û✓å✪✘➈ï✖ä✥ê å➄ä✥ï➤û➀å✑✡✎ï✖û➑ï❞ù➙✜❳↔❢➌✙ó❨ç✙ï✖ä✧ï✞↔✿ø➀ê➵è✥ç✙ï✌û➀å✪✘❛ï➊ä✛ø➀é☎ù✂ï❯↔☛ð ✗❀å✪✘➈ï✖ä➑☞④➾➽ø✓ê✒å✆❶ì❛é➇ú➈ì➈û➀ÿ✂è✥ø➑ì❛é☎å➄û❣û✓å✪✘➈ï✖ä➞ó❨ø➩è✥ç✮✓✺ëíï✖å➄è✧ÿ✙ä✥ï➓î➓å➄æ☎ê✖ð ✭❫å➎❿ç➻ÿ✙é✙ø➑è➵ø➀é➓ï✖å➎❿ç➻ëíï✖å✠è✥ÿ✙ä✥ï➔î➓å➄æ➽ø✓ê➜➊ì➈é✙é✙ï★↔è✥ï✖ù➻è✥ì✒å ✙✪↔✤✙➤é☎ï➊ø✠✂➈ç✦✝ ✡◆ì➈ä✥ç✙ì➇ì➇ù✒ø➑é✒è✧ç✙ï✛ø➀é✙æ✙ÿ✂è❞ð❯ã✛ç☎ï✛ê✧ø✠➽➊ï❫ì➈ë☎è✥ç✙ï❫ëíï❞å✠è✥ÿ✙ä✧ï➵î➓å➄æ☎ê❯ø✓ê ✑❆✺♦↔✤✑✻✺ ó❨ç✙ø✁❿ç❖æ✙ä✥ï➊ú❛ï➊é✐è✥êt➊ì➈é✙é✙ï★↔è✥ø➑ì❛é➲ëíä✥ì➈î è✧ç☎ï❭ø➀é✙æ✙ÿ✙è✌ëíä✧ì❛î ë⑨å➄û➀û➑ø➀é❼✂✿ì❄➘ è✧ç☎ï➑✡◆ì➈ÿ✙é✎ù✙å➄ä❘✘➈ð➓☞④➾➑➊ì➈é✐è✥å➈ø➑é☎ê➉➾ ✙✻✓➻è✧ä❿å➄ø➀é☎å❄✡☎û➑ï❙æ☎å➄ä❿å➄î➻ï❶è✥ï➊ä❿ê✄➌◆å➄é☎ù ➾ ✑ ✑✦➌ ❜✻✘✫❝➑❶ì❛é✙é✙ï★↔è✧ø➀ì➈é✎ê➊ð ✗❀å✪✘➈ï✖ä➔þ ✑❭ø➀ê➉å➓ê✤ÿ❼✡❼✝⑥ê✥å➄î➻æ✙û➀ø➑é✗✂❭û✓å✪✘➈ï✖ä❨ó❨ø➩è✥ç ✓❙ëíï✖å✠è✥ÿ✙ä✥ï✌î➻å➈æ☎ê❨ì➈ë ê✧ø✙➽✖ï✞➾✖❝❄↔❢➾❪❝✎ð★✭❫å➎❿ç✒ÿ✙é☎ø➩è❣ø➀é❭ï❞å✑❿ç✒ëíï✖å✠è✥ÿ✙ä✥ï➵î➓å➈æ❙ø✓ê❷❶ì❛é✙é✙ï✒❶è✧ï❞ù➞è✥ì➳å ✑✪↔✤✑➤é☎ï➊ø✠✂➈ç☛✡✎ì❛ä✧ç☎ì✐ì✂ù➻ø➀é➓è✧ç☎ï④❶ì❛ä✧ä✥ï✖ê✧æ◆ì➈é☎ù✂ø➀é❼✂➤ëíï❞å✠è✧ÿ☎ä✧ï♣î➻å➈æ➓ø➑é✫☞④➾➈ð ã✛ç✙ï➳ëíì➈ÿ☎ä❨ø➑é✙æ☎ÿ✂è✥ê✛è✥ì➓å✒ÿ✙é☎ø➩è➔ø➀é➲þ ✑✒å➈ä✧ï✌å❛ù✙ù✂ï✖ù✏➌➇è✧ç✙ï✖é✢î❙ÿ✙û➩è✥ø➑æ☎û➑ø➀ï✖ù ✡☛✘ å✫è✧ä❿å➄ø➀é☎å✑✡✙û➑ï➐❶ì➇ï❈✯➣➊ø➑ï✖é❛è★➌➏å➄é☎ù❑å➈ù✙ù✙ï✖ù➷è✥ì å➲è✧ä❿å➄ø➀é☎å❄✡✙û➀ï➣✡✙ø✓å➈ê✖ð ã✛ç✙ï➲ä✥ï✖ê✧ÿ✙û➑è➽ø➀ê✶æ☎å➈ê✥ê✧ï✖ù❑è✧ç✙ä✥ì➈ÿ✗✂➈ç❍å ê✤ø✠✂➈î➻ì❛ø➀ù✙å➈û✛ëíÿ✙é✗❶è✧ø➀ì➈é✝ð ã✛ç✙ï ✑✪↔✤✑✶ä✧ï★❶ï✖æ✂è✧ø➀ú➈ï➑➞☎ï➊û✓ù✙ê✌å➈ä✧ï❙é✙ì➈é✦✝⑥ì✠ú➈ï✖ä✧û✓å➄æ☎æ✙ø➑é✗✂✗➌✎è✧ç✙ï✖ä✧ï➊ëíì➈ä✥ï✒ëíï❞å✠è✧ÿ☎ä✧ï î➓å➄æ☎ê✒ø➑é❤þ✤✑✺ç☎årú➈ï➻ç☎å➈û➩ë✛è✥ç✙ï✶é➇ÿ✙î➑✡✎ï✖ä✒ì➄ë✛ä✥ì✠ó➔ê➞å➄é☎ù①➊ì➈û➀ÿ✙î➻é å➈ê ëíï✖å➄è✧ÿ✙ä✥ï➤î➓å➄æ☎ê❨ø➀é➔☞④➾➈ð ✗❇å✪✘➈ï➊ä❨þ ✑❭ç☎å❛êt➾ ✑✒è✧ä❿å➄ø➀é☎å✑✡✙û➑ï➤æ☎å➈ä✥å➈î➻ï❶è✧ï✖ä✥ê å➄é✎ù✳✙❼➌ ✺✗✺✻✘➚❶ì➈é☎é✙ï✒❶è✧ø➀ì➈é☎ê✖ð ✗❀å✪✘➈ï✖ä✞☞❀❜➻ø✓ê♣å➣➊ì➈é➇ú➈ì❛û➑ÿ✙è✧ø➀ì➈é☎å➈û☛û➀å✪✘❛ï➊ä➔ó❨ø➑è✧ç✢➾✒✓❭ëíï✖å➄è✧ÿ✙ä✥ï➞î➓å➄æ☎ê✖ð ✭❫å➎❿ç✺ÿ✙é✙ø➑è➉ø➑é✫ï❞å✑❿ç✿ëíï✖å➄è✧ÿ✙ä✥ï➞î➓å➄æ✺ø✓ê✬➊ì➈é✙é✙ï★↔è✥ï✖ù✢è✧ì✶ê✧ï➊ú❛ï➊ä❿å➄û ✙♦↔ ✙ é✙ï✖ø✙✂❛ç❩✡◆ì➈ä✥ç✙ì➇ì✂ù✙ê✺å✠è✫ø✓ù✂ï➊é✐è✧ø✁➊å➈û➤û➑ì✦➊å➄è✧ø➀ì➈é☎ê✺ø➀é å❑ê✧ÿ❼✡☎ê✧ï❶è➲ì➈ë➻þ ✑❂❁ ê ëíï✖å➄è✧ÿ✙ä✥ï✿î➻å➈æ☎ê✖ð❑ã❯å❄✡✙û➀ï➙➏❭ê✤ç☎ì✠ó➔ê✒è✥ç✙ï✫ê✤ï➊è❭ì➈ë➤þ ✑➲ëíï✖å➄è✧ÿ✙ä✥ï✿î➻å➈æ☎êFran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 13 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 14 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 15 / 63
7x7 conv, 64, /2 pool, /2 3x3 conv, 64 3x3 conv, 64 3x3 conv, 64 3x3 conv, 64 3x3 conv, 64 3x3 conv, 64 3x3 conv, 128, /2 3x3 conv, 128 3x3 conv, 128 3x3 conv, 128 3x3 conv, 128 3x3 conv, 128 3x3 conv, 128 3x3 conv, 128 3x3 conv, 256, /2 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 512, /2 3x3 conv, 512 3x3 conv, 512 3x3 conv, 512 3x3 conv, 512 3x3 conv, 512 avg pool fc 1000 image
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 16 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 17 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 18 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 19 / 63
Krizhevsky et al. (2012) Graham (2015) Human performance Real et al. (2018)
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 20 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 21 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 21 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 21 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 22 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 23 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 24 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 25 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 26 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 27 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 28 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 29 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 30 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 31 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 32 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 33 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 34 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 35 / 63
10-3 100 103 106 109 1012 1960 1970 1980 1990 2000 2010 2020 Flops per USD
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 36 / 63
103 106 109 1012 1980 1990 2000 2010 2020 Bytes per USD
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 37 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 38 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 39 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 40 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 41 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 42 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 43 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 44 / 63
class Net(nn.Module): def __init__(self): super(Net , self).__init__ () self.conv1 = nn.Conv2d (1, 32, kernel_size =5) self.conv2 = nn.Conv2d (32, 64, kernel_size =5) self.fc1 = nn.Linear (256 , 200) self.fc2 = nn.Linear (200 , 10) def forward(self , x): x = F.relu(F. max_pool2d (self.conv1(x), kernel_size =3)) x = F.relu(F. max_pool2d (self.conv2(x), kernel_size =2)) x = x.view(-1, 256) x = F.relu(self.fc1(x)) x = self.fc2(x) return x model = Net () mu , std = train_input .data.mean (), train_input .data.std () train_input .data.sub_(mu).div_(std)
criterion , bs = nn. CrossEntropyLoss (), 100 model.cuda () criterion.cuda () train_input , train_target = train_input .cuda (), train_target .cuda () for e in range (10): for b in range (0, nb_train_samples , bs):
loss = criterion(output , train_target .narrow (0, b, bs)) model.zero_grad () loss.backward ()
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 45 / 63
class Net(nn.Module): def __init__(self): super(Net , self).__init__ () self.conv1 = nn.Conv2d (1, 32, kernel_size =5) self.conv2 = nn.Conv2d (32, 64, kernel_size =5) self.fc1 = nn.Linear (256 , 200) self.fc2 = nn.Linear (200 , 10) def forward(self , x): x = F.relu(F. max_pool2d (self.conv1(x), kernel_size =3)) x = F.relu(F. max_pool2d (self.conv2(x), kernel_size =2)) x = x.view(-1, 256) x = F.relu(self.fc1(x)) x = self.fc2(x) return x model = Net () mu , std = train_input .data.mean (), train_input .data.std () train_input .data.sub_(mu).div_(std)
criterion , bs = nn. CrossEntropyLoss (), 100 model.cuda () criterion.cuda () train_input , train_target = train_input .cuda (), train_target .cuda () for e in range (10): for b in range (0, nb_train_samples , bs):
loss = criterion(output , train_target .narrow (0, b, bs)) model.zero_grad () loss.backward ()
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 45 / 63
class Net(nn.Module): def __init__(self): super(Net , self).__init__ () self.conv1 = nn.Conv2d (1, 32, kernel_size =5) self.conv2 = nn.Conv2d (32, 64, kernel_size =5) self.fc1 = nn.Linear (256 , 200) self.fc2 = nn.Linear (200 , 10) def forward(self , x): x = F.relu(F. max_pool2d (self.conv1(x), kernel_size =3)) x = F.relu(F. max_pool2d (self.conv2(x), kernel_size =2)) x = x.view(-1, 256) x = F.relu(self.fc1(x)) x = self.fc2(x) return x model = Net () mu , std = train_input .data.mean (), train_input .data.std () train_input .data.sub_(mu).div_(std)
criterion , bs = nn. CrossEntropyLoss (), 100 model.cuda () criterion.cuda () train_input , train_target = train_input .cuda (), train_target .cuda () for e in range (10): for b in range (0, nb_train_samples , bs):
loss = criterion(output , train_target .narrow (0, b, bs)) model.zero_grad () loss.backward ()
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 45 / 63
class Net(nn.Module): def __init__(self): super(Net , self).__init__ () self.conv1 = nn.Conv2d (1, 32, kernel_size =5) self.conv2 = nn.Conv2d (32, 64, kernel_size =5) self.fc1 = nn.Linear (256 , 200) self.fc2 = nn.Linear (200 , 10) def forward(self , x): x = F.relu(F. max_pool2d (self.conv1(x), kernel_size =3)) x = F.relu(F. max_pool2d (self.conv2(x), kernel_size =2)) x = x.view(-1, 256) x = F.relu(self.fc1(x)) x = self.fc2(x) return x model = Net () mu , std = train_input .data.mean (), train_input .data.std () train_input .data.sub_(mu).div_(std)
criterion , bs = nn. CrossEntropyLoss (), 100 model.cuda () criterion.cuda () train_input , train_target = train_input .cuda (), train_target .cuda () for e in range (10): for b in range (0, nb_train_samples , bs):
loss = criterion(output , train_target .narrow (0, b, bs)) model.zero_grad () loss.backward ()
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 45 / 63
class Net(nn.Module): def __init__(self): super(Net , self).__init__ () self.conv1 = nn.Conv2d (1, 32, kernel_size =5) self.conv2 = nn.Conv2d (32, 64, kernel_size =5) self.fc1 = nn.Linear (256 , 200) self.fc2 = nn.Linear (200 , 10) def forward(self , x): x = F.relu(F. max_pool2d (self.conv1(x), kernel_size =3)) x = F.relu(F. max_pool2d (self.conv2(x), kernel_size =2)) x = x.view(-1, 256) x = F.relu(self.fc1(x)) x = self.fc2(x) return x model = Net () mu , std = train_input .data.mean (), train_input .data.std () train_input .data.sub_(mu).div_(std)
criterion , bs = nn. CrossEntropyLoss (), 100 model.cuda () criterion.cuda () train_input , train_target = train_input .cuda (), train_target .cuda () for e in range (10): for b in range (0, nb_train_samples , bs):
loss = criterion(output , train_target .narrow (0, b, bs)) model.zero_grad () loss.backward ()
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 45 / 63
class Net(nn.Module): def __init__(self): super(Net , self).__init__ () self.conv1 = nn.Conv2d (1, 32, kernel_size =5) self.conv2 = nn.Conv2d (32, 64, kernel_size =5) self.fc1 = nn.Linear (256 , 200) self.fc2 = nn.Linear (200 , 10) def forward(self , x): x = F.relu(F. max_pool2d (self.conv1(x), kernel_size =3)) x = F.relu(F. max_pool2d (self.conv2(x), kernel_size =2)) x = x.view(-1, 256) x = F.relu(self.fc1(x)) x = self.fc2(x) return x model = Net () mu , std = train_input .data.mean (), train_input .data.std () train_input .data.sub_(mu).div_(std)
criterion , bs = nn. CrossEntropyLoss (), 100 model.cuda () criterion.cuda () train_input , train_target = train_input .cuda (), train_target .cuda () for e in range (10): for b in range (0, nb_train_samples , bs):
loss = criterion(output , train_target .narrow (0, b, bs)) model.zero_grad () loss.backward ()
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 45 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 46 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 47 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 48 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 49 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 50 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 51 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 52 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 53 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 54 / 63
LN LN ... LN LN ... LN LN LN LN LN LN Stimulus
Encoding Decoding Neurons Behavior RGC LGN V2 V4 V1 DOG ? ? ? PIT CIT AIT
...
Φ1 Φ2 Φk ⊗ ⊗ ⊗ Operations in linear-nonlinear layer Filter Threshold Pool Normalize ... ... ... Spatial convolution
100-ms visual presentation Pixels LN PIT V2 V4 V1 CIT AIT T(•)
Figure 1 HCNNs as models of sensory
sensory cortex is studied is one of encoding—the process by which stimuli are transformed into patterns of neural activity—and decoding, the process by which neural activity generates
6
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 55 / 63
HCNN top hidden layer response prediction IT neural response Test images (sorted by category) IT site 56
r = . 8 7 ± . 1 5 H C N N m
e l s 0.6 1.0 50 IT single-site neural predictivity (% explained variance) HMO (top hidden layer) V2-like HMAX PLOS09 SIFT V1-like Pixels Category ideal
Categorization performance (balanced accuracy)
HCNN model Human IT (fMRI) Animate Human Not human Body Face Body Face Natural Artificial Inanimate
A = 0.38
1 2 3 4 1 2 3 4
Monkey V4 (n = 128) Monkey IT (n = 168) Ideal
Control models HCNN layers Control models Ideal
HCNN layers Pixels V1-like Category All variables PLOS09 HMAX V2-Like SIFT Pixels V1-Like PLOS09 HMAX V2-like SIFT 50 50 Single-site neural predictivity (% explained variance)
** **** **** **** **** ****
0.2 0.4 0.2 0.4 Human V1–V3 Human IT RDM voxel correlation (Kendall’s A) Scores Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Layer 7 Convolutional Fully connected
**** **** **** * **** **** **** ****
SVM Geometry- supervised
**** τ 6
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 56 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 57 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 58 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 59 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 60 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 61 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 61 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 61 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 62 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 62 / 63
Fran¸ cois Fleuret EE-559 – Deep learning / 1a. Introduction 63 / 63