<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CNN | Haobin Tan</title><link>https://haobin-tan.netlify.app/tags/cnn/</link><atom:link href="https://haobin-tan.netlify.app/tags/cnn/index.xml" rel="self" type="application/rss+xml"/><description>CNN</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 20 Aug 2020 00:00:00 +0000</lastBuildDate><image><url>https://haobin-tan.netlify.app/media/icon_hu7d15bc7db65c8eaf7a4f66f5447d0b42_15095_512x512_fill_lanczos_center_3.png</url><title>CNN</title><link>https://haobin-tan.netlify.app/tags/cnn/</link></image><item><title>Convolutional Neural Network (CNN)</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/</link><pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/</guid><description/></item><item><title>Time-Delay Neural Network (TDNN)</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/tdnn/</link><pubDate>Sun, 16 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/tdnn/</guid><description>&lt;h2 id="motivation">Motivation&lt;/h2>
&lt;p>Ensure &lt;strong>shift-invariance&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>The model should produce the same output regardless of the position of the considering object&lt;/li>
&lt;/ul>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2011.45.55.png" alt="截屏2020-08-19 11.45.55" style="zoom:80%;" />
&lt;h2 id="overview">Overview&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>Multilayer Neural Network: &lt;strong>Nonlinear&lt;/strong> Classifier&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Consider &lt;strong>Context&lt;/strong> (Receptive Field)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Shift-Invariant&lt;/strong> Learning&lt;/p>
&lt;ul>
&lt;li>All Units Learn to Detect Patterns &lt;em>Independent&lt;/em> of Location in Time&lt;/li>
&lt;li>No Pre-segmentation or Pre-alignment Necessary&lt;/li>
&lt;li>Approach: &lt;strong>Weight Sharing&lt;/strong>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Time-Delay Arrangement&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Networks can represent temporal structure of speech&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Translation-Invariant Learning&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Hidden units of the network learn features independent of precise location in time&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="structure">Structure&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2011.50.41.png" alt="截屏2020-08-19 11.50.41" style="zoom: 50%;" />
&lt;ul>
&lt;li>Input: spectrum of a speech
&lt;ul>
&lt;li>$x$-axis: time&lt;/li>
&lt;li>$y$-axis: frequency&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="how-tdnn-works">How TDNN works?&lt;/h3>
&lt;h4 id="input-layer-to-hidden-layer">Input layer $\to$ Hidden layer&lt;/h4>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2011.53.08.png" alt="截屏2020-08-19 11.53.08" style="zoom:50%;" />
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2011.53.12.png" alt="截屏2020-08-19 11.53.12" style="zoom:50%;" />
&lt;h4 id="hidden-layer-1-to--hidden-layer-2">Hidden layer 1 $\to$ Hidden layer 2&lt;/h4>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19 11.54.03.png" alt="截屏2020-08-19 11.54.03" style="zoom:50%;" />
&lt;ul>
&lt;li>As this input flows by, we have these hidden units generated activations over time as activation patterns.&lt;/li>
&lt;li>Then we can take a contextual window of activation patterns over time and feed them into neurons in the second hidden layer&lt;/li>
&lt;/ul>
&lt;h4 id="hidden-layer-to-output-layer">Hidden layer $\to$ Output layer&lt;/h4>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2011.54.37.png" alt="截屏2020-08-19 11.54.37" style="zoom:50%;" />
&lt;ul>
&lt;li>We assemble all the evidence from activations over time and integrate them into one joint output&lt;/li>
&lt;/ul>
&lt;h2 id="shift-invariance-training">Shift-Invariance Training&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2012.00.24.png" alt="截屏2020-08-19 12.00.24" style="zoom:50%;" />
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/20131123104203421.png" alt="img" style="zoom:75%;" />
&lt;p>Connections with the same color share the same weight.&lt;/p>
&lt;h2 id="demo">Demo&lt;/h2>
&lt;p>&lt;a href="https://lecture-demo.ira.uka.de/">TDNN / Convolutional Nets - Demo&lt;/a>&lt;/p>
&lt;h2 id="tdnnsconvolutional-nets">TDNN’s→Convolutional Nets&lt;/h2>
&lt;p>In Vision the same problem:&lt;/p>
&lt;ul>
&lt;li>Local Contexts – Global Integration – Shared Weights&lt;/li>
&lt;/ul>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2012.05.36.png" alt="截屏2020-08-19 12.05.36" style="zoom:67%;" />
&lt;p>TDNN is equivalent to 1-dimensional CNN&lt;/p>
&lt;h2 id="tdnn-parameters-calculation">TDNN Parameters Calculation&lt;/h2>
&lt;h3 id="exam-ws1819-task-41">Exam WS1819, Task 4.1&lt;/h3>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-25%2022.02.27.png" alt="截屏2020-08-25 22.02.27" style="zoom:50%;" />
&lt;ul>
&lt;li>Input: matrix of the dimension 16 × 15
&lt;ul>
&lt;li>Chunks of a sequence of 15 frames&lt;/li>
&lt;li>Each frame is a feature vector of 16 real numbers&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>3 subsequent frames are connected to a 1 frame in the first hidden layer in a shift-invariant path, i.e. these connection weights of this shift-invariant matrix are shared.&lt;/li>
&lt;li>A similar approach is used for the second hidden layer&lt;/li>
&lt;li>No bias for the first and second hidden layer&lt;/li>
&lt;li>The output layer is a layer that connects each row of outputs from the previous layer, followed by a soft-max that calculates the probabilities of each letter.&lt;/li>
&lt;li>Possible output: 26 letters (a - z) , &lt;code>&amp;lt;blank&amp;gt;&lt;/code>, &lt;code>&amp;lt;space&amp;gt;&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Question: Number of parameters?&lt;/strong>&lt;/p>
&lt;p>&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1981px" viewBox="-0.5 -0.5 1981 601" content="&amp;lt;mxfile host=&amp;quot;app.diagrams.net&amp;quot; modified=&amp;quot;2020-08-25T20:25:49.674Z&amp;quot; agent=&amp;quot;5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36&amp;quot; etag=&amp;quot;Do1e_E7NlR_hsHLw1Arj&amp;quot; version=&amp;quot;13.6.4&amp;quot; type=&amp;quot;device&amp;quot;&amp;gt;&amp;lt;diagram id=&amp;quot;8a0U3gHBlrkXX15ex8sP&amp;quot; name=&amp;quot;Page-1&amp;quot;&amp;gt;7Vxtc6M2EP41nrl8aAZJYMPH2L70OnO9yzTX9vqpoxjFpsGIynJi36+vBAIbSX5Jz4B9ZOZyQYtYi312V3pWcnpoNF/9zHA6+5WGJO5BJ1z10LgHIfQ9KH5JyTqXAM9VkimLQiXbCO6jb0QJHSVdRiFZVDpySmMepVXhhCYJmfCKDDNGX6rdHmlc/dQUT4khuJ/g2JT+GYV8pl4MoWBz4wOJpjP10Qg5auRzXPRWOhYzHNKXXJT1Qe97aMQo5fnVfDUisTRfYZhc0e2Ou+XIGEn4MQ/8NgTky9cn9nD3+yrAI39AP/o/AVcNjq+LVyahsIBqUsZndEoTHL/fSIeMLpOQSLWOaG36fKQ0FUIghP8QztcKTrzkVIhmfB6ru4804eomlCoWnNGn0sDCMsN8VHIoO98WlDYU7kfonHC2Fl0YiTGPnqvPYeUG07Jf+egdjYRG6CifHSgrOspj3aJdqOCYTQlXT22bW1OEBgcULeiSTYihSFxsvc9GlKH5CmRVnD3jeKlsYSAtPDKVl5Plg4T1ZRZxcp/iiZS9iICugvaQo/7xoRTgydM084XPSx5HCVHyELOnz0JNxOWrO9eOVxXCTJr1jJgI2ogmQkLwgktXyN3Cl27xGEfpH8rL5PUH9QG73OWZME5Wr3WY4gENeNRX7ZetuHeVbLYV8kAHdtvJKqi+FkJkQAg8A0TxxrwKVG6eEY0pE5KESmCGj1EcayIcR1Np+YmwEBHyobRfJHLfjboxj8Iw3uUZ1SSgR/QpAPG1APJNQGx4uHXB4ZpwdAcNHQy3ZTA8E4x+d9AwktWgZTj6Fz3buI3PNoO+Fk+OCWCZALcR9OtCcGAGFOpOQPn6sq/tycbv8mRjLMLbnm0CAw2/Q2h42mQTtIxGURy40NkGwObJDdIXDNDE0M5u+rWhCLqc4sDZraiBWTEIOoQH0ldkba8AgEn/uzTrAORqKctrGxCTc17StNN8Sc3VUhy0pLhyfmmmpAZMotqhScfVQ8qyCmg2pEzW2SHS6TkaHJaSc7NwWFhnh6pqRr5qfcYxeWfPG70TPzyak0UP9vFcWiZ5WKSZCRxf3LvqDmJ9PaFZymiNIlYk1Lf91J085/9uqAb6Ah0E115V1Y4t1RvG8HqrWyo7LPaN2bGPedfQDj0gLvIxnHaH1yTQhvOd8Xq0+aI7cDQXghaOB4AlX9RWdS8g6+Z6FDhHlKWazd8m6e7SlrszOLMVKbRw7v0rINixJZAx97S/BjI5dpfqVo62XQLb3puHJsn+JUmXcv0S47UwYXew0daitul/0Cg0FsJ9LdofhJlI0j2A9GMRFoDKdNcMQCYDh10GyNgmaR0hdMRmcNUsB0iQST1qyURaKgJHr7RqM6RJJzs1b/vntt+Eus0N9Qjx2uYiyNya6Hhtz0dViGRJLuhX1Rxb3gOeXigUygqTn7rAZxz3E5/lo/3jO/xMPWU+ZJ47lxRYLEycDQ2WtFeOb5hLpc+xByYjdjAERs/B+G8hlzKZPcQVRMNIGG8wlv8uhz7LdvFxPUl8B7e3tydKP31QhbtvodXWlU5ttUJkr4W80/D1rqptv9K87HpJnYA7zhGANzvhWE7VS8DNANcDWsAibV+OMw/silvoStBuJbkBMh1X+5WA/m4tIUkLLfs9UldqzVe52reUteXBqCiW7nFgFzWasczKk7mEiuMoXewy5hZ6eJHm3/B9jFbSvEcQtTrThR9oBM5S5oMWY9f3bUGzlvTDGrv8fnhrxraczPhRje2hlo1dTLB7jZ2EN/L7/pssHuLFLEvDoGptKb/DXGT2JJNABxkmR68wuTArW3+V6f7aK5p/ZU25d6gE45WaD/LWert1R5iYCbOZZrwhz4f5HHRybrXPTR071FtIehYkC9n38sNg19bUAT5n0aQVZ8ohHqCZpyJhrlkc+7zs6h7KmVWAXXOHvoG6zM6wPxDy1USjVXgAMhNNIKIoCPSENlmy57JxfMbIA26fMeGRqcVFdjc5Omd8H+ZmbfRmE4sOfRT/fRl/+iTN8u8Sx5KsYPEzoskzkPwjkps3cxrKWUByE5LKxwlmSZRMzz+aS0cpvBzucZwTRD3SKn227QorOdbz9Ok8wDypo06GyFNml0MITwCOe24nQFx7ybKL2AT+uWFj4+ToDjOcrUGzqo6U6mWZiwCsRlqkVf/brw66Nr7/BhTU93GtZbBGgbLVCt6AMs+S1IiUaG7+0l5OCjd/sRC9/w8=&amp;lt;/diagram&amp;gt;&amp;lt;/mxfile&amp;gt;" onclick="(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&amp;amp;&amp;amp;src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&amp;amp;&amp;amp;!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&amp;amp;&amp;amp;evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://viewer.diagrams.net/?client=1&amp;amp;edit=_blank');}}})(this);" style="cursor:pointer;max-width:100%;max-height:601px;">&lt;defs>&lt;style xmlns="http://www.w3.org/1999/xhtml" type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1em; bottom: 1.5em; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
&lt;/style>&lt;style xmlns="http://www.w3.org/1999/xhtml" type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: &amp;lsquo;Courier New&amp;rsquo;,Courier; font-size: 9px; color: #F0F0F0}
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
&lt;/style>&lt;style xmlns="http://www.w3.org/1999/xhtml" type="text/css">.MathJax_SVG_Display {text-align: center; margin: 1em 0em; position: relative; display: block!important; text-indent: 0; max-width: none; max-height: none; min-width: 0; min-height: 0; width: 100%}
.MathJax_SVG .MJX-monospace {font-family: monospace}
.MathJax_SVG .MJX-sans-serif {font-family: sans-serif}
#MathJax_SVG_Tooltip {background-color: InfoBackground; color: InfoText; border: 1px solid black; box-shadow: 2px 2px 5px #AAAAAA; -webkit-box-shadow: 2px 2px 5px #AAAAAA; -moz-box-shadow: 2px 2px 5px #AAAAAA; -khtml-box-shadow: 2px 2px 5px #AAAAAA; padding: 3px 4px; z-index: 401; position: absolute; left: 0; top: 0; width: auto; height: auto; display: none}
.MathJax_SVG {display: inline; font-style: normal; font-weight: normal; line-height: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0; min-height: 0; border: 0; padding: 0; margin: 0}
.MathJax_SVG * {transition: none; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none}
.MathJax_SVG &amp;gt; div {display: inline-block}
.mjx-svg-href {fill: blue; stroke: blue}
.MathJax_SVG_Processing {visibility: hidden; position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; display: block!important}
.MathJax_SVG_Processed {display: none!important}
.MathJax_SVG_test {font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow: hidden; height: 1px}
.MathJax_SVG_test.mjx-test-display {display: table!important}
.MathJax_SVG_test.mjx-test-inline {display: inline!important; margin-right: -1px}
.MathJax_SVG_test.mjx-test-default {display: block!important; clear: both}
.MathJax_SVG_ex_box {display: inline-block!important; position: absolute; overflow: hidden; min-height: 0; max-height: none; padding: 0; border: 0; margin: 0; width: 1px; height: 60ex}
.mjx-test-inline .MathJax_SVG_left_box {display: inline-block; width: 0; float: left}
.mjx-test-inline .MathJax_SVG_right_box {display: inline-block; width: 0; float: right}
.mjx-test-display .MathJax_SVG_right_box {display: table-cell!important; width: 10000em!important; min-width: 0; max-width: none; padding: 0; border: 0; margin: 0}
.MathJax_SVG .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
&lt;/style>&lt;/defs>&lt;g>&lt;path d="M 350 340 L 691.76 340" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/>&lt;path d="M 697.76 340 L 689.76 344 L 691.76 340 L 689.76 336 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>&lt;path d="M 100 280 L 260 280 L 340 360 L 340 400 L 180 400 L 100 320 L 100 280 Z" fill="#ffffff" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(220,0)scale(-1,1)translate(-220,0)" pointer-events="all"/>&lt;path d="M 100 280 L 260 280 L 340 360 L 180 360 Z" fill-opacity="0.05" fill="#000000" stroke="none" transform="translate(220,0)scale(-1,1)translate(-220,0)" pointer-events="all"/>&lt;path d="M 100 280 L 180 360 L 180 400 L 100 320 Z" fill-opacity="0.1" fill="#000000" stroke="none" transform="translate(220,0)scale(-1,1)translate(-220,0)" pointer-events="all"/>&lt;path d="M 180 400 L 180 360 L 100 280 M 180 360 L 340 360" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(220,0)scale(-1,1)translate(-220,0)" pointer-events="all"/>&lt;rect x="160" y="400" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 420px; margin-left: 161px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">15&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="180" y="426" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">15&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="60" y="360" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 380px; margin-left: 61px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="80" y="386" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="100" y="290" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 310px; margin-left: 101px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">16&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="120" y="316" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">16&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 740 320 L 880 320 L 920 360 L 920 400 L 780 400 L 740 360 L 740 320 Z" fill="#ffffff" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(830,0)scale(-1,1)translate(-830,0)" pointer-events="all"/>&lt;path d="M 740 320 L 880 320 L 920 360 L 780 360 Z" fill-opacity="0.05" fill="#000000" stroke="none" transform="translate(830,0)scale(-1,1)translate(-830,0)" pointer-events="all"/>&lt;path d="M 740 320 L 780 360 L 780 400 L 740 360 Z" fill-opacity="0.1" fill="#000000" stroke="none" transform="translate(830,0)scale(-1,1)translate(-830,0)" pointer-events="all"/>&lt;path d="M 780 400 L 780 360 L 740 320 M 780 360 L 920 360" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(830,0)scale(-1,1)translate(-830,0)" pointer-events="all"/>&lt;rect x="800" y="400" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 420px; margin-left: 801px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">13&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="820" y="426" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">13&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="700" y="360" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 380px; margin-left: 701px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="720" y="386" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="730" y="310" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 330px; margin-left: 731px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">8&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="750" y="336" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">8&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 1300 240 L 1420 240 L 1540 360 L 1540 400 L 1420 400 L 1300 280 L 1300 240 Z" fill="#ffffff" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(1420,0)scale(-1,1)translate(-1420,0)" pointer-events="all"/>&lt;path d="M 1300 240 L 1420 240 L 1540 360 L 1420 360 Z" fill-opacity="0.05" fill="#000000" stroke="none" transform="translate(1420,0)scale(-1,1)translate(-1420,0)" pointer-events="all"/>&lt;path d="M 1300 240 L 1420 360 L 1420 400 L 1300 280 Z" fill-opacity="0.1" fill="#000000" stroke="none" transform="translate(1420,0)scale(-1,1)translate(-1420,0)" pointer-events="all"/>&lt;path d="M 1420 400 L 1420 360 L 1300 240 M 1420 360 L 1540 360" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(1420,0)scale(-1,1)translate(-1420,0)" pointer-events="all"/>&lt;rect x="1260" y="360" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 380px; margin-left: 1261px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1280" y="386" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1340" y="400" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 420px; margin-left: 1341px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">9&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1360" y="426" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">9&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1320" y="270" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 290px; margin-left: 1321px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">28&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1340" y="296" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">28&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 460 160 L 540 160 L 620 240 L 620 280 L 540 280 L 460 200 L 460 160 Z" fill="#ffffff" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(540,0)scale(-1,1)translate(-540,0)" pointer-events="all"/>&lt;path d="M 460 160 L 540 160 L 620 240 L 540 240 Z" fill-opacity="0.05" fill="#000000" stroke="none" transform="translate(540,0)scale(-1,1)translate(-540,0)" pointer-events="all"/>&lt;path d="M 460 160 L 540 240 L 540 280 L 460 200 Z" fill-opacity="0.1" fill="#000000" stroke="none" transform="translate(540,0)scale(-1,1)translate(-540,0)" pointer-events="all"/>&lt;path d="M 540 280 L 540 240 L 460 160 M 540 240 L 620 240" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(540,0)scale(-1,1)translate(-540,0)" pointer-events="all"/>&lt;rect x="420" y="240" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 421px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="440" y="266" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="480" y="280" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 300px; margin-left: 481px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">3&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="500" y="306" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">3&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="460" y="170" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 190px; margin-left: 461px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">16&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="480" y="196" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">16&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="620" y="220" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 240px; margin-left: 621px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-2-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2.971ex" height="1.923ex" viewBox="0 -743.6 1279 828" role="img" focusable="false" style="vertical-align: -0.196ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;g transform="translate(778,0)">&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"/>&lt;/g>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-2">\times 8&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="640" y="246" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">\tim&amp;hellip;&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 940 339.5 L 1180 339.6 L 1251.76 339.96" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/>&lt;path d="M 1257.76 339.99 L 1249.74 343.95 L 1251.76 339.96 L 1249.78 335.95 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>&lt;path d="M 1040 200 L 1110 200 L 1150 240 L 1150 280 L 1080 280 L 1040 240 L 1040 200 Z" fill="#ffffff" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(1095,0)scale(-1,1)translate(-1095,0)" pointer-events="all"/>&lt;path d="M 1040 200 L 1110 200 L 1150 240 L 1080 240 Z" fill-opacity="0.05" fill="#000000" stroke="none" transform="translate(1095,0)scale(-1,1)translate(-1095,0)" pointer-events="all"/>&lt;path d="M 1040 200 L 1080 240 L 1080 280 L 1040 240 Z" fill-opacity="0.1" fill="#000000" stroke="none" transform="translate(1095,0)scale(-1,1)translate(-1095,0)" pointer-events="all"/>&lt;path d="M 1080 280 L 1080 240 L 1040 200 M 1080 240 L 1150 240" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" transform="translate(1095,0)scale(-1,1)translate(-1095,0)" pointer-events="all"/>&lt;rect x="1000" y="240" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 260px; margin-left: 1001px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1020" y="266" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1050" y="280" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 300px; margin-left: 1051px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">5&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1070" y="306" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">5&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1180" y="220" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 240px; margin-left: 1181px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-4-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="4.133ex" height="1.923ex" viewBox="0 -743.6 1779.5 828" role="img" focusable="false" style="vertical-align: -0.196ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;g transform="translate(778,0)">&lt;path stroke-width="1" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"/>&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z" transform="translate(500,0)"/>&lt;/g>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-4">\times 28&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1200" y="246" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">\tim&amp;hellip;&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1030" y="190" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 210px; margin-left: 1031px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">8&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1050" y="216" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">8&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="160" y="0" width="170" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 20px; margin-left: 161px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Input layer&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="245" y="26" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">Input layer&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="740" y="0" width="200" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 20px; margin-left: 741px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1. Hidden layer&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="840" y="26" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1. Hidden layer&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1340" y="0" width="200" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 20px; margin-left: 1341px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">2. Hidden layer&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1440" y="26" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">2. Hidden layer&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1860" y="80" width="40" height="400" fill="#ffffff" stroke="#000000" stroke-width="2" pointer-events="all"/>&lt;rect x="1820" y="270" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 290px; margin-left: 1821px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">28&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1840" y="296" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">28&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1860" y="480" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 500px; margin-left: 1861px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">1&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1880" y="506" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">1&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 1560 339.33 L 1800 339.4 L 1801.78 339.5" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/>&lt;path d="M 1807.77 339.83 L 1799.56 343.38 L 1801.78 339.5 L 1800 335.39 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>&lt;rect x="1590" y="520" width="200" height="80" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 560px; margin-left: 1591px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #007FFF; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-19-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15.524ex" height="5.655ex" viewBox="0 -743.6 6683.8 2434.9" role="img" focusable="false" style="vertical-align: -3.928ex; margin-right: -0.028ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M352 287Q304 211 232 211Q154 211 104 270T44 396Q42 412 42 436V444Q42 537 111 606Q171 666 243 666Q245 666 249 666T257 665H261Q273 665 286 663T323 651T370 619T413 560Q456 472 456 334Q456 194 396 97Q361 41 312 10T208 -22Q147 -22 108 7T68 93T121 149Q143 149 158 135T173 96Q173 78 164 65T148 49T135 44L131 43Q131 41 138 37T164 27T206 22H212Q272 22 313 86Q352 142 352 280V287ZM244 248Q292 248 321 297T351 430Q351 508 343 542Q341 552 337 562T323 588T293 615T246 625Q208 625 181 598Q160 576 154 546T147 441Q147 358 152 329T172 282Q197 248 244 248Z"/>&lt;g transform="translate(722,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(1723,0)">&lt;path stroke-width="1" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"/>&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z" transform="translate(500,0)"/>&lt;/g>&lt;g transform="translate(2946,0)">&lt;path stroke-width="1" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"/>&lt;/g>&lt;g transform="translate(3947,0)">&lt;path stroke-width="1" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"/>&lt;g transform="translate(722,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(1723,0)">&lt;path stroke-width="1" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"/>&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z" transform="translate(500,0)"/>&lt;/g>&lt;g transform="translate(12,-537)">&lt;path stroke-width="1" d="M-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327Z" transform="translate(23,0)"/>&lt;g transform="translate(493.6746693121693,0) scale(1.0183862433862432,1)">&lt;path stroke-width="1" d="M-10 0V120H410V0H-10Z"/>&lt;/g>&lt;g transform="translate(911,0)">&lt;path stroke-width="1" d="M-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60Z"/>&lt;path stroke-width="1" d="M-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18Z" transform="translate(450,0)"/>&lt;/g>&lt;g transform="translate(1822.3968915343914,0) scale(1.0183862433862432,1)">&lt;path stroke-width="1" d="M-10 0V120H410V0H-10Z"/>&lt;/g>&lt;path stroke-width="1" d="M-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60Z" transform="translate(2249,0)"/>&lt;/g>&lt;g transform="translate(402,-1410)">&lt;path stroke-width="1" transform="scale(0.707)" d="M56 347Q56 360 70 367H313L355 524Q394 676 401 686Q406 694 416 694Q434 694 436 676Q436 672 396 522Q355 374 355 369L354 367H543L585 524Q626 679 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 668 626 522Q585 374 585 369L584 367H762Q777 359 777 347Q777 334 767 331T722 327H667H572L552 251L531 174Q531 173 647 173H720Q756 173 766 170T777 153T762 133H519L477 -24Q436 -179 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -177Q397 -167 436 -21Q477 125 477 131L478 133H289L247 -24Q206 -179 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -177Q167 -167 206 -21Q247 125 247 131L248 133H70Q56 140 56 153Q56 168 72 173H260L280 249L301 326Q301 327 186 327H72Q56 332 56 347ZM531 326Q531 327 437 327H342L322 251L301 174Q301 173 395 173H490L510 249L531 326Z"/>&lt;path stroke-width="1" transform="translate(589,0) scale(0.707)" d="M131 622Q124 629 120 631T104 634T61 637H28V683H229H267H346Q423 683 459 678T531 651Q574 627 599 590T624 512Q624 461 583 419T476 360L466 357Q539 348 595 302T651 187Q651 119 600 67T469 3Q456 1 242 0H28V46H61Q103 47 112 49T131 61V622ZM511 513Q511 560 485 594T416 636Q415 636 403 636T371 636T333 637Q266 637 251 636T232 628Q229 624 229 499V374H312L396 375L406 377Q410 378 417 380T442 393T474 417T499 456T511 513ZM537 188Q537 239 509 282T430 336L329 337H229V200V116Q229 57 234 52Q240 47 334 47H383Q425 47 443 53Q486 67 511 104T537 188Z"/>&lt;path stroke-width="1" transform="translate(1090,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(1287,0) scale(0.707)" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"/>&lt;path stroke-width="1" transform="translate(1641,0) scale(0.707)" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"/>&lt;/g>&lt;/g>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-19">9 \times 28 + \underbrace{1 \times 28}&lt;em>{\text{#Bias}}&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1690" y="566" fill="#007FFF" font-family="Helvetica" font-size="20px" text-anchor="middle">9 \times 28 + \under&amp;hellip;&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="980" y="520" width="240" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 540px; margin-left: 981px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #007FFF; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-9-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.143ex" height="2.689ex" viewBox="0 -826 6950.3 1157.6" role="img" focusable="false" style="vertical-align: -0.77ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"/>&lt;g transform="translate(389,0)">&lt;path stroke-width="1" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"/>&lt;/g>&lt;g transform="translate(1112,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(2112,0)">&lt;path stroke-width="1" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"/>&lt;/g>&lt;g transform="translate(2613,0)">&lt;path stroke-width="1" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"/>&lt;/g>&lt;g transform="translate(3225,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(4225,0)">&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"/>&lt;/g>&lt;g transform="translate(4948,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(5949,0)">&lt;path stroke-width="1" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"/>&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z" transform="translate(500,0)"/>&lt;/g>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-9">(1 \times 5) \times 8 \times 28&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1100" y="546" fill="#007FFF" font-family="Helvetica" font-size="20px" text-anchor="middle">(1 \times 5) \times 8 \t&amp;hellip;&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="305" y="520" width="430" height="80" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 428px; height: 1px; padding-top: 560px; margin-left: 306px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #007FFF; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-14-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="40.519ex" height="5.942ex" viewBox="0 -826 17445.6 2558.5" role="img" focusable="false" style="vertical-align: -4.024ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"/>&lt;g transform="translate(389,0)">&lt;g transform="translate(998,0)">&lt;g transform="translate(578,0)">&lt;path stroke-width="1" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"/>&lt;/g>&lt;g transform="translate(0,-515)">&lt;path stroke-width="1" d="M-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327Z" transform="translate(23,0)"/>&lt;g transform="translate(390,0)">&lt;path stroke-width="1" d="M-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60Z"/>&lt;path stroke-width="1" d="M-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18Z" transform="translate(450,0)"/>&lt;/g>&lt;path stroke-width="1" d="M-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60Z" transform="translate(1207,0)"/>&lt;/g>&lt;/g>&lt;g transform="translate(0,-1395)">&lt;path stroke-width="1" transform="scale(0.707)" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"/>&lt;path stroke-width="1" transform="translate(216,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(413,0) scale(0.707)" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"/>&lt;path stroke-width="1" transform="translate(610,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;path stroke-width="1" transform="translate(886,0) scale(0.707)" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"/>&lt;path stroke-width="1" transform="translate(1200,0) scale(0.707)" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"/>&lt;path stroke-width="1" transform="translate(1727,0) scale(0.707)" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"/>&lt;path stroke-width="1" transform="translate(2121,0) scale(0.707)" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"/>&lt;path stroke-width="1" transform="translate(2435,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(2632,0) scale(0.707)" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"/>&lt;path stroke-width="1" transform="translate(2986,0) scale(0.707)" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"/>&lt;path stroke-width="1" transform="translate(3380,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;/g>&lt;/g>&lt;g transform="translate(4267,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(5267,0)">&lt;g transform="translate(919,0)">&lt;g transform="translate(578,0)">&lt;path stroke-width="1" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"/>&lt;/g>&lt;g transform="translate(0,-537)">&lt;path stroke-width="1" d="M-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327Z" transform="translate(23,0)"/>&lt;g transform="translate(390,0)">&lt;path stroke-width="1" d="M-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60Z"/>&lt;path stroke-width="1" d="M-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18Z" transform="translate(450,0)"/>&lt;/g>&lt;path stroke-width="1" d="M-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60Z" transform="translate(1207,0)"/>&lt;/g>&lt;/g>&lt;g transform="translate(0,-1417)">&lt;path stroke-width="1" transform="scale(0.707)" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"/>&lt;path stroke-width="1" transform="translate(216,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(413,0) scale(0.707)" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"/>&lt;path stroke-width="1" transform="translate(610,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;path stroke-width="1" transform="translate(886,0) scale(0.707)" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"/>&lt;path stroke-width="1" transform="translate(1200,0) scale(0.707)" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"/>&lt;path stroke-width="1" transform="translate(1727,0) scale(0.707)" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"/>&lt;path stroke-width="1" transform="translate(2238,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(2435,0) scale(0.707)" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"/>&lt;path stroke-width="1" transform="translate(2829,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;path stroke-width="1" transform="translate(3104,0) scale(0.707)" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"/>&lt;/g>&lt;/g>&lt;g transform="translate(8765,0)">&lt;path stroke-width="1" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"/>&lt;/g>&lt;g transform="translate(9377,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(10378,0)">&lt;g transform="translate(919,0)">&lt;g transform="translate(328,0)">&lt;path stroke-width="1" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"/>&lt;path stroke-width="1" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z" transform="translate(500,0)"/>&lt;/g>&lt;g transform="translate(0,-537)">&lt;path stroke-width="1" d="M-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327Z" transform="translate(23,0)"/>&lt;g transform="translate(390,0)">&lt;path stroke-width="1" d="M-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60Z"/>&lt;path stroke-width="1" d="M-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18Z" transform="translate(450,0)"/>&lt;/g>&lt;path stroke-width="1" d="M-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60Z" transform="translate(1207,0)"/>&lt;/g>&lt;/g>&lt;g transform="translate(0,-1417)">&lt;path stroke-width="1" transform="scale(0.707)" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"/>&lt;path stroke-width="1" transform="translate(216,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(413,0) scale(0.707)" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"/>&lt;path stroke-width="1" transform="translate(610,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;path stroke-width="1" transform="translate(886,0) scale(0.707)" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"/>&lt;path stroke-width="1" transform="translate(1200,0) scale(0.707)" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"/>&lt;path stroke-width="1" transform="translate(1727,0) scale(0.707)" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"/>&lt;path stroke-width="1" transform="translate(2121,0) scale(0.707)" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"/>&lt;path stroke-width="1" transform="translate(2435,0) scale(0.707)" d="M36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218Z"/>&lt;path stroke-width="1" transform="translate(2829,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;path stroke-width="1" transform="translate(3104,0) scale(0.707)" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"/>&lt;/g>&lt;/g>&lt;g transform="translate(14098,0)">&lt;path stroke-width="1" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"/>&lt;/g>&lt;g transform="translate(15099,0)">&lt;g transform="translate(344,0)">&lt;g transform="translate(578,0)">&lt;path stroke-width="1" d="M70 417T70 494T124 618T248 666Q319 666 374 624T429 515Q429 485 418 459T392 417T361 389T335 371T324 363L338 354Q352 344 366 334T382 323Q457 264 457 174Q457 95 399 37T249 -22Q159 -22 101 29T43 155Q43 263 172 335L154 348Q133 361 127 368Q70 417 70 494ZM286 386L292 390Q298 394 301 396T311 403T323 413T334 425T345 438T355 454T364 471T369 491T371 513Q371 556 342 586T275 624Q268 625 242 625Q201 625 165 599T128 534Q128 511 141 492T167 463T217 431Q224 426 228 424L286 386ZM250 21Q308 21 350 55T392 137Q392 154 387 169T375 194T353 216T330 234T301 253T274 270Q260 279 244 289T218 306L210 311Q204 311 181 294T133 239T107 157Q107 98 150 60T250 21Z"/>&lt;/g>&lt;g transform="translate(0,-537)">&lt;path stroke-width="1" d="M-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327Z" transform="translate(23,0)"/>&lt;g transform="translate(390,0)">&lt;path stroke-width="1" d="M-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60Z"/>&lt;path stroke-width="1" d="M-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18Z" transform="translate(450,0)"/>&lt;/g>&lt;path stroke-width="1" d="M-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60Z" transform="translate(1207,0)"/>&lt;/g>&lt;/g>&lt;g transform="translate(0,-1417)">&lt;path stroke-width="1" transform="scale(0.707)" d="M56 347Q56 360 70 367H313L355 524Q394 676 401 686Q406 694 416 694Q434 694 436 676Q436 672 396 522Q355 374 355 369L354 367H543L585 524Q626 679 630 685Q636 694 646 694Q653 694 659 689T665 678Q665 668 626 522Q585 374 585 369L584 367H762Q777 359 777 347Q777 334 767 331T722 327H667H572L552 251L531 174Q531 173 647 173H720Q756 173 766 170T777 153T762 133H519L477 -24Q436 -179 432 -185Q426 -194 416 -194Q409 -194 403 -189T397 -177Q397 -167 436 -21Q477 125 477 131L478 133H289L247 -24Q206 -179 202 -185Q196 -194 186 -194Q179 -194 173 -189T167 -177Q167 -167 206 -21Q247 125 247 131L248 133H70Q56 140 56 153Q56 168 72 173H260L280 249L301 326Q301 327 186 327H72Q56 332 56 347ZM531 326Q531 327 437 327H342L322 251L301 174Q301 173 395 173H490L510 249L531 326Z"/>&lt;path stroke-width="1" transform="translate(589,0) scale(0.707)" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"/>&lt;path stroke-width="1" transform="translate(806,0) scale(0.707)" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"/>&lt;path stroke-width="1" transform="translate(1003,0) scale(0.707)" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"/>&lt;path stroke-width="1" transform="translate(1199,0) scale(0.707)" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"/>&lt;path stroke-width="1" transform="translate(1475,0) scale(0.707)" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"/>&lt;path stroke-width="1" transform="translate(1789,0) scale(0.707)" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"/>&lt;path stroke-width="1" transform="translate(2067,0) scale(0.707)" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"/>&lt;/g>&lt;/g>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-14">(\underbrace{1}&lt;/em>{\text{filter height}} \times \underbrace{3}&lt;em>{\text{filter width}}) \times \underbrace{16}&lt;/em>{\text{filter depth}} \times \underbrace{8}&lt;em>{\text{#filters}}&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="520" y="566" fill="#007FFF" font-family="Helvetica" font-size="20px" text-anchor="middle">(\underbrace{1}&lt;/em>{\text{filter height}} \tim&amp;hellip;&lt;/text>&lt;/switch>&lt;/g>&lt;ellipse cx="1880" cy="100" rx="10" ry="10" fill="#ffffff" stroke="#000000" stroke-width="2" pointer-events="all"/>&lt;ellipse cx="1880" cy="140" rx="10" ry="10" fill="#ffffff" stroke="#000000" stroke-width="2" pointer-events="all"/>&lt;ellipse cx="1880" cy="460" rx="10" ry="10" fill="#ffffff" stroke="#000000" stroke-width="2" pointer-events="all"/>&lt;path d="M 1880 220 L 1880 170" fill="none" stroke="#000000" stroke-width="3" stroke-miterlimit="10" stroke-dasharray="3 9" pointer-events="stroke"/>&lt;rect x="1780" y="0" width="200" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 20px; margin-left: 1781px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Ouput layer&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1880" y="26" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">Ouput layer&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 430 130 Q 430 175 415 175 Q 400 175 400 213.63" fill="none" stroke="#000000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/>&lt;path d="M 400 218.88 L 396.5 211.88 L 400 213.63 L 403.5 211.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>&lt;rect x="310" y="80" width="240" height="50" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 105px; margin-left: 311px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 13px; font-family: Helvetica; color: #990099; line-height: 1.2; pointer-events: all; font-style: italic; white-space: normal; word-wrap: normal; ">A layer of TDNN equals a Conv1D in modern deep learning&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="430" y="109" fill="#990099" font-family="Helvetica" font-size="13px" text-anchor="middle" font-style="italic">A layer of TDNN equals a Conv1D in mo&amp;hellip;&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="380" y="220" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 240px; margin-left: 381px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-16-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1.162ex" height="1.349ex" viewBox="0 -537.6 500.5 580.8" role="img" focusable="false" style="vertical-align: 0.079ex; margin-bottom: -0.179ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286Z"/>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-16">\ast&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="400" y="246" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">\ast&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="960" y="220" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 240px; margin-left: 961px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">&lt;span class="MathJax_Preview" style="">&lt;/span>&lt;span class="MathJax_SVG" id="MathJax-Element-17-Frame" tabindex="0" style="font-size: 100%; display: inline-block;">&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1.162ex" height="1.349ex" viewBox="0 -537.6 500.5 580.8" role="img" focusable="false" style="vertical-align: 0.079ex; margin-bottom: -0.179ex;">&lt;g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">&lt;path stroke-width="1" d="M229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286Z"/>&lt;/g>&lt;/svg>&lt;/span>&lt;script type="math/tex" id="MathJax-Element-17">\ast&lt;/script>&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="980" y="246" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">\ast&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="0" y="520" width="240" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 238px; height: 1px; padding-top: 540px; margin-left: 1px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #007FFF; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">#Parameters = &lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="120" y="546" fill="#007FFF" font-family="Helvetica" font-size="20px" text-anchor="middle">#Parameters = &lt;/text>&lt;/switch>&lt;/g>&lt;rect x="820" y="520" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 540px; margin-left: 821px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #007FFF; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">+&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="840" y="546" fill="#007FFF" font-family="Helvetica" font-size="20px" text-anchor="middle">+&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="1340" y="520" width="40" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 540px; margin-left: 1341px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #007FFF; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">+&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="1360" y="546" fill="#007FFF" font-family="Helvetica" font-size="20px" text-anchor="middle">+&lt;/text>&lt;/switch>&lt;/g>&lt;/g>&lt;switch>&lt;g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>&lt;a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank">&lt;text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1&lt;/text>&lt;/a>&lt;/switch>&lt;/svg>&lt;/p>
&lt;h2 id="reference">Reference&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>&lt;a href="http://www.inf.ed.ac.uk/teaching/courses/asr/2018-19/asr09-dnn.pdf">Neural Networks for Acoustic Modelling 3: Context-dependent DNNs and TDNNs&lt;/a>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;a href="https://blog.csdn.net/qq_14962179/article/details/87926351">语音识别——TDNN时延神经网络&lt;/a>&lt;/p>
&lt;/li>
&lt;/ul></description></item><item><title>👍 Convolutional Neural Network (CNN) Basics</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-basics/</link><pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-basics/</guid><description>&lt;h2 id="architecture-overview">Architecture Overview&lt;/h2>
&lt;p>All CNN models follow a similar architecture&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/dobVrh3SGyqQraM2ogi-P3VK2K-LFsBm7RLO.png" alt="img">&lt;/p>
&lt;ul>
&lt;li>&lt;a href="#input-layer">Input&lt;/a>&lt;/li>
&lt;li>&lt;a href="#convolutional-layer">Convolutional layer (Cons-layer)&lt;/a> + ReLU&lt;/li>
&lt;li>&lt;a href="#pooling-layer">Pooling layer (Pool-layer)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#fully-connected-layer">Fully Connected layer (FC-layer)&lt;/a>&lt;/li>
&lt;li>Output&lt;/li>
&lt;/ul>
&lt;h2 id="input">Input&lt;/h2>
&lt;p>The input layer represents the &lt;strong>input image&lt;/strong> into the CNN. Essentially, every image can be represented as a &lt;strong>matrix of pixel values&lt;/strong>.&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/8-gif.gif" alt="8-gif.gif">&lt;/p>
&lt;p>&lt;strong>&lt;a href="https://en.wikipedia.org/wiki/Channel_(digital_image)">Channel&lt;/a>&lt;/strong> is a conventional term used to refer to a certain component of an image.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://en.wikipedia.org/wiki/Grayscale">Grayscale&lt;/a> image: has just one channel&lt;/li>
&lt;li>RGB images
&lt;ul>
&lt;li>Three channels: Red, Green, Blue&lt;/li>
&lt;li>Imagine those as three 2d-matrices stacked over each other (one for each color), each having pixel values in the range 0 to 255.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>We can consider channel as &lt;strong>depth&lt;/strong> of the image.&lt;/p>
&lt;p>&lt;svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="421px" viewBox="-0.5 -0.5 421 201" content="&amp;lt;mxfile host=&amp;quot;app.diagrams.net&amp;quot; modified=&amp;quot;2020-09-02T09:43:59.266Z&amp;quot; agent=&amp;quot;5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36&amp;quot; etag=&amp;quot;m-8WQ35sl3dUEUPa7ioz&amp;quot; version=&amp;quot;13.6.6&amp;quot; type=&amp;quot;device&amp;quot;&amp;gt;&amp;lt;diagram id=&amp;quot;GxF2ZYXmkwzIqcZl7oPp&amp;quot; name=&amp;quot;Page-1&amp;quot;&amp;gt;5ZdPb9sgGMY/jY+TbHAc99g4XXuptinadpwQvLFRsbEwiZ19+kGN7fhP1G1qlENPgQd4X/g9GIiHk7x5VKTMniUD4SGfNR7eeggFIYrMj1VOrbJeB62QKs5cp0HY8d/gRN+pB86gGnXUUgrNy7FIZVEA1SONKCXrcbe9FOOsJUlhJuwoEXP1J2c6a1WE8d3Q8AQ8zVxqjH0385x0vZ1QZYTJ+kzCDx5OlJS6LeVNAsLS68C04z5faO1npqDQfzPgMSm/SFLeoW8iONIfu+8vvw6fwjbKkYiDW7GbrD51COqMa9iVhNp6bWz28CbTuTC1wBRJVbbg97wBk2qz50IkUkj1OhwzAvGeGr3SSr5A11LIwsTbuPSgNDQX1xX0tMw+A5mDVifTxQ1YdYDdFkOdA/VgWND1yc686kXiNknaxx4wmoIj+Q9U8fWpriBm4TWp+hOq6OZUg6tT3ccU6DX3ahhPqIY3p7qaUXXn2ZStWbUe41ykdI7USUTwtDBVaiiB0TeWITeH7L1ryDljNs1myT8lDwWzbm19G14W2l0TyH8nU6ZbPZ6bEi94El7LkmhmSXv3fBhHpocPjm7syPrtowcKdm8fHJaqIFXF6diaKabWqu5RgXpwwGYvkjexnWFZLWDpNAWCaH4ch19i5TJ8ldwk7l2J0AVXuhCVPCgKbtT5S2QaaD0JFEwCaaJS0LNAr9b1y/5/N+OZm1so7ffl21TITzJiXpPi43xvUTQxZOmyj97ngzPV4c3bOjr8dcAPfwA=&amp;lt;/diagram&amp;gt;&amp;lt;/mxfile&amp;gt;" onclick="(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&amp;amp;&amp;amp;src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&amp;amp;&amp;amp;!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&amp;amp;&amp;amp;evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://viewer.diagrams.net/?client=1&amp;amp;edit=_blank');}}})(this);" style="cursor:pointer;max-width:100%;max-height:201px;">&lt;defs/>&lt;g>&lt;rect x="120" y="0" width="120" height="120" fill="#dae8fc" stroke="none" pointer-events="all"/>&lt;rect x="100" y="20" width="120" height="120" fill="#d5e8d4" stroke="none" pointer-events="all"/>&lt;rect x="80" y="40" width="120" height="120" fill="#f8cecc" stroke="none" pointer-events="all"/>&lt;rect x="0" y="80" width="80" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 100px; margin-left: 1px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Height&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="40" y="106" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">Height&lt;/text>&lt;/switch>&lt;/g>&lt;rect x="100" y="160" width="80" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 180px; margin-left: 101px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Width&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="140" y="186" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">Width&lt;/text>&lt;/switch>&lt;/g>&lt;path d="M 220 160 L 264.18 115.82" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="stroke"/>&lt;path d="M 268.42 111.58 L 265.59 120.07 L 264.18 115.82 L 259.93 114.41 Z" fill="#000000" stroke="#000000" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>&lt;rect x="260" y="120" width="160" height="40" fill="none" stroke="none" pointer-events="all"/>&lt;g transform="translate(-0.5 -0.5)">&lt;switch>&lt;foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 140px; margin-left: 261px;">&lt;div style="box-sizing: border-box; font-size: 0; text-align: center; ">&lt;div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Depth / Channel&lt;/div>&lt;/div>&lt;/div>&lt;/foreignObject>&lt;text x="340" y="146" fill="#000000" font-family="Helvetica" font-size="20px" text-anchor="middle">Depth / Channel&lt;/text>&lt;/switch>&lt;/g>&lt;/g>&lt;switch>&lt;g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>&lt;a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank">&lt;text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1&lt;/text>&lt;/a>&lt;/switch>&lt;/svg>&lt;/p>
&lt;/blockquote>
&lt;h2 id="convolutional-layer">Convolutional Layer&lt;/h2>
&lt;h3 id="convolution-operation">Convolution operation&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Extract features from the input image and produce feature maps&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Slide the convonlutional filter/kernel over the input image&lt;/p>
&lt;/li>
&lt;li>
&lt;p>At every location, do &lt;strong>element-wise&lt;/strong> matrix multiplication and sum the result.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>
&lt;p>This can preserve the spatial relationship between pixels by learning image features using small squares of input data &amp;#x1f44d;&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h4 id="2d-convolution">2D Convolution&lt;/h4>
&lt;p>Convolution operation in 2D using a $3\times3$ filter&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*cTEp-IvCCUYPTT0QpE3Gjg@2x.png" alt="Image for post" style="zoom: 38%;" />
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*VVvdh-BUKFh2pwDD0kPeRA@2x.gif" alt="Image for post" style="zoom:50%;" />
&lt;p>Another example:&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/v2-15fea61b768f7561648dbea164fcb75f_b.gif" alt="十五）初识滤波之均值滤波- 知乎" style="zoom:80%;" />
&lt;h4 id="3d-convolution">3D Convolution&lt;/h4>
&lt;p>In reality an image is represented as a 3D matrix with dimensions of height, width and depth, where depth corresponds to color channels (RGB). A convolution filter has a specific height and width, like $3 \times 3$ or $5 \times 5$, and by design it &lt;strong>covers the entire depth of its input&lt;/strong> ($\text{depth}\_{\text{filter}} = \text{depth}\_{\text{input}}$).&lt;/p>
&lt;figure>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/0.gif"
alt="The convolution filter/kernel has the same depth as the input image">&lt;figcaption>
&lt;p>The convolution filter/kernel has the same depth as the input image&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;p>Convolution using a single filter:&lt;/p>
&lt;figure>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/3d-conv_1.png"
alt="Convolution using a single filter">&lt;figcaption>
&lt;p>Convolution using a single filter&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;p>Each filter actually happens to be a &lt;em>collection of kernels&lt;/em>, with there being &lt;strong>one kernel for every single input channel&lt;/strong> to the layer, and each kernel being unique. As the input image has 3 channels (RGB), our filter consists of also 3 kernels.&lt;/p>
&lt;p>Each of the kernels of the filter “slides” over their respective input channels, producing a processed version of each.&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*8dx6nxpUh2JqvYWPadTwMQ.gif" alt="Image for post">&lt;/p>
&lt;p>Each of the per-channel processed versions are then summed together to form &lt;em>one&lt;/em> channel. The kernels of a filter each produce one version of each channel, and the filter as a whole produces one overall output channel.&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*CYB2dyR3EhFs1xNLK8ewiA.gif" alt="Image for post">&lt;/p>
&lt;p>We can stack different filters to obtain a &lt;strong>multi-channel&lt;/strong> output “image”.&lt;/p>
&lt;p>For example, assuming that&lt;/p>
&lt;ul>
&lt;li>
&lt;p>input image has the size $\text{height} \times \text{width} \times \text{depth} = 32 \times 32 \times 3$&lt;/p>
&lt;/li>
&lt;li>
&lt;p>filter size is $5 \times 5 \times 3$&lt;/p>
&lt;/li>
&lt;li>
&lt;p>and we have 6 different filters&lt;/p>
&lt;p>$\to$ we’ll get 6 separate activation maps and stack it together&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>$\Rightarrow$ The depth of the multi-channel output &amp;ldquo;image&amp;rdquo; is 6.&lt;/p>
&lt;p>​ ($depth\_\text{activation maps} = \\# filters$)&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-19%2021.44.04.png" alt="截屏2020-08-19 21.44.04" style="zoom: 40%;" />
&lt;h3 id="convolution-example">Convolution Example&lt;/h3>
&lt;figure>&lt;img src="https://ujwlkarn.files.wordpress.com/2016/08/giphy.gif?w=748"
alt="A filter (with red outline) slides over the input image (convolution operation) to produce a feature map. The convolution of another filter (with the green outline), over the same image gives a different feature map as shown. It is important to note that the Convolution operation captures the local dependencies in the original image. Also notice how these two different filters generate different feature maps from the same original image.">&lt;figcaption>
&lt;p>A filter (with red outline) slides over the input image (convolution operation) to produce a feature map. The convolution of another filter (with the green outline), over the same image gives a different feature map as shown. It is important to note that the Convolution operation captures the local dependencies in the original image. Also notice how these two different filters generate different feature maps from the same original image.&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="non-linearity-relu">Non-linearity: ReLU&lt;/h3>
&lt;p>For any kind of neural network to be powerful, it needs to contain non-linearity. And CNN is no different.&lt;/p>
&lt;p>After the convolution operation, we pass the result through &lt;strong>non-linear&lt;/strong> activation function. In CNN we usually use &lt;strong>Rectified Linear Units (ReLU)&lt;/strong>, because it has been &lt;a href="https://arxiv.org/pdf/1906.01975.pdf">empirically observed&lt;/a> that CNNs using ReLU are faster to train than their counterparts.
&lt;/p>
$$
\operatorname{ReLU}(x) = \max(0, x)
$$
&lt;p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/relu_graph.png" alt="relu graph" style="zoom: 25%;" />&lt;/p>
&lt;h3 id="relu-example">ReLU Example&lt;/h3>
&lt;figure>&lt;img src="https://ujwlkarn.files.wordpress.com/2016/08/screen-shot-2016-08-07-at-6-18-19-pm.png?w=748"
alt="This example shows the ReLU operation applied to one of the fearure maps obtained in the convolutional example. The output feature map here is also referred to as the ‘Rectified’ feature map.">&lt;figcaption>
&lt;p>This example shows the ReLU operation applied to one of the fearure maps obtained in the convolutional example. The output feature map here is also referred to as the ‘Rectified’ feature map.&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="stride-and-padding">Stride and Padding&lt;/h3>
&lt;p>&lt;strong>Stride&lt;/strong> specifies how much we move the convolution filter at each step.&lt;/p>
&lt;p>By default the value is 1:&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*L4T6IXRalWoseBncjRr4wQ@2x.gif" alt="Image for post" style="zoom:40%;" />
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/d0ufdQE7LHA43cdSrVefw2I9DFceYMixqoZJ.gif" alt="img" style="zoom:50%;" />
&lt;p>Stride &amp;gt; 1often used to &lt;strong>down-sample&lt;/strong> the image&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*4wZt9G7W7CchZO-5rVxl5g@2x.gif" alt="Image for post" style="zoom:40%;" />
&lt;figure>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*BMngs93_rm2_BpJFH2mS0Q.gif"
alt="Stride 2 convolution">&lt;figcaption>
&lt;p>Stride 2 convolution&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;p>What do we do with border pixels?&lt;/p>
&lt;p>$\to$ &lt;strong>Paddings&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fill up the image borders (zero-padding is most common)&lt;/li>
&lt;li>Preserve the size of the feature maps from shrinking&lt;/li>
&lt;li>Improves performance and makes sure the kernel and stride size will fit in the input&lt;/li>
&lt;/ul>
&lt;figure>&lt;img src="https://miro.medium.com/max/700/1*W2D564Gkad9lj3_6t9I2PA@2x.gif"
alt="Height and width of feature map is same as the input image due to padding (the gray area).">&lt;figcaption>
&lt;p>Height and width of feature map is same as the input image due to padding (the gray area).&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="dimension-parameters-computation">Dimension parameters computation&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Inpupt size:&lt;/p>
$$W\_{1} \times H\_{1} \times D\_{1}$$
&lt;p>(usually $W\_1 = H\_1$)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Hyperparameters:&lt;/p>
&lt;ul>
&lt;li>Number of filters: $K$&lt;/li>
&lt;li>Filter size: $F \times F \times D\_1$&lt;/li>
&lt;li>Stride: $S$&lt;/li>
&lt;li>Amount of padding: $P$&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Output size:&lt;br>
&lt;/p>
$$
W\_{2} \times H\_{2} \times K
$$
&lt;p>
with&lt;/p>
&lt;ul>
&lt;li>
&lt;p>$W_{2}=\lfloor \frac{W_{1}-F+2 P}{S}+1 \rfloor$&lt;/p>
&lt;/li>
&lt;li>
&lt;p>$H_{2}=\lfloor \frac{H_{1}-F+2 P}{S}+1 \rfloor$&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Number of weights:
&lt;/p>
$$
\text{#weights} = \underbrace{F \cdot F}\_{\text {Filter size }} \cdot \underbrace{D\_{1}}_{\text {Filter depth }} \cdot \underbrace{K}\_{\text {#Filters }}
$$
&lt;/li>
&lt;/ul>
&lt;h3 id="connections-calculation">Connections Calculation&lt;/h3>
$$
\text{#Connections} = \text{#Neurons of next layer} \times \text{filter size}
$$
&lt;p>Nice explanation from &lt;a href="https://cs231n.github.io/convolutional-networks/#conv">cs231n&lt;/a>:&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/%E6%88%AA%E5%B1%8F2020-08-27%2010.09.10.png" alt="截屏2020-08-27 10.09.10">&lt;/p>
&lt;h3 id="summary-of-conv-layer">Summary of Conv-layer&lt;/h3>
&lt;ol>
&lt;li>Convolution operation using filters&lt;/li>
&lt;li>Feed into ReLU&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/new_NN_CNN_1_1.png" alt="007 CNN One Layer of A ConvNet | Master Data Science">&lt;/p>
&lt;h2 id="pooling-layer">Pooling Layer&lt;/h2>
&lt;h3 id="how-pooling-works">How Pooling works?&lt;/h3>
&lt;p>After a convolution operation we usually perform &lt;strong>pooling&lt;/strong> to reduce the dimensionality.&lt;/p>
&lt;p>Pooling layers downsample each feature map independently, reducing the height and width, keeping the depth intact. &lt;span style="color:green">This enables us to reduce the number of parameters, which both shortens the training time and combats overfitting.&lt;/span> 👏&lt;/p>
&lt;p>The most common type of pooling is &lt;strong>max pooling&lt;/strong> which just takes the max value in the pooling window. Contrary to the convolution operation, pooling has NO parameters. It slides a window over its input, and simply takes the max value in the window. Similar to a convolution, we specify the window size and stride.&lt;/p>
&lt;p>Example: max pooling using a $2 \times 2$ window and stride 2&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*ReZNSf_Yr7Q1nqegGirsMQ@2x.png" alt="Image for post" style="zoom: 40%;" />
&lt;p>Now let’s work out the feature map dimensions before and after pooling.&lt;/p>
&lt;p>If the input to the pooling layer has the dimensionality $32 \times 32 \times 10$, using the same pooling parameters described above, the result will be a $16 \times 16 \times 10$ feature map.&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*sExirX4-kgM0P66PysNQ4A@2x.png" alt="Image for post" style="zoom:40%;" />
&lt;p>Both the height and width of the feature map are &lt;em>halved&lt;/em>. Thus we reduced the number of weights to 1/4 of the input.&lt;/p>
&lt;p>The depth doesn’t change because pooling works independently on each depth slice the input.&lt;/p>
&lt;div class="flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900">
&lt;span class="pr-3 pt-1 text-primary-600 dark:text-primary-300">
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z"/>&lt;/svg>
&lt;/span>
&lt;span class="dark:text-neutral-300">In CNN architectures, pooling is typically performed with 2x2 windows, stride 2 and NO padding.&lt;/span>
&lt;/div>
&lt;h3 id="pooling-example">Pooling Example&lt;/h3>
&lt;figure>&lt;img src="https://ujwlkarn.files.wordpress.com/2016/08/screen-shot-2016-08-07-at-6-11-53-pm.png?w=748"
alt="This example shows the effect of Pooling on the Rectified Feature Map we received after the ReLU operation in the above ReLU example. Max refers to Max-Pooling and Sum refers to Sum-Pooling.">&lt;figcaption>
&lt;p>This example shows the effect of Pooling on the Rectified Feature Map we received after the ReLU operation in the above ReLU example. Max refers to Max-Pooling and Sum refers to Sum-Pooling.&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="why-pooling-works">Why pooling works?&lt;/h3>
&lt;p>Because Pooling keeps the maximum value from each window, it &lt;strong>preserves the best fits of each feature within the window&lt;/strong>. This means that it doesn’t care so much exactly where the feature fit as long as it fit somewhere within the window.&lt;/p>
&lt;p>The result of this is that CNNs can find whether a feature is in an image without worrying about where it is. This helps solve the problem of computers being hyper-literal.&lt;/p>
&lt;p>In particular, Pooling&lt;/p>
&lt;ul>
&lt;li>makes the input representations (feature dimension) smaller and more manageable&lt;/li>
&lt;li>reduces the number of parameters and computations in the network, therefore, controlling &lt;a href="https://en.wikipedia.org/wiki/Overfitting">overfitting&lt;/a>&lt;/li>
&lt;li>makes the network invariant to small transformations, distortions and translations in the input image (a small distortion in input will not change the output of Pooling – since we take the maximum / average value in a local neighborhood).&lt;/li>
&lt;li>helps us arrive at an almost scale invariant representation of our image&lt;/li>
&lt;/ul>
&lt;h3 id="dimension-parameters-computation-1">Dimension parameters computation&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>Inpupt size:&lt;/p>
$$W\_{1} \times H\_{1} \times D\_{1}$$
&lt;p>(usually $W\_1 = H\_1$)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Hyperparameters:&lt;/p>
&lt;ul>
&lt;li>Number of filters: $K$&lt;/li>
&lt;li>Filter size: $F \times F \times D\_1$&lt;/li>
&lt;li>Stride: $S$&lt;/li>
&lt;li>Typically no padding&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Output size:&lt;br>
&lt;/p>
$$
W\_{2} \times H\_{2} \times D\_1
$$
&lt;p>
with&lt;/p>
&lt;ul>
&lt;li>
&lt;p>$W_{2}=\lfloor \frac{W_{1}-F}{S}\rfloor+1 $&lt;/p>
&lt;/li>
&lt;li>
&lt;p>$H_{2}=\lfloor \frac{H_{1}-F}{S}\rfloor+1 $&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Number of weights: &lt;strong>0&lt;/strong> (since it computes a fixed function of the input)&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="fully-connected-layer">Fully Connected Layer&lt;/h2>
&lt;p>After the convolution + pooling layers we add a couple of fully connected layers to wrap up the CNN architecture.&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/Screen-Shot-2017-07-27-at-12.07.11-AM.png" alt="img">&lt;/p>
&lt;p>The Fully Connected layer is a traditional MultiLayer Perceptron (MLP) that uses a softmax activation function in the output layer (other classifiers like SVM can also be used). The term “Fully Connected” implies that every neuron in the previous layer is connected to every neuron on the next layer.&lt;/p>
&lt;p>The output from the convolutional and pooling layers represent high-level features of the input image. The purpose of the Fully Connected layer is to &lt;strong>use these features for classifying the input image into various classes based on the training dataset.&lt;/strong>&lt;/p>
&lt;blockquote>
&lt;p>Remember that the output of both convolution and pooling layers are 3D volumes, but a fully connected layer expects a &lt;strong>1D vector of numbers&lt;/strong>. So we &lt;em>flatten&lt;/em> the output of the final pooling layer to a vector and that becomes the input to the fully connected layer. Flattening is simply arranging the 3D volume of numbers into a 1D vector, nothing fancy happens here.&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/Screen-Shot-2017-07-26-at-4.26.01-PM.png" alt="img">&lt;/p>
&lt;/blockquote>
&lt;p>Apart from classification, adding a fully-connected layer is also a (usually) cheap way of learning non-linear combinations of these features. &lt;a href="https://stats.stackexchange.com/questions/182102/what-do-the-fully-connected-layers-do-in-cnns/182122#182122">Most of the features from convolutional and pooling layers may be good for the classification task, but combinations of those features might be even better&lt;/a>.&lt;/p>
&lt;h2 id="-advantages-of-cnn-vs-mlp">✅ Advantages of CNN (vs. MLP)&lt;/h2>
&lt;ul>
&lt;li>CNNs are good for translation invariance&lt;/li>
&lt;li>CNN reduces the numbers of parameters
&lt;ul>
&lt;li>Locally connected, shared weights, pooling, local feature extractor&lt;/li>
&lt;li>But learning power is still good or even better (generalization)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>We can “resize” the next layer &lt;strong>to as we want&lt;/strong>
&lt;ul>
&lt;li>By setting kernel size, number of kernel, padding, stride&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Design of good architecture based on intuitions (or Neural architecture search)&lt;/li>
&lt;/ul>
&lt;h2 id="reference">Reference&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1">Intuitively Understanding Convolutions for Deep Learning&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://towardsdatascience.com/applied-deep-learning-part-4-convolutional-neural-networks-584bc134c1e2">Applied Deep Learning - Part 4: Convolutional Neural Networks&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/">An Intuitive Explanation of Convolutional Neural Networks&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.jeremyjordan.me/convolutional-neural-networks/">Convolutional neural networks&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>👍 CNN Intuition and Visualization</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-intuition-and-visualization/</link><pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-intuition-and-visualization/</guid><description>&lt;h2 id="intuition">Intuition&lt;/h2>
&lt;p>A CNN model can be thought as a combination of two components:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>feature extraction part&lt;/strong>&lt;/p>
&lt;p>The convolution + pooling layers perform feature extraction. For example given an image, the convolution layer detects features such as two eyes, long ears, four legs, a short tail and so on.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>classification part&lt;/strong>&lt;/p>
&lt;p>The fully connected layers then act as a classifier on top of these features, and assign a probability for the input image being a dog.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>The convolution layers are the main powerhouse of a CNN model. Automatically detecting meaningful features given only an image and a label is not an easy task. The convolution layers learn such complex features by &lt;strong>building on top of each other&lt;/strong>. The first layers detect edges, the next layers combine them to detect shapes, to following layers merge this information to infer that this is a nose. To be clear, the CNN doesn’t know what a nose is. By seeing a lot of them in images, it learns to detect that as a feature. The fully connected layers learn how to use these features produced by convolutions in order to correctly classify the images.&lt;/p>
&lt;h2 id="visualization">Visualization&lt;/h2>
&lt;p>Let&amp;rsquo;s say this is our originial input image:&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*H3E66N_7umdrobakY-wG4A@2x.png" alt="Image for post" style="zoom:50%;" />
&lt;p>And we will use VGG as our CNN architectures.&lt;/p>
&lt;figure>&lt;img src="https://miro.medium.com/max/700/1*U8uoGoZDs8nwzQE3tOhfkw@2x.png"
alt="VGG16 structure">&lt;figcaption>
&lt;p>VGG16 structure&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;p>We will visualize 3 components of the VGG model:&lt;/p>
&lt;ul>
&lt;li>Feature maps&lt;/li>
&lt;li>Convnet filters&lt;/li>
&lt;li>Class output&lt;/li>
&lt;/ul>
&lt;h3 id="feature-maps-visualization">Feature Maps Visualization&lt;/h3>
&lt;p>Recap of CONV-layer:&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*hbp1VRfeWnaREPrRLnxtqQ@2x.png" alt="Image for post" style="zoom: 33%;" />
&lt;ul>
&lt;li>Filter operates on the input performing the convolution operation and as a result we get a feature map.&lt;/li>
&lt;li>We use multiple filters and stack the resulting feature maps together to obtain an output volume.&lt;/li>
&lt;/ul>
&lt;p>We will visualize the feature maps to see how the input is transformed passing through the convolution layers. The feature maps are also called &lt;em>intermediate activations&lt;/em> since the output of a layer is called the activation.&lt;/p>
&lt;div class="flex px-4 py-3 mb-6 rounded-md bg-primary-100 dark:bg-primary-900">
&lt;span class="pr-3 pt-1 text-primary-600 dark:text-primary-300">
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0a9 9 0 0 1 18 0m-9-3.75h.008v.008H12z"/>&lt;/svg>
&lt;/span>
&lt;span class="dark:text-neutral-300">VGG convolutional layers are named as: &lt;code>blockX_convY&lt;/code>. For example the second filter in the third convolution block is called &lt;code>block3_conv2&lt;/code>.&lt;/span>
&lt;/div>
&lt;p>Now let’s visualize the feature maps corresponding to the first convolution of each block, the red arrows in the figure below.&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*VjN03E-hiCTpqfugD8EzsQ@2x.png" alt="Image for post" style="zoom: 40%;" />
&lt;p>The following figure displays the first 8 feature maps per layer. Notice that there&amp;rsquo;re more than 8 feature maps per layer.&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*A86wUjL-Z0SWDDI3slKqtg@2x.png" alt="Image for post">&lt;/p>
&lt;p>Looking at one feature map per layer, we can obtain some interesting observations:&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/1*OuxhgVj1WDDfo5UO5GIhgA@2x.png" alt="Image for post">&lt;/p>
&lt;ul>
&lt;li>
&lt;p>The first layer feature maps (&lt;code>block1_conv1&lt;/code>) retain most of the information present in the image. In CNN architectures the first layers usually act as &lt;em>edge&lt;/em> detectors.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>As we go deeper into the network, the feature maps look &lt;em>less&lt;/em> like the original image and more like an abstract representation of it.&lt;/p>
&lt;ul>
&lt;li>In &lt;code>block3_conv1&lt;/code> the cat is somewhat visible, but after that it becomes unrecognizable.&lt;/li>
&lt;li>&lt;strong>The reason is that deeper feature maps encode high level concepts like “cat nose” or “dog ear” while lower level feature maps detect simple edges and shapes. That’s why deeper feature maps contain less information about the image and more about the class of the image. They still encode useful features, but they are less visually interpretable by us.&lt;/strong>&lt;/li>
&lt;li>The feature maps become &lt;em>sparser&lt;/em> as we go deeper, meaning the filters detect &lt;em>less&lt;/em> features.
&lt;ul>
&lt;li>It makes sense because the filters in the first layers detect simple shapes, and every image contains those.&lt;/li>
&lt;li>But as we go deeper we start looking for more complex stuff like “dog tail” and they don’t appear in every image. That’s why in the first figure with 8 filters per layer, we see more of the feature maps as blank as we go deeper (&lt;code>block4_conv1&lt;/code> and &lt;code>block5_conv1&lt;/code>).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="conv-filters-and-class-output-visualization">CONV Filters and Class Output Visualization&lt;/h3>
&lt;p>Check out this great article: &lt;a href="https://towardsdatascience.com/applied-deep-learning-part-4-convolutional-neural-networks-584bc134c1e2">Applied Deep Learning - Part 4: Convolutional Neural Networks&lt;/a>&lt;/p>
&lt;h2 id="interactive-cnn-visualization">Interactive CNN Visualization&lt;/h2>
&lt;p>For real-time, dynamic, and interactive CNN visualization, I highly recommend &lt;a href="https://poloclub.github.io/cnn-explainer/#article-convolution">CNN Explainer&lt;/a>.&lt;/p>
&lt;h2 id="reference">Reference&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://towardsdatascience.com/applied-deep-learning-part-4-convolutional-neural-networks-584bc134c1e2">Applied Deep Learning - Part 4: Convolutional Neural Networks&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>CNN History</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-history/</link><pubDate>Thu, 20 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-history/</guid><description>&lt;h2 id="lenet-1998">LeNet (1998)&lt;/h2>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/0*H9_eGAtkQXJXtkoK.png" alt="LeNet-5 in 9 lines of code using Keras | by Mostafa Gazar | Medium" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Image followed by multiple convolutional / pooling layers&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Build up hierarchical filter structures&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Subsampling / pooling increases robustness&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Fully connected layers towards the end&lt;/p>
&lt;ul>
&lt;li>Brings all information together, combines it once more&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Output layer of 10 units, one for each digit class&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="imagenet-dataset-2009">ImageNet Dataset (2009)&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/imagenet_banner.jpeg" alt="Prepare the ImageNet dataset — gluoncv 0.9.0 documentation" style="zoom:67%;" />
&lt;p>&lt;strong>Standard benchmark for vision:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>1.2 M images&lt;/li>
&lt;li>1000 classes&lt;/li>
&lt;li>&amp;gt; 500 images per class&lt;/li>
&lt;/ul>
&lt;h3 id="imagenet-large-scale-visual-recognition-challenge-ilsvrc">ImageNet Large Scale Visual Recognition Challenge (ILSVRC)&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>ILSVRC Classification Task&lt;/strong>
&lt;ul>
&lt;li>1000 object classes&lt;/li>
&lt;li>1.2 million training images (732 – 1300 per class)&lt;/li>
&lt;li>50 thousand validation images (50 per class)&lt;/li>
&lt;li>100 thousand test images (100 per class)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="alexnet-2012">AlexNet (2012)&lt;/h2>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/05_04.png" alt="5 Advanced CNN Architectures - Deep Learning for Vision Systems &amp;amp;hellip;" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Multiple convolutional layers&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Couple fully connected (dense) layers&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Final classification using a “soft-max” layer&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Train end-to-end via back propagation&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Details&lt;/p>
&lt;ul>
&lt;li>first use of ReLU&lt;/li>
&lt;li>used Norm layers (not common anymore)&lt;/li>
&lt;li>heavy data augmentation&lt;/li>
&lt;li>dropout 0.5&lt;/li>
&lt;li>batch size 128&lt;/li>
&lt;li>SGD Momentum 0.9&lt;/li>
&lt;li>Learning rate 1e-2, reduced by a factor of 10 manually when val accuracy plateaus&lt;/li>
&lt;li>L2 weight decay 5e-4&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="vgg-net-2014">VGG Net (2014)&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/vgg-ispravljeno-.png" alt="013 CNN VGG 16 and VGG 19 | Master Data Science" style="zoom: 25%;" />
&lt;p>&lt;strong>Small filters, Deeper networks&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>8 layers (AlexNet) -&amp;gt; 16 - 19 layers (VGG16Net)&lt;/li>
&lt;li>Only 3x3 CONV stride 1, pad 1&lt;/li>
&lt;li>and 2x2 MAX POOL stride 2&lt;/li>
&lt;/ul>
&lt;h2 id="resnet-2015">ResNet (2015)&lt;/h2>
&lt;h3 id="residual-blocks">Residual blocks&lt;/h3>
&lt;p>&lt;strong>How can we train such deep networks?&lt;/strong>&lt;/p>
&lt;p>&lt;strong>Solution:&lt;/strong> &lt;strong>Use network layers to fit a residual mapping instead of directly trying to fit a&lt;/strong>&lt;/p>
&lt;p>&lt;strong>desired underlying mapping&lt;/strong>&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2012.17.05.png" alt="截屏2020-08-20 12.17.05" style="zoom: 50%;" />
&lt;ul>
&lt;li>Use layers to fit residual $F(x) = H(x) – x$ instead of $H(x)$ directly&lt;/li>
&lt;li>Initially, $F(x)$ is set to 0, so the layer just computes the identity&lt;/li>
&lt;li>I.e. adding more layers does not harm &amp;#x1f44f;&lt;/li>
&lt;/ul>
&lt;h3 id="resnet-architecture">ResNet Architecture&lt;/h3>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/resnet.png" alt="CNN Architectures | Data Science Portfolio" style="zoom: 67%;" />
&lt;ul>
&lt;li>Stack residual blocks&lt;/li>
&lt;li>Every residual block has two 3x3 conv layers&lt;/li>
&lt;li>Periodically, double # of filters and downsample spatially using stride 2 (/2 in each dimension)&lt;/li>
&lt;li>Additional conv layer at the beginning&lt;/li>
&lt;li>No FC layers at the end (only FC 1000 to output classes)&lt;/li>
&lt;/ul>
&lt;h3 id="training-resnet-in-practice">Training ResNet in practice&lt;/h3>
&lt;ul>
&lt;li>Batch Normalization after every CONV layer (not covered)&lt;/li>
&lt;li>Xavier 2/ initialization from He et al.&lt;/li>
&lt;li>SGD + Momentum (0.9)&lt;/li>
&lt;li>Learning rate: 0.1, divided by 10 when validation error plateaus&lt;/li>
&lt;li>Mini-batch size 256&lt;/li>
&lt;li>Weight decay of 1e-5&lt;/li>
&lt;li>No dropout used&lt;/li>
&lt;/ul>
&lt;h2 id="transfer-learning">Transfer Learning&lt;/h2>
&lt;p>&lt;strong>ImageNet has 1.2 million images!&lt;/strong> Typically, we do not have that many! Can we also use these methods with less images?&lt;/p>
&lt;p>Yes! With &lt;strong>transfer learning&lt;/strong>!&lt;/p>
&lt;ul>
&lt;li>Features (conv layers) are generic and can be reused!&lt;/li>
&lt;/ul>
&lt;h3 id="how">How?&lt;/h3>
&lt;ul>
&lt;li>Train on huge data-set (e.g. Imagenet)&lt;/li>
&lt;li>Freeze layers and adapt only last (FC) layers&lt;/li>
&lt;/ul>
&lt;ol>
&lt;li>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/%e6%88%aa%e5%b1%8f2020-08-20%2012.28.50.png" alt="截屏2020-08-20 12.28.50" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/li>
&lt;/ol>
&lt;h3 id="pratical-advice">Pratical Advice&lt;/h3>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20 12.31.22.png" alt="截屏2020-08-20 12.31.22" style="zoom: 50%;" />
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Very little data, very similar dataset:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Use Linear classifier on top layer&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Very little data, very different dataset:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>You’re in trouble&amp;hellip; Try linear classifier from different stages and pray 🤪&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>A lot of data, very similar dataset:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Finetune a few layers&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>A lot of data, very different dataset:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Finetune a larger number of layers&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h3 id="example-image-captioning">Example: Image Captioning&lt;/h3>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/%e6%88%aa%e5%b1%8f2020-08-20%2012.32.22.png" alt="截屏2020-08-20 12.32.22" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="example-face-recognition">Example: Face Recognition&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Siamese Networks (FaceNet)&lt;/strong>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Distance
&lt;/p>
$$
d\left(x\_{1}, x\_{2}\right)=\left\|f\left(x\_{1}\right)-f\left(x\_{2}\right)\right\|\_{2}^{2}
$$
&lt;ul>
&lt;li>If $d(x\_1, x\_2)$ small: same person&lt;/li>
&lt;li>Otherwise different person&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Training: Triplet loss
&lt;/p>
$$
L(A, P, N)=\max \left(\|f(A)-f(P)\|^{2}-\|f(A)-f(N)\|^{2}+\alpha, 0\right)
$$
&lt;/li>
&lt;/ul>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2013.19.31.png" alt="截屏2020-08-20 13.19.31" style="zoom:67%;" /></description></item><item><title>Computer Vision</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/computer-vision/</link><pubDate>Thu, 20 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/computer-vision/</guid><description>&lt;h2 id="computer-vision-cv-tasks">Computer Vision (CV) Tasks&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2013.23.32.png" alt="截屏2020-08-20 13.23.32" style="zoom: 50%;" />
&lt;ul>
&lt;li>Classification&lt;/li>
&lt;li>Classification + &lt;a href="#object-localization-:-coordinate-prediction">Localization&lt;/a>&lt;/li>
&lt;li>&lt;a href="#detection">Object Detection&lt;/a>&lt;/li>
&lt;li>&lt;a href="#instance-segmentation">Instance Segmentation&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="object-localization-coordinate-prediction">&lt;strong>Object Localization: Coordinate prediction&lt;/strong>&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2013.36.50.png" alt="截屏2020-08-20 13.36.50" style="zoom:67%;" />
&lt;h3 id="sliding-window">Sliding Window&lt;/h3>
&lt;p>&lt;strong>Object Localization&lt;/strong>&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2016.52.34.png" alt="截屏2020-08-20 16.52.34" style="zoom:67%;" />
&lt;p>&lt;strong>Classification &amp;amp; Localization&lt;/strong>&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2016.53.21.png" alt="截屏2020-08-20 16.53.21" style="zoom:67%;" />
&lt;h2 id="detection">Detection&lt;/h2>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2016.54.26.png" alt="截屏2020-08-20 16.54.26" style="zoom:50%;" />
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2016.54.44.png" alt="截屏2020-08-20 16.54.44" style="zoom:50%;" />
&lt;p>Sliding Window + Classification:&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2016.55.40.png" alt="截屏2020-08-20 16.55.40" style="zoom:67%;" />
&lt;h3 id="regioning">Regioning&lt;/h3>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2016.56.37.png" alt="截屏2020-08-20 16.56.37" style="zoom:67%;" />
&lt;ul>
&lt;li>
&lt;p>&lt;span style="color:Red">Sliding Window Problem: Need to test many positions and scales, and use a computationally demanding classifier&lt;/span>&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Solution: Only look at a tiny subset of possible positions&lt;/p>
&lt;ul>
&lt;li>Regioning =&amp;gt; propose image regions that are likely to contain objects&lt;/li>
&lt;li>Classify individual regions and correct regions&lt;/li>
&lt;li>R-CNN -&amp;gt; Fast R-CNN -&amp;gt; Faster R-CNN&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h4 id="r-cnn">R-CNN&lt;/h4>
&lt;ul>
&lt;li>Propose approx. 2k different regions (bounding boxes) for image classification&lt;/li>
&lt;li>For each box, do image classification with CNN
&lt;ul>
&lt;li>Discard unlikely boxes&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Refine bounding boxes with regression&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/RCNN.png" alt="Object Detection for Dummies Part 3: R-CNN Family">&lt;/p>
&lt;h4 id="fast-r-cnn">Fast R-CNN&lt;/h4>
&lt;ul>
&lt;li>9x faster training, 213x faster test time&lt;/li>
&lt;li>R-CNN is not end to end (first train softmax classifier, use that for training bounding box regressor)&lt;/li>
&lt;li>Similar to R-CNN
&lt;ul>
&lt;li>Apply Region Proposals on feature map result of applied CNN to input image&lt;/li>
&lt;li>Reshape region proposals on feature map into fixed size&lt;/li>
&lt;li>Feed into FC layer&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/fast-RCNN.png" alt="Object Detection for Dummies Part 3: R-CNN Family" style="zoom: 50%;" />
&lt;h4 id="faster-r-cnn">Faster R-CNN&lt;/h4>
&lt;ul>
&lt;li>Both R-CNN and R-CNN rely on Selective Search for region proposals -&amp;gt; most time consuming part 🤪&lt;/li>
&lt;li>Use a seperate Network for predicting the regions of interest &amp;#x1f4aa;&lt;/li>
&lt;/ul>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/faster-RCNN.png" alt="Object Detection for Dummies Part 3: R-CNN Family" style="zoom: 67%;" />
&lt;h3 id="yolo">YOLO&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Y&lt;/strong>ou &lt;strong>O&lt;/strong>nly &lt;strong>L&lt;/strong>ook &lt;strong>O&lt;/strong>nce: Unified Real-Time Object Detection&lt;/p>
&lt;/li>
&lt;li>
&lt;p>„Simple network“, directly from pixels to bounding box / object detection / class prediction&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="image-segmentation">Image Segmentation&lt;/h2>
&lt;ul>
&lt;li>Grouping Pixels into regions that belong to same properties&lt;/li>
&lt;li>Eg: Segmenting an Image into meaningful objects&lt;/li>
&lt;/ul>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2017.31.10.png" alt="截屏2020-08-20 17.31.10" style="zoom:67%;" />
&lt;h3 id="semantic-segmentation">Semantic Segmentation&lt;/h3>
&lt;p>&lt;strong>Sliding Window&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Label each pixel in image with a category label&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Don‘t differentiate instances, only care about pixels&lt;/p>
&lt;/li>
&lt;li>
&lt;p>=&amp;gt; just extract small patches from an image and classify center pixel with a normal CNN classifier&lt;/p>
&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/截屏2020-08-20%2017.33.57.png" alt="截屏2020-08-20 17.33.57" style="zoom:67%;" />
&lt;/li>
&lt;li>
&lt;p>&lt;span style="color:Red">Problem: very inefficient&lt;/span>&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Fully convolutional&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Keep the network as an end to end convolutional Neural Network&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Predictions are made for all pixels at once&lt;/p>
&lt;p>&lt;img src="https://raw.githubusercontent.com/EckoTan0804/upic-repo/master/uPic/%E6%88%AA%E5%B1%8F2020-08-20%2017.34.17.png" alt="截屏2020-08-20 17.34.17">&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Convolutions at original image resolution are very expensive&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h2 id="reference">Reference&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://lilianweng.github.io/lil-log/2017/12/31/object-recognition-for-dummies-part-3.html">Object Detection for Dummies Part 3: R-CNN Family&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>CNN Resources</title><link>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-resources/</link><pubDate>Wed, 19 Aug 2020 00:00:00 +0000</pubDate><guid>https://haobin-tan.netlify.app/docs/ai/deep-learning/cnn/cnn-resources/</guid><description>&lt;h2 id="tutorials">Tutorials&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://e2eml.school/how_convolutional_neural_networks_work.html">How do Convolutional Neural Networks work?&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/">An Intuitive Explanation of Convolutional Neural Networks&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="visualization">Visualization&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://poloclub.github.io/cnn-explainer/#article-convolution">CNN Explainer&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.cs.ryerson.ca/~aharley/vis/conv/flat.html">MINST playground&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="plotting">Plotting&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="http://alexlenail.me/NN-SVG/">NN-SVG&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="papers-overview">Papers Overview&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://adeshpande3.github.io/The-9-Deep-Learning-Papers-You-Need-To-Know-About.html">The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3)&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>