{"componentChunkName":"component---src-templates-post-template-js","path":"/posts/2021-09-06/cs231n-lec-10","result":{"data":{"markdownRemark":{"id":"c5ffac31-2473-543a-a467-e72d752bacef","html":"<p>본 게시물은 <a href=\"http://cs231n.stanford.edu/2017/syllabus.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CS231n: Convolutional Neural Networks for Visual Recognition (2017)</a> 강의의 영상과 슬라이드를 기반을 작성 되었습니다.</p>\n<hr>\n<h1 id=\"recurrent-neural-networks\" style=\"position:relative;\"><a href=\"#recurrent-neural-networks\" aria-label=\"recurrent neural networks permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Recurrent Neural Networks</h1>\n<p>📌 RNN은 가변 길이(0~N) 데이터를 입출력으로 받아들일 수 있는 네트워크 구조</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 848px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/166c94c5e812fe77273ca962631b2b3c/d52e5/01_overview.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 32.08333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABTElEQVQY0x2RiXKDMAxE8/+/1jZpp4UcBEIopyHEjrkCpK8Cz3js1a5Wkr0xxhD9JvR9R9N2XKOYKE54vV5ofSfNMgpVsaxxfApO+Y1T0lyJ5o+2bblKfih51jZs+v6Jey6Yp5Gisrw7Gbt9Rj+MDFJEa8vxUjEJ3zYN2jRs3Yz3n4yythjb8eHma6wSLIYDgXQ0TxPVXXMMr3jXiGF4UusbSZESZTnTOFLeFFmZr/yiq7XBSpFTuOAI/XiI4dDhx0fpYBbDgu/gA+fyJeONhGnAp/dGkJxW3osOfPtbfvyd6LbUpsK2FifYSWzBNZuh68g8j3GeMXmOimOMVBql4zIMSRwHFQQrn5/PpK5Lcblw15qu77F3eef9nkTiD7lvnsNA6ftM8glWKeo0XYWTGNzEsBDxci64FGMluBLcyGcsUzRirA4HCtmNGP4DxHbAncEyd1MAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/166c94c5e812fe77273ca962631b2b3c/8ac56/01_overview.webp 240w,\n/static/166c94c5e812fe77273ca962631b2b3c/d3be9/01_overview.webp 480w,\n/static/166c94c5e812fe77273ca962631b2b3c/27a2c/01_overview.webp 848w\"\n              sizes=\"(max-width: 848px) 100vw, 848px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/166c94c5e812fe77273ca962631b2b3c/8ff5a/01_overview.png 240w,\n/static/166c94c5e812fe77273ca962631b2b3c/e85cb/01_overview.png 480w,\n/static/166c94c5e812fe77273ca962631b2b3c/d52e5/01_overview.png 848w\"\n            sizes=\"(max-width: 848px) 100vw, 848px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/166c94c5e812fe77273ca962631b2b3c/d52e5/01_overview.png\"\n            alt=\"01_overview\"\n            title=\"01_overview\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<table>\n<thead>\n<tr>\n<th align=\"center\">유형</th>\n<th align=\"center\">입력</th>\n<th align=\"center\">출력</th>\n<th align=\"left\">예시</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"center\">One to One</td>\n<td align=\"center\">단일</td>\n<td align=\"center\">단일</td>\n<td align=\"left\">지금까지 강의에서 다룬 아키텍쳐(Vanilla Neural network)</td>\n</tr>\n<tr>\n<td align=\"center\">One to Many</td>\n<td align=\"center\">고정</td>\n<td align=\"center\">가변</td>\n<td align=\"left\">Image captioning</td>\n</tr>\n<tr>\n<td align=\"center\">Many to One</td>\n<td align=\"center\">가변</td>\n<td align=\"center\">단일</td>\n<td align=\"left\">Sentiment Classification, Video Classification</td>\n</tr>\n<tr>\n<td align=\"center\">Many to Many</td>\n<td align=\"center\">가변</td>\n<td align=\"center\">가변</td>\n<td align=\"left\">입출력의 길이가 다른 경우 : Machine Translation<br>입출력의 길이가 같은 경우 : Video classification on frame level</td>\n</tr>\n</tbody>\n</table>\n<ul>\n<li>단일 입출력 예시 : 이미지, 숫자(라벨, 확률값, …)</li>\n<li>가변 입출력 예시 : 문장, 비디오</li>\n</ul>\n<h2 id=\"rnn\" style=\"position:relative;\"><a href=\"#rnn\" aria-label=\"rnn permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>RNN</h2>\n<h3 id=\"1-기본-구조\" style=\"position:relative;\"><a href=\"#1-%EA%B8%B0%EB%B3%B8-%EA%B5%AC%EC%A1%B0\" aria-label=\"1 기본 구조 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. 기본 구조</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 836px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/055c457b5d5e26e8a389f493106897b7/27b8e/02_rnn_form.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 41.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABiElEQVQoz1WSQXKbQBBFdSPfIvfIGbzxNktXLpBVKnsvvc9GlkxsZJmAFSsWUQhWwAZkEAIkAfMyA0KlTFXXTHc1j99/ppfnOZmK9Zosy1B5mqbNnmXtWdXrukYtIcR/e7Et8aPskPcs02R8d8doNGJ4PUTTrun3rxgMB4zvZV3XMWXPbDbjJQgOsA4QxDl9w6Msyxao/qxCNSgR+zpU6sv2WNY7qmoHm62iNdEBK9k3dwu61TuW7zgB0+kf1ukW23KYGnN0fUQUR0R/XX5PHlh6XqtyD7i4+sz5xRmDydem2Ovkr1Zg2zm3eig9q/DmAfbE5eGnyaMz4deTRWhapIsFsgEhPVaA0y/veffhhE+XHymLulMIvifwfXAXasTDBCRFhJc8k66kf9o3MAzEzQ1C08DzSYs1jv2DUllCo/B4AEHuCpKZIH4SRJZgE3aeyknCELFcQhwjXl9AvoxdkhJIW0Qtjj2UsVf19ghLCQoNCMctdOXICys5eCeOJGySmFfzO1VdNfk/p2pdQ445jZkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/055c457b5d5e26e8a389f493106897b7/8ac56/02_rnn_form.webp 240w,\n/static/055c457b5d5e26e8a389f493106897b7/d3be9/02_rnn_form.webp 480w,\n/static/055c457b5d5e26e8a389f493106897b7/05152/02_rnn_form.webp 836w\"\n              sizes=\"(max-width: 836px) 100vw, 836px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/055c457b5d5e26e8a389f493106897b7/8ff5a/02_rnn_form.png 240w,\n/static/055c457b5d5e26e8a389f493106897b7/e85cb/02_rnn_form.png 480w,\n/static/055c457b5d5e26e8a389f493106897b7/27b8e/02_rnn_form.png 836w\"\n            sizes=\"(max-width: 836px) 100vw, 836px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/055c457b5d5e26e8a389f493106897b7/27b8e/02_rnn_form.png\"\n            alt=\"02_rnn_form.png\"\n            title=\"02_rnn_form.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<h4 id=\"1-1️⃣-기본-동작-방식\" style=\"position:relative;\"><a href=\"#1-1%EF%B8%8F%E2%83%A3-%EA%B8%B0%EB%B3%B8-%EB%8F%99%EC%9E%91-%EB%B0%A9%EC%8B%9D\" aria-label=\"1 1️⃣ 기본 동작 방식 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1-1️⃣ 기본 동작 방식</h4>\n<ol>\n<li>RNN이 입력(x)을 받는다.</li>\n<li>RNN 내부의 hidden state를 업데이트한다.</li>\n<li>RNN 뒤의 FC Layer에서 출력값을 내보낸다.</li>\n</ol>\n<h4 id=\"1-2️⃣-기본-수식\" style=\"position:relative;\"><a href=\"#1-2%EF%B8%8F%E2%83%A3-%EA%B8%B0%EB%B3%B8-%EC%88%98%EC%8B%9D\" aria-label=\"1 2️⃣ 기본 수식 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1-2️⃣ 기본 수식</h4>\n<p>현재 시점 <em>t</em>에 대하여 아래와 같은 <strong>점화식(recurrence formula)</strong>로 표현된다.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 394px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/8f6d9f9bf28448a1ad4a2eed6a7acb72/cc097/03_rnn_formula.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 21.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAyElEQVQY011QywqDQAz0/7/EmyCo9VCvVvAB3jy4FUVFBHHX+uj6mOoeFmwgTCYkYSYK5xzruuI/tm1D31PJKaVy7jiOG14xz7PYUdI0haZpslnXNfZ9R1mWMAwD0zQhz3N4ngdd1+WhZZlFnWUZkiRB0zRiTqmqCpZlIoxCjOdyHMcYxxGEEJimCVVVQd4EURTBcZ5wXy6GgSEIfORFgcD3YduPkwdChCItMXqz3HUdGGNnUqFoGD7SOudfgZd68Z59Q9u24iU/sYErqCrG0PcAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/8f6d9f9bf28448a1ad4a2eed6a7acb72/8ac56/03_rnn_formula.webp 240w,\n/static/8f6d9f9bf28448a1ad4a2eed6a7acb72/47f09/03_rnn_formula.webp 394w\"\n              sizes=\"(max-width: 394px) 100vw, 394px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/8f6d9f9bf28448a1ad4a2eed6a7acb72/8ff5a/03_rnn_formula.png 240w,\n/static/8f6d9f9bf28448a1ad4a2eed6a7acb72/cc097/03_rnn_formula.png 394w\"\n            sizes=\"(max-width: 394px) 100vw, 394px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/8f6d9f9bf28448a1ad4a2eed6a7acb72/cc097/03_rnn_formula.png\"\n            alt=\"03_rnn_formula.png\"\n            title=\"03_rnn_formula.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>x_t : 입력값</li>\n<li>h_{t_1} : hidden state의 이전(<em>t-1</em>) 상태</li>\n<li>f_W : 파라미터 W를 이용하는 함수</li>\n<li>h_t : 현재 시점의 hidden state\n이때, <u>함수 <em>f</em>와 파라미터 <em>W</em>는 모든 시점에서 동일</u>하다.</li>\n</ul>\n<br>\n<br>\n<h2 id=\"vanilla-rnn\" style=\"position:relative;\"><a href=\"#vanilla-rnn\" aria-label=\"vanilla rnn permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Vanilla RNN</h2>\n<p>📌 가장 단순한 RNN 예시</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 673px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9c1179a61632d2aa775731742c8aae9e/c391c/04_vanilla_rnn.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 46.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABTklEQVQoz5VSS07DQAzNdTgAR2DNPTgBLFgiLsGGHQuOwIbuKAvUJCoEkigp+acRahLa/B+xqwkpVEhYsjy2x0/Pb0YCWkyfl9CdFGRd1w1OVlUVXNdFWZYIwxBBEMA0Tc7TNOW8ruthVqLD7G2F93DDxbbthuY2bxFFEQPEcQzf9+EHPoMlScKATdN8A9ZthRfzFd7Sp9IO2H9MzEg3kyscnR/g+OIQk6c7VJu6h92uTKtQpLXJ1+s18jxnRkIWqlGPjOrSg3aPs+sTXN6eYm7KJCkD0qqWZTGA53lQVZVdlmcwDINlKIoCtm1D0zS+Sxqzhp9uiC7b/KIvIg2ShqJGzAVLoTOxpCj1hBA9TrHSdVZw/MKLxQJZlsFxHCiKAt3QGXyfdsIkSj/mc+T9EH4AEivxgnQm5z66ne81dl656VdoR08/Bt3H4q9f8AUOebQj5A1VWwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/9c1179a61632d2aa775731742c8aae9e/8ac56/04_vanilla_rnn.webp 240w,\n/static/9c1179a61632d2aa775731742c8aae9e/d3be9/04_vanilla_rnn.webp 480w,\n/static/9c1179a61632d2aa775731742c8aae9e/b8cf5/04_vanilla_rnn.webp 673w\"\n              sizes=\"(max-width: 673px) 100vw, 673px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/9c1179a61632d2aa775731742c8aae9e/8ff5a/04_vanilla_rnn.png 240w,\n/static/9c1179a61632d2aa775731742c8aae9e/e85cb/04_vanilla_rnn.png 480w,\n/static/9c1179a61632d2aa775731742c8aae9e/c391c/04_vanilla_rnn.png 673w\"\n            sizes=\"(max-width: 673px) 100vw, 673px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/9c1179a61632d2aa775731742c8aae9e/c391c/04_vanilla_rnn.png\"\n            alt=\"04_vanilla_rnn.png\"\n            title=\"04_vanilla_rnn.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>이전 hidden state와 현재 입력을 통하여 다음 hidden state를 출력하는 기본 형식은 동일</li>\n<li>\n<p>function을 <code class=\"language-text\">tanh</code> 사용</p>\n<ul>\n<li>비선형성을 위해 적용됨</li>\n<li>\n<details>\n<summary>tanh를 사용하는 이유</summary>\n<div markdown=\"1\">\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 719px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/073e9/05_tanh.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 55.833333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABrklEQVQoz1VSi46jMAzs/3/h6aTdbSEBEl4hAa60pXNjp3R3kUZ2bMfM2Dnd73fEOKOue3x9GdoOfR8Rwkos2Q4Jbe0wdCOm6R/GcUHbJXii8VHh24Tr9YbT7XZDnJioenx+Vvj4MKjoezfB+wTHHznjYEyHxnrYwqEwI4wdUdUBjnWCppkwz9fccJpmslrQdd+2bQk3wrOJ+HU9wLJBeXFk22lNrksKT5bLsr0YUnLLgGtG/i3Ai2UjhZ+0uCxbnIuO0iivIluyds1AJUHvNLzzZhhCRGU8zNlmXCqY0sFSurUd0ePPX4OCTcW31cA85Uvd6055rklsxWnbNkpOSt+/6KsEtZHxBFMFXIqWTDNbif+sFbhD8nfD9C7u2vhuZtlMGsorkOG3r9xRq5BxMbcsKnnLM9TB5o3VHL40km2W3KZc1i03Mq/czLnM9vB/bTmlWd9VxWAtSXkKPjMcx1nfnePG+z6pPwwzcdicl9y6UvLz+YRAHvjh748H5Nv3nedd/Qdjkjvihz38I39a15UME2VHzlJoz8SisQyeF55jrtEz41qnuVnrQghq/wOs2kL0hBA4EgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/8ac56/05_tanh.webp 240w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/d3be9/05_tanh.webp 480w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/05ca6/05_tanh.webp 719w\"\n              sizes=\"(max-width: 719px) 100vw, 719px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/8ff5a/05_tanh.png 240w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/e85cb/05_tanh.png 480w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/073e9/05_tanh.png 719w\"\n            sizes=\"(max-width: 719px) 100vw, 719px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/073e9/05_tanh.png\"\n            alt=\"05_tanh.png\"\n            title=\"05_tanh.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span>\ntanh의 미분값은 sigmoid에 비하여 그 결과 값의 범위가 넓은 편이기 때문에 sigmoid에 비해 vanishing gradient 문제가 생길 가능적이 상대적으로 적다.</p>\n</div>\n</details>\n</li>\n</ul>\n</li>\n<li>W_{hh} : <em>t-1</em> 시점에서 얻어진 <em>h_{t-1}</em>와 곱해지는 h시점의 가중치 W_{h}, hidden 사이의 가중치</li>\n<li>W_{xh} : <em>t</em> 시점에서 입력값과 곱해지는 가중치</li>\n<li>W_{hy} : <em>t</em> 시점에서 hidden state와 곱해서 y_t(출력값)을 도출하는 가중치</li>\n</ul>\n<h3 id=\"1-computational-graph로-살펴보는-rnn\" style=\"position:relative;\"><a href=\"#1-computational-graph%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EB%8A%94-rnn\" aria-label=\"1 computational graph로 살펴보는 rnn permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. Computational graph로 살펴보는 RNN</h3>\n<p>RNN이 hidden state를 가지며 이를 <u>재귀적</u>으로 호출하며 반영한다. 위에서 살펴본 각 경우에 어떤식으로 RNN이 전개되는지 알아보자🤔</p>\n<h4 id=\"1-1️⃣-many-to-many\" style=\"position:relative;\"><a href=\"#1-1%EF%B8%8F%E2%83%A3-many-to-many\" aria-label=\"1 1️⃣ many to many permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1-1️⃣ Many to Many</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 835px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/95ad65b3ad56760fae5cb6232abaf407/f0685/06_rnn_many_to_many.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 51.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB1UlEQVQoz21SiW6jMBTM//9UpUrbRNptDo6QlG5CTAATbsJ9zT47h1JpLT1g/OxhZuyZrmtYbzaw7TNWyyUUVcXq8w/W6xW+TBMK9VSaOxwOmM8/oOs6NFXB+/s7rNMJTVPDsV18LvZI4wIz/GfwpETVdCiLClVVw7QvyPICSZQhiGL8dUJUZQWfB+BBBJNxJHFClWE2TRMeNY4TMI2YGw6OZx/q0sT1WuHDOOPEXOzUI6K0wGLv4sJDmFuGIC3x+8uD51ywJywVCjJ6PhV6QYy67eT3dMfDOErcdh14mNwW0r626wnHEo60RhJ+OzswbsHQDfi+j621ISsedE1HGAbYsjXsM4OxNW7z1gpt20qSS8xhMOUuCjfCo/cN5ll0OAoiymhvb+H6DparDWWXYWdrOFpHOjANcRYRoYKOlIp8wzTAjuk/CUV0DS3IXRdDXctGXVXIbFvaEuOapig87xmLsNc0zRM/CadxANN+YehKnOcLlGRZEuQ5rLc3NNcretqcBwEYXRWxse971PTj8Z7rI37RmwkF/KCTghCJx5HHMVmppKWMc9RliX4Y0BKBxPQW+T0Uvd6Sp2UxhPyaKklSpOmtCiIuiVD0OlI1vlh7tfk69w9C3fcVZ3EXLgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/95ad65b3ad56760fae5cb6232abaf407/8ac56/06_rnn_many_to_many.webp 240w,\n/static/95ad65b3ad56760fae5cb6232abaf407/d3be9/06_rnn_many_to_many.webp 480w,\n/static/95ad65b3ad56760fae5cb6232abaf407/2321d/06_rnn_many_to_many.webp 835w\"\n              sizes=\"(max-width: 835px) 100vw, 835px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/95ad65b3ad56760fae5cb6232abaf407/8ff5a/06_rnn_many_to_many.png 240w,\n/static/95ad65b3ad56760fae5cb6232abaf407/e85cb/06_rnn_many_to_many.png 480w,\n/static/95ad65b3ad56760fae5cb6232abaf407/f0685/06_rnn_many_to_many.png 835w\"\n            sizes=\"(max-width: 835px) 100vw, 835px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/95ad65b3ad56760fae5cb6232abaf407/f0685/06_rnn_many_to_many.png\"\n            alt=\"06_rnn_many_to_many.png\"\n            title=\"06_rnn_many_to_many.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<div class=\"gatsby-highlight\" data-language=\"markdown\"><pre class=\"language-markdown\"><code class=\"language-markdown\">h_0, 입력 x_1 ⇒ h_1 = f_W(h_0, x_1) ⇒ y_1, L_1\nh_1, 입력 x_2 ⇒ h_2 = f_W(h_1, x_2) ⇒ y_2, L_2\n...\nh_{t-1}, 입력 x_t ⇒ h_t = f_W(h_{t-1}, x_t) ⇒ y_t, L_t\nL_{total} = sum(L_1, L_2, ..., L_t)</code></pre></div>\n<h4 id=\"1-2️⃣-many-to-one\" style=\"position:relative;\"><a href=\"#1-2%EF%B8%8F%E2%83%A3-many-to-one\" aria-label=\"1 2️⃣ many to one permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1-2️⃣ Many to One</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 753px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/27880bfca212d63740455c1b68fb5ade/17a7a/07_rnn_many_to_one.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 54.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABxUlEQVQoz61Sa3ObMBD0//9J/hJPJzZJjXFTQjG0sYMBx7zDQwjx8EYSgeZ7q5kbJHTa27vdxV7bYbNR4DgO9vs9VHWLB0XB4+MDfvDzs/EL6naL3U6DbdtYrzfQdR2WZcEwDLn/uhZD36PrOgzDgLZtUdc1GGNz9Py+bRkopTKHsTFH5Io7kSMWazskOcEC/2klRY17w8Pidrv9E9D0viAMP/+8jQwLkqOqSwz9INtoGEVWprJFMY5+6DmDmLfF5vHk5B2EVjMw6xiC+DICGq9PsFwTmrqTw3cuRzwdVdh88KvVCnESQzG/wfFOWC6X8F1/vHcPoDVF3/XwAhffrfUI6AYOrskFx+MJl7errH4OTwjDCObBkgxtz0SWp9CfDRBSw40cBOlVitLQBhUt8ds7/BWl5VXKIEAdBnMbZZoiP5/FoOSZcnVzbq+Wf+dWOaBQfLbNjVd39HvQKkFsHhBo2meBDqnvw+EtC2vRpuFMKF7v7kCiSOY0/J+wkxBmCgl4NhRkoQeSpHj3PT78dqzMmUQvL9J3kxjJ6YQyy7hwbPbgV7XnlquKoChLREmChEdRFDJqwewzBJuWsxVOmAAmZtP+A4fdSNHAhB/kAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/27880bfca212d63740455c1b68fb5ade/8ac56/07_rnn_many_to_one.webp 240w,\n/static/27880bfca212d63740455c1b68fb5ade/d3be9/07_rnn_many_to_one.webp 480w,\n/static/27880bfca212d63740455c1b68fb5ade/67c6f/07_rnn_many_to_one.webp 753w\"\n              sizes=\"(max-width: 753px) 100vw, 753px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/27880bfca212d63740455c1b68fb5ade/8ff5a/07_rnn_many_to_one.png 240w,\n/static/27880bfca212d63740455c1b68fb5ade/e85cb/07_rnn_many_to_one.png 480w,\n/static/27880bfca212d63740455c1b68fb5ade/17a7a/07_rnn_many_to_one.png 753w\"\n            sizes=\"(max-width: 753px) 100vw, 753px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/27880bfca212d63740455c1b68fb5ade/17a7a/07_rnn_many_to_one.png\"\n            alt=\"07_rnn_many_to_one.png\"\n            title=\"07_rnn_many_to_one.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>위와 다르게 최종 hidden state에서만 결과값이 출력된다.</p>\n<h4 id=\"1-3️⃣-many-to-one\" style=\"position:relative;\"><a href=\"#1-3%EF%B8%8F%E2%83%A3-many-to-one\" aria-label=\"1 3️⃣ many to one permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1-3️⃣ Many to One</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 750px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5b00a5fc8e804a17b6081ffbe9b98262/1d69c/08_rnn_one_to_many.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 54.58333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB5UlEQVQoz11Sa5OiMBD0//+m2w/W1Z2CnA9OT3TlUboLhojIO7zszSiie6lKJQw9nZnpHqiKAnWiwbFtLHQdE02DImOaqmI6ncIwDCjjMXR9Adt2MJvNsF4bWC2XGI1GME0Tr2vQNA3qukbbtqiqCqIokKQZTmEMIcQtnsuYx0OU8j9hCRdcUlzi9IahVYgKYZJj8Mp+7c7PUwJl4/bxvBD4tXYRZ0UHbKFuPRx43GP2LMTknWFwvV6fhN2VnWPMNh99XJQV5lsXWS76p1fWEcfgSeiHCVY2u1cYZxHSIkHbtGjkLsoc/Mxu7VKLNBb/7KEsxe1O8VPIkIusJywE5RzvhEt7jvcPAxNFhb74C8c1odt/YMjhD4dDMM5kO79hOSbefrzBcz1Mdwpsdwchq66rGuZhi7mt3QkPzJFtelIxC0fmI8ou2Ps2OOewLEuKIWC6G/CA3zCFnKnDTAQRRylKKaSQgpxhebunKFXdIGEMme/3bZRl+c0SRPT/EnIMpHpvm2tbw1n8hEgDnGSLXPrtnlz0hCRcnuffElupNFnmYRvC0JaEDfb/xrjwT2SnAJHnQZAfO2DV3emkBBKJvunB1wcebulbTrMMcZLIOQUI5I7jGFEk1U/TvpJH1aT0K9GDjM4v8j5Hqhor0s8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/5b00a5fc8e804a17b6081ffbe9b98262/8ac56/08_rnn_one_to_many.webp 240w,\n/static/5b00a5fc8e804a17b6081ffbe9b98262/d3be9/08_rnn_one_to_many.webp 480w,\n/static/5b00a5fc8e804a17b6081ffbe9b98262/08b4d/08_rnn_one_to_many.webp 750w\"\n              sizes=\"(max-width: 750px) 100vw, 750px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/5b00a5fc8e804a17b6081ffbe9b98262/8ff5a/08_rnn_one_to_many.png 240w,\n/static/5b00a5fc8e804a17b6081ffbe9b98262/e85cb/08_rnn_one_to_many.png 480w,\n/static/5b00a5fc8e804a17b6081ffbe9b98262/1d69c/08_rnn_one_to_many.png 750w\"\n            sizes=\"(max-width: 750px) 100vw, 750px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/5b00a5fc8e804a17b6081ffbe9b98262/1d69c/08_rnn_one_to_many.png\"\n            alt=\"08_rnn_one_to_many.png\"\n            title=\"08_rnn_one_to_many.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>고정 입력 x는 모델의 initial hidden state를 초기화 시키는데 사용된다.</p>\n<h4 id=\"1-4️⃣-sequence-to-sequence\" style=\"position:relative;\"><a href=\"#1-4%EF%B8%8F%E2%83%A3-sequence-to-sequence\" aria-label=\"1 4️⃣ sequence to sequence permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1-4️⃣ Sequence to Sequence</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 844px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7da253593d1eed809fa5dea7e3079869/33e10/09_seq_to_seq.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 45.833333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABjUlEQVQoz1VS25aiQAzk//9sPb6oi9wdEGZHROR+GZqmNongznJOSLrT3amqxCjLArvdDvv9HqfTCZZlwbYt2TNNk2Ibvu/jF62DIJD4TGfatsXPb1kW8UbXdTgcDnBdDxe6cDwe0Q8DtNaYJgWllMTsx3FEVVVomgZ932Ogc2zzPL8fNfjHVpYliqIQX9e1IJhn/V/1kS5vqF3Xhes44tM0/ffgBjn8+IBjO4ii6E1tIEQ/H5TihDZIMigq9qxaxOlTclqvlNWsCImSBdPijynM+kVjmqY1N0EvL8TxV0bxgrYfcMuea7EXMONZP3D2fsPzA7jRGQ5R8EIXZ9+UPTs0RS8/cXB/pPA8D1ZwEe8SE5O8T/ZNhYXyMPb4k1xxJ6odxRHp07U1vj4T3MIQo/oGN65qKtG3l7gVvbl598dD9N56YRRpjDwOUCefYEL55YKBDrTcpOsVMx3SJEmWFoij21sGNpZGrZKsw0NdJpF5DDKqlOc5ynUseER4JDYN+XJdNzIBW37LbejY/gIwV60/GOV4/QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/7da253593d1eed809fa5dea7e3079869/8ac56/09_seq_to_seq.webp 240w,\n/static/7da253593d1eed809fa5dea7e3079869/d3be9/09_seq_to_seq.webp 480w,\n/static/7da253593d1eed809fa5dea7e3079869/20d15/09_seq_to_seq.webp 844w\"\n              sizes=\"(max-width: 844px) 100vw, 844px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/7da253593d1eed809fa5dea7e3079869/8ff5a/09_seq_to_seq.png 240w,\n/static/7da253593d1eed809fa5dea7e3079869/e85cb/09_seq_to_seq.png 480w,\n/static/7da253593d1eed809fa5dea7e3079869/33e10/09_seq_to_seq.png 844w\"\n            sizes=\"(max-width: 844px) 100vw, 844px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/7da253593d1eed809fa5dea7e3079869/33e10/09_seq_to_seq.png\"\n            alt=\"09_seq_to_seq.png\"\n            title=\"09_seq_to_seq.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p><strong><u>(Many to one) + (One to many)</u></strong></p>\n<ul>\n<li>Many to one : Encoder, 가변입력을 받아 하나의 벡터로 요약한다.</li>\n<li>One to many : Decoder, Encoder에서 요약된 정보를 입력으로 받아 가변 출력을 반환한다.</li>\n<li>decoder의 output을 이용하여 loss를 계산하고 backpropagation을 진행한다.</li>\n</ul>\n<h3 id=\"2-구체적-예시로-살펴보는-rnn--언어모델\" style=\"position:relative;\"><a href=\"#2-%EA%B5%AC%EC%B2%B4%EC%A0%81-%EC%98%88%EC%8B%9C%EB%A1%9C-%EC%82%B4%ED%8E%B4%EB%B3%B4%EB%8A%94-rnn--%EC%96%B8%EC%96%B4%EB%AA%A8%EB%8D%B8\" aria-label=\"2 구체적 예시로 살펴보는 rnn  언어모델 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. 구체적 예시로 살펴보는 RNN : 언어모델</h3>\n<ul>\n<li>\n<p>언어모델</p>\n<ul>\n<li>강의 : 어떻게 자연어를 만들어낼지를 해결하려는 모델</li>\n<li>통계기반의 확률모델, 단어 시퀀스 이후에 이후에 어떤 단어가 등장할 확률을 통해서 문장을 생성한다.</li>\n</ul>\n</li>\n</ul>\n<p>📌 <strong>Character-level Language Model</strong>\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 884px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d6cb0da07ee041fde51b74940bcd2602/136a2/10_charcter_level_language_model.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 50.83333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB4ElEQVQoz21SiY6bMBTM/3/UrrRJVxUhhM1RKHeDgRDMGRIgIZk+O91qt1tL1sjHjOd53uR+v+N/431fYN93OJ9PGIYO1+uAy4WmxMsffKzF3UlRFFDVBRRlDsu2MY4jka5/hQWJhTEcJ4DtMbh+hGTP4bsP9JwIh6yAZe7o4Z4E8xzPT894ojmbfsPLyxT624pERyko3KVpBcYabIwImmbD+3WAtnTh7VLMVQcsKaB8/0lVnDERqixksC2bXLhwXRemaaIfBikoLh2PDbruBM4rJHEOXlSIkwcKsapu8MNJUBYtJgMRQxL0PF/iON4+/WXXdShKIlUVdvsATmghySK4EeEhhhlsENL+1l3TwyTYti0scmcYJsqy+hJK3/VIswT7LIZB5KWpwo8c6PaC0IWyfZVrxXhFR98jHTZNI9U7IjdkXzzyLigcirMznZUUYJbuyW0JfkhRlSWyfSL5qe+hpfWkplI0TaOUVej6G/x/SheCNQkdOUduWUgNAzwIkG63yMMQyWqFIqLEqVPOZESGMpvOMCfBtj196UdxXmQZuCBtNojWa6SeB6br4Lsd2HKJnDFEiwWVTG0jShMu+v6R6u12k+V+bGwRCItjSplT+Uc5xd6JHNV1Lb+oIRTc3wnT72JT4UMHAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/d6cb0da07ee041fde51b74940bcd2602/8ac56/10_charcter_level_language_model.webp 240w,\n/static/d6cb0da07ee041fde51b74940bcd2602/d3be9/10_charcter_level_language_model.webp 480w,\n/static/d6cb0da07ee041fde51b74940bcd2602/8af20/10_charcter_level_language_model.webp 884w\"\n              sizes=\"(max-width: 884px) 100vw, 884px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/d6cb0da07ee041fde51b74940bcd2602/8ff5a/10_charcter_level_language_model.png 240w,\n/static/d6cb0da07ee041fde51b74940bcd2602/e85cb/10_charcter_level_language_model.png 480w,\n/static/d6cb0da07ee041fde51b74940bcd2602/136a2/10_charcter_level_language_model.png 884w\"\n            sizes=\"(max-width: 884px) 100vw, 884px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/d6cb0da07ee041fde51b74940bcd2602/136a2/10_charcter_level_language_model.png\"\n            alt=\"10_charcter_level_language_model.png\"\n            title=\"10_charcter_level_language_model.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span>\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 841px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5d6ece943e033aa0c788f81a665729bf/bad1b/11_charcter_level_language_model_test.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 54.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACAklEQVQoz21Ta5OaQBDk//+bSyX5FO9Drqzy4qUOBUEWNMAuwiLvh4qn9g1UNMlFqroatmp6Z3oa5XK54N5zPb/y+XxGdzig6w6o6wZN06AoClRVhTzP0e52OBw6KKqqYjwe4/vTE2S8HQT64qvYVfDt7Q2e52MTRohlDzmwjEJI4m0shwsUa2lh9G2EyeR5wOPoEYZp3hVMIoEiS7GxVYTrBTxjCsFmkK4Bbk6RSQHlZTrFl89f8fDwCZPnHzANE0u65HQ6/TNyL1gkEnWRIVibCH5Z8C0N3DERujZ8Nke2jaBEUQTX9Qgusrz4z8c/Hp6QFzXiuIJmCiwZh667sB0Bi22w0H2kSQmlLEtwLiBEgHATDp39LXTl/rwqK1pCA+4n4CKG60n4QoIHCZw1eRmTIGMM87lGYzI0tL2P3d06PJ2pwxxpTsWCYeUTuIWVZ4N5BnRHg0wSKDtad9vusN/vh+Ku6wZ8jM+JBIsyR0Ye2r4F22NwOIF46Zow1hpZtoXCOXmxMGAsTNi2g7mmw3Ec8mpLuTrchPuR66pG27TIfI6Y6lJiSf4nZFnsrFDRPhRm23h9nRFUOCRo0JYtiyEKJfruf7c5ZLOkAGdCwKdkBIaBYKbC1TQEug7v5wvKOO5H3tPI7ZD8/e29vbvp/gJJRf2fkaXpgC1999wH/Xg84h2bsToSNOWn+AAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/5d6ece943e033aa0c788f81a665729bf/8ac56/11_charcter_level_language_model_test.webp 240w,\n/static/5d6ece943e033aa0c788f81a665729bf/d3be9/11_charcter_level_language_model_test.webp 480w,\n/static/5d6ece943e033aa0c788f81a665729bf/d02c2/11_charcter_level_language_model_test.webp 841w\"\n              sizes=\"(max-width: 841px) 100vw, 841px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/5d6ece943e033aa0c788f81a665729bf/8ff5a/11_charcter_level_language_model_test.png 240w,\n/static/5d6ece943e033aa0c788f81a665729bf/e85cb/11_charcter_level_language_model_test.png 480w,\n/static/5d6ece943e033aa0c788f81a665729bf/bad1b/11_charcter_level_language_model_test.png 841w\"\n            sizes=\"(max-width: 841px) 100vw, 841px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/5d6ece943e033aa0c788f81a665729bf/bad1b/11_charcter_level_language_model_test.png\"\n            alt=\"11_charcter_level_language_model_test.png\"\n            title=\"11_charcter_level_language_model_test.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p><u>“hello” 학습시키기</u></br></p>\n<ul>\n<li>사용하는 4개의 알파벳을 원-핫 인코딩을 통하여 벡터화하여 단어사전에 저장</li>\n<li>train : ground truth와 ouput를 이용하여 Loss 계산</li>\n<li>\n<p>test</p>\n<ul>\n<li><strong>h</strong>를 초기에 입력 → 출력 <strong>e</strong>를 얻음 → <strong>e</strong>를 입력 → 출력 <strong>l</strong>를 얻음 → <strong>l</strong>를 입력 → 출력 <strong>l</strong>를 얻음 → <strong>l</strong>를 입력 → 출력 <strong>o</strong>를 얻음 ⇒ <strong>h를 입력하여 hello를 얻음</strong></li>\n<li>흥미로운 점 : 마지막 시퀀스에서 “l”의 확률이 가장 높은데 “o”가 출력되었다. 👉 출력부에서 softmax로 확률을 도출하고 이들 중 가장 큰 값을 출력하는 것이 아닌 sampling을 통하여 값을 선택하기 때문이다. 👉 모델의 다양성을 높여 적절한 output을 얻게한다.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"3-backpropagation\" style=\"position:relative;\"><a href=\"#3-backpropagation\" aria-label=\"3 backpropagation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. Backpropagation</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 829px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/259c593bd7e219e308fe457fca7da570/9d76a/12_Backpropagation.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 51.25000000000001%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABrUlEQVQoz21Si26jMBDk/z+tSnqXpKmUgHnaxtgYgoFc2jQ3tzZplVZnabQ765nVGjbSWiNJEmRpijzPwRhDEsfgnKMsS0gpkBc58QrTPMGflLTr1RqbzQZbwvN6jdVqBdU0iJxzwSgEJ7NEmmXBbG0Xmm5+77Dfxtj8ekWRKdR1g4aMbdvidBowDANpLfxg8/mMCD/O39sN0zgGUxwfER8ZRKmRMY6cCRwOx3Dnm8w08e328c0fvb1fMbgJpu0gpEJZCVRcQtIkre1xciPGecb5cgnRc9v10MbSEzVqpYPX97hePxAV9Yi4ckjlhIRTFFPIFz6BiRGML8jVn8BTX/O6Oxj5DsUA3b8hMt0AqTuotqdoQ16bhYvGhnyp2wfNolOmp/s+aHhD35SmjFQvkKkEpclogoTAUDQsxOzOP+vVg+ZR58HkEf1sEXWdgW4EWqMoSvpbEkbXdy5C7mseoaY/NQs3pg6aRnE4d0I01gojrcdMK+OqCmPFv+BonUK887Osv3L3oPN+VxS40KpFIy1yS4vZve7R7nY/sP3Gu5eX/2iovt9DPD1hoKH+AZfP5XDBCTEqAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/259c593bd7e219e308fe457fca7da570/8ac56/12_Backpropagation.webp 240w,\n/static/259c593bd7e219e308fe457fca7da570/d3be9/12_Backpropagation.webp 480w,\n/static/259c593bd7e219e308fe457fca7da570/eb5c2/12_Backpropagation.webp 829w\"\n              sizes=\"(max-width: 829px) 100vw, 829px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/259c593bd7e219e308fe457fca7da570/8ff5a/12_Backpropagation.png 240w,\n/static/259c593bd7e219e308fe457fca7da570/e85cb/12_Backpropagation.png 480w,\n/static/259c593bd7e219e308fe457fca7da570/9d76a/12_Backpropagation.png 829w\"\n            sizes=\"(max-width: 829px) 100vw, 829px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/259c593bd7e219e308fe457fca7da570/9d76a/12_Backpropagation.png\"\n            alt=\"12_Backpropagation.png\"\n            title=\"12_Backpropagation.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>\n<p>Backpropagation through time</p>\n<ul>\n<li>이전에 살펴보았던 모델들을 생각해보면 스텝마다 출력값이 존재하고 이 출력값들의 Loss를 계산하고 이를 조합하여 Final loss를 얻는다. 그리고 해당 값을 이용하여 역전파를 진행한다.</li>\n<li>RNN에서 만약 아주 긴 문서를 학습한다고 가정하였을 때, 이 작업은 매우 많은 메모리를 요구하게 된다.</li>\n</ul>\n</li>\n</ul>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 813px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/1c1979de746c054bf040513353f3a6e3/baaa6/13_Truncated.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 51.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABjUlEQVQoz52T3XKDIBCFff+Hai877UUziUms/9ZEQQRFiXbSi5wuxKTpbZn5ZncPh4VhwMvzHG+vr3hfrfD0/Azf97HZbLDb7Rzr9RormovCEGEUIQgChB8BttstqqrC47hcLvDO5zO01uj7HlJKGGMwDKPTLFbrug7TNGGeZ+cbzQjZdoj2JcL9J4pU4GS+XFMP/xx241EbcNagFXSQcbw2nL6+ceM0n+/5RLmrbyz6THTUqKETKj1SPkL1A4Ts0Q8GXnI0SI4nZPWM+GD+EJZ27rdOq8mxz5Rbc/c6zwl5TQ2F6tBIhVt0KKrp3jjd36Nuc8uR8buv7XoX+eLxDrJAzmN8igwZiylPFmJkfKlJt3NFk6IQKZ0oePBdSVmESpXwlGygWo6OoqRoUW1DtYAU7BpvuvUSrCqhBF/WCRetV5LmDVmGIc1g6D3qJIVOF2weJ785MWa5o7V1UUDnD5CuSzphLwTauoJkjGJ950AbKc7/aLauaOPq5QVs66OmD1D7GzD6DEd6/Ad67D+aF+o9brdmaAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/1c1979de746c054bf040513353f3a6e3/8ac56/13_Truncated.webp 240w,\n/static/1c1979de746c054bf040513353f3a6e3/d3be9/13_Truncated.webp 480w,\n/static/1c1979de746c054bf040513353f3a6e3/90602/13_Truncated.webp 813w\"\n              sizes=\"(max-width: 813px) 100vw, 813px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/1c1979de746c054bf040513353f3a6e3/8ff5a/13_Truncated.png 240w,\n/static/1c1979de746c054bf040513353f3a6e3/e85cb/13_Truncated.png 480w,\n/static/1c1979de746c054bf040513353f3a6e3/baaa6/13_Truncated.png 813w\"\n            sizes=\"(max-width: 813px) 100vw, 813px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/1c1979de746c054bf040513353f3a6e3/baaa6/13_Truncated.png\"\n            alt=\"13_Truncated.png\"\n            title=\"13_Truncated.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>\n<p>Truncated Backpropagation through time</p>\n<ul>\n<li>대체 근사 알고리즘</li>\n<li>Train time에서 전체 스퀀스를 적당한 step 단위로 잘라 해당 step이 지난 후 step만큼의 서브스퀀스 단위로 Loss를 계산하고 gradient를 계산한다.</li>\n<li>이전 강의에서 mini batch를 이용하여 gradient를 계산했던 것과 유사한 아이디어</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"4-예시\" style=\"position:relative;\"><a href=\"#4-%EC%98%88%EC%8B%9C\" aria-label=\"4 예시 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4. 예시</h3>\n<h4 id=\"4-1️⃣-example-character-generation\" style=\"position:relative;\"><a href=\"#4-1%EF%B8%8F%E2%83%A3-example-character-generation\" aria-label=\"4 1️⃣ example character generation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4-1️⃣ Example: Character generation</h4>\n<ul>\n<li>셰익스피어 작품을 학습시킨 문장 생성기\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 681px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/06516ceb2b8deef432951fa8e3fa43f6/8ce52/13_character_generation.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 61.66666666666666%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAA7DAAAOwwHHb6hkAAACMUlEQVQoz41Ta5OaQBDk//+o5EsSL3UP9cAXiyIgKIEFEQFRoNO751l1X1KxapxlZ3a2t3vG2AUpptMN3qdrWKaL6UTotRB7LJc7OM4Bth1hsQiwXseYzT28v28wn3kw6bdbqXN9v0BZdjDOZYM8PyPLSpSnC3L647HCqWiYcEGaFpCygLA3PLhlYYF9lCBNjsw9o647XJoeTd3jeu1htPzLcxY4NTjSFyykEtXe+XxjEngALFxiv88QRZL7HbobdKy9gEV7bU1DhPEhx/dvL3h7s/HzxxSvryvYqwMRxXDdDL5XaAv8Ew77GuHujCissAvKR0wmPWQ6EAgRKjTjscDMcsnLlrwFWC4+TNgheVrzsqX2QigufayY4zh7Fi9YuEAmO12sOBIh/uM39CAdRySJRBwnfGr3Jd73w8OMqmqZqISoKUyluZJELSV55Hd2X3vbiGp7RBZoHmWqRLyiqvqHKWGMMEwx+mXh5XmJ308zjJ4sto2Lp5HFfRPP3B+NTMxmPp8ckwrSYHpsMX7bf7B2El4UwxFK+RZGXbda1UyWukU+W0bK06Od1FrF85yvINqq6tC2oKofqJq7yqp9jGH4N3/9PS5lBs/zKUTES0+ar9utR9cpG7RpDn0/xfhNYDEP+BSXU7DGahXqKZhMHO2VsmqKTJMTMlcqhyyew92k2uLDhciHj0kJdyksa8N28XhQtY2v18qr9pjPt4/Y51qIEEGQc9ykbp80adgyg6biL3h/gBjX0OK9AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/06516ceb2b8deef432951fa8e3fa43f6/8ac56/13_character_generation.webp 240w,\n/static/06516ceb2b8deef432951fa8e3fa43f6/d3be9/13_character_generation.webp 480w,\n/static/06516ceb2b8deef432951fa8e3fa43f6/9a301/13_character_generation.webp 681w\"\n              sizes=\"(max-width: 681px) 100vw, 681px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/06516ceb2b8deef432951fa8e3fa43f6/8ff5a/13_character_generation.png 240w,\n/static/06516ceb2b8deef432951fa8e3fa43f6/e85cb/13_character_generation.png 480w,\n/static/06516ceb2b8deef432951fa8e3fa43f6/8ce52/13_character_generation.png 681w\"\n            sizes=\"(max-width: 681px) 100vw, 681px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/06516ceb2b8deef432951fa8e3fa43f6/8ce52/13_character_generation.png\"\n            alt=\"13_character_generation.png\"\n            title=\"13_character_generation.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n<li>LaTex 코드를 포함한 위상 수학책을 학습시킨 문장 생성기\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 742px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/28438b5decbd2c37192e9476bcb011a1/0f2bc/14_math.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.333333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABvElEQVQoz12TB3KDUAxEuf8NkzjBFJveTLEpRtET4JQ/o/kgpNWuJJw4jqQoChmGQfq+N+P58XjIOI52Y7fbTa2RqirVKqnrWu73u8zzLNM02U2eczp9iOd7CppLnmeSJLFEWqRtW+mHXrq+k67DWlmWxcBJpNj/g89Zlq3C8/m0hEFBAKPiYcTAhph5niyOZN4567r+AEIdgKIsjF2apZKpRdFV6qY2NjAkBiCSD3kH4B+GV01EbpomwjOy4ziWpmn+BP8GgCWMORShAAelBpgoGEBbo4eXvGMgvFOg1T6aGh1iqYrwlTokcrv9m/P+8SZnz7XBuGdXzmqu+yWfnyeTX+6tKMvSCoZhKEEYSLz7jjZAwKaM1EwrpGkqrBBy6R/+32eaRgVOLI4ek5NlmYHSMtaJXGfbr9sGqoG2PmrQR+4xafbTVxUU8wPflPi+bytGEQbHEB0/8CQIApUS6O3bYOI9KIqiV18pgA+Wxqrc+kgBGB/EHJIvl1A8z5NQb6QibxwfL4br+jQGsLIfwdv6TW62rxnF8jzXKV8vxqKuK51abcYvho8pclf6DTa2UjqMTUX8YgV7pkz8N441lETqbReCAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/28438b5decbd2c37192e9476bcb011a1/8ac56/14_math.webp 240w,\n/static/28438b5decbd2c37192e9476bcb011a1/d3be9/14_math.webp 480w,\n/static/28438b5decbd2c37192e9476bcb011a1/28367/14_math.webp 742w\"\n              sizes=\"(max-width: 742px) 100vw, 742px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/28438b5decbd2c37192e9476bcb011a1/8ff5a/14_math.png 240w,\n/static/28438b5decbd2c37192e9476bcb011a1/e85cb/14_math.png 480w,\n/static/28438b5decbd2c37192e9476bcb011a1/0f2bc/14_math.png 742w\"\n            sizes=\"(max-width: 742px) 100vw, 742px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/28438b5decbd2c37192e9476bcb011a1/0f2bc/14_math.png\"\n            alt=\"14_math.png\"\n            title=\"14_math.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n<li>c언어 코드를 학습시킨 문장 생성기\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 477px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7b42a2d17f0bf3fe658f60dfeca57f43/d743b/15_c.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 88.33333333333333%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAC8ElEQVQ4y3VU2XLiMBDM//9ZQm0IhwHfp3xfQIAQCL09MhDYqn3oGtuS2j0zPXoJggqzqYcg7OG5LdQyQTx2Eb5bMJcxzJWCY+dwCd+rEIYtPL+H6zXI0i267oKu/SEu6Pn8otQacbRBqnZDTDZIwg7Kb0jQkKBHlGzh83ueHVCV3yiKo451dULb/NwhxC9N/Y2VWWA+D/H+x4TKdoiKAxRJHKek8g5xvoeZbkhyxGYNrPsBfTdA1N0Vdt2PTmUycUmckaRG4NWazLELVFTjuRVcKxvSdwqsWBZZk1JYq5Qi9ojSHdL0k4TtmTUM4DPFln+RNOqK6TClWypl8aUha6LyhuH9G01zRl2f0dQnvLTNCctFQkTw47WuU05VGTfGUY8iPwxpPaT2PwwpU6FtUbqp4FKlF7SwWYIg7qEi/iDdo2t44Fp0ffCKR7J7U3rWUBQsjEjDZl0MxjlVL8wUI9pnTFtNjBCzWcCOs9ssiaC6QpM1A7EmlDooblww7SXJVm6JedITHeZxB4PPM0bPr+HJPlptwW/iAI9lkfoNSkVhf2GdvmCIbajGYqcX7KZ0OmB3YznEjqbxBj7ttFIbWEo8ucf6bpubD68KU/WJ6YRpfbg6ih8tkhgkFz/GJEvFFuxswm4rxoL4bYaQDk3Txi5o3KoUWxx1LMsDrXDSNpC/S/f0IdpDUBXXvdVgn7I46NhyTdtGjG2aCVwnp4kLhEFNE8c0cYblMtRrtp3R0JGOMsN59skR3CPPd/pdRGlCUajTfDcxZg1lYgTTqa/rOuXz29sCr68GvRpDxdsh1eZmGTyn3HVnJMmaKgtOS0mVGQJ2Mwpr/e55uY6yntCbebFj5OWh+ruqp8uhqr7wwWbInMosG1Qxm/sY/VlhNFrgY+xoxDS5jGeotqzZ8elSeOqyXA5ilfnMp5ljWBz+zObl8GbDMRJE9JnM8e1m6a+pPV9bl1/CkoVtaEyxjnhLd4tG7wqiOus1IXokeCT5l/AvSj8+K7PKFpoAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/7b42a2d17f0bf3fe658f60dfeca57f43/8ac56/15_c.webp 240w,\n/static/7b42a2d17f0bf3fe658f60dfeca57f43/78ba5/15_c.webp 477w\"\n              sizes=\"(max-width: 477px) 100vw, 477px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/7b42a2d17f0bf3fe658f60dfeca57f43/8ff5a/15_c.png 240w,\n/static/7b42a2d17f0bf3fe658f60dfeca57f43/d743b/15_c.png 477w\"\n            sizes=\"(max-width: 477px) 100vw, 477px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/7b42a2d17f0bf3fe658f60dfeca57f43/d743b/15_c.png\"\n            alt=\"15_c.png\"\n            title=\"15_c.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n</ul>\n<h4 id=\"4-2️⃣-example-interpretability\" style=\"position:relative;\"><a href=\"#4-2%EF%B8%8F%E2%83%A3-example-interpretability\" aria-label=\"4 2️⃣ example interpretability permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4-2️⃣ Example: Interpretability</h4>\n<ul>\n<li>RNN에서 스퀀스 데이터를 학습이 되기는 하는데, 데이터에서 “무엇을” 학습하는지는 어떻게 알 수 있을까?</li>\n<li>데이터를 특정 dataset으로 학습시킨후 hidden vector를 뽑아 어떤 값들이 들어있는지 살펴본다 👉 서로 다른 hidden states가 어떤 것들을 예의주시하는지 알 수 있을지도..?</li>\n</ul>\n<br>\n<ul>\n<li>색 : 시퀀스를 읽는 동안에 앞서 뽑은 hidden vector의 값</li>\n<li>대부분의 hidden state는 아무 의미 없는 패턴으로 문장을 살펴보고 있다.\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 855px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/cd09fc62f9001cbd96586a4ef850178d/77800/16_hidden_states.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 19.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABEElEQVQY003OQU+CAABAYX56W4e6ttrq0NVas9ZaKzWdqYSighCgGAGCYibGbLmcNuPVOvV+wLcnqGfnSEoXL3PKWBQZugMCpcNzzyGsPWC5IzzTxtMMwrZKTzMZNBV6qoGtdwmlBkGjiaWaLNdfCLWyjFGVsFo6sSzjOT7D0QTbCRlLdSZ2n6Fu4jsDQkWjZ3skhsFrq0UcTQitPqEbMFUUkukMobR3xOXJFdf7x2g7u0hb2ygHh4iZLI+FMmEuR3Bzi1ssE1UqON6Q2WLJOp7yGUV8r1b8T9B/EbtQop+9QM7fU70TqdZ/T/JFVLnDU1vDb7Zx/RGLJOFj/k78MmXe7ZJYFsvZ2x+UbjakacoPYikWS9s1d7QAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/cd09fc62f9001cbd96586a4ef850178d/8ac56/16_hidden_states.webp 240w,\n/static/cd09fc62f9001cbd96586a4ef850178d/d3be9/16_hidden_states.webp 480w,\n/static/cd09fc62f9001cbd96586a4ef850178d/31c30/16_hidden_states.webp 855w\"\n              sizes=\"(max-width: 855px) 100vw, 855px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/cd09fc62f9001cbd96586a4ef850178d/8ff5a/16_hidden_states.png 240w,\n/static/cd09fc62f9001cbd96586a4ef850178d/e85cb/16_hidden_states.png 480w,\n/static/cd09fc62f9001cbd96586a4ef850178d/77800/16_hidden_states.png 855w\"\n            sizes=\"(max-width: 855px) 100vw, 855px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/cd09fc62f9001cbd96586a4ef850178d/77800/16_hidden_states.png\"\n            alt=\"16_hidden_states.png\"\n            title=\"16_hidden_states.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n<li>따옴표를 기준으로 패턴을 인식 👉 <code class=\"language-text\">\"</code>를 추적\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 853px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ebc742ae422d0dae0eb126f6de8c3b03/66caf/17_quto.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 15.833333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA30lEQVQI1y3GwUvCUACA8f2zJUTnDhXdSqHp256TIdWlEJNatfnMgiU5MTcVzW1EBAXmtaCMzl87dPjxfVpj/Er+NqHUfWH37pl8e4bhDpBqhOFF6GcBxcx+o0PR6SHOA+RlH+Oij7wKKWd/qAYEYczPxyfaqW5ztFmgvl2gtrWHt7FDsJojWMnRW1tnIkxSu8pEWsQVm5FpMcw8CEkoygwNi0hWiHTBwvfR3g6qvJslpo6HOnFoHTs0ay6q7tHMtF0f/7rLjbqn5XVYjKf8PqUs04TvNP5vwtfskeV8zh+EbLh2R7HufgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/ebc742ae422d0dae0eb126f6de8c3b03/8ac56/17_quto.webp 240w,\n/static/ebc742ae422d0dae0eb126f6de8c3b03/d3be9/17_quto.webp 480w,\n/static/ebc742ae422d0dae0eb126f6de8c3b03/d8b1f/17_quto.webp 853w\"\n              sizes=\"(max-width: 853px) 100vw, 853px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/ebc742ae422d0dae0eb126f6de8c3b03/8ff5a/17_quto.png 240w,\n/static/ebc742ae422d0dae0eb126f6de8c3b03/e85cb/17_quto.png 480w,\n/static/ebc742ae422d0dae0eb126f6de8c3b03/66caf/17_quto.png 853w\"\n            sizes=\"(max-width: 853px) 100vw, 853px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/ebc742ae422d0dae0eb126f6de8c3b03/66caf/17_quto.png\"\n            alt=\"17_quto.png\"\n            title=\"17_quto.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n<li>줄의 단어 갯수를 세는 것 같은 패턴도 존재 👉 <code class=\"language-text\">\\n</code>을 추적\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 825px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/88f5c69eb1a86af56b0e5f3dbf79932d/d4c13/18_cell_sensitive.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABW0lEQVQY0yXQSUvjAADF8XxicQ4eBC86IAguiHh05iCKu7S4MGpHcImSRpvFpEmTNl0Z08akSSetB/VvxMO7vNPvPUG2PS4VixvD5Uq1uDNdrH8Rbjem2oupZ2m8JLTCAZ1owHOUECT/idMh6XDIKE1Jej3SMOTj/R1h8UJjfE9i6khh8lBi5lTl55HM3B+FxXOVlQuFtesnNsQyu5JFrlimoDk8VtuYVQ/PcXEUlY5h8DoYICwXdH5si0yfqEznJRYKBl/d6l+d36LF+q3Bgexw/GBxbXoobpOK16TTauNpKp54i5XL4+ZzjDKlMJ9JxrbvmcyXmNiXvpUnCrOZcinTr5yX+HVjsimaHJdcLlWbB7uG5dawdZ2aXMQ+O6O8s0NX0xC2ik42TWNNrCDWfIr1LnKWx4aP1g7QW13s5+xTP6IZxHSCiF4/IezH9IMXEt8nbNQJHYe30YhPX5dWTlXFpfsAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/88f5c69eb1a86af56b0e5f3dbf79932d/8ac56/18_cell_sensitive.webp 240w,\n/static/88f5c69eb1a86af56b0e5f3dbf79932d/d3be9/18_cell_sensitive.webp 480w,\n/static/88f5c69eb1a86af56b0e5f3dbf79932d/0244e/18_cell_sensitive.webp 825w\"\n              sizes=\"(max-width: 825px) 100vw, 825px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/88f5c69eb1a86af56b0e5f3dbf79932d/8ff5a/18_cell_sensitive.png 240w,\n/static/88f5c69eb1a86af56b0e5f3dbf79932d/e85cb/18_cell_sensitive.png 480w,\n/static/88f5c69eb1a86af56b0e5f3dbf79932d/d4c13/18_cell_sensitive.png 825w\"\n            sizes=\"(max-width: 825px) 100vw, 825px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/88f5c69eb1a86af56b0e5f3dbf79932d/d4c13/18_cell_sensitive.png\"\n            alt=\"18_cell_sensitive.png\"\n            title=\"18_cell_sensitive.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n<li>if 문 안에서 조건문 부분을 추적\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 843px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/6d9e175c324be9fb735d987d6fba9d70/4ff83/19_if.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 29.166666666666668%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABT0lEQVQY022QXUvCcBjF90276I2gPkXQXVddpiUWdBH0cmFRZOawkN5wWr5MXdbm5tS5mtpWwX5NpbLowOGcAw/P//wf4fLBJHypsJ41CF0/sZIssJ1VEZUWCdkYsWxyWtI5K9URyw3EqslZUUOsmCQHudIgpbQDbyAcB4Pru0l2ozscnGc5vC4RvykiFRQqepMHy6Fo2lTbDj4jfOnQ+/4PgyyojsvyVpy9mXkOpuc4mlvgcGqW2MQk6cUlMtFNMqshcuE15EgEZSOKHA6hn5zQb7W+tn4/JQwkEVQOXchspgpcyRpSpc5dVaP2qFOraehPGoZap9e2eLNtvE4HL9AP1x22Gm8p5HWL47yKpNvcahY5w+bOdAK+IA18s8ut/oza9fgPvu//ykJaMYnd19nPqWSChY77htXz6PQ97L6L/TryPe99+DX/D8fvOMAnjRyxspB/908AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/6d9e175c324be9fb735d987d6fba9d70/8ac56/19_if.webp 240w,\n/static/6d9e175c324be9fb735d987d6fba9d70/d3be9/19_if.webp 480w,\n/static/6d9e175c324be9fb735d987d6fba9d70/e3019/19_if.webp 843w\"\n              sizes=\"(max-width: 843px) 100vw, 843px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/6d9e175c324be9fb735d987d6fba9d70/8ff5a/19_if.png 240w,\n/static/6d9e175c324be9fb735d987d6fba9d70/e85cb/19_if.png 480w,\n/static/6d9e175c324be9fb735d987d6fba9d70/4ff83/19_if.png 843w\"\n            sizes=\"(max-width: 843px) 100vw, 843px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/6d9e175c324be9fb735d987d6fba9d70/4ff83/19_if.png\"\n            alt=\"19_if.png\"\n            title=\"19_if.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></li>\n</ul>\n<p>👉 dataset을 학습시켰을 뿐인데 많은 것들을 찾아내고 있는 것을 확인할 수 있다.</p>\n<h4 id=\"4-3️⃣-example-image-captioning\" style=\"position:relative;\"><a href=\"#4-3%EF%B8%8F%E2%83%A3-example-image-captioning\" aria-label=\"4 3️⃣ example image captioning permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4-3️⃣ Example: Image captioning</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 818px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/9a9a4d81b05726fbaca98bbe1965c267/64d87/21_image_captioning.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 58.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAA7DAAAOwwHHb6hkAAACF0lEQVQoz3VSz2sTQRTef8CjxZNXT3rxP/DiRZBiBaEHtWj/GBEUQUpB6UkQDYRWKFhaxItilWCoUpuuRrIbs93dJrvObpLd7Mznmx+7MRYfvHkzw+Ob7/veWI0vbfSCERIGJImghErGBLIx8LGxh9r6Ora2t6i+wuudbbjdDJ0O0OsJyBC6qLDePX+IQacFTofJhFPKSmBZoRpWnq7h3IXzuHLpIpaXF7F45y7CkGE00gROAO6/eYHE/2mOwiTAeQn4BKfPzOHs3Clcv3YZN27fIva/q/6/wRTg5801xL9s8xJXDTKLgqu7+sYG5uevYoFyaekm7j24jyRNTb+oQEtg633tMQEe6gauQRLGEAQB/h9CgWmgWdnWp/oK4m5rRiajCYVhqPYHrRY+NBoY0CNTVqisOeHht7c1sMpDHSlLEUWRZus6iJpNpAf7cIM24mEfwwHDIYnyjmh48WjqJS3Wbn0V6VEbQXgMP/QBIhY1I3R7XY1eEOssA8ZjZPkYBZ+ATwp5RJ4LcOO1MIyt3ZePkHo2vH4At+kSGjEk0+M4Vg0/bBvfbT20gizhcnBcqK8l3xLSpRHB5dIzyXDnGSIpeQjFTslMk0py7vuYEGDetuH4UvJgKtknySQbDQKUgvqMPvbXTQw8DwigXpdxTANxHAczrnNuJqvF6UEYoeZOMUzLPyWvzLQcp1MBlgD//Bq9iGkp1z+moIGnKN2GfgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/9a9a4d81b05726fbaca98bbe1965c267/8ac56/21_image_captioning.webp 240w,\n/static/9a9a4d81b05726fbaca98bbe1965c267/d3be9/21_image_captioning.webp 480w,\n/static/9a9a4d81b05726fbaca98bbe1965c267/3a941/21_image_captioning.webp 818w\"\n              sizes=\"(max-width: 818px) 100vw, 818px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/9a9a4d81b05726fbaca98bbe1965c267/8ff5a/21_image_captioning.png 240w,\n/static/9a9a4d81b05726fbaca98bbe1965c267/e85cb/21_image_captioning.png 480w,\n/static/9a9a4d81b05726fbaca98bbe1965c267/64d87/21_image_captioning.png 818w\"\n            sizes=\"(max-width: 818px) 100vw, 818px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/9a9a4d81b05726fbaca98bbe1965c267/64d87/21_image_captioning.png\"\n            alt=\"21_image_captioning.png\"\n            title=\"21_image_captioning.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>주어진 이미지에 대한 설명문을 출력하는 task</li>\n<li>CNN에서 요약된 이미지 정보가 들어있는 vector(feature map)을 RNN의 초기 입력으로 사용</li>\n<li>기존 Vanilla RNN 식에서 CNN의 출력 벡터에 새로운 가중치(W_ih)를 곱하여 더한다.</li>\n</ul>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 834px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/e163f566e67b32e38ff8f0110284ab69/5d72a/22_image_captioning_success.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 22.499999999999996%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABjklEQVQY0x2NTUiaAQBAv0udunQdNahDl7qOoJaEtCCnY/2bBUFDYf1YM10/9jOR7KvmkiRW38a6lFlUa1CMuWigEGyRLRS1H1jUoa2YCbG6uF7WO77De8K4U0dnby1abTlW0cTnjW/0mBvxeD18WJYYtGtY8y4S3PyOb20V/5aPnz/WCfi+suFdwOZU8t6lR5p+zvBbJUJhmoA69x6yzCSqVHk45t4hl2UgGsowvlJR9ew+rqUh3ox2YWx6jN1mwWbVY+1UIklGFJpk5lx9dHWXUFwhIOSkCGhk2cizUlEr8pl0SzwqyKBeL0fd+hBVTXoiKGKTDBh7CzCZq2nrf0pLxwNGxnSMvK5jZ9PD7IxIiSILobnpCS9NlbQbSpmdt+BansLwohLzkJbWnhpqtUWsfPnI/KcJBsb0OBJhx2Qb4rAOt9vJlNSBfbQdi7UBc2ImBEM7/DrcJXbxl1v+/D5hb/+A8+g5sdgFl/+u7vzx0TGBQJBQKEwkskf8/zXxeBz/tp9wJEw0GuX07JQbJ2cL09wn/TEAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/e163f566e67b32e38ff8f0110284ab69/8ac56/22_image_captioning_success.webp 240w,\n/static/e163f566e67b32e38ff8f0110284ab69/d3be9/22_image_captioning_success.webp 480w,\n/static/e163f566e67b32e38ff8f0110284ab69/e1262/22_image_captioning_success.webp 834w\"\n              sizes=\"(max-width: 834px) 100vw, 834px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/e163f566e67b32e38ff8f0110284ab69/8ff5a/22_image_captioning_success.png 240w,\n/static/e163f566e67b32e38ff8f0110284ab69/e85cb/22_image_captioning_success.png 480w,\n/static/e163f566e67b32e38ff8f0110284ab69/5d72a/22_image_captioning_success.png 834w\"\n            sizes=\"(max-width: 834px) 100vw, 834px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/e163f566e67b32e38ff8f0110284ab69/5d72a/22_image_captioning_success.png\"\n            alt=\"22_image_captioning_success.png\"\n            title=\"22_image_captioning_success.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span>\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 825px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/d4c13/23_image_captioning_fail.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 44.583333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACc0lEQVQoz1WS7S8UABzH7y9p9b5l2lJMTHbHJvSww2q6Q57WMLXyeB7qcOUhJloeohbTLil5aM4Y8txwo8jFyem4O5wYR3fnk7tX+WzfF78339/3t99XoNV8Z2VZi7JZSUVlOSODXZhMRhxYrTasNjuW/b/OeXFhlt6+DoZHe5lQ9/Pj5zim9TXW1zcwGo1YLBYEgx01jHY3oKyUE33ZiyJZHPpfc+xarBhNZpZ1BsYmNTg866oVXAlyQRLhx/206zyrjUezoEb/e/XI2ITNZkPQ31bFYPNTmrNDKYm8RGWSiMXZSZZXN9gwb6N8/4nWzwPOhGXluYivepCdJ+VJhYTS2pvoDRr+RzA50EL3yxxaypIZasxB/aGIbxPDBIRGIlOUIZZE4+opZEW/Rl1TCbFxgWTIYgiPExIW5YN2ed5p5Eh3eHiIYEO3yMTXcfoGJ1D1qZma1mLe3KS6rp6aV2+QRsfj7uXL2pqJnv525IoM8uRZZOc8ID0jFZVKdTzhu4IC8pMSCAmJ55yLGKEoFr1Oy/OSQkrzHyIODsTH2wez+Q/yRzJczpzCTyTC19uf826nkUjEzEzPMDc3x9bWFoLc5HQKUhKoyLjHx7Q7dBamo9PMEhMhIS85iQfScERuZ1lZWqL4xWOSMxNJza1CGHADUdAFbidKna0wGAzs7u4hiImWERIs5VbUXYpzM2lXpLC+tMDAlwG62lrpaGmhuakJu91OYVYqwR6ehAk98Xc/yUXXE8RGXDt+8tTULG2tnbS3dzM6MoZpaR7rwcFR9/bZ3tlhd2/PKQfzo0P0NtQfteIt/comehpfM9Wjci5zPMShf7rlH+5TJgD3AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/8ac56/23_image_captioning_fail.webp 240w,\n/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/d3be9/23_image_captioning_fail.webp 480w,\n/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/0244e/23_image_captioning_fail.webp 825w\"\n              sizes=\"(max-width: 825px) 100vw, 825px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/8ff5a/23_image_captioning_fail.png 240w,\n/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/e85cb/23_image_captioning_fail.png 480w,\n/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/d4c13/23_image_captioning_fail.png 825w\"\n            sizes=\"(max-width: 825px) 100vw, 825px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/ebfd8d2fb2cdeaebfa9a54b9b2184fd1/d4c13/23_image_captioning_fail.png\"\n            alt=\"23_image_captioning_fail.png\"\n            title=\"23_image_captioning_fail.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>학습결과 어떤 경우에는 작 잘동하지만, 어떤 경우에는 그렇지 않음을 볼 수 있다.</li>\n</ul>\n<p>✨ <strong>Image Captioning with Attention</strong>\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 674px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/eefb0bdc4a404d46d7630ed9c5dc330d/fdaf8/24_image_captioning_attention.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 50.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAB/ElEQVQoz31Sy2rbQBT1R3dRCIQSumrpOiW0i1BINl2mdRdddFEb7MQiJHrY1ssayWP5IVtvWbbs06sxuHUpPXAkuHfmzH2cBv6B/X5/ZA3f9yHLMhRFhj/1EcchjOEAuq6j2lUn9xr1Z7fbHfm3WFXtkKYJNGWI3sMTPMZh2xyP6hC2ZWE2WWIWJAjTQpxv4D+oRcMwRLlZwxvNwWyi6aNzr0PxQnFGkWy0JRMDLzgIZnmO+4ceWq2fkBUVRVEI1qiFEqquRp4VWC5WWK9LGIaNYBWJ+DIIYZoOcooLwTH3cf76HV6cXeDy6hqe6+LL3R1UVcWTZIB7CxLLMJmP4UwspFkKzZYRJSE25Zba9aEzjR4qiGs0mDfGy1dvcX7xBpfvP2I0GuH25gadbhftHypG5hRxFMHmJoxxX4ygq7YRRAG2mwruhKHX7yDLM9FZY7kK8en2M64+XOPrt++I6PJisUCSJOj3VbiedzpXoknLKNaHseR5Acu2jnmxlDgiGxi62PKfCOmx2jIR5YeDAYlzxJyqdA24zyY21GLIHsGHOnjf/i1YlqXov/5X1cFXcRzDokrGnAt7SJIE5noIXA1zRwdTTKR0ZunKFHMRMP8gWJtV0zRBx3HAGBOJ2XSKZrNJ22+RDzNst1sxhjhJMaGqXY9EgoCMvT+x2S8+GOiP+DAIDwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/eefb0bdc4a404d46d7630ed9c5dc330d/8ac56/24_image_captioning_attention.webp 240w,\n/static/eefb0bdc4a404d46d7630ed9c5dc330d/d3be9/24_image_captioning_attention.webp 480w,\n/static/eefb0bdc4a404d46d7630ed9c5dc330d/853dc/24_image_captioning_attention.webp 674w\"\n              sizes=\"(max-width: 674px) 100vw, 674px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/eefb0bdc4a404d46d7630ed9c5dc330d/8ff5a/24_image_captioning_attention.png 240w,\n/static/eefb0bdc4a404d46d7630ed9c5dc330d/e85cb/24_image_captioning_attention.png 480w,\n/static/eefb0bdc4a404d46d7630ed9c5dc330d/fdaf8/24_image_captioning_attention.png 674w\"\n            sizes=\"(max-width: 674px) 100vw, 674px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/eefb0bdc4a404d46d7630ed9c5dc330d/fdaf8/24_image_captioning_attention.png\"\n            alt=\"24_image_captioning_attention.png\"\n            title=\"24_image_captioning_attention.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>CNN에서 하나의 벡터가 아닌 각 벡터의 공간정보를 가지고 있는 grid of vector를 만든다.</li>\n<li>z : 모델이 이미지에서 보고 싶은 위치에 대한 분포 👉 모델이 어느 위치를 봐야하는지에 대한 attention</li>\n<li>h0이 이미지의 위치에 대한 분포(a1)를 계산하고, 이 분포를 다시 벡터집합(LXD)와 연산하여 이미지 attention (z1)을 생성한다.</li>\n<li>이 요약된 벡터는 다름 입력으로 들어간다. 결과로는 vocabulary의 각 단어들의 분포(d1), 그리고 다른 하나 (a2)는 이미지 위치에 대한 분포이다.</li>\n<li>이것은 결국 feature map에 위치정보를 더하여 RNN이 해당 시간에 어떤 부분을 보아야 하지는를 떼어서 제공해 주는 역할을 한다고도 볼 수 있다.</li>\n</ul>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 833px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/5205c/25_image_captioning_attention.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 25.416666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABVUlEQVQY002PS0tCcRDF/XTZg+xBkdTCoEyyIF+plVltehAZtlDLRSI9PkC1CGth2NVwe21pgWDe6xtb3HDx695/mwaGMzOcOWfG1Ol0aLdatPSU8nmKxSJ3d/dIksT9w4PAbDZLoVAQtYEGJ5N5olQq6f0bsiyT13c1TcOkaT+85CQeM88EgxtshULYbPNsbm6x5nJzcHjE9c0t6fQVF8kk4xOTuNwe1v0BYrE4zpVV4olzZqxW6vU6pl7vm0B4n+PImU7y6wKHeDxeTk4iuqBLYDyRIHJ6KjAU2iYaPWNnd4+kbmAYX6ZSbIfDdLtdTIaqLL+Ty70Kd6/Px9DwCB6vj1GLhSWHg9nZOez2JRYWFpmansatXzhgNosPBsyDLDudWCxjfxfyL1S1Llw+Pj5RFIVKpUKtVqNa/aLdbtNsNimXy2KmKCqNRkNwjbmqqvT7fX4BbjQrH0wFhAQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/8ac56/25_image_captioning_attention.webp 240w,\n/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/d3be9/25_image_captioning_attention.webp 480w,\n/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/184c4/25_image_captioning_attention.webp 833w\"\n              sizes=\"(max-width: 833px) 100vw, 833px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/8ff5a/25_image_captioning_attention.png 240w,\n/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/e85cb/25_image_captioning_attention.png 480w,\n/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/5205c/25_image_captioning_attention.png 833w\"\n            sizes=\"(max-width: 833px) 100vw, 833px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/edf6bc5cd4ccaf76d4eb94c5ea59c0f2/5205c/25_image_captioning_attention.png\"\n            alt=\"25_image_captioning_attention.png\"\n            title=\"25_image_captioning_attention.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>문장 생성시 위의 그림에서처럼 이미지내에 여러 부분에 attention을 주는 것을 볼 수 있다.</li>\n<li>Soft attention : 이미지의 모든 특징과 이미지 위치간의 가중합을 구해서 attention을 결정 👉 전체를 보는 대신 어떤 부분은 좀 힘을 줘서 본다.</li>\n<li>Hard attention : 이미지의 위치를 한 번에 단 한곳만을 본다.</li>\n</ul>\n<h4 id=\"4-4️⃣-example-visual-question-answering\" style=\"position:relative;\"><a href=\"#4-4%EF%B8%8F%E2%83%A3-example-visual-question-answering\" aria-label=\"4 4️⃣ example visual question answering permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4-4️⃣ Example: Visual Question Answering</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 740px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/617d91489d2947dffd2cd9820fa83866/50383/26_vqa.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 41.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACSUlEQVQozz2Ra0iTARSGR/2ooP6FP/qRFYUS5LQbrkDKChUVJMJQU8emgeYlI0vKWcsg85Jh4FLI20whlldWSildJMJyOHSaZulMtzR1W5spW/Pp64N64cA5D+d9OXAknz5/Rf+8l+baRnr0XdhsDgZMJl70veHV+3e8HehnYMjIuYQEpNIATkdEcjBIxk21mpo6DSER4aRkpZOapqDzWSuSrkcVVKrySbpUyI2ickoaO2h72Y26vBT1vTJK6nTo9O3s8N2JZP06lGGhHN7mg1KpxM9/Dz5bN3EocDf7A7ZTUFaM5HVTNRU5icSkXOVinooqzQPaenqobtGh1XdS095KuzCHHpORFxfF/RwlGXEnSElOIihIyqkQKWnyGHKTI+juFi6sF1KzosMozIwn9vhham9doaqlA5WmmrsNWgofaqh9qiP8pIxA382EHw0kMjyY6KhI/Pb6s2HLRg7s20XmmSP09eqQNDdqOR8fz/WsC+Rmp1NbWU794wZyC/IpLS3m9rXLND3RUlqsJlgmQy5PJDNDQVHRHeQKBWcTYsmSx6LKTmVk3IBk1b3C4KgRg8nIlNmMxWLB7ljEOGxgcMggPGmJv1oS2BfzBPZlGw6nQ2RO109Gx0ew/pjjnyQu2wIzowPMm8dY83pFaJ+bEZiB+amx/4uLs5NMD/czPfKRJeu0yBYENmn6gN02L3q9Qkncyy5c3y24nU68Hg9ra2usOuw4Ld/E8qyuiuZfC/PYJsZwWWfF/rfHLezZcM6YWZ6zsmJbFEP/AFgd0l3Ji5AeAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/617d91489d2947dffd2cd9820fa83866/8ac56/26_vqa.webp 240w,\n/static/617d91489d2947dffd2cd9820fa83866/d3be9/26_vqa.webp 480w,\n/static/617d91489d2947dffd2cd9820fa83866/ca4a8/26_vqa.webp 740w\"\n              sizes=\"(max-width: 740px) 100vw, 740px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/617d91489d2947dffd2cd9820fa83866/8ff5a/26_vqa.png 240w,\n/static/617d91489d2947dffd2cd9820fa83866/e85cb/26_vqa.png 480w,\n/static/617d91489d2947dffd2cd9820fa83866/50383/26_vqa.png 740w\"\n            sizes=\"(max-width: 740px) 100vw, 740px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/617d91489d2947dffd2cd9820fa83866/50383/26_vqa.png\"\n            alt=\"26_vqa.png\"\n            title=\"26_vqa.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>이미지와 질문을 입력받아 질문에 대한 답이 출력</li>\n<li>\n<p>CNN + RNN + Attention\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 758px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/d82cf03a7c47d6d6fb496ede053ee6a2/c8e86/27_vqa.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 49.16666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACU0lEQVQoz1WS30tTYRjH92d4p6Tdq3RVTUupHGGauoRAMzPCiyjKfogKRnkh5HXXBVFQFEURBBEFWdoPsnWhc2e/znZ2znZ2tp2zX+iOn95tTu0LD+/D+758n+/zfR4HAltbWyJsbNumVCr9F6oaw0gZ+Pw+NC1ODem0zvzcDP39/bjPuBkaOsud2Wkc5ceNjQ0CwSDxRIJsLodlZbGyIiwL0zRJpVIomkZW3NXg863T5jyIs62Nnt5eOjqO0tV1vEpYLBRQwhKKHCAaDhAJSSL8xCKhnbwMI53mr3e9knu9Xpqa9nHosJPTp7ppb29nbGx0W+FmCY9Xwh8IENdUwqEgkrROJCIjh0Mk9WqrihzkzbOH2wp9tLS04nKdZGLiFm73IFNTU1VCVSh5/uSBaE8rG0ohn6NYLBKNqdjswt60yWetSl5+X5OCJHSdeDyOYRhkhD0VQs+PJW6OdhL2r6CaonrMFO2ZpK0cn1494uPbp/i9nzGK0g55IW/x+sVj5u7NMzs9Q5fLxfj4JRzlCe+FJ5jHF02j6QZmtsDtkQEG+lpZuHaMtZX3O//CssyJziMcaG5hf2MTDoeDhob6qsIyqW2XKh/VpMWabBGOquipDHcnr3NjzMVwn5MP717uEEqSn7q6OpqFj909PWJ1Bjl/4eIuYU1pMpkU1aMosVhlTUIBP98Xv/Dt6yKptLFnbSTqGxoZPjfC1SuXxUAmub+wgEPXE2KymlhgFUVR0MRZNlkTd5lMBlPsYs2UvYXzhTzLy0v8/O3h18ofVldXkSMR/gGKfp5nWfjktAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/d82cf03a7c47d6d6fb496ede053ee6a2/8ac56/27_vqa.webp 240w,\n/static/d82cf03a7c47d6d6fb496ede053ee6a2/d3be9/27_vqa.webp 480w,\n/static/d82cf03a7c47d6d6fb496ede053ee6a2/c4e8e/27_vqa.webp 758w\"\n              sizes=\"(max-width: 758px) 100vw, 758px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/d82cf03a7c47d6d6fb496ede053ee6a2/8ff5a/27_vqa.png 240w,\n/static/d82cf03a7c47d6d6fb496ede053ee6a2/e85cb/27_vqa.png 480w,\n/static/d82cf03a7c47d6d6fb496ede053ee6a2/c8e86/27_vqa.png 758w\"\n            sizes=\"(max-width: 758px) 100vw, 758px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/d82cf03a7c47d6d6fb496ede053ee6a2/c8e86/27_vqa.png\"\n            alt=\"27_vqa.png\"\n            title=\"27_vqa.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>CNN을 통히여 이미지를 요약하고 RNN을 통하여 질문을 요약한다.</li>\n<li>두 모델에서 나온 벡터를 조합하여 질문의 답변에 대한 분포를 예측하여 답변을 출력한다.</li>\n<li>이 과정에선 attention을 사용하기도 한다.</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"rnn-variants\" style=\"position:relative;\"><a href=\"#rnn-variants\" aria-label=\"rnn variants permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>RNN variants</h2>\n<h3 id=\"1-vanilla-rnn의-문제점\" style=\"position:relative;\"><a href=\"#1-vanilla-rnn%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90\" aria-label=\"1 vanilla rnn의 문제점 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. Vanilla RNN의 문제점</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 850px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/c61633b12ff23cb17a0df87fa7929943/ae694/28_gradient.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 37.916666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABnUlEQVQoz02R646bQAyFef8n2v5YtVGlhkDZNtBIBAhJuQwwLEzChnAbOGtgW60lSzOfPfaxR8muCRIRg5Uh6q7GbKlg5Ctr+gemaQIT0cpEiHZoISdJ8ZUlFOtkt7xVDPcHNOsZ2v4JMb9g6HvoznfoHyx9peSugWpvVmY+IRcpmuaOrf0VuvlM/AuKK18LngMLpq/DiffIOamsbjiHJrGfcIm98ghvVwF/ZmcDbjQzhkoUcIPfS55HrOAJhkFCmau2XYdxGvHPJvKmaTCM8j+TFH80jyX22Xqa6LMpUkqM47j4vKu2bREGAcIwRBzTzhhDFEVIkgRCCNR1vfCMc3CekXOIcuVLwdPphJPnwXEcXC4XVFWF3W63+Ha7Xc+ahqIocL/fEQR/8W2zgWVZMAwDv15ecDgc8Ifudf2AoqoqVHWH4/GIiDp3NIJPTWzbXpq4rrvGSGVD6udHnudTLiP1KTz/jDBiiOl8q97oU0iVRwrnEdM0pcUOMM09VFKnfqjUNB1lWa4763qwJEOeF0hSjogKZVmOjO7XW4V32AtPwLo7H0cAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/c61633b12ff23cb17a0df87fa7929943/8ac56/28_gradient.webp 240w,\n/static/c61633b12ff23cb17a0df87fa7929943/d3be9/28_gradient.webp 480w,\n/static/c61633b12ff23cb17a0df87fa7929943/10237/28_gradient.webp 850w\"\n              sizes=\"(max-width: 850px) 100vw, 850px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/c61633b12ff23cb17a0df87fa7929943/8ff5a/28_gradient.png 240w,\n/static/c61633b12ff23cb17a0df87fa7929943/e85cb/28_gradient.png 480w,\n/static/c61633b12ff23cb17a0df87fa7929943/ae694/28_gradient.png 850w\"\n            sizes=\"(max-width: 850px) 100vw, 850px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/c61633b12ff23cb17a0df87fa7929943/ae694/28_gradient.png\"\n            alt=\"28_gradient.png\"\n            title=\"28_gradient.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>backward pass시에 계속적으로 W Transpose가 관여하게 된다.</li>\n</ul>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 719px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/073e9/05_tanh.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 55.833333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABrklEQVQoz1VSi46jMAzs/3/h6aTdbSEBEl4hAa60pXNjp3R3kUZ2bMfM2Dnd73fEOKOue3x9GdoOfR8Rwkos2Q4Jbe0wdCOm6R/GcUHbJXii8VHh24Tr9YbT7XZDnJioenx+Vvj4MKjoezfB+wTHHznjYEyHxnrYwqEwI4wdUdUBjnWCppkwz9fccJpmslrQdd+2bQk3wrOJ+HU9wLJBeXFk22lNrksKT5bLsr0YUnLLgGtG/i3Ai2UjhZ+0uCxbnIuO0iivIluyds1AJUHvNLzzZhhCRGU8zNlmXCqY0sFSurUd0ePPX4OCTcW31cA85Uvd6055rklsxWnbNkpOSt+/6KsEtZHxBFMFXIqWTDNbif+sFbhD8nfD9C7u2vhuZtlMGsorkOG3r9xRq5BxMbcsKnnLM9TB5o3VHL40km2W3KZc1i03Mq/czLnM9vB/bTmlWd9VxWAtSXkKPjMcx1nfnePG+z6pPwwzcdicl9y6UvLz+YRAHvjh748H5Nv3nedd/Qdjkjvihz38I39a15UME2VHzlJoz8SisQyeF55jrtEz41qnuVnrQghq/wOs2kL0hBA4EgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/8ac56/05_tanh.webp 240w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/d3be9/05_tanh.webp 480w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/05ca6/05_tanh.webp 719w\"\n              sizes=\"(max-width: 719px) 100vw, 719px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/8ff5a/05_tanh.png 240w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/e85cb/05_tanh.png 480w,\n/static/7a471076e0e5d7aeb2bb56201d39e3b6/073e9/05_tanh.png 719w\"\n            sizes=\"(max-width: 719px) 100vw, 719px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/7a471076e0e5d7aeb2bb56201d39e3b6/073e9/05_tanh.png\"\n            alt=\"05_tanh.png\"\n            title=\"05_tanh.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>이 경우, 곱해지는 값이 1보다 크거나 1보다 작을 경우 각각 exploding과 vanishing의 문제가 발생하게 된다. exploding은 gradient clipping(gradient 의 L2 norm 이 기준값을 초과할 경우 threshold/L2 norm 을 곱하여 정규화)을 통하여 제어가 가능하나, vanishing은 결국 gradient vanishing을 야기한다.</li>\n<li>RNN은 뒤로갈수록 앞의 내용를 잊게 되고 이런 문제를 장기 의존성 문제라고 한다.</li>\n</ul>\n<h3 id=\"2-long-short-term-memory-lstm\" style=\"position:relative;\"><a href=\"#2-long-short-term-memory-lstm\" aria-label=\"2 long short term memory lstm permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. Long Short Term Memory (LSTM)</h3>\n<h4 id=\"2-1️⃣-순전파\" style=\"position:relative;\"><a href=\"#2-1%EF%B8%8F%E2%83%A3-%EC%88%9C%EC%A0%84%ED%8C%8C\" aria-label=\"2 1️⃣ 순전파 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2-1️⃣ 순전파</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 894px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/a89d9a66532883001bdc42f1d79aa181/38af3/31_LSTM.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 40%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABaUlEQVQoz4WRa2+CMBSG+f//aR+WTDe8cVMRdSKKQC2KVUAuwru2RrNkS2zyUNpwHk7fKuCjaRvEZ4o9izjkPp/JE8ohLATLmfgcbdv+4bGvZGkGdmHQNwNOH8Z2gOHqE6O1Cs3rYSDe3S9oGxVOYEPU/id8oLRNi2uZwyFjLOIx5nQMczOEHZmwQxPT0MA0MODsTXiHb7wainiUdYGxr2HGJZOdzjtUMY0MWHxPCGfE4msdLl3KoiRJUBQF8jxHlmWoqgq32w1N09yFdVOj53RgbTRMPAu9RZdLe7C2I84Q6uwDDrWwju8d+jsfhBAcDgdJGIbyJ4wxKJfzBcn5BGs34nl18W6+cWGHZ9mHTQzoPEeZJ89wHtpSSPYEaZoijmNQSlGWpeyyrmsoYnEtrggSH+v9CqtoKXHJNzzqPuf5boYgDuSliGJx1NPpJDsTcnF8eSm/A62qGuklexn8Qyg4Ho9SLPIT/ABnCFqShQjB3gAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/a89d9a66532883001bdc42f1d79aa181/8ac56/31_LSTM.webp 240w,\n/static/a89d9a66532883001bdc42f1d79aa181/d3be9/31_LSTM.webp 480w,\n/static/a89d9a66532883001bdc42f1d79aa181/26e8f/31_LSTM.webp 894w\"\n              sizes=\"(max-width: 894px) 100vw, 894px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/a89d9a66532883001bdc42f1d79aa181/8ff5a/31_LSTM.png 240w,\n/static/a89d9a66532883001bdc42f1d79aa181/e85cb/31_LSTM.png 480w,\n/static/a89d9a66532883001bdc42f1d79aa181/38af3/31_LSTM.png 894w\"\n            sizes=\"(max-width: 894px) 100vw, 894px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/a89d9a66532883001bdc42f1d79aa181/38af3/31_LSTM.png\"\n            alt=\"31_LSTM.png\"\n            title=\"31_LSTM.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>RNN에서의 장기 의존성 문제를 해결하기 위하여 gate를 도입</li>\n<li>LST는 두개의 state(C_t : Cell state, h_t : Hidden state)를 유지하며 hidden state와 입력값(x)의 결과를 4개의 게이트(i, f, o, g)통과시켜 출력한다.</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th align=\"center\">게이트</th>\n<th align=\"left\">연산</th>\n<th align=\"left\">의미</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"center\">i(input gate)</td>\n<td align=\"left\">sigmoid</td>\n<td align=\"left\">현재 정보를 저장할지 결정</td>\n</tr>\n<tr>\n<td align=\"center\">f(forget gate)</td>\n<td align=\"left\">sigmoid</td>\n<td align=\"left\">과거 정보를 버릴지 말지 결정</td>\n</tr>\n<tr>\n<td align=\"center\">o(output gate)</td>\n<td align=\"left\">sigomoid</td>\n<td align=\"left\">cell state 를 얼마나 밖으로 출력할 것이냐를 결정</td>\n</tr>\n<tr>\n<td align=\"center\">g(gate gate)</td>\n<td align=\"left\">tanh</td>\n<td align=\"left\">input을 얼마나 포함시킬 것인가를 결정</td>\n</tr>\n</tbody>\n</table>\n<ol>\n<li>\n<p>forget gate - C_{t_1}</p>\n<ul>\n<li>forget gate가 0~1 사이의 값을 가지며 C_{t_1}와 곱해진다.</li>\n<li>cell state를 다음 단계로 가지고 갈 것은가를 결정</li>\n</ul>\n</li>\n<li>\n<p>input gate - gate gate</p>\n<ul>\n<li>gate gate는 -1~1 사이의 값을 가지고, input gate는 0~1 사이의 값을 가진다.</li>\n<li>gate gate는 방향(값을 빼고 싶은가 더하고 싶은가), input은 양(얼마나 뻬거나 더하고 싶은가)를 결정</li>\n<li>cell state의 어떤 값을 얼마나 쓰고 싶은가를 결정</li>\n</ul>\n</li>\n<li>\n<p>output gate - tanh(C_t)</p>\n<ul>\n<li>t 시점에서의 cell state를 얼마나 hidden state로 넘겨 줄 것인가</li>\n</ul>\n</li>\n</ol>\n<h4 id=\"2-2️⃣-역전파\" style=\"position:relative;\"><a href=\"#2-2%EF%B8%8F%E2%83%A3-%EC%97%AD%EC%A0%84%ED%8C%8C\" aria-label=\"2 2️⃣ 역전파 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2-2️⃣ 역전파</h4>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 891px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/2409785eb7345114e3c9fccc02f6e6dc/b7877/32_LSTM.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 52.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7DAAAOwwHHb6hkAAACQUlEQVQoz1WTR2/bQBCF9f8PAXzMPQ25BAgCxDYQpNkWVSxRVGOTRIoUq6rVRYlflmRiOAM87uzMvoednWFJURRkWabf7wv06HY7dPsq5nDIyLJQdT2HZdu0O53cNwYDvCAgszRNnyE+lDTDwDBNxo5DGEWYwt8tl5w2a47bLcl+R7LbcTrs2a9WHDcbEhE/iTW9nEkz0X/IBHPvpa3W0GgU6KlQqwu/CUoHpAqiHGgpRWw6LzjJBc6FUCnUZByzgDtoMTYaxLbGamzjif0ki2fQG0zEfmmPmI1NcVZmMlRyTpYP7R5PooKS4XVoOxWaloTiVJHtMlaoEsY+PbdOayxyo7LI1fJz4dTD8nTarlRwxhlHQvNkpuLJSprXpaL9pqrfoUweaQgBZ2mxPW5pWFUq+j31YZmWI8QnNRFf480dJO1XzmvaVYEKatguSraiAfKgTtdpYQj0RjXcwGS/WaHZTRS9IlYZfSyL3CNP2xXRMqBtN9D9HsNYQ/M7GH6fJElEU17YJY45iXHYByGneJrjPJ9zjCMOUUAi/PRyKXon3ssUExKGIdtsGpLz36aIQCyEprM59kilfnOP9OGa+p2O9OAxCRbctD7x9uEdjzWJdL3MiRmv2Wzmoq7rcjgcCsHMyXFKUOUyP9984fvVex6+dvlx62KNQj6WX3N1+4pv159JF/HzDT3Pw/f9/EKLxYLz+fx/yU/LGTM3ZDpwWUQb0bUDm82eUaChen2i0Cc9FjfZ7ba5yFw8Q1Zy/qcI+wP3EChLdTCQ3gAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/2409785eb7345114e3c9fccc02f6e6dc/8ac56/32_LSTM.webp 240w,\n/static/2409785eb7345114e3c9fccc02f6e6dc/d3be9/32_LSTM.webp 480w,\n/static/2409785eb7345114e3c9fccc02f6e6dc/3b50c/32_LSTM.webp 891w\"\n              sizes=\"(max-width: 891px) 100vw, 891px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/2409785eb7345114e3c9fccc02f6e6dc/8ff5a/32_LSTM.png 240w,\n/static/2409785eb7345114e3c9fccc02f6e6dc/e85cb/32_LSTM.png 480w,\n/static/2409785eb7345114e3c9fccc02f6e6dc/b7877/32_LSTM.png 891w\"\n            sizes=\"(max-width: 891px) 100vw, 891px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/2409785eb7345114e3c9fccc02f6e6dc/b7877/32_LSTM.png\"\n            alt=\"32_LSTM.png\"\n            title=\"32_LSTM.png\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<ul>\n<li>\n<p>역전파시 Cell state는 정보를 잃지 않으면서 grdient 값을 구할 수 있다.</p>\n<ul>\n<li>C_t는 역전파 되면서 sum gate와 element wise gate만을 만난다.</li>\n<li>non-linearity에 의한 문제가 없다.</li>\n</ul>\n</li>\n<li>\n<p>여러개의 cell을 연결하더라고 역전파 경로에 방해되는 것은 없다.</p>\n<ul>\n<li>gradient vanishing 문제를 해결</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"3-other-rnn-variants\" style=\"position:relative;\"><a href=\"#3-other-rnn-variants\" aria-label=\"3 other rnn variants permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. Other RNN Variants</h3>\n<ul>\n<li>\n<p>GRU(Gated Recurrent Unit)</p>\n<ul>\n<li>Vanishing gradient 문제를 회피하기 위해 element-wise를 사용</li>\n</ul>\n</li>\n<li>\n<p>LSTM: A Search Space Odyssey</p>\n<ul>\n<li>LSTM의 수식/모델을 변형시키며 실험을 진행</li>\n<li>결론 : 전부 비슷하다</li>\n</ul>\n</li>\n<li>\n<p>An Empirical Exploration of Recurrent Network Architectures</p>\n<ul>\n<li>아주 많은 임의의 RNN 아키텍쳐를 실험</li>\n<li>GRU와 LSTM 보다 엄청나게 좋은 모델을 찾아내지는 못함</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"summary\" style=\"position:relative;\"><a href=\"#summary\" aria-label=\"summary permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>SUMMARY</h2>\n<ul>\n<li>RNN은 모델 설계에 있어서 유연성을 제공하고 많은 시도를 할 수 있게 해준다.</li>\n<li>Vanilla RNN은 잘 작동하지 않는다.</li>\n<li>대체로 LSTM이나 GRU를 사용한다.</li>\n<li>\n<p>RNN에서는 기울기가 exploding 또는 vanishing 될 수 있다.</p>\n<ul>\n<li>exploding - gradient clipping</li>\n<li>vanishing - LSTM</li>\n</ul>\n</li>\n</ul>\n<hr>\n<h4 id=\"ref\" style=\"position:relative;\"><a href=\"#ref\" aria-label=\"ref permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>REF</h4>\n<ul>\n<li><a href=\"https://brightwon.tistory.com/10\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">RNN(Recurrent Neural Network) 이해하기</a></li>\n<li><a href=\"https://wikidocs.net/21668\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">1) 언어 모델(Language Model)이란?</a></li>\n<li><a href=\"https://yun905.tistory.com/31\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CS231n Lecture 10 : Recurrent Neural Networks</a></li>\n</ul>","fields":{"slug":"/posts/2021-09-06/cs231n-lec-10","tagSlugs":["/tag/cs-231-n/","/tag/deep-learning/"]},"frontmatter":{"date":"2021-09-06T04:47:32.169Z","description":"Lec.10 Recurrent Neural Networks 강의 정리본. RNN, LSTM, GRU, Language modeling, Image captioning, visual question answering, Soft attention","tags":["cs231n","deep learning"],"title":"CS231N Lec.10 Recurrent Neural Networks","socialImage":null}}},"pageContext":{"slug":"/posts/2021-09-06/cs231n-lec-10"}},"staticQueryHashes":["251939775","401334301","825871152"]}